/* === head-extracted/01-wp-block-library-figure.css === */
:where(figure){margin:0 0 1em}

/* === swell-icons.css === */
@font-face {
  font-family: icomoon;
  font-style: normal;
  font-weight: 400;
  src: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell/assets/fonts/icomoon.woff2?fq24x) format("woff2"), url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell/assets/fonts/icomoon.ttf?fq24x) format("truetype"), url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell/assets/fonts/icomoon.woff?fq24x) format("woff"), url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell/assets/fonts/icomoon.svg?fq24x#icomoon) format("svg")
}

/* === main.css === */
.c-infoBar:before,
.c-mvBtn__btn:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0
}

@-webkit-keyframes FadeIn {
  to {
    opacity: 1
  }
}

@keyframes FadeIn {
  to {
    opacity: 1
  }
}

@-webkit-keyframes FadeInFromX {
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes FadeInFromX {
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@-webkit-keyframes FadeInFromY {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes FadeInFromY {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@-webkit-keyframes flowing_text {
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }
}

@keyframes flowing_text {
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }
}

@-webkit-keyframes shiny_btn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(25deg);
    transform: scale(0) rotate(25deg)
  }

  84% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(25deg);
    transform: scale(0) rotate(25deg)
  }

  85% {
    opacity: .9;
    -webkit-transform: scale(1) rotate(25deg);
    transform: scale(1) rotate(25deg)
  }

  to {
    opacity: 0;
    -webkit-transform: scale(50) rotate(25deg);
    transform: scale(50) rotate(25deg)
  }
}

@keyframes shiny_btn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(25deg);
    transform: scale(0) rotate(25deg)
  }

  84% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(25deg);
    transform: scale(0) rotate(25deg)
  }

  85% {
    opacity: .9;
    -webkit-transform: scale(1) rotate(25deg);
    transform: scale(1) rotate(25deg)
  }

  to {
    opacity: 0;
    -webkit-transform: scale(50) rotate(25deg);
    transform: scale(50) rotate(25deg)
  }
}

@-webkit-keyframes leftToRight {
  0% {
    -webkit-transform: scale(1.1) translateX(-1%);
    transform: scale(1.1) translateX(-1%)
  }

  to {
    -webkit-transform: scale(1.1) translateX(1%);
    transform: scale(1.1) translateX(1%)
  }
}

@keyframes leftToRight {
  0% {
    -webkit-transform: scale(1.1) translateX(-1%);
    transform: scale(1.1) translateX(-1%)
  }

  to {
    -webkit-transform: scale(1.1) translateX(1%);
    transform: scale(1.1) translateX(1%)
  }
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }

  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}

@-webkit-keyframes FloatVertical {
  0% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0)
  }

  50% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0)
  }

  to {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0)
  }
}

@keyframes FloatVertical {
  0% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0)
  }

  50% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0)
  }

  to {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0)
  }
}

@-webkit-keyframes FloatHorizontal {
  0% {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0)
  }

  50% {
    -webkit-transform: translate3d(-4px, 0, 0);
    transform: translate3d(-4px, 0, 0)
  }

  to {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0)
  }
}

@keyframes FloatHorizontal {
  0% {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0)
  }

  50% {
    -webkit-transform: translate3d(-4px, 0, 0);
    transform: translate3d(-4px, 0, 0)
  }

  to {
    -webkit-transform: translate3d(4px, 0, 0);
    transform: translate3d(4px, 0, 0)
  }
}

:root {
  --color_border: hsla(0, 0%, 78%, .5);
  --color_gray: hsla(0, 0%, 78%, .15);
  --swl-color_hov_gray: rgba(3, 2, 2, .05);
  --swl-color_shadow: rgba(0, 0, 0, .12);
  --swl-fz--root: 3.6vw;
  --swl-fz--side: var(--swl-fz--root);
  --swl-block-margin: 2em;
  --swl-sidebar_width: 280px;
  --swl-sidebar_margin: 24px;
  --swl-pad_post_content: 0px;
  --swl-pad_container: 4vw;
  --swl-h2-margin--x: -2vw;
  --swl-box_shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 4px 4px -4px rgba(0, 0, 0, .1);
  --swl-img_shadow: 0 2px 8px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
  --swl-btn_shadow: 0 2px 2px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
  --swl-text_color--black: #333;
  --swl-text_color--white: #fff;
  --swl-fz--xs: .75em;
  --swl-fz--small: .9em;
  --swl-fz--normal: 1rem;
  --swl-fz--medium: 1.1em;
  --swl-fz--large: 1.25em;
  --swl-fz--huge: 1.6em;
  --swl-list-padding--left: 1.5em;
  --swl-list-padding--has_bg: 1em 1em 1em 1.75em
}

html {
  font-size: var(--swl-fz--root)
}

.c-plainBtn {
  -webkit-appearance: none;
  -o-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  box-shadow: none
}

*,
.c-plainBtn {
  margin: 0;
  padding: 0
}

* {
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

:after,
:before {
  box-sizing: inherit;
  text-decoration: inherit;
  vertical-align: inherit
}

b,
strong {
  font-weight: 700
}

sub,
sup {
  font-size: smaller
}

ruby>rt {
  font-size: 50%
}

main {
  display: block
}

:where(ol:not([type])),
:where(ul:not([type])) {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

td,
th {
  word-break: break-all
}

img {
  border-style: none;
  height: auto;
  max-width: 100%
}

video {
  outline: none
}

code,
pre {
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4
}

svg:not([fill]) {
  fill: currentcolor
}

[hidden] {
  display: none
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
  cursor: pointer;
  display: inline-block
}

[role=button] {
  cursor: pointer
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

button,
input,
select,
textarea {
  background-color: #f7f7f7;
  border: 1px solid hsla(0, 0%, 78%, .5);
  border-radius: 0;
  color: #333;
  padding: .25em .5em
}

[type=color] {
  padding: 0
}

[type=range] {
  vertical-align: middle
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

html {
  letter-spacing: var(--swl-letter_spacing, normal)
}

body {
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  background-color: var(--color_bg);
  color: var(--color_text);
  font-family: var(--swl-font_family);
  font-size: 1rem;
  font-weight: var(--swl-font_weight);
  line-height: 1.6;
  max-width: 100%;
  min-width: 100%;
  overflow-wrap: break-word;
  overflow-x: clip;
  position: relative
}

a {
  color: var(--color_link)
}

.swl-inline-color {
  --color_link: currentcolor
}

.-index-off .widget_swell_index,
.-index-off [data-onclick=toggleIndex] {
  display: none
}

.-index-off .widget_swell_index+.c-widget {
  margin-top: 0 !important
}

.l-article {
  max-width: var(--article_size);
  padding-left: 0;
  padding-right: 0
}

.-sidebar-off .l-article,
.lp-content .l-article {
  margin-left: auto;
  margin-right: auto
}

#body_wrap {
  max-width: 100%;
  overflow-x: clip;
  position: relative;
  z-index: 1
}

#body_wrap.-bg-fix {
  z-index: 1
}

#body_wrap.-bg-fix:before {
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -1
}

.admin-bar {
  --swl-adminbarH: var(--wp-admin--admin-bar--height, 32px)
}

.l-container {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px)*2);
  padding-left: var(--swl-pad_container, 0);
  padding-right: var(--swl-pad_container, 0)
}

.l-content {
  margin: 0 auto 6em;
  padding-top: 2em;
  position: relative;
  z-index: 1
}

.l-mainContent {
  position: static !important;
  width: 100%
}

.-sidebar-on .l-mainContent {
  max-width: 100%
}

.l-mainContent__inner>:first-child,
.l-parent>:first-child,
.post_content>:first-child {
  margin-top: 0 !important
}

.l-mainContent__inner>:last-child,
.l-parent>:last-child,
.post_content>:last-child {
  margin-bottom: 0 !important
}

.l-scrollObserver {
  display: block;
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 100px;
  visibility: hidden;
  width: 100%;
  z-index: 1000
}

#sidebar {
  font-size: var(--swl-fz--side);
  position: relative
}

.c-iconList {
  display: flex;
  flex-wrap: wrap
}

.widget_swell_prof_widget .c-iconList,
.widget_swell_sns_links .c-iconList {
  justify-content: center
}

.l-footer__foot .c-iconList {
  justify-content: center;
  margin-bottom: 8px
}

.c-iconList__link {
  box-sizing: content-box;
  color: inherit;
  height: 1em;
  margin: 0 3px;
  padding: 2px;
  text-align: center;
  text-decoration: none;
  width: 1em
}

.c-iconList__icon,
.c-iconList__link {
  display: block;
  line-height: 1
}

.c-iconList__icon:before {
  color: inherit
}

.c-mvBtn {
  display: block;
  margin: 2em auto 0;
  position: relative;
  text-align: center
}

.c-mvBtn__btn {
  background-color: var(--color_main);
  border-radius: var(--mv_btn_radius);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
  display: block;
  font-size: 3.2vw;
  letter-spacing: var(--swl-letter_spacing, 1px);
  overflow: hidden;
  padding: .75em 2.5em;
  position: relative;
  text-decoration: none;
  text-shadow: none;
  transition: box-shadow .25s
}

.-btn-n>.c-mvBtn__btn {
  color: #fff
}

.c-mvBtn__btn:before {
  background: linear-gradient(hsla(0, 0%, 100%, .2), #fff);
  border-radius: 2px;
  display: block;
  opacity: 0;
  transition: opacity .25s
}

.c-mvBtn__btn:hover {
  box-shadow: 0 1px 8px rgba(0, 0, 0, .2);
  opacity: 1
}

.c-mvBtn__btn:hover:before {
  opacity: .2
}

.-btn-b>.c-mvBtn__btn {
  background: none;
  border: 1px solid
}

.skip-link {
  left: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute !important;
  text-decoration: none;
  top: 0;
  z-index: 999
}

.skip-link:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 8px;
  opacity: 1;
  padding: 16px 24px;
  pointer-events: auto;
  top: 8px;
  width: auto;
  z-index: 1000
}

.post_content {
  font-size: var(--swl-fz--content, 16px);
  line-height: 1.8;
  margin: 0;
  max-width: 100%;
  padding: 0
}

.post_content>* {
  clear: both;
  margin-bottom: var(--swl-block-margin, 2em)
}

.post_content div>:first-child,
.post_content>:first-child {
  margin-top: 0 !important
}

.post_content dd>:last-child,
.post_content div>:last-child,
.post_content>:last-child {
  margin-bottom: 0 !important
}

.post_content h1 {
  font-size: 2em
}

.post_content h2 {
  font-size: 1.2em;
  line-height: 1.4;
  margin: 4em 0 2em;
  position: relative;
  z-index: 1
}

.post_content>h2 {
  margin-left: var(--swl-h2-margin--x, 0);
  margin-right: var(--swl-h2-margin--x, 0)
}

.post_content h3 {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.4;
  margin: 3em 0 2em;
  position: relative
}

.post_content h3:before {
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  z-index: 0
}

.post_content h4 {
  font-size: 1.05em;
  line-height: 1.4;
  margin: 3em 0 1.5em;
  position: relative
}

.post_content dt,
.post_content h2,
.post_content h3,
.post_content h4 {
  font-weight: 700
}

.post_content table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.6;
  max-width: 100%;
  text-align: left;
  width: 100%
}

.post_content td,
.post_content th {
  border: 1px solid var(--color_border--table, #dcdcdc);
  padding: .5em
}

.post_content th {
  background-color: var(--tbody-th-color--bg, hsla(0, 0%, 59%, .05));
  color: var(--tbody-th-color--txt, inherit);
  font-weight: 700
}

.post_content thead td,
.post_content thead th {
  background-color: var(--thead-color--bg, var(--color_main));
  color: var(--thead-color--txt, #fff)
}

.post_content :where(table) caption {
  font-size: .9em;
  margin-bottom: .25em;
  opacity: .8
}

.post_content small {
  font-size: .8em;
  opacity: .8
}

.post_content :not(pre)>code {
  align-items: center;
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 2px;
  color: #333;
  display: inline-flex;
  font-family: Menlo, Consolas, 繝｡繧､繝ｪ繧ｪ, sans-serif;
  font-size: .9em;
  letter-spacing: 0;
  line-height: 1;
  margin: 0 .5em;
  padding: .25em .5em
}

.post_content :where(ul:not([type])) {
  list-style: disc
}

.post_content :where(ol:not([type])) {
  list-style: decimal
}

.post_content ol,
.post_content ul {
  padding-left: var(--swl-list-padding--left)
}

.post_content ol ul,
.post_content ul ul {
  list-style: circle
}

.post_content li {
  line-height: 1.5;
  margin: .25em 0;
  position: relative
}

.post_content li ol,
.post_content li ul {
  margin: 0
}

.post_content hr {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
  margin: 2.5em 0
}

.post_content blockquote {
  background: var(--color_gray);
  position: relative
}

.post_content blockquote cite {
  display: block;
  font-size: .8em;
  margin-top: 1em;
  opacity: .8
}

.post_content blockquote>* {
  position: relative;
  z-index: 1
}

.post_content blockquote>:not(:last-child) {
  margin: 0 0 .5em
}

.post_content blockquote:after,
.post_content blockquote:before {
  line-height: 1;
  position: absolute;
  z-index: 0
}

.post_content pre {
  overflow-x: auto;
  padding: .5em
}

.post_content iframe {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%
}

.l-mainContent__inner>.post_content {
  margin: 4em 0;
  padding: 0 var(--swl-pad_post_content, 0)
}

.swl-marker {
  display: inline;
  padding: 2px
}

.swl-bg-color {
  border-radius: 1px;
  padding: .25em
}

.swl-cell-text-centered {
  display: inline-block;
  text-align: center;
  width: 100%
}

.swl-inline-list {
  display: inline-block;
  line-height: 1.5;
  padding: 2px 0 2px 1.5em;
  position: relative
}

.swl-inline-list[data-icon=dot]:before {
  background-color: currentcolor;
  border-radius: 50%;
  color: inherit;
  content: "";
  display: block;
  height: 6px;
  left: .5em;
  position: absolute;
  top: calc(.75em - 1px);
  width: 6px
}

.swl-inline-list:not([data-icon=dot]):before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  border-radius: 0;
  display: block;
  font-family: icomoon;
  height: auto;
  left: .25em;
  position: absolute;
  top: 2px;
  width: 1em
}

.swl-inline-list[data-icon=check]:before {
  color: var(--color_list_check);
  content: "\e923";
  -webkit-transform: scale(.8);
  transform: scale(.8)
}

.swl-inline-list[data-icon=circle]:before {
  color: var(--color_list_good);
  content: "\ea56"
}

.swl-inline-list[data-icon=triangle]:before {
  color: var(--color_list_triangle);
  content: "\e93f"
}

.swl-inline-list[data-icon=close]:before {
  color: var(--color_list_bad);
  content: "\e91f"
}

.swl-inline-icon {
  display: inline-block;
  margin-left: .1em;
  margin-right: .1em;
  min-width: 1em;
  position: relative
}

.swl-inline-icon+.swl-inline-icon {
  margin-left: 0
}

.swl-inline-icon:after {
  background: currentcolor;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  -webkit-mask-image: var(--the-icon-svg);
  mask-image: var(--the-icon-svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  max-width: 2ch;
  position: absolute;
  top: 0;
  width: 1em;
  width: 100%
}

li:before {
  letter-spacing: normal
}

.p-blogParts {
  position: relative
}

@media not all and (min-width:960px) {
  @-webkit-keyframes leftToRight {
    0% {
      -webkit-transform: scale(1.15) translateX(-1.5%);
      transform: scale(1.15) translateX(-1.5%)
    }

    to {
      -webkit-transform: scale(1.15) translateX(1.5%);
      transform: scale(1.15) translateX(1.5%)
    }
  }

  @keyframes leftToRight {
    0% {
      -webkit-transform: scale(1.15) translateX(-1.5%);
      transform: scale(1.15) translateX(-1.5%)
    }

    to {
      -webkit-transform: scale(1.15) translateX(1.5%);
      transform: scale(1.15) translateX(1.5%)
    }
  }

  #wpadminbar {
    position: fixed !important
  }

  #sidebar {
    margin-top: 4em
  }

  .w-fixSide {
    max-height: unset !important
  }

}

@media (min-width:600px) {
  :root {
    --swl-fz--root: 16px;
    --swl-h2-margin--x: -16px
  }

  .l-content {
    padding-top: 4em
  }

  .c-mvBtn__btn {
    font-size: 14px
  }

  .post_content h2 {
    font-size: 1.4em
  }

  .post_content h3 {
    font-size: 1.3em
  }

  .post_content h4 {
    font-size: 1.2em
  }

}

@media (min-width:960px) {
  :root {
    --swl-fz--side: 14px;
    --swl-pad_post_content: 16px;
    --swl-pad_container: 32px
  }

  .-sidebar-on .l-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }

  .-sidebar-on .l-mainContent {
    width: calc(100% - var(--swl-sidebar_width) - var(--swl-sidebar_margin))
  }

  #sidebar .c-widget+.c-widget {
    margin-top: 2.5em
  }

  .-sidebar-on #sidebar {
    width: var(--swl-sidebar_width)
  }

  .w-fixSide {
    display: flex;
    flex-direction: column;
    margin-top: 2.5em;
    position: sticky
  }

  .w-fixSide .c-widget {
    flex: 1 1 auto
  }

  .w-fixSide.-multiple .widget_swell_index {
    min-height: 8em;
    overflow-y: auto !important
  }

  .w-fixSide.-multiple .widget_swell_new_posts,
  .w-fixSide.-multiple .widget_swell_popular_posts {
    min-height: 160px;
    overflow-y: auto !important
  }

}

@media (min-width:1200px) {
  :root {
    --swl-sidebar_width: 304px;
    --swl-sidebar_margin: 52px
  }

  :root .-frame-on-sidebar {
    --swl-sidebar_width: 316px
  }

  :root .-frame-on.-sidebar-on {
    --swl-sidebar_margin: 36px
  }

  :root {
    --swl-pad_container: 48px
  }
}

@media screen {
  [hidden~=screen] {
    display: inherit
  }

  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important
  }
}

@media screen and (max-width:782px) {
  .admin-bar {
    --swl-adminbarH: var(--wp-admin--admin-bar--height, 46px)
  }
}

/* === head-extracted/02-swell-custom-inline.css === */
:root{
  --swl-fz--content:4vw;
  --swl-font_family:"Noto Sans JP", sans-serif;
  --swl-font_weight:400;
  --color_text:#333;
  --color_link:#f39b00;
  --color_bg:#fdfdfd;
  --color_footer_bg:#eeeeee;
  --color_footer_text:#333;
  --container_size:1200px;
  --article_size:900px;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  color:#fff;
  padding:.75em 1em;
  border-radius:2px;
  background:#139cb7;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{
  position:absolute;
  display:block;
  pointer-events:none;
  content:"";
  bottom:calc(2px - 1.5em);
  left:1.5em;
  width:0;
  height:0;
  visibility:visible;
  border:.75em solid transparent;
  border-top-color:#139cb7;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  padding:0 .5em .5em;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{
  content:"";
  width:100%;
  height:2px;
  background:repeating-linear-gradient(90deg, #139cb7 0%, #139cb7 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%);
}
a{text-decoration:none}
.top #content{padding-top:6em}
#content{margin-bottom:0}
@media screen and (min-width: 600px){
  :root{--swl-fz--content:16px;}
}

/* === loaded-animation.css === */
.l-content {
  -webkit-animation: FadeIn 1s ease .5s 1 normal both;
  animation: FadeIn 1s ease .5s 1 normal both;
  opacity: 0
}

/* === footer.css === */
.l-footer {
  background-color: var(--color_footer_bg);
  color: var(--color_footer_text);
  position: relative;
  z-index: 0
}

.l-footer a,
.l-footer span {
  color: inherit
}

.l-footer .copyright {
  font-size: 12px;
  text-align: center
}

@media not all and (min-width:960px) {
  .l-footer__inner {
    padding-bottom: calc(env(safe-area-inset-bottom)*.5)
  }
}

/* === head-extracted/03-wp-custom-header-tel.css === */
a.header_top_bar.pc-only {
  padding: 10px 0 !important;
}

a.header_top_bar.pc-only .header_top_bar_inner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

a.header_top_bar.pc-only .header_top_text {
  font-size: 18px !important;
  line-height: 1.2 !important;
}

a.header_top_bar.pc-only .header_tel_icon img {
  width: 24px !important;
  height: 24px !important;
}

a.header_top_bar.pc-only .header_tel_number {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-block !important;
  animation: telBounce 1.2s infinite;
}

@keyframes telBounce {
  0% {
    transform: translateY(0);
  }

  20% {
    transform: translateY(-4px);
  }

  40% {
    transform: translateY(0);
  }

  60% {
    transform: translateY(-2px);
  }

  80% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .front_page h1 {
    display: none;
  }

  .sp_tel_main {
    animation: spTelJump 1.6s ease-in-out infinite;
    transform-origin: center bottom;
  }

  @keyframes spTelJump {
    0% {
      transform: translateY(0);
    }

    10% {
      transform: translateY(-3px);
    }

    20% {
      transform: translateY(0);
    }

    30% {
      transform: translateY(-2px);
    }

    40% {
      transform: translateY(0);
    }

    100% {
      transform: translateY(0);
    }
  }
}

/* === head-extracted/04-page-custom-oricon.css === */
.tie-up__news{margin-top: 2em}.page_contents .tie-up__news p{font-size: 112.5%;text-align: justify;line-height: 1.6;padding-bottom: .5em}.page_contents .tie-up__news p span{display: block}.page_contents .tie-up__news picture{border: 1px solid #ccc;display: block;padding: .5em .5em .1em .5em}@media only screen and (max-width: 600px){.page_contents .tie-up__news p{font-size: 96.15%}.page_contents .tie-up__news picture{padding: 0}}.c-oricon__block{margin:0 calc(50% - 50vw);padding-top:4.359vw;width:100vw}.c-oricon{box-sizing:border-box;width:calc(100% - 2.564vw);margin:0 auto 4.359vw;padding:0 2.051vw 5.128vw;background-color:#fff;border:1px solid #000}.c-oricon__inner{display:flex;flex-direction:column;align-items:center;gap:0;margin:0}.c-oricon__emblem-image{width:100%;max-width:47.692vw;height:auto;display:block;flex-shrink:0}.c-oricon__text{margin:0;padding:0;color:#000;font-size:clamp(10px, 3.846vw, 17px);line-height:1.7;text-align:justify;font-family:"Noto Sans JP",sans-serif}@media (min-width:768px){.c-oricon__block{padding-top:1.463vw}.c-oricon{width:calc(100% - 1.22vw);margin:0 auto 7.317vw;padding:0 3.049vw 0 2.683vw}.c-oricon__inner{flex-direction:row;gap:1.22vw}.c-oricon__emblem-image{max-width:31.707vw}.c-oricon__text{font-size:clamp(12px, 2.073vw, 24px);line-height:1.8}}@media (min-width:1280px){.c-oricon__block{padding:14px calc(50vw - 50%) 0}.c-oricon{width:100%;max-width:1080px;margin:0 auto 40px;padding:0 125px 0 80px}.c-oricon__inner{flex-direction:row;align-items:center;gap:5px}.c-oricon__emblem-image{max-width:260px;width:260px}.c-oricon__text{flex:1;font-size:17px;line-height:1.8}}

/* === head-extracted/05-main-top-cta-banners.css === */
/* TOP: メイン上段 CTA・割引バナー・4列バナー（元 original.html インライン） */
.page #content {
  overflow: visible
}

.post_content div.main-top__cta {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: auto;
  padding: clamp(5px, 2.564vw, 10px);
  margin-bottom: clamp(10px, 5.128vw, 20px);
  background: #f3f3f3;
  border-top: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9
}

.main-top__discount___banner {
  display: block;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto
}

.main-top__discount___banner img {
  display: block;
  width: 100%;
  height: auto
}

ul.bnr-main__top___4col {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  max-width: 1170px;
  margin: auto
}

.post_content ul.bnr-main__top___4col li {
  width: 100%;
  line-height: 1;
  margin: 0
}

ul.bnr-main__top___4col li img {
  display: block;
  width: 100%;
  height: auto
}

.top-bnr_4 ul {
  justify-content: center
}

@media only screen and (min-width:768px) {
  ul.bnr-main__top___4col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0
  }

  .page_contents ul.bnr-main__top___4col {
    margin-top: 0;
  }

  .main-top__discount___banner {
    padding-bottom: clamp(5px, 2.564vw, 10px)
  }
}

/* 4種バナー: nav ラッパ（セマンティック化）の UA 差防止。grid は子 ul に適用 */
nav.main_top_estimate_nav {
  display: block;
  margin: 0;
  padding: 0
}

/* === style.css === */
/* ＊ 外観 - カスタマイズ - 追加CSS より移設 ※ 2025-12-11 */
/*
 * ---------------------------------------------------------------------------
 * style.css コメント規約（新規追記・触ったブロックのコメントはここに従う）
 * ---------------------------------------------------------------------------
 * 区切り（大）… セクション・パーツ単位。1 行コメント。半角のみ。
 *   ラベル前後に半角スペース1つ＋ハイフン5つ。例: ----- ヘッダー -----
 * 区切り（中）… メディアクエリ内など。ブレークポイントを先に書く。
 *   例: ----- 640px / フッター -----
 * 一行メモ … 用途・理由を短く。コメント開始直後は半角スペース1つ。
 *   先頭語に NOTE: や TODO: を付けてもよい。
 * 日付付き変更 … 日付は [YYYY-MM-DD]。範囲は「開始」「ここまで」で対にする。
 * 無効化した宣言 … 先頭に OFF: など理由が分かる短い語を付ける。
 * ツール生成コメント（Autoprefixer 等）はそのまま残してよい。
 * ---------------------------------------------------------------------------
 */
ul.header-link {
  display: flex;
  flex-wrap: wrap;
  width: 28%;
  justify-content: flex-start
}

ul.header-link li a {
  padding: 0 !important
}

ul.header-link li {
  display: inline;
  margin: 0 5px
}

header.add_le {
  border-bottom: 2px solid #1d93ac
}

figure,
img,
li,
p,
ul {
  padding: 0;
  margin: 0;
  list-style: none
}

.visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0
}

/* * Prefixed by https://autoprefixer.github.io * PostCSS: v8.3.6, * Autoprefixer: v10.3.1 * Browsers: last 4 version */
html {
  margin-top: 0 !important;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

/* Firefox対応 */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(19, 156, 183, 0.45) #f7f7f7;
}

/* WebKit系ブラウザ対応 */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background-color: #f7f7f7;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(19, 156, 183, 0.45);
  border-radius: 50px;
}

.post_content ul:not(.is-style-index, .is-style-bad_list, .is-style-check_list, .is-style-good_list) li {
  list-style: circle;
}

.post_content .page_contents ul li {
  list-style: none;
}

/* ----- body / 自動生成 title ----- */
div#body_wrap {
  /* padding-top: 110px; */
  padding-top: 157px;
  /*padding-top: 185px;*/
  background: #fff;
}

div#body_wrap.home {
  padding-top: 185px;
}

.page .l-content {
  padding-top: 0;
  margin: 0 auto;
}

.page #content {
  overflow-x: hidden;
  overflow-y: auto;
  padding: 1% 0 5% 0;
}

.page .l-mainContent {
  width: 100%;
  max-width: 100%;
  margin: auto;
}

/* ----- header ----- */
header.add_le {
  position: fixed;
  width: 100%;
  height: auto;
  min-height: auto;
  top: 0;
  left: 0;
  background: #fff;
  padding: 0;
  z-index: 10;
  border-bottom: 2px solid #1d93ac;
}

header.add_le .hamburger-menu {
  display: none;
}

.menu-btn {
  position: fixed;
  top: 20px;
  right: 10px;
  display: flex;
  height: 70px;
  width: 70px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #1d93ac;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
}

.menu-btn span:before {
  bottom: 8px;
}

.menu-btn span:after {
  top: 8px;
}

#menu-btn-check:checked~.menu-btn {
  background: #1d93ac;
}

#menu-btn-check:checked~.menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked~.menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#menu-btn-check:checked~.menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#menu-btn-check {
  display: none;
}

/* ヘッダー: nav ラッパ（セマンティック化）の UA 差防止 */
header.add_le nav.header_drawer_nav,
header.add_le nav.header_cta_link_nav,
header.add_le nav.header_pagelink_nav,
header.add_le nav.header_fixed_tel_nav {
  display: block;
  margin: 0;
  padding: 0;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  z-index: 80;
  background-color: #fff;
  transition: all 0.5s;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 65px 5px 10px;
}

.menu-content .tel-link {
  width: 100%;
  display: none;
}

.menu-content ul li {
  border-bottom: solid 1px #1d93ac;
  list-style: none;
}

.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #1d93ac;
  text-decoration: none;
  padding: 8px 15px 8px 0;
  position: relative;
}

.menu-content ul li .sub-menu {
  background: #e6f3f4;
}

.menu-content ul li .sub-menu a {
  display: block;
  width: 100%;
  padding: 8px 20px 8px 5px;
  font-size: 14px;
  line-height: 1.8;
  color: #1d93ac;
  border-top: solid 1px #1d93ac;
  position: relative;
  z-index: 0;
}

.menu-content ul li .sub-menu a:first-child {
  border-top: 0;
}

.menu-content ul li span.sp_menu_text {
  display: block;
  width: 110px;
  color: #1d93ac;
  text-align: right;
  font-size: 9px;
  line-height: 1.2;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
}

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 50%;
}

.menu-content ul li .sub-menu a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 50%;
}

.menu-content details summary {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #1d93ac;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}

.menu-content details summary::marker {
  display: none;
}

.menu-content details summary::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}

.menu-content details summary span.more_btn {
  display: inline-block;
  background: #1d93ac;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
}

.menu-content details summary span.more_btn a {
  color: #fff;
  padding: 3px 5px;
  font-size: 12px;
}

.menu-content details summary span.more_btn a::before {
  display: none;
}

#menu-btn-check:checked~.menu-content {
  left: 0;
}

header section.header_top_area {
  position: relative;
  background-color: #f3f3f3;
  border-bottom: 1px solid #e9e9e9;
  z-index: 2;
}

/* PC版トップバー */
header section.header_top_area .header_top_bar {
  display: block;
  padding: 5px 0;
  text-decoration: none;
  color: #1d93ac;
}

header section.header_top_area .header_top_bar:hover {
  opacity: 0.8;
}

header section.header_top_area .header_top_bar_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  gap: 8px;
}

/* 20251224 ヘッダーインフォメーションLINEのみに変更に伴うスタイル追加 */
.header_top_bar_inner.pc_label_line2512 {
  font-weight: bold;
}

/* 20251224 ここまで */
header section.header_top_area .header_top_text {
  color: #1d93ac;
  font-size: 15px;
  letter-spacing: .1em;
  margin: 0;
  padding: 0;
}

header section.header_top_area .header_tel_icon {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-bottom: -3px;
}

header section.header_top_area .header_tel_icon img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  filter: brightness(0) saturate(100%) invert(46%) sepia(96%) saturate(1187%) hue-rotate(157deg) brightness(93%) contrast(92%);
}

header section.header_top_area .header_tel_number {
  color: #1d93ac;
  font-weight: bold;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: .1em;
}

header section.header_top_area .header_pc_info {
  z-index: 1;
  width: 47%;
}

header section.header_top_area .header_pc_info ul {
  display: flex;
  justify-content: flex-end;
}

header section.header_top_area .header_pc_info li {
  display: inline-block;
  padding: 0 15px;
  line-height: 2rem;
  border-left: solid 2px #ccc;
}

header section.header_top_area .header_pc_info li a {
  font-size: 14px;
}

header section.header_top_area .header_pc_info li a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_arrow_black.png) no-repeat center / 6px 12px;
  margin-left: 8px;
}

header section.header_top_area .header_pc_research {
  width: 20%;
}

header section.header_top_area .header_cta_tel {
  z-index: 1;
  width: 39%;
  display: flex;
  justify-content: flex-end;
}

header section.header_top_area .header_cta_tel a {
  width: 86%;
}

header section.header_top_area .header_cta_tel a img {
  width: 100%;
}

header section.middle_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 10px auto 15px;
  padding: 0 20px;
}

header section.middle_area * {
  position: relative;
  z-index: 1;
}

header section.middle_area .logo_area {
  display: flex;
  align-items: center;
  width: 425px;
}

header section.middle_area .logo_area .pc-only {
  display: block;
  width: 100%;
}

header section.middle_area .logo_area .pc-only img {
  width: 100%;
  height: auto;
}

header section.middle_area .logo_area .sp-only {
  display: none;
}

header section.middle_area .header_cta_tel {
  display: none;
}

header section.middle_area .cta_area {
  width: calc(100% - 425px);
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding-top: 0;
  gap: 16px;
}

header section.middle_area .cta_area .header_link_area {
  margin-bottom: 0;
}

header section.middle_area .cta_area .header_link_area ul.header-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0;
}

header section.middle_area .cta_area .header_link_area ul.header-link li {
  margin: 0;
  padding: 0 12px;
  border-right: 1px solid #999;
}

header section.middle_area .cta_area .header_link_area ul.header-link li:last-child {
  border-right: none;
}

header section.middle_area .cta_area .header_link_area ul.header-link li a {
  color: #333;
  font-size: 13px;
  text-decoration: none;
  padding: 0;
  display: block;
}

header section.middle_area .cta_area .header_link_area ul.header-link li a:hover {
  opacity: 0.8;
}

header section.middle_area .cta_area .header_cta_buttons {
  display: flex;
  align-items: center;
  border-radius: 4px;
  overflow: hidden;
}

header section.middle_area .cta_area .header_cta_buttons a {
  display: inline-block;
  padding: 8px 16px 8px 16px;
  position: relative;
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
  flex: 1;
  text-align: center;
}

header section.middle_area .cta_area .header_cta_buttons a.estimate {
  padding: 8px 16px;
}

header section.middle_area .cta_area .header_cta_buttons a.estimate br {
  display: none;
}

header section.middle_area .cta_area .header_cta_buttons a.partnership {
  border: solid 2px #666;
  color: #666;
  padding: 8px 16px;
}

header section.middle_area .cta_area .header_cta_buttons a.mail {
  color: #fff;
  background-color: #00ba00;
  border: solid 2px #00ba00;
  padding: 8px 16px;
}

header section.middle_area .cta_area .header_cta_buttons a.calendar {
  color: #fff;
  background: #1d93ac;
  border: solid 2px #1d93ac;
  padding: 8px 16px;
}

header section.middle_area .cta_area .header_cta_buttons a.estimate {
  color: #fff;
  background: #0C5CFF;
  border: solid 2px #0C5CFF;
  padding: 8px 16px;
}

header section.middle_area .cta_area .header_cta_buttons a::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 0.6em;
  height: 0.6em;
  margin-left: 6px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: translate(-25%, -1px) rotate(45deg);
}

header section.middle_area .cta_area a.tel {
  display: none;
}

header section.pagelink_area {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 2px;
}

header section.pagelink_area ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

header section.pagelink_area ul li {
  width: calc(100% / 7);
  text-align: center;
}

header section.pagelink_area ul li a {
  display: block;
  position: relative;
  color: #444;
  text-decoration: none;
  font-size: 14px;
  padding: 8px 0;
}

header section.pagelink_area ul li a:hover {
  opacity: 0.8;
}

header section.pagelink_area ul li a::before {
  display: none;
}

header section.pagelink_area ul li a::after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  color: #666;
  line-height: 1;
  position: relative;
  width: 0.6em;
  height: 0.6em;
  margin-left: 6px;
  border-right: 2px solid #888;
  border-top: 2px solid #888;
  transform: translate(-25%, -1px) rotate(45deg);
}

header .fidxed_header_tel {
  display: none;
}

/* ----- PC版フッターに合わせて ----- */
.add_le_footer {
  background: #1d93ac;
}

.add_le_footer .add_le_footer_inner {
  max-width: 1200px;
  margin: auto;
  padding: 20px 5px;
}

.add_le_footer .sp_footer_nav,
.add_le_footer .sp_floating_menu {
  display: none;
}

.add_le_footer .footer_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.add_le_footer .footer_area li {
  width: calc((100% - 80px)/3);
}

.add_le_footer .footer_area li.footer_cta {
  width: 100%;
  padding-bottom: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.add_le_footer .footer_area .footer_cta_text {
  color: #fff;
  font-size: 15px;
  flex-grow: 1;
}

.add_le_footer .footer_area li.footer_cta .btn_tel {
  margin-left: 10px;
}

.add_le_footer .footer_area li.footer_cta .btn_tel img {
  width: 260px;
  height: auto;
}

.add_le_footer .footer_area li.footer_cta .btn_form {
  font-size: 15px;
  margin-left: 10px;
}

.add_le_footer .footer_area li.footer_cta .btn_form a.estimate {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #7dc5e8;
  color: #fff;
  border-radius: 30px;
}

.add_le_footer .footer_area li.footer_cta .btn_form a.estimate_visit {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #f69d01;
  color: #fff;
  border-radius: 30px;
}

.footer_area li.footer_cta .btn_form a.zoom {
  display: inline-block;
  padding: 10px 15px 10px 45px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calculator_wh.png) no-repeat center left 15px/20px auto, #06B53B;
  color: #fff;
  border-radius: 30px;
}

.add_le_footer .footer_area .footer_nav a {
  display: block;
  font-size: 15px;
  color: #fff;
  line-height: 2em;
  position: relative;
  z-index: 0;
}

.add_le_footer .footer_area .footer_nav a::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  transform: rotate(45deg);
}

.add_le_footer .footer_area dl,
.add_le_footer .footer_area dt {
  margin: 0;
  padding: 0;
}

.add_le_footer .footer_area dd {
  margin-top: 10px;
  padding-top: 10px;
  border-top: solid 1px #fff;
}

.add_le_footer .footer_area_bottom {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background: #fff;
  padding: 10px;
}

.add_le_footer .footer_area_bottom a {
  display: inline-block;
  font-size: 12px;
  position: relative;
  z-index: 0;
  padding: 0 35px 0 10px;
}

/* ----- 2025.07.15 フッター修正 ----- */
li.bottom_link.home-icon a::after {
  display: none;
}

li.bottom_link.home-icon a::before {
  content: url(https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2025/07/home-icon-footer.png);
  display: block;
  width: 5px;
  height: 5px;
  scale: 0.28;
  position: absolute;
  top: 0px;
  left: -9px;
}

@media only screen and (max-width: 767px) {
  li.bottom_link.home-icon {
    width: 100%;
    text-align: center;
  }

  li.bottom_link.home-icon a {
    display: inline-block;
    padding-right: 0;
  }
}

/* ----- 2025.07.15 フッター修正 ここまで ----- */
.add_le_footer .footer_area_bottom a::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: solid 2px #1d93ac;
  border-right: solid 2px #1d93ac;
  position: absolute;
  top: calc(50% - 3px);
  right: 25px;
  transform: rotate(45deg);
}

.add_le_footer .footer_caution {
  background: #fccf00;
  padding: 20px;
}

.add_le_footer .footer_caution_inner {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 14px;
  text-align: center;
}

.add_le_footer .copyright {
  font-size: 12px;
  color: #fff;
  padding: 10px;
}

/* フッター: nav ラッパ（セマンティック化）の UA 差防止 */
.add_le_footer nav.footer_nav_primary,
.add_le_footer nav.footer_nav_bottom {
  display: block;
  margin: 0;
  padding: 0;
}

/*------------------------------------------------ スマートフォン版固定フッター ------------------------------------------------*/
.fNavB {
  display: block;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
}

.fNavB ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  width: 100%;
  background-color: rgb(33, 138, 217);
  border-top: 1px solid rgb(33, 138, 217);
}

.fNavB ul li {
  position: relative;
  display: block;
  width: 100%;
}

.fNavB ul li:nth-of-type(2)::before,
.fNavB ul li:nth-of-type(2)::after {
  position: absolute;
  content: "";
  width: .256vw;
  height: 7.692vw;
  top: 50%;
  margin-top: -3.846vw;
  background-color: #90C5EC;
  z-index: 1;
}

.fNavB ul li:nth-of-type(2)::before {
  left: 0;
}

.fNavB ul li:nth-of-type(2)::after {
  right: 0;
}

.fNavB a {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  height: 11.795vw;
  padding: 0 0 0 10.513vw;
  color: #fff;
  font-size: clamp(6px, 3.077vw, 30px);
  text-align: center;
  line-height: 1.15;
  letter-spacing: .1em;
  background-color: rgb(33, 138, 217);
  transition: all 1s ease;
}

.fNavB li a::before {
  position: absolute;
  content: "";
  height: 8.205vw;
  aspect-ratio: 1;
  top: 50%;
  left: 0;
  margin: -4.103vw 0 0 4.103vw;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.5s ease;
}

.fNavB li:nth-of-type(1) a::before {
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNSAzNSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNmZmY7CiAgICAgICAgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOwogICAgICAgIHN0cm9rZS13aWR0aDogMnB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iX+ODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTEuNjYsMS45NnM4LjI1LTMuMjQsMTYuMjMsMi4yMmMwLDAsNS43MiwzLjIsNi4wOCwxMC4xNSwwLDAsLjcxLDUuMzgtNC4xNywxMC4yOSwwLDAtNC45Nyw1LjEtMTIuMDYsOS4wOCwwLDAtMS42LjgzLTEuNzctLjI4bC4zNS0xLjk1cy41My0yLjEzLTEuMjQtMi40MWMwLDAtNS4zMi0uOTMtOC40My0zLjI0LDAsMC00LjctMy4yNC01LjUtOC43MSwwLDAtMS4wNi01Ljc1LDIuNDgtOS43MywwLDAsMi42Ni0zLjg5LDguMDMtNS40MloiLz4KICA8L2c+Cjwvc3ZnPg==");
}

.fNavB li:nth-of-type(2) a::before {
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iZCIgZD0iTTQwLjgzNyw2NGMtMy44MDQsMC04LjI4OC0uODctMTMuNDcyLTMuMjE1bC0uMTI0LS4wNjJjLS43OTctLjQzMi0xOS41NjctMTAuNzczLTI0Ljg4NS0yNi42NS0uMjIzLS42NjUtNS4zNjMtMTYuMzc1LDEuOTg5LTI1LjYxNi40MDQtLjU4MSwyLjQ2Ni0zLjMzNyw1LjM4LTMuNjI2LDEuMDk4LS4xMDksMi43NDUuMDk5LDQuMzU3LDEuNzA0bC4xODEuMTgxLDcuMDMxLDEyLjI1MmMuMTE1LjIyNywxLjA5NSwyLjI4Ni4zNiw0LjQ4OS0uMzE2Ljk1LTEuMDgyLDIuMjc1LTIuOTMsMy4xOTUtLjc1OC40MDItMS41NDMsMS4xODEtLjg1NywyLjU0N2wuMTA1LjI1MWMuMDMxLjA4OCwzLjQyLDkuNjAxLDE2LjE3MSwxNS45NDcuNzg0LjM2NywxLjg4Ny41MjQsMi41OC0uODUxLjEwNS0uMjEsMi42NjQtNS4wNjYsMTEuMTI1LS44NTNsLjEyOS4wNyw4LjUyNSw1LjA5MWMuNDQ0LjI0MiwyLjExNywxLjI3NCwyLjQ0MiwzLjI4MS4yNTcsMS41ODktLjM5OSwzLjE5NC0xLjk1MSw0Ljc3MS0uODUzLDEuMDYyLTYuMTQ0LDcuMDk1LTE2LjE1Niw3LjA5NVpNMjkuMDEsNTcuMzMzYzE3LjA0LDcuNjc1LDI0LjY4OS0yLjM5LDI1LjAwNi0yLjgyMmwuMTk4LS4yMzJjLjgxMi0uODA3Ljk4NC0xLjM0Ljk1OC0xLjUyOC0uMDI5LS4yMDMtLjMzOS0uNDU0LS40OTEtLjUzN2wtLjA5OC0uMDU1LTguNTAxLTUuMDc3Yy0zLjc4OS0xLjg2OS01LjU1NS0xLjMyLTUuOTc5LS43NDgtMS44OTUsMy42NzUtNS42MTMsMy41MDctNy42NiwyLjQ4NS0xMy41Ni02Ljc0OC0xNy41Ni0xNi42ODYtMTguMDQ2LTE4LjAyLS44NTgtMS43ODQtLjY3Ni0zLjI1Ni0uMzY3LTQuMTg0LjczNi0yLjIwOCwyLjc2NC0zLjI3LDIuOTk0LTMuMzg0LDEuMzUtLjY3MiwxLjIyNS0xLjczMy44NjgtMi41MjJsLTYuNjczLTExLjYyMWMtLjU3OS0uNTA1LS45NjEtLjQ2OC0xLjExNS0uNDUzLTEuMDIzLjEwMS0yLjIzNiwxLjQzMi0yLjYzMiwyLjAyNGwtLjA5OS4xMzRjLTYuMTI4LDcuNjIzLTEuNDM5LDIxLjkyMy0xLjM5MSwyMi4wNjcsNC43MSwxNC4wNjUsMjEuOTEzLDIzLjg1MiwyMy4wMjgsMjQuNDczWk00MC4xMzksNDYuMjYxYy0uMDEuMDItLjAyMS4wNC0uMDMxLjA2MS4wMjItLjAzOC4wMzEtLjA2MS4wMzEtLjA2MVoiIGZpbGw9IiNmZmYiLz4gPHBhdGggaWQ9ImMiIGQ9Ik00MS40MjEsMzYuMTkzYy0xLjA1NiwwLTEuOTExLS44NTYtMS45MTEtMS45MTEsMC0zLjMwMS0uOTE4LTUuODY1LTIuNzMtNy42MjItMy4wMjUtMi45MzMtNy42NTEtMi44MTUtNy43MDYtMi44MjEtLjAyLDAtLjAzOSwwLS4wNiwwLTEuMDI2LDAtMS44NzctLjgxNC0xLjkxMi0xLjg0Ni0uMDM2LTEuMDUyLjc4Mi0xLjkzNSwxLjgzNC0xLjk3NS4yNTYtLjAwNiw2LjI2LS4xODksMTAuNDc0LDMuODY4LDIuNjAzLDIuNTA2LDMuOTIzLDYuMDA0LDMuOTIzLDEwLjM5NiwwLDEuMDU2LS44NTYsMS45MTEtMS45MTEsMS45MTFaIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSJiIiBkPSJNNTEuNTM1LDM2LjMyN2MtMS4wNTYsMC0xLjkxMS0uODU2LTEuOTExLTEuOTExLDAtOC4wMzctMy40NDgtMTMuOTQ3LTEwLjI0OS0xNy41NjUtNS4yMDUtMi43NjktMTAuNDMtMy4xMTYtMTAuNDgyLTMuMTE5LTEuMDU0LS4wNjQtMS44NTUtLjk3LTEuNzkxLTIuMDI0cy45NTktMS44NTgsMi4wMjQtMS43OTFjLjI0My4wMTQsMjQuMzIxLDEuNzQ2LDI0LjMyMSwyNC40OTksMCwxLjA1Ni0uODU2LDEuOTExLTEuOTExLDEuOTExWiIgZmlsbD0iI2ZmZiIvPiA8cGF0aCBpZD0iYSIgZD0iTTYxLjY4NiwzNi4xOTNjLTEuMDU2LDAtMS45MTEtLjg1Ni0xLjkxMS0xLjkxMSwwLTEyLjMxOS01LjE0NS0yMS4xNzYtMTUuMjkyLTI2LjMyNC03LjY5NC0zLjkwNC0xNS40NDMtNC4xMzQtMTUuNTE5LTQuMTM2LTEuMDU2LS4wMjYtMS44OTEtLjkwMi0xLjg2NS0xLjk1N0MyNy4xMjMuODI1LDI3Ljk3NCwwLDI5LjAwOCwwLDI5LjAyNCwwLDI5LjA0LDAsMjkuMDU1LDBjLjM0Ni4wMDgsMzQuNTQzLDEuMjE3LDM0LjU0MywzNC4yODIsMCwxLjA1Ni0uODU2LDEuOTExLTEuOTExLDEuOTExWiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==");
}

/* .fNavB li:nth-of-type(2) a::before { background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iYiIgZD0iTTQzLjc5NSwwaC0yMy41ODljLTMuOTgxLDAtNy4yMTksMy4yMjctNy4yMTksNy4xOTR2NDkuNjEyYzAsMy45NjcsMy4yMzgsNy4xOTQsNy4yMTksNy4xOTRoMjMuNTg5YzMuOTgsMCw3LjIxOC0zLjIyNyw3LjIxOC03LjE5NFY3LjE5NGMwLTMuOTY3LTMuMjM4LTcuMTk0LTcuMjE4LTcuMTk0Wk0zMi44MjEsNTcuMTY2Yy0uMzc0LDAtLjY3OS0uMjk5LS42NzktLjY2NnMuMzA1LS42NjYuNjc5LS42NjYuNjc5LjI5OS42NzkuNjY2LS4zMDUuNjY2LS42NzkuNjY2Wk0xNi44MjYsNDkuODE2VjEwLjczNWgzMC4zNDh2MzkuMDgxaC0zMC4zNDhaTTIwLjIwNiwzLjgzOWgyMy41ODljMS43NjEsMCwzLjE5NCwxLjM0OCwzLjM0OSwzLjA1N2gtMzAuMjg3Yy4xNTUtMS43MDgsMS41ODktMy4wNTcsMy4zNS0zLjA1N1pNMTYuODI2LDU2LjgwNnYtMy4xNWgxMi41MTljLS42NDEuNzc4LTEuMDQzLDEuNzYtMS4wNDMsMi44NDQsMCwxLjUxMS43NTYsMi44NDMsMS45MDQsMy42NjFoLTEwYy0xLjg2MywwLTMuMzgtMS41MDUtMy4zOC0zLjM1NVpNNDMuNzk1LDYwLjE2MWgtOC4zNmMxLjE0OC0uODE4LDEuOTA0LTIuMTUsMS45MDQtMy42NjEsMC0xLjA4NC0uNDAxLTIuMDY2LTEuMDQzLTIuODQ0aDEwLjg3OHYzLjE1YzAsMS44NDktMS41MTYsMy4zNTUtMy4zNzksMy4zNTVaIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSJhIiBkPSJNNDIuMjM4LDI1LjEyOGMtLjc1NS0uNzQyLTEuOTctLjczOC0yLjcxNS4wMThsLTkuNjY0LDkuNzkxLTMuODMzLTQuMTQ2Yy0uNzE5LS43NzgtMS45MzMtLjgyNy0yLjcxMy0uMTA3LS43NzkuNzItLjgyNywxLjkzNS0uMTA3LDIuNzEzbDYuNTYsNy4wOTgsMTIuNDg5LTEyLjY1MmMuNzQ0LS43NTUuNzM3LTEuOTctLjAxOC0yLjcxNVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4="); }*/
.fNavB li:nth-of-type(3) a::before {
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iYSIgZD0iTTYyLjcyLDM2LjUxOEwyNy40NDcsMS40MTFjLTEuNjk3LTEuNjg5LTQuNDYxLTEuNjktNi4xNTksMEwxLjI4LDIxLjMyNmMtLjgyNi44MjItMS4yOCwxLjkxNi0xLjI4LDMuMDgsMCwxLjE2My40NTUsMi4yNTYsMS4yOCwzLjA3NmwzNS4yNzIsMzUuMTA4aDBjLjg0OS44NDUsMS45NjMsMS4yNjYsMy4wNzksMS4yNjZzMi4yMzEtLjQyMywzLjA4LTEuMjY2bDIwLjAwOC0xOS45MTVjLjgyNS0uODIyLDEuMjgtMS45MTUsMS4yOC0zLjA3OHMtLjQ1NS0yLjI1Ny0xLjI4LTMuMDc5Wk01Ny45NDYsMzcuMTM3bC0yNi42Mi0zLjMzOC0zLjk0NS0yNy4wODUsMzAuNTY1LDMwLjQyM1pNNDAuMDI4LDU5Ljg5MmMtLjIxNy4yMTYtLjU3My4yMTctLjc5MSwwTDMuOTY0LDI0Ljc4NGMtLjEzMS0uMTMxLS4xNTktLjI3OS0uMTU5LS4zNzksMC0uMTAyLjAyOC0uMjUuMTYtLjM4MUwyMy4yNTgsNC44MTlsNC43MTksMzIuMzk0LDMwLjkzNiwzLjg3OS0xOC44ODUsMTguNzk5WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==");
}

/* .fNavB a:hover, .fNavB a.js-visited { color: #218ad9; background-color: rgb(255,255,255); } .fNavB li:nth-of-type(1) a:hover::before, .fNavB li:nth-of-type(1) a.js-visited::before { background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iZCIgZD0iTTQwLjgzNyw2NGMtMy44MDQsMC04LjI4OC0uODctMTMuNDcyLTMuMjE1bC0uMTI0LS4wNjJjLS43OTctLjQzMi0xOS41NjctMTAuNzczLTI0Ljg4NS0yNi42NS0uMjIzLS42NjUtNS4zNjMtMTYuMzc1LDEuOTg5LTI1LjYxNi40MDQtLjU4MSwyLjQ2Ni0zLjMzNyw1LjM4LTMuNjI2LDEuMDk4LS4xMDksMi43NDUuMDk5LDQuMzU3LDEuNzA0bC4xODEuMTgxLDcuMDMxLDEyLjI1MmMuMTE1LjIyNywxLjA5NSwyLjI4Ni4zNiw0LjQ4OS0uMzE2Ljk1LTEuMDgyLDIuMjc1LTIuOTMsMy4xOTUtLjc1OC40MDItMS41NDMsMS4xODEtLjg1NywyLjU0N2wuMTA1LjI1MWMuMDMxLjA4OCwzLjQyLDkuNjAxLDE2LjE3MSwxNS45NDcuNzg0LjM2NywxLjg4Ny41MjQsMi41OC0uODUxLjEwNS0uMjEsMi42NjQtNS4wNjYsMTEuMTI1LS44NTNsLjEyOS4wNyw4LjUyNSw1LjA5MWMuNDQ0LjI0MiwyLjExNywxLjI3NCwyLjQ0MiwzLjI4MS4yNTcsMS41ODktLjM5OSwzLjE5NC0xLjk1MSw0Ljc3MS0uODUzLDEuMDYyLTYuMTQ0LDcuMDk1LTE2LjE1Niw3LjA5NVpNMjkuMDEsNTcuMzMzYzE3LjA0LDcuNjc1LDI0LjY4OS0yLjM5LDI1LjAwNi0yLjgyMmwuMTk4LS4yMzJjLjgxMi0uODA3Ljk4NC0xLjM0Ljk1OC0xLjUyOC0uMDI5LS4yMDMtLjMzOS0uNDU0LS40OTEtLjUzN2wtLjA5OC0uMDU1LTguNTAxLTUuMDc3Yy0zLjc4OS0xLjg2OS01LjU1NS0xLjMyLTUuOTc5LS43NDgtMS44OTUsMy42NzUtNS42MTMsMy41MDctNy42NiwyLjQ4NS0xMy41Ni02Ljc0OC0xNy41Ni0xNi42ODYtMTguMDQ2LTE4LjAyLS44NTgtMS43ODQtLjY3Ni0zLjI1Ni0uMzY3LTQuMTg0LjczNi0yLjIwOCwyLjc2NC0zLjI3LDIuOTk0LTMuMzg0LDEuMzUtLjY3MiwxLjIyNS0xLjczMy44NjgtMi41MjJsLTYuNjczLTExLjYyMWMtLjU3OS0uNTA1LS45NjEtLjQ2OC0xLjExNS0uNDUzLTEuMDIzLjEwMS0yLjIzNiwxLjQzMi0yLjYzMiwyLjAyNGwtLjA5OS4xMzRjLTYuMTI4LDcuNjIzLTEuNDM5LDIxLjkyMy0xLjM5MSwyMi4wNjcsNC43MSwxNC4wNjUsMjEuOTEzLDIzLjg1MiwyMy4wMjgsMjQuNDczWk00MC4xMzksNDYuMjYxYy0uMDEuMDItLjAyMS4wNC0uMDMxLjA2MS4wMjItLjAzOC4wMzEtLjA2MS4wMzEtLjA2MVoiIGZpbGw9IiMyMThhZDkiLz4gPHBhdGggaWQ9ImMiIGQ9Ik00MS40MjEsMzYuMTkzYy0xLjA1NiwwLTEuOTExLS44NTYtMS45MTEtMS45MTEsMC0zLjMwMS0uOTE4LTUuODY1LTIuNzMtNy42MjItMy4wMjUtMi45MzMtNy42NTEtMi44MTUtNy43MDYtMi44MjEtLjAyLDAtLjAzOSwwLS4wNiwwLTEuMDI2LDAtMS44NzctLjgxNC0xLjkxMi0xLjg0Ni0uMDM2LTEuMDUyLjc4Mi0xLjkzNSwxLjgzNC0xLjk3NS4yNTYtLjAwNiw2LjI2LS4xODksMTAuNDc0LDMuODY4LDIuNjAzLDIuNTA2LDMuOTIzLDYuMDA0LDMuOTIzLDEwLjM5NiwwLDEuMDU2LS44NTYsMS45MTEtMS45MTEsMS45MTFaIiBmaWxsPSIjMjE4YWQ5Ii8+IDxwYXRoIGlkPSJiIiBkPSJNNTEuNTM1LDM2LjMyN2MtMS4wNTYsMC0xLjkxMS0uODU2LTEuOTExLTEuOTExLDAtOC4wMzctMy40NDgtMTMuOTQ3LTEwLjI0OS0xNy41NjUtNS4yMDUtMi43NjktMTAuNDMtMy4xMTYtMTAuNDgyLTMuMTE5LTEuMDU0LS4wNjQtMS44NTUtLjk3LTEuNzkxLTIuMDI0cy45NTktMS44NTgsMi4wMjQtMS43OTFjLjI0My4wMTQsMjQuMzIxLDEuNzQ2LDI0LjMyMSwyNC40OTksMCwxLjA1Ni0uODU2LDEuOTExLTEuOTExLDEuOTExWiIgZmlsbD0iIzIxOGFkOSIvPiA8cGF0aCBpZD0iYSIgZD0iTTYxLjY4NiwzNi4xOTNjLTEuMDU2LDAtMS45MTEtLjg1Ni0xLjkxMS0xLjkxMSwwLTEyLjMxOS01LjE0NS0yMS4xNzYtMTUuMjkyLTI2LjMyNC03LjY5NC0zLjkwNC0xNS40NDMtNC4xMzQtMTUuNTE5LTQuMTM2LTEuMDU2LS4wMjYtMS44OTEtLjkwMi0xLjg2NS0xLjk1N0MyNy4xMjMuODI1LDI3Ljk3NCwwLDI5LjAwOCwwLDI5LjAyNCwwLDI5LjA0LDAsMjkuMDU1LDBjLjM0Ni4wMDgsMzQuNTQzLDEuMjE3LDM0LjU0MywzNC4yODIsMCwxLjA1Ni0uODU2LDEuOTExLTEuOTExLDEuOTExWiIgZmlsbD0iIzIxOGFkOSIvPjwvc3ZnPg=="); } .fNavB li:nth-of-type(2) a:hover::before, .fNavB li:nth-of-type(2) a.js-visited::before { background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iYiIgZD0iTTQzLjc5NSwwaC0yMy41ODljLTMuOTgxLDAtNy4yMTksMy4yMjctNy4yMTksNy4xOTR2NDkuNjEyYzAsMy45NjcsMy4yMzgsNy4xOTQsNy4yMTksNy4xOTRoMjMuNTg5YzMuOTgsMCw3LjIxOC0zLjIyNyw3LjIxOC03LjE5NFY3LjE5NGMwLTMuOTY3LTMuMjM4LTcuMTk0LTcuMjE4LTcuMTk0Wk0zMi44MjEsNTcuMTY2Yy0uMzc0LDAtLjY3OS0uMjk5LS42NzktLjY2NnMuMzA1LS42NjYuNjc5LS42NjYuNjc5LjI5OS42NzkuNjY2LS4zMDUuNjY2LS42NzkuNjY2Wk0xNi44MjYsNDkuODE2VjEwLjczNWgzMC4zNDh2MzkuMDgxaC0zMC4zNDhaTTIwLjIwNiwzLjgzOWgyMy41ODljMS43NjEsMCwzLjE5NCwxLjM0OCwzLjM0OSwzLjA1N2gtMzAuMjg3Yy4xNTUtMS43MDgsMS41ODktMy4wNTcsMy4zNS0zLjA1N1pNMTYuODI2LDU2LjgwNnYtMy4xNWgxMi41MTljLS42NDEuNzc4LTEuMDQzLDEuNzYtMS4wNDMsMi44NDQsMCwxLjUxMS43NTYsMi44NDMsMS45MDQsMy42NjFoLTEwYy0xLjg2MywwLTMuMzgtMS41MDUtMy4zOC0zLjM1NVpNNDMuNzk1LDYwLjE2MWgtOC4zNmMxLjE0OC0uODE4LDEuOTA0LTIuMTUsMS45MDQtMy42NjEsMC0xLjA4NC0uNDAxLTIuMDY2LTEuMDQzLTIuODQ0aDEwLjg3OHYzLjE1YzAsMS44NDktMS41MTYsMy4zNTUtMy4zNzksMy4zNTVaIiBmaWxsPSIjMjE4YWQ5Ii8+IDxwYXRoIGlkPSJhIiBkPSJNNDIuMjM4LDI1LjEyOGMtLjc1NS0uNzQyLTEuOTctLjczOC0yLjcxNS4wMThsLTkuNjY0LDkuNzkxLTMuODMzLTQuMTQ2Yy0uNzE5LS43NzgtMS45MzMtLjgyNy0yLjcxMy0uMTA3LS43NzkuNzItLjgyNywxLjkzNS0uMTA3LDIuNzEzbDYuNTYsNy4wOTgsMTIuNDg5LTEyLjY1MmMuNzQ0LS43NTUuNzM3LTEuOTctLjAxOC0yLjcxNVoiIGZpbGw9IiMyMThhZDkiLz48L3N2Zz4="); } .fNavB li:nth-of-type(3) a:hover::before, .fNavB li:nth-of-type(3) a.js-visited::before { background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJsYXllciIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA2NCA2NCI+ICA8cGF0aCBpZD0iYSIgZD0iTTYyLjcyLDM2LjUxOEwyNy40NDcsMS40MTFjLTEuNjk3LTEuNjg5LTQuNDYxLTEuNjktNi4xNTksMEwxLjI4LDIxLjMyNmMtLjgyNi44MjItMS4yOCwxLjkxNi0xLjI4LDMuMDgsMCwxLjE2My40NTUsMi4yNTYsMS4yOCwzLjA3NmwzNS4yNzIsMzUuMTA4aDBjLjg0OS44NDUsMS45NjMsMS4yNjYsMy4wNzksMS4yNjZzMi4yMzEtLjQyMywzLjA4LTEuMjY2bDIwLjAwOC0xOS45MTVjLjgyNS0uODIyLDEuMjgtMS45MTUsMS4yOC0zLjA3OHMtLjQ1NS0yLjI1Ny0xLjI4LTMuMDc5Wk01Ny45NDYsMzcuMTM3bC0yNi42Mi0zLjMzOC0zLjk0NS0yNy4wODUsMzAuNTY1LDMwLjQyM1pNNDAuMDI4LDU5Ljg5MmMtLjIxNy4yMTYtLjU3My4yMTctLjc5MSwwTDMuOTY0LDI0Ljc4NGMtLjEzMS0uMTMxLS4xNTktLjI3OS0uMTU5LS4zNzksMC0uMTAyLjAyOC0uMjUuMTYtLjM4MUwyMy4yNTgsNC44MTlsNC43MTksMzIuMzk0LDMwLjkzNiwzLjg3OS0xOC44ODUsMTguNzk5WiIgZmlsbD0iIzIxOGFkOSIvPjwvc3ZnPg=="); }*/
.fNavB a span {
  font-size: clamp(10px, 4.872vw, 40px);
  letter-spacing: .15em;
}

/* ----- 固定ヘッダーに合わせて ----- */
/* ----- 固定ページタイトル ----- */
article.l-mainContent__inner p strong {
  background: linear-gradient(transparent 64%, var(--color_mark_yellow) 0%);
}

ul.linksitem.col02,
ul.linksitem.col03 {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

ul.linksitem li.linkitem {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

ul.linksitem li.linkitem::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/cta/ico_cta_arrow_right.png) no-repeat center / 23px auto;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translate(0, -50%);
}

ul.linksitem.col02 li {
  width: calc((100% - 10px)/2);
  margin-left: 10px;
}

ul.linksitem.col03 li {
  width: calc((100% - 20px)/3);
  margin-left: 10px;
}

ul.linksitem li:first-child {
  margin-left: 0;
}

ul.linksitem li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

ul.linksitem.col02 .title {
  padding: 3px 0 3px 60px;
  position: relative;
  justify-content: flex-start;
  text-align: left;
}

ul.linksitem.col02 .title::before {
  content: "";
  display: block;
  width: 51px;
  height: 60px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/deco_karugamo04.png) no-repeat center top / 50px;
  position: absolute;
  left: 0;
  top: auto;
}

ul.linksitem.col02 .title .tel {
  font-size: 28px;
  line-height: 1em;
  margin: 0;
  color: #666;
  font-weight: bold;
}

ul.linksitem.col02 .title .small_text {
  font-size: 21px;
  display: block;
  margin: 0;
}

ul.linksitem.col02 .tel_icon {
  padding: 10px 10px 10px 42px;
}

ul.linksitem.col02 .tel_icon::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/cta/ico_cta_tel.png) no-repeat center / 24px 24px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translate(0, -50%);
}

ul.linksitem.col02 .tel_icon::after {
  display: none;
}

/* ----- 共通化項目/デフォルトCSS打ち消し ----- */
/* ----- WPのCSS打ち消し ----- */
.post_content .page_contents *::before,
.post_content .page_contents *::after {
  content: none;
}

/* ----- page/.page_contents デフォルト化 ----- */
.page_contents p,
.page_contents ul,
.page_contents ol,
table,
th,
td,
dl,
dt,
dd {
  font-weight: 300;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-top: 0.8rem;
  padding: 0;
}

/* ----- .page_contents 背景色 ----- */
#main_content .bg_blue {
  background-color: #1d93ac;
  color: #fff;
}

/* ----- .page_contents フォントサイズ ----- */
.page_contents h2 {
  font-size: 27px;
  margin: auto;
}

.page_contents h3 {
  font-size: 24px;
  margin: auto;
  padding: 0.25em;
}

.page_contents h4 {
  font-size: 21px;
  margin: auto;
}

.page_contents h5 {
  font-size: 18px;
  font-weight: 400;
  margin: auto;
}

.page_contents h6 {
  font-size: 16px;
  font-weight: 400;
  margin: auto;
}

/* ----- .page_contents 余白調整 ----- */
.page_contents .mt40 {
  margin-top: 40px;
}

/* ----- .page_contents レイアウト flex ----- */
.page_contents .flex {
  display: flex;
  padding-left: 0;
}

/* ----- top/トップページ ----- */
/* * mv-banners: メインビジュアル下の3バナー * トップページのメインビジュアル直下に表示 * レイアウト: * - PC（641px以上）: 1枚目全幅、2・3枚目を横並びで画面幅いっぱい * - SP（640px以下）: 3枚とも縦並び * HTML: メインビジュアル変更.html の .mv-banners ブロック */
.mv-banners {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.mv-banners__item {
  margin: 0;
  width: 100%;
}

.mv-banners__item:not(:first-child) {
  margin-top: 0;
}

.mv-banners__item a {
  display: block;
  line-height: 0;
}

.mv-banners__item picture,
.mv-banners__item img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* キャンペーン1: SP/PC でアスペクトが異なる。1200×600 や data-aspectratio 2:1 だと SP 用（721×558）と不一致で CLS になるため、表示幅に合わせて確保 */
.mv-banners__item--1 img.full-img {
  aspect-ratio: 721 / 558;
}

/* デスクトップ: 2枚目・3枚目を横並び（各50%） */
@media screen and (min-width: 641px) {
  .mv-banners__item--1 {
    width: 100%;
  }

  .mv-banners__item--1 img.full-img {
    aspect-ratio: 1920 / 440;
  }

  .mv-banners__item--2,
  .mv-banners__item--3 {
    flex: 0 0 50%;
    min-width: 0;
    box-sizing: border-box;
  }
}

/* スマートフォン: 縦並び */
@media screen and (max-width: 640px) {

  .mv-banners__item--2,
  .mv-banners__item--3 {
    width: 100%;
  }
}

.front_page .front_content {
  width: 100%;
  max-width: 1080px;
  margin: 60px auto 0 !important;
}

.front_page .front_content h2 {
  padding: 0 125px 0 60px;
  line-height: 2;
  font-size: 24px;
  position: relative;
}

.front_page .front_content h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  left: 5px;
  top: calc(50% - 20px);
  border: 0;
}

.front_page .front_content01 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_track_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content02 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content04 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calendar_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content05 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_reason_yel.png) no-repeat center / 40px auto;
}

.front_page .front_content h2::after {
  content: "";
  display: block;
  width: 125px;
  height: 45px;
  position: absolute;
  right: 8px;
  top: calc(50% - 20px);
}

.front_page .front_content01 h2::after {
  background: url(../img/deco/deco_karugamo01.png) no-repeat center / auto 40px;
  background: image-set(url(../img/deco/deco_karugamo01.webp) type("image/webp"), url(../img/deco/deco_karugamo01.png) type("image/png")) no-repeat center / auto 40px;
}

.front_page .front_content02 h2::after {
  background: url(../img/deco/deco_karugamo02.png) no-repeat center / auto 40px;
  background: image-set(url(../img/deco/deco_karugamo02.webp) type("image/webp"), url(../img/deco/deco_karugamo02.png) type("image/png")) no-repeat center / auto 40px;
}

.front_page .front_content04 h2::after {
  background: url(../img/deco/deco_karugamo03.png) no-repeat center / auto 40px;
  background: image-set(url(../img/deco/deco_karugamo03.webp) type("image/webp"), url(../img/deco/deco_karugamo03.png) type("image/png")) no-repeat center / auto 40px;
}

.front_page .front_content h2::after {
  right: 5px;
}

.front_page ul.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.front_planlinks li {
  width: calc((100% - 20px)/2);
  position: relative;
  z-index: 0;
  background: #fff;
  margin: 20px 0 0 20px;
}

.front_planlinks li:nth-child(2n+1) {
  margin-left: 0;
}

.front_planlinks li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.front_planlinks li figure {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.front_planlinks li figure img {
  width: 100%;
  height: auto;
}

.front_optionlinks li {
  width: calc((100% - 6%)/3);
  margin-left: 3%;
  margin-top: 3%;
  box-shadow: 3px 3px 5px rgba(175, 175, 175, .85);
  color: #1d93ac;
  font-weight: 500;
  border-radius: 5px;
  text-align: center;
}

.front_optionlinks li:nth-child(3n+1) {
  margin-left: 0;
}

.front_optionlinks li span,
.front_optionlinks li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 60px;
  padding: 8px 1em;
  border-radius: 5px;
  text-align: center;
  color: #1d93ac;
}

.front_optionlinks li a {
  background: #e6f3f4;
}

.post_content .front_optionlinks li a::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-width: 2px 2px 0 0;
  border-color: #1d93ac;
  border-style: solid;
  position: absolute;
  top: calc(50% - 4px);
  right: 8px;
  transform: rotate(45deg);
}

.front_content03 {
  border-top: solid 3px #999;
  padding-top: 60px;
}

.other_contentslinks li {
  width: calc((100% - 9%)/4);
  margin-left: 3%;
  position: relative;
  z-index: 0;
}

.other_contentslinks li a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.other_contentslinks li:first-child {
  margin-left: 0;
}

.other_contentslinks li figure {
  background: #fff;
  border-radius: 5px;
  box-shadow: 5px 5px 5px rgba(175, 175, 175, .45);
}

.other_contentslinks li figure img {
  width: 100%;
  height: auto;
  border-radius: 5px 5px 0 0;
}

.other_contentslinks li figcaption {
  padding: 10px 1em 15px 45px;
  line-height: 1;
  position: relative;
  color: #1d93ac;
}

.post_content .other_contentslinks figcaption::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: calc(50% - 15px);
  left: 8px;
}

.post_content .other_contentslinks figure figcaption::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-width: 2px 2px 0 0;
  border-color: #1d93ac;
  border-style: solid;
  position: absolute;
  top: calc(50% - 4px);
  right: 8px;
  transform: rotate(45deg);
}

.post_content .other_contentslinks .star figcaption::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_star_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .inspaira figcaption::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_inspaira_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .qa figcaption::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_qa_grn.png) no-repeat center / 30px auto;
}

.post_content .other_contentslinks .comment figcaption::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_comment_grn.png) no-repeat center / 30px auto;
}

.front_content04 ul li {
  width: 50%;
  padding: 0 10px;
}

.front_content05 .feature_content li {
  background: #fff;
  padding: 2%;
  position: relative;
  padding-left: 65px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: .125em;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, .15);
}

.front_content05 .feature_content li span.bg_yel {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 0;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  top: calc(50% - 22.5px);
  left: 5px;
  background: #fccf00;
}

.front_content05 .feature_content li span.bg_yel::before,
.front_content05 .feature_content li span.bg_yel::after {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: #fff;
  position: absolute;
}

.front_content05 .feature_content li span.bg_yel::before {
  top: 8px;
}

.front_content05 .feature_content li span.bg_yel::after {
  bottom: 8px;
}

.front_content05 .feature_content li p {
  font-size: 18px;
  font-weight: 500;
  margin-top: 0;
}

.front_content05 .feature_content li p span {
  font-size: 20px;
  font-weight: 700;
  color: #b7282c;
}

.front_content06 figure {
  width: 100%;
  height: auto;
  margin: auto;
}

/* ----- plan/共通項目/カレンダー ----- */
.price_calendar {
  margin-top: 40px !important;
  max-width: 640px;
  margin-left: auto;
}

.price_calendar img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
}

.calendar_item li img {
  box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 0px 0px 0px 1px rgba(10, 10, 10, 0.02);
}


@media only screen and (max-width: 1120px) {
  header.add_le {
    min-height: auto;
  }

  div#body_wrap {
    padding-top: 100px;
  }

  div#body_wrap.home {
    padding-top: 23.78vw;
  }

  /* ----- 1120/header ----- */
  header.add_le .hamburger-menu {
    display: block;
  }

  header section.header_top_area .header_top_bar {
    display: none;
  }

  .header_pc_info,
  .header_pc_research,
  .header_cta_tel {
    display: none;
  }

  header section.header_top_area {
    background: #fff;
    border-bottom: 2px solid #1d93ac;
    padding: 0;
  }

  header section.pagelink_area {
    display: none;
  }

  /* SP版ヘッダーのレイアウト */
  header section.middle_area {
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 100%;
    margin: 0;
    padding: 1.538vw;
    min-height: 100px;
  }

  /* PC版要素を非表示 */
  header section.middle_area .logo_area {
    display: none;
  }

  header section.middle_area .cta_area {
    display: none;
  }

  /* SP版ヘッダー左側 */
  .sp_header_left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 77.948vw;
    flex-shrink: 0;
  }

  /* ロゴエリア（上段） */
  .sp_logo_area {
    margin-bottom: 2.051vw;
  }

  .sp_logo_area figure {
    margin: 0;
    line-height: 1;
  }

  .sp_logo_area img {
    max-width: 100%;
    height: auto;
    display: block;
  }

  /* 電話番号エリア（下段・2カラム） */
  .sp_tel_row {
    display: flex;
    gap: 2.051vw;
    align-items: stretch;
  }

  /* 左カラム：メイン電話 */
  .sp_tel_main {
    display: flex;
    width: 63%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 0;
    background-color: #f3f3f3;
    padding: 1.538vw 0;
  }

  .sp_tel_label {
    font-size: clamp(8px, 3.076vw, 16px);
    color: #1d93ac;
    margin-bottom: 3px;
    line-height: 1.2;
    text-align: center;
  }

  /* 20251224 ヘッダーインフォメーションLINEのみに変更に伴うスタイル追加 */
  .sp_tel_main.header-other__time.sp_label_line2512 {
    min-height: 5.5em;
  }

  .sp_tel_main.header-other__time.sp_label_line2512 .sp_tel_number_main span {
    font-size: inherit;
    border-bottom: 1px solid;
  }

  /*20251224 ここまで*/
  .sp_tel_number_main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-decoration: none;
    color: #1d93ac;
    font-weight: bold;
    line-height: 1.2;
    border-radius: 1.025vw;
  }

  .sp_tel_number_main span {
    font-size: clamp(16px, 5.641vw, 30px);
  }

  .sp_tel_icon {
    width: 5.128vw;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(46%) sepia(96%) saturate(1187%) hue-rotate(157deg) brightness(93%) contrast(92%);
  }

  /* 右カラム：サブ電話 */
  .sp_tel_sub {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 34%;
    flex-shrink: 0;
    background-color: #f3f3f3;
    padding: 1.538vw 0;
    border-radius: 1.025vw;
  }

  .sp_tel_sub_label {
    font-size: clamp(6px, 2.82vw, 15px);
    color: #333;
    margin-bottom: 2px;
    line-height: 1.4;
    text-align: center;
  }

  .sp_tel_number_sub {
    font-size: clamp(6px, 2.82vw, 15px);
    font-weight: bold;
    color: #333;
    text-decoration: none;
    line-height: 1.2;
    display: block;
    text-align: center;
  }

  /* index2.html専用: sp_tel_mainを横幅いっぱいに広げる */
  .sp_tel_row:has(.header-other__time) {
    gap: 0;
  }

  .sp_tel_main.header-other__time {
    width: 100%;
  }

  .header-other__time .sp_tel_label {
    font-size: clamp(7px, 2.82vw, 16px);
  }

  /* SP版ヘッダー右側 */
  .sp_header_right {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 12.307vw;
    flex-shrink: 0;
    gap: 2.051vw;
  }

  /* ハンバーガーメニュー（上段） */
  header section.header_top_area .hamburger-menu {
    position: absolute;
    top: 2.051vw;
    right: 0;
    z-index: 100;
  }

  .menu-btn {
    position: relative;
    top: 0;
    right: 1.538vw;
    width: 8.536vw;
    height: auto;
    aspect-ratio: 1 / 1;
    background: #1d93ac;
    border-radius: 1.025vw;
    cursor: pointer;
  }

  .sp_hamburger_wrapper {
    width: 8.536vw;
    aspect-ratio: 1 / 1;
  }

  /*訪問見積もりボタン（下段）*/
  /* 変更後（以下を追加） */
  .sp_visit_btn {
    width: 8.538vw;
    aspect-ratio: 1 / 1;
    background: #e89512;
    border-radius: 1.025vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  .sp_visit_text {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    font-size: clamp(9px, 3.8vw, 20px);
    letter-spacing: 0.5px;
    line-height: 1.2;
  }

  .sp_visit_subtext {
    position: relative;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    font-size: clamp(5px, 2.0vw, 11px);
    letter-spacing: 0;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 1px;
  }

  .sp_visit_subtext::after {
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    transform: rotate(45deg);
  }

  /* 640px以下 */
  @media only screen and (max-width: 640px) {
    .sp_visit_btn {
      width: 12.307vw;
    }
  }

  /* 767px以下 */
  @media only screen and (max-width: 767px) {
    .sp_visit_btn {
      width: 12.307vw;
    }
  }

  /* LINEボタン（下段） */
  .sp_line_btn {
    width: 8.538vw;
    aspect-ratio: 1 / 1;
    background: #00ba00;
    border-radius: 1.025vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
  }

  .sp_line_btn::before {
    content: '';
    display: block;
    width: 6.0697vw;
    aspect-ratio: 3 / 2;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .sp_line_btn img {
    width: 30px;
    height: 30px;
    position: relative;
    z-index: 1;
    filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);
  }

  .sp_line_text {
    position: relative;
    z-index: 1;
    color: #00ba00;
    font-weight: bold;
    font-size: clamp(7px, 2.82vw, 16px);
    letter-spacing: 0.5px;
  }

  header .fidxed_header_tel {
    display: none;
  }

  /* ----- 1120/footer ----- */
  footer.l-footer {
    position: relative;
    z-index: 1;
  }

  .add_le_footer .footer_area {
    display: none;
  }

  .add_le_footer .sp_footer_nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .add_le_footer .sp_footer_nav a {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    position: relative;
    z-index: 0;
    padding: 5px 20px;
  }

  .add_le_footer .sp_footer_nav a::after {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: calc(50% - 4px);
    right: 5px;
    transform: rotate(45deg);
  }

  .add_le_footer .sp_floating_menu {
    width: 100%;
    display: flex;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 0;
  }

  .add_le_footer .sp_floating_menu div {
    width: calc(100%/3);
    text-align: center;
    position: relative;
    z-index: 0;
  }

  .add_le_footer .sp_floating_menu div a {
    font-size: 12px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .add_le_footer .sp_floating_menu div.fl_zoom {
    /*background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_zoom_wh.png) no-repeat center top 10px / 20px auto, #0071bc;*/
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_zoom_wh.png) no-repeat center top 10px / 20px auto, #00ba00;
    padding: 35px 5px 20px;
  }

  .add_le_footer .sp_floating_menu div.fl_tel {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_visit_wh.png) no-repeat center top 10px / 20px auto, #1d93ac;
    padding: 35px 5px 20px;
  }

  .add_le_footer .sp_floating_menu div.fl_contact {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_form_wh.png) no-repeat center top 10px / 20px auto, #f69d01;
    padding: 35px 5px 20px;
  }

  /* ----- 1120/固定ページ ----- */
  /* ----- 1120/見出しフォントサイズ ----- */
  .page_contents h2 {
    font-size: 24px;
  }

  .page_contents h3 {
    font-size: 21px;
  }

  .page_contents h4 {
    font-size: 18px;
  }

  .page_contents h5 {
    font-size: 17px;
  }

  .page_contents h6 {
    font-size: 15px;
  }

}

@media only screen and (max-width: 820px) {

  /* 20251224 ヘッダーインフォメーションLINEのみに変更に伴うスタイル追加 */
  .sp_tel_main.header-other__time.sp_label_line2512 {
    min-height: 4.5em;
  }

  /*20251224 ここまで*/
  /* ----- 820/footer/start ----- */
  .l-footer {
    z-index: 2;
    padding-bottom: 60px;
  }

}

@media only screen and (max-width: 767px) {

  /* 20251224 ヘッダーインフォメーションLINEのみに変更に伴うスタイル追加 */
  .sp_tel_main.header-other__time.sp_label_line2512 {
    min-height: 5.5em;
  }

  /*20251224 ここまで*/
  div#body_wrap.home {
    padding-top: 29.487vw;
  }

  /* ----- 767/header ----- */
  header section.middle_area .logo_area {
    max-width: 240px;
    align-items: flex-start;
  }

  .menu-btn {
    width: 12.307vw;
    right: 1.538vw;
  }

  .sp_hamburger_wrapper {
    width: 12.307vw;
  }

  /* LINEボタン（下段） */
  .sp_line_btn {
    width: 12.307vw;
  }

  .sp_line_btn::before {
    width: 9.743vw;
  }

  .sp_line_text {
    font-size: clamp(7px, 2.82vw, 16px);
  }

  header section.middle_area .cta_area a.partnership {
    height: 55px;
    right: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3px;
  }

  header section.middle_area .cta_area a.partnership span {
    display: block;
  }

  header section.middle_area .cta_area a.mail {
    width: 55px;
    height: 55px;
    background-size: 25px;
    background-position: center;
    right: 115px;
    background-image: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_line_est.png);
  }

  header section.middle_area .cta_area a.estimate {
    width: 55px;
    height: 55px;
    /*background-size: 20px;*/
    background-size: 32px;
    background-position: center;
    right: 60px;
  }

  header section.middle_area .cta_area a.estimate br {
    display: inline;
  }

  header section.middle_area .cta_area a span {
    display: none;
  }

  header section.middle_area .cta_area a.estimate span {
    display: block;
    margin-top: -16px;
  }

  header .fidxed_header_tel {
    right: 270px;
    top: 12px;
  }

  header .fidxed_header_tel img {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: auto;
  }
}

@media only screen and (max-width: 640px) {

  /* 20251224 ヘッダーインフォメーションLINEのみに変更に伴うスタイル追加 */
  .sp_tel_main.header-other__time.sp_label_line2512 {
    min-height: 3.5em;
  }

  /*20251224 ここまで*/
  /* ----- 640/CTA/2203 ----- */
  ul.linksitem.col02 {
    flex-direction: column;
  }

  ul.linksitem.col02 li {
    width: 100%;
    margin: 1% 0 0;
  }

  ul.linksitem.col02 .title .tel span {
    display: inline;
  }

  ul.linksitem.col02 .tel_icon img {
    width: auto;
    height: 100%;
  }

  ul.linksitem.col03 {
    justify-content: space-between;
  }

  ul.linksitem.col03 li {
    width: calc(98%/3);
    margin-left: 1%;
    margin-top: 1%;
    padding: 4px 4px 24px;
    line-height: 1em;
    font-size: 15px;
    height: 75px;
  }

  ul.linksitem.col03 li:first-child {
    margin-left: 0;
  }

  ul.linksitem.col03 li::after {
    width: 20px;
    height: 20px;
    background-size: 20px;
    right: calc(50% - 10px);
    top: unset;
    bottom: 5px;
    transform: translate(0, 0);
  }

  /* ----- 640/共通項目/表示・非表示 切り替え ----- */
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .pc-only {
    display: none !important;
  }

  .sp-only {
    display: block !important;
  }

  .sp_header_left.sp-only {
    display: flex !important;
  }

  .sp_header_right.sp-only {
    display: flex !important;
  }

  /* ----- 640/header ----- */
  header.add_le {
    height: auto;
  }

  div#body_wrap,
  div#body_wrap.single {
    padding-top: 30vw;
  }

  header section.middle_area {
    min-height: 95px;
  }

  /* SP版ロゴ調整 */
  .sp_logo_area img {
    max-width: 100%;
  }

  /* SP版右側ボタン調整 */
  .sp_header_right {
    gap: 6px;
  }

  /* 640px以下: ボタンサイズは継承 */
  .sp_line_btn::before {
    width: 34px;
  }

  .sp_line_btn img {
    width: 26px;
    height: 26px;
  }

  .sp_line_text {
    font-size: 10px;
  }

  /* ----- 640/共通項目/カレンダー(swell ブログパーツ) ----- */
  .calendar_item {
    flex-direction: column;
    align-items: center;
  }

  .front_content04 ul li {
    width: 100%;
    max-width: 480px;
  }

  .front_page .front_content {
    padding: 0 2%;
    margin-top: 3%;
  }

  .front_planlinks {
    padding: 0;
  }

  .front_planlinks li {
    width: calc((100% - 3%)/2);
    margin-left: 3%;
  }

  .front_planlinks li:first-child,
  .front_planlinks li:nth-child(2n+1) {
    margin-left: 0;
  }

  .front_optionlinks {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }

  .front_optionlinks li {
    width: calc((100% - 3%)/2);
    margin: 3% 0 0 0;
  }

  .front_optionlinks li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .other_contentslinks {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }

  .other_contentslinks li {
    width: calc((100% - 3%)/2);
    margin: 3% 0 0 0;
  }

  .other_contentslinks li p,
  .other_contentslinks li br {
    display: none;
  }

}

@media only screen and (max-width: 500px) {

  .page_contents .mt40 {
    margin-top: 20px;
  }

  .menu-content .tel-link {
    display: block;
    border-radius: 3px;
    border: solid 3px #51a34a;
  }

  .menu-content .tel-link a {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }

  .menu-content .tel-link img {
    display: block;
    width: 100%;
    height: auto;
  }

  .page_contents h2 {
    font-size: 21px;
    padding: 0.75em;
  }

  /* ----- 500/共通項目/header ----- */
  header.add_le {
    height: auto;
  }

  header section.middle_area {
    min-height: 90px;
  }

  /* SP版ロゴ調整 */
  .sp_logo_area img {
    max-width: 100%;
  }

  .sp_logo_area {
    margin-bottom: 6px;
  }

  /* SP版電話番号調整 */
  .sp_tel_label {
    margin-bottom: 2px;
  }

  .sp_tel_number_main {
    gap: 3px;
  }

  .sp_tel_sub_label {
    margin-bottom: 1px;
  }

  /* SP版右側ボタン調整 */
  .sp_header_right {
    gap: 5px;
  }

  /* 500px以下: ボタンサイズは継承 */
  .sp_line_btn::before {
    width: 30px;
  }

  .sp_line_btn img {
    width: 24px;
    height: 24px;
  }

  .sp_line_text {
    font-size: 9px;
  }

  /* ----- 500/トップページ ----- */
  .front_page .front_content h2 {
    font-size: 21px;
    padding: 8px 80px 8px 50px;
    line-height: 1.45;
  }

  .front_page .front_content h2::before {
    width: 30px;
    height: 30px;
    background-size: 28px;
    top: calc(50% - 15px);
  }

  .front_page .front_content h2::after {
    width: 100px;
    background-size: auto 28px;
    right: 8px;
    background-position: center right;
  }

  .front_page .front_content {
    margin: 40px auto 0 !important;
  }

  /* ----- 500/共通項目：カレンダー部分（swell ブログパーツ） ----- */
  .price_calendar {
    margin-top: 20px !important;
  }

  /* ----- 500/footer ----- */
  .add_le_footer .footer_caution .footer_caution_inner {
    font-size: 10px;
  }
}

@media only screen and (max-width: 428px) {

  /* ----- 428/page/.page_contents デフォルト化 ----- */
  .page_contents p,
  .page_contents ul,
  .page_contents ol,
  table,
  th,
  td,
  dl,
  dt,
  dd {
    font-size: 14px;
    color: #2c2c2c;
    margin-top: 5px;
  }

  /* ----- 428/トップページ ----- */
  .front_planlinks li p {
    font-size: 16px;
  }

  .other_contentslinks li figcaption {
    padding: 10px 10px 10px 30px;
    font-size: 13px;
    line-height: 1.6;
  }

  .post_content .other_contentslinks figcaption::before {
    width: 20px;
    height: 20px;
    background-size: 20px auto !important;
    left: 3px;
    top: calc(50% - 10px);
  }

  .post_content .other_contentslinks figure figcaption::after {
    width: 10px;
    background-size: 8px auto;
  }

  .front_content05 .feature_content li p {
    font-size: 15px;
  }

  .front_content05 .feature_content li p span {
    font-size: 17px;
  }

}

@media only screen and (max-width: 360px) {
}

@media only screen and (max-width: 320px) {
  header section.middle_area .cta_area a.mail {
    width: 55px;
    height: 55px;
    background-size: 25px;
    background-position: center;
    right: 115px;
    background-image: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_line_est.png);
  }

  header section.middle_area .cta_area a.mail {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
    right: 90px;
  }

  header section.middle_area .cta_area a.estimate {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
    right: 47px;
  }

  .menu-btn {
    width: calc((100% - 192px) / 3);
    height: auto;
    aspect-ratio: 1;
  }
}

/* ----- CTAブロック - 共通スタイル ----- */
.c-cta__block {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

/* コンテナの設定 */
.c-cta {
  font-family: "Noto Sans JP", sans;
  box-sizing: border-box;
  width: calc(100% - 2.564vw);
  margin: 8.974vw auto !important;
  padding: 0;
  background-color: rgb(255, 255, 255);
  border: .769vw solid rgb(15, 154, 183);
  overflow: hidden;
}

/* トップバナー */
.c-cta__header {
  background-color: #fff;
  padding: 2.564vw 0;
  text-align: center;
  box-shadow: 0px -4px 10px 2px #888;
}

.c-cta__header-text,
.page_contents p.c-cta__header-text {
  color: #0f9ab7;
  font-size: clamp(14px, 5.128vw, 40px);
  font-weight: bold;
  letter-spacing: -.05em;
  line-height: 1.2;
  margin: 0;
}

.c-cta__header-text span {
  font-size: clamp(18px, 6.666vw, 50px);
  letter-spacing: 0;
  margin: 0 0 0 .05em;
}

/* メインコンテンツエリア */
.c-cta__content {
  display: flex;
  flex-direction: column;
  padding: 2.564vw;
  gap: 3.846vw;
}

/* 電話番号セクション */
.c-cta__phone-section {
  display: flex;
  flex-direction: column;
  gap: 3.59vw;
  position: relative;
  margin: 0 !important;
  padding-left: 24.615vw;
}

.c-cta__phone-section::before,
#main_content .post_content section.c-cta__phone-section::before {
  position: absolute;
  content: "" !important;
  height: 26.41vw;
  aspect-ratio: 43 / 50;
  top: 50%;
  left: 0;
  margin-top: -13.205vw;
  background-image: url("https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2026/01/cta-karugamo1.webp");
  background-repeat: no-repeat;
  background-size: cover;
}

/* 電話番号ボックス */
.c-cta__phone-box {
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: 1.026vw;
  transition: opacity 0.45s ease;
}

.c-cta__phone-box:hover {
  opacity: 0.9;
}

.c-cta__phone-box:focus {
  outline: .513vw solid rgb(15, 154, 183);
  outline-offset: 0.513vw;
}

.c-cta__phone-box-header,
.page_contents p.c-cta__phone-box-header {
  font-size: clamp(10px, 3.590vw, 20px);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .05em;
}

.c-cta__phone-box--general .c-cta__phone-box-header {
  color: #221714;
  background-color: rgb(229, 229, 228);
}

.c-cta__phone-box--special .c-cta__phone-box-header {
  color: #fff;
  background-color: rgb(230, 31, 25);
}

.c-cta__phone-number,
.page_contents p.c-cta__phone-number {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0 1.538vw;
  color: #221714;
  font-size: clamp(20px, 7.692vw, 38px);
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: .05em;
  vertical-align: middle;
}

.c-cta__phone-number::before,
.page_contents p.c-cta__phone-number::before {
  position: absolute;
  content: "" !important;
  height: 5.641vw;
  aspect-ratio: 248 / 349;
  top: 50%;
  left: 0;
  margin: -2.308vw 0 0 2.051vw;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJjdGEtaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyMCAyOCI+ICA8cGF0aCBpZD0iaWNvbi1waG9uZSIgZD0iTTcuMTgsNy42M2MuNTE5LS4yMTgsMS4yNzgtLjU0LDEuOTEyLS44MDguNjQ5LS4yNzYuOTk0LS44NS41ODctMS42OC0uNDA1LS44MjgtMS4zNjEtMi43ODItMS42NDEtMy4zNS0uMjc4LS41Ny0uOTgtMS4wNjktMi4wNDYtLjYxNS0xLjQ1OS42MTgtMi43NzgsMS40NjgtMy44MzYsMy4wODhDLjM1NSw3LjAyNi0uMDMzLDEwLjg2OCwzLjAzMSwxNy4zNjFsLS4wMDUuMDAzYy4wMjkuMDUxLjEyOC4yNTYuMTU0LjMxMmwuMDA0LS4wMDVjMy4yNTIsNi40MTQsNi42MjEsOC42NjcsMTAuMDQzLDkuMjEzLDIuMDA3LjMxNywzLjU2Mi0uMDQ4LDUuMDIzLS42NjQsMS4wNjUtLjQ1NywxLjEyMy0xLjI3Ni44NDMtMS44NDQtLjI3OS0uNTctMS4yMzYtMi41MjMtMS42NDEtMy4zNTItLjQwNi0uODMtMS4wOTYtLjk2NC0xLjc0NC0uNjktLjYzNC4yNy0xLjM5MS41OTEtMS45MTMuODEyLTEuMTI2LjQ3OS0yLjYzNC0uMTI3LTQuNTMtMi4xNDktLjY3MS0uNzE0LTEuMzk0LTEuODk1LTIuMDU3LTMuMjE5LS42MzUtMS4zMzEtMS4xMTktMi42MTYtMS4yNi0zLjU1NC0uMzk1LTIuNjY0LjEwNS00LjExNSwxLjIzMy00LjU5NFoiIGZpbGw9IiMyMjE3MTQiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: cover;
}

.c-cta__phone-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2.051vw;
  padding: 0 1.538vw;
}

.c-cta__phone-hours,
.page_contents p.c-cta__phone-hours {
  display: flex;
  align-items: center;
  color: #040000;
  font-size: clamp(8px, 3.333vw, 16px);
  font-weight: bold;
  line-height: 1.1;
  vertical-align: bottom;
  margin: 0;
}

.c-cta__phone-hours span {
  margin-right: .8em;
  font-size: clamp(6px, 2.564vw, 13px);
}

.c-cta__phone-note,
.page_contents p.c-cta__phone-note {
  font-size: clamp(7px, 3.077vw, 14px);
  color: #b6282c;
  margin: 0;
}

.c-cta__phone-box--special .c-cta__phone-note,
.page_contents .c-cta__phone-box--special p.c-cta__phone-note {
  font-size: clamp(5px, 2.308vw, 12px);
}

/* オレンジバナー */
.c-cta__recommendation {
  position: relative;
  display: block;
  margin: 0 !important;
}

.c-cta__recommendation::before {
  position: absolute;
  content: "" !important;
  width: 100%;
  height: 100%;
  background-color: rgb(233, 154, 19);
  border-radius: 1.795vw;
  overflow: hidden;
  transition: background-color 0.45s ease;
}

.c-cta__recommendation:hover::before {
  background-color: rgb(209, 133, 0);
}

.c-cta__recommendation::after {
  position: absolute;
  content: "" !important;
  height: 11.538vw;
  aspect-ratio: 157 / 160;
  top: 50%;
  left: 0;
  margin: -5.769vw 0 0 1.538vw;
  background-image: url("https://www.karugamo.co.jp/contet/wp/wp-content/uploads/2026/01/cta-karugamo2.webp");
  background-repeat: no-repeat;
  background-size: cover;
}

.c-cta__recommendation-link {
  display: flex;
  height: 13.846vw;
  padding: 0 0 0 14.359vw;
  align-items: center;
  color: #fff;
  text-decoration: none;
}

.c-cta__recommendation-text,
.page_contents p.c-cta__recommendation-text {
  position: relative;
  display: inline;
  margin: 0;
  color: #fff;
  font-size: clamp(10px, 4.103vw, 21px);
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-align: right;
  vertical-align: bottom;
}

.c-cta__recommendation-text::after,
.page_contents p.c-cta__recommendation-text::after {
  display: inline-block;
  content: "" !important;
  width: 3.846vw;
  aspect-ratio: 1;
  margin-left: 0.2em;
  vertical-align: middle;
  background-color: rgb(255, 255, 255);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23e99a13'/%3E%3C/svg%3E");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
}

/* ボタンセクション */
.c-cta__buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.077vw;
}

.c-cta__button {
  position: relative;
  display: flex;
  align-items: center;
  align-content: center;
  height: 13.846vw;
  padding-left: 8.718vw;
  color: #fff;
  font-size: clamp(10px, 4.103vw, 16px);
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
  background-color: rgb(15, 154, 183);
  border-radius: 1.795vw;
  transition: background-color 0.45s ease;
}

.c-cta__button::before {
  position: absolute;
  content: "" !important;
  top: 50%;
  left: 0;
  width: 3.846vw;
  margin: -1.923vw 0 0 2.821vw;
  aspect-ratio: 1;
  vertical-align: middle;
  background-color: rgb(255, 255, 255);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%230F9AB7'/%3E%3C/svg%3E");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
}

/* 1つ目のボタンは全幅 */
.c-cta__button:first-child {
  grid-column: 1 / -1;
}

.c-cta__button:hover {
  background-color: rgb(0, 129, 155);
}

.c-cta__button-text,
.page_contents p.c-cta__button-text {
  color: #fff;
  font-size: clamp(10px, 4.103vw, 20px);
  font-weight: bold;
  line-height: 1.2;
  margin: 0;
}

.c-cta__button:first-child br {
  display: none;
}

/* ----- タブレット用スタイル ----- */
@media (min-width: 768px) {

  /* コンテナの設定（タブレット） */
  .c-cta {
    width: calc(100% - 1.220vw);
    margin: 4.878vw auto !important;
    border: .488vw solid rgb(15, 154, 183);
  }

  .c-cta__header {
    padding: 0.488vw 0 0.976vw;
  }

  .c-cta__header-text,
  .page_contents p.c-cta__header-text {
    font-size: clamp(20px, 4.878vw, 55px);
  }

  .c-cta__header-text span {
    font-size: clamp(18px, 5.854vw, 65px);
  }

  /* メインコンテンツエリア（タブレット） */
  .c-cta__content {
    padding: 3.049vw 3.049vw 2.439vw 3.049vw;
    gap: 2.439vw;
  }

  /* 電話番号セクション（タブレット） */
  .c-cta__phone-section {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    padding-left: 0;
  }

  .c-cta__phone-section::before,
  #main_content .post_content section.c-cta__phone-section::before {
    height: 11.829vw;
    left: 50%;
    margin: -5.732vw 0 0 -5.122vw;
  }

  /* 電話番号ボックス（タブレット） */
  .c-cta__phone-box {
    width: 38.536vw;
    border-radius: .976vw;
  }

  .c-cta__phone-box:focus {
    outline: .366vw solid rgb(15, 154, 183);
    outline-offset: .366vw;
  }

  .c-cta__phone-box-header,
  .page_contents p.c-cta__phone-box-header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.927vw;
    font-size: clamp(14px, 1.758vw, 24px);
  }

  .c-cta__phone-number,
  .page_contents p.c-cta__phone-number {
    padding: 0 1.22vw;
    font-size: clamp(30px, 4.512vw, 50px);
  }

  .c-cta__phone-number::before,
  .page_contents p.c-cta__phone-number::before {
    height: 3.415vw;
    margin: -1.341vw 0 0 1.22vw;
  }

  .c-cta__phone-info {
    gap: 0.976vw;
    padding: 0 1.22vw;
  }

  .c-cta__phone-hours,
  .page_contents p.c-cta__phone-hours {
    font-size: clamp(13px, 1.951vw, 21px);
  }

  .c-cta__phone-hours span {
    font-size: clamp(10px, 1.585vw, 17px);
  }

  .c-cta__phone-note,
  .page_contents p.c-cta__phone-note {
    font-size: clamp(12px, 1.707vw, 19px);
  }

  .c-cta__phone-box--special .c-cta__phone-note,
  .page_contents .c-cta__phone-box--special p.c-cta__phone-note {
    font-size: clamp(9px, 1.463vw, 16px);
  }

  /* オレンジバナー（タブレット） */
  .c-cta__recommendation {
    margin-top: -1.707vw !important;
    padding-top: 2.439vw;
    overflow: hidden;
  }

  .c-cta__recommendation::before,
  .c-cta__recommendation-link {
    height: 4.878vw;
  }

  .c-cta__recommendation::before {
    bottom: 0;
    border-radius: .976vw;
  }

  .c-cta__recommendation::after {
    height: 7.439vw;
    top: auto;
    bottom: 0;
    margin: 0 0 -0.122vw 1.538vw;
  }

  .c-cta__recommendation-link {
    padding: 0 0 0 10.976vw;
  }

  .c-cta__recommendation-text,
  .page_contents p.c-cta__recommendation-text {
    font-size: clamp(17px, 2.561vw, 28px);
  }

  .c-cta__recommendation-text br {
    display: none;
  }

  .c-cta__recommendation-text::after,
  .page_contents p.c-cta__recommendation-text::after {
    width: 2.439vw;
    margin: 0 0 0.122vw 0.2em;
  }

  /* ボタンセクション（タブレット） */
  .c-cta__buttons {
    grid-template-columns: repeat(5, 1fr);
    gap: 2.439vw;
  }

  .c-cta__button {
    justify-content: center;
    align-items: flex-start;
    height: 13.17vw;
    padding: 6.098vw 0 0 0;
    text-align: center;
    border-radius: .976vw;
  }

  .c-cta__button::before {
    top: 0;
    left: 50%;
    width: 2.439vw;
    margin: 2.195vw 0 0 -1.219vw;
  }

  /* タブレット版では1つ目のボタンも通常幅 */
  .c-cta__button:first-child {
    grid-column: auto;
  }

  .c-cta__button-text,
  .page_contents p.c-cta__button-text {
    font-size: clamp(10px, 1.951vw, 22px);
    line-height: 1.4;
    letter-spacing: -.05em;
  }

  .c-cta__button:first-child br {
    display: block;
  }
}

/* ----- デスクトップ用スタイル ----- */
@media (min-width: 1280px) {
  .c-cta__block {
    padding: 0 calc(50vw - 50%);
  }

  /*----- 1-column -----*/
  /* コンテナの設定（デスクトップ／ノート） - 1-column */
  .c-cta {
    width: 100%;
    max-width: 1080px;
    margin: 50px auto !important;
    border: 5px solid rgb(15, 154, 183);
  }

  .c-cta__header {
    padding: 3px 0 13px;
  }

  .c-cta__header-text,
  .page_contents p.c-cta__header-text {
    font-size: 53px;
  }

  .c-cta__header-text span {
    font-size: 65px;
  }

  /* メインコンテンツエリア（デスクトップ／ノート） - 1-column */
  .c-cta__content {
    padding: 25px 30px;
    gap: 25px;
  }

  /* 電話番号セクション（デスクトップ／ノート） - 1-column */
  .c-cta__phone-section {
    gap: 160px;
  }

  .c-cta__phone-section::before,
  #main_content .post_content section.c-cta__phone-section::before {
    height: 130px;
    margin: -65px 0 0 -54px;
  }

  /* 電話番号ボックス（デスクトップ／ノート） - 1-column */
  .c-cta__phone-box {
    width: 100%;
    border-radius: 8px;
  }

  .c-cta__phone-box:focus {
    outline: 4px solid rgb(15, 154, 183);
    outline-offset: 4px;
  }

  .c-cta__phone-box-header,
  .page_contents p.c-cta__phone-box-header {
    height: 30px;
    font-size: 24px;
  }

  .c-cta__phone-number,
  .page_contents p.c-cta__phone-number {
    padding: 0 12px;
    font-size: 50px;
  }

  .c-cta__phone-number::before,
  .page_contents p.c-cta__phone-number::before {
    height: 40px;
    margin: -17px 0 0 15px;
  }

  .c-cta__phone-info {
    gap: 8px;
    padding: 0 15px;
  }

  .c-cta__phone-hours,
  .page_contents p.c-cta__phone-hours {
    font-size: 21px;
  }

  .c-cta__phone-hours span {
    font-size: 17px;
  }

  .c-cta__phone-box--special .c-cta__phone-note,
  .page_contents .c-cta__phone-box--special p.c-cta__phone-note {
    font-size: 16px;
  }

  /* オレンジバナー（デスクトップ／ノート） - 1-column */
  .c-cta__recommendation {
    margin-top: -20px !important;
    padding-top: 28px;
  }

  .c-cta__recommendation::before,
  .c-cta__recommendation-link {
    height: 53px;
  }

  .c-cta__recommendation::before {
    border-radius: 10px;
  }

  .c-cta__recommendation::after {
    height: 81px;
    margin: 0 0 -1px 23px;
  }

  .c-cta__recommendation-link {
    padding: 0 0 0 122px;
  }

  .c-cta__recommendation-text,
  .page_contents p.c-cta__recommendation-text {
    font-size: 28px;
  }

  .c-cta__recommendation-text::after,
  .page_contents p.c-cta__recommendation-text::after {
    width: 27px;
    margin: 0 0 3px 0.2em;
  }

  /* ボタンセクション（デスクトップ／ノート） - 1-column */
  .c-cta__buttons {
    gap: 25px;
  }

  .c-cta__button {
    height: 142px;
    padding: 65px 0 0 0;
    border-radius: 10px;
  }

  .c-cta__button::before {
    width: 27px;
    margin: 18px 0 0 -13px;
  }

  .c-cta__button-text,
  .page_contents p.c-cta__button-text {
    font-size: 22px;
  }

}

/* === head-extracted/06-front-page-bottom-inline.css === */
/* TOP: h2/h3・full-width・テレビリスト等（元 original.html 本文末インライン） */
/*h2修正作業1007*/
.page #content {
  overflow-x: unset;
  overflow-y: unset;
}

h2.bg_blue {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  height: auto;
  margin: auto;
  background-color: #4a90e2;
  position: relative;
}

.h2_bg_inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0.5em 125px 0.5em 60px;
  font-size: 27px;
  position: relative;
}

.front_page .front_content h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  left: calc((100vw - 1080px) / 2 + 10px);
  top: calc(50% - 20px);
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 40px auto;
  z-index: 1;
}

.front_page .front_content h2 {
  padding: 0;
  font-size: inherit;
}

.front_page .front_content h2::after {
  content: "";
  display: block;
  width: 125px;
  height: 60px;
  position: absolute;
  right: 18%;
  top: calc(50% - 30px);
}


.front_page .front_content01 h2::after {
  background: url(../img/deco/deco_karugamo01.png) no-repeat center / auto 50px;
  background: image-set(url(../img/deco/deco_karugamo01.webp) type("image/webp"), url(../img/deco/deco_karugamo01.png) type("image/png")) no-repeat center / auto 50px;
}

.front_page .front_content02 h2::after {
  background: url(../img/deco/deco_karugamo02.png) no-repeat center / auto 60px;
  background: image-set(url(../img/deco/deco_karugamo02.webp) type("image/webp"), url(../img/deco/deco_karugamo02.png) type("image/png")) no-repeat center / auto 60px;
}

.front_page .front_content04 h2::after {
  background: url(../img/deco/deco_karugamo03.png) no-repeat center / auto 56px;
  background: image-set(url(../img/deco/deco_karugamo03.webp) type("image/webp"), url(../img/deco/deco_karugamo03.png) type("image/png")) no-repeat center / auto 56px;
}

@media screen and (max-width: 1024px) and (min-width: 641px) {
  .front_page .front_content h2::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: calc(50% - 20px);
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 40px auto;
    z-index: 1;
  }

  .front_page .front_content h2::after {
    right: 10%;
  }
}

@media screen and (max-width: 1200px) and (min-width: 1025px) {
  .front_page .front_content h2::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 10px;
    top: calc(50% - 20px);
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 40px auto;
    z-index: 1;
  }

  .front_page .front_content h2::after {
    right: 12%;
  }
}

@media only screen and (max-width: 640px) {

  /*.h2_bg_inner {
        padding: 8px 80px 8px 50px;
        font-size: 21px;
    }*/
  .h2_bg_inner {
    padding: 8px 80px 8px 50px;
    font-size: 21px;
    min-height: 3.4em;
    display: flex;
    justify-content: left;
    align-items: center;
  }

  .front_page .front_content h2::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    background-size: 28px;
    top: calc(50% - 15px);
    left: 5px;
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 28px auto;
    z-index: 1;
  }

  .front_page .front_content h2 {
    padding: 0;
    font-size: inherit;
  }

  .front_page .front_content h2::after {
    width: 80px;
    right: 0;
  }

  .front_page .front_content01 h2::after {
    background: url(../img/deco/deco_karugamo01.png) no-repeat center / auto 35px;
    background: image-set(url(../img/deco/deco_karugamo01.webp) type("image/webp"), url(../img/deco/deco_karugamo01.png) type("image/png")) no-repeat center / auto 35px;
  }

  .front_page .front_content02 h2::after {
    background: url(../img/deco/deco_karugamo02.png) no-repeat center / auto 36px;
    background: image-set(url(../img/deco/deco_karugamo02.webp) type("image/webp"), url(../img/deco/deco_karugamo02.png) type("image/png")) no-repeat center / auto 36px;
  }

  .front_page .front_content04 h2::after {
    background: url(../img/deco/deco_karugamo03.png) no-repeat center / auto 36px;
    background: image-set(url(../img/deco/deco_karugamo03.webp) type("image/webp"), url(../img/deco/deco_karugamo03.png) type("image/png")) no-repeat center / auto 36px;
  }
}

/*h2修正作業1007ここまで*/

h3.bg_orange {
  background-color: #f39b00;
  color: #fff;
  text-align: center;
  margin-top: 30px;
  font-size: 1.5em;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  height: auto;
  padding: 0.4em;
  min-height: 2.5em;
  align-items: center;
  display: flex;
  justify-content: center;
}

ul.front_planlinks.flex {
  margin-top: 0;
}

.front_page .front_content07 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 40px auto;
}

.front_planlinks li figure.secondary {
  margin-top: 0px;
}

div#body_wrap.home {
  /* padding-top: 107px !important; */
  background: #fff;
}

.post_content h1 {
  font-size: 16px;
  font-weight: normal;
  max-width: 1170px;
  margin: -4px auto 6px;
}

.lum-lightbox.lum-open {
  display: none;
}

.luminous {
  cursor: default !important;
}

.home.top #content {
  overflow: visible;
}

picture.full-width,
figure.full-width {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  height: auto;
  margin: auto;
}

picture.full-width img.full-img,
figure.full-width img.full-img {
  width: 100vw !important;
  height: auto !important;
  margin-left: calc(-50vw + 50%) !important;
}

picture.topInfo {
  width: 100%;
  margin-bottom: 3em;
}

picture.topInfo img {
  width: 100%;
  height: auto;
}

figure.full-width.campaignPC {
  display: block;
}

figure.full-width.campaignSP {
  display: none;
}

.front_planlinks li figure a {
  position: relative !important
}

/*
.front_planlinks li figure.secondary {
margin-top: 17px;
}*/
@media screen and (max-width:640px) {
  h3.bg_orange {
    min-height: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
  }

  figure.full-width.campaignPC {
    display: none;
  }

  figure.full-width.campaignSP {
    display: block;
  }


  .front_page ul.flex {
    align-items: flex-start !important;
  }

  .front_planlinks figure figcaption {
    font-size: 12px;
  }

  /*div#body_wrap.home {
padding-top: 112px !important;
}*/
  /*.top #content {
padding-top: 6px!important;
}*/
  div#body_wrap.home .post_content h1 {
    font-size: 11px;
    font-weight: normal;
    width: 100%;
    padding-top: 3px;
    padding-left: 8px;
    margin: 0 auto;
    display: block;
  }
}

@media screen and (min-width: 1917px) {
  .post_content h1 {
    margin: 0px auto 5px;
  }
}

@media screen and (max-width: 640px) {
  .front_planlinks li figure.secondary {
    margin-top: 0px;
  }
}

/*テレビリスト*/
.TvBoxInner {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.tvBox {
  margin-bottom: 5px;
}

.containerBox {
  width: 31%;
}


.TvBoxInner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}

p.tvStation {
  font-size: 22px !important;
  font-weight: bold !important;
  padding: 0px 20px !important;
}

p.tvCategory {
  font-size: 18px;
  padding-left: 10px;
  font-weight: bold;
  margin-top: 5px;
}

@media screen and (max-width: 640px) {
  .TvBoxInner {
    display: block;
    margin-top: 20px;
  }

  .containerBox {
    width: 100%;
  }

  .tvBox {
    margin-bottom: 15px;
  }

  div.tvBox:last-child {
    margin-bottom: 15px !important;
  }

  .front_page .front_content07 h2::before {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_sprout_yel.png) no-repeat center / 30px auto;
  }
}

/* 各セクション用の個別アイコン */
.front_page .front_content05 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_reason_yel.png) no-repeat center / 40px auto !important;
}

.front_page .front_content01 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_track_yel.png) no-repeat center / 40px auto !important;
}

.front_page .front_content04 h2::before {
  background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calendar_yel.png) no-repeat center / 40px auto !important;
}

/* スマホ用の個別アイコン（サイズ30px） */
@media only screen and (max-width: 640px) {
  .front_page .front_content05 h2::before {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_reason_yel.png) no-repeat center / 30px auto !important;
  }

  .front_page .front_content01 h2::before {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_track_yel.png) no-repeat center / 30px auto !important;
  }

  .front_page .front_content04 h2::before {
    background: url(https://www.karugamo.co.jp/contet/wp/wp-content/themes/swell_child/assets/img/ico_calendar_yel.png) no-repeat center / 30px auto !important;
  }
}

@media only screen and (min-width: 1121px) {
  .page #content {
    padding: 0 0 5%;
  }
}

