﻿@charset "utf-8";
/* CSS Document */

/*===================================================================
//  基本設定
//=================================================================*/
html {height: 100%;}
body {height: 100%;margin: 0;}
body.fixed {position: fixed; width:100%;}

#pagetop,
#contents,
#pagebottom {word-break: break-all; /*min-width: 1080px;*/}
#contents {position: relative;}

.contents-wrapper {max-width: 780px !important; padding-left: 5%; padding-right: 5%;}

.margin-b {margin-bottom: 2em;}

table.base-table,
table.base-table tbody,
table.base-table tr,
table.base-table th,
table.base-table td {display: block;}
table.base-table th {padding-bottom: 0;}
table.base-table td {padding-top: 0.5em;}
table.base-table td ul.list,
table.base-table td ol.list {margin-left: 1.8em;}
table.base-table td p {padding-bottom: 0.5em;}

.section_ttl {font-size: 35px; text-align: center;   padding-bottom: 2em; font-weight: normal;}

.section_txt {
    display: inline-block; 
    font-size: 4rem;
    color: #1d1d1d; 
    font-weight: bold;
    
  position: relative;
  padding: 1.5rem;
  text-align: center;
}

.section_txt.co:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #349bc5;
}
.section_txt.per:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #76d448;
}


.section_ttl.gothic {font-size: 24px;}
.section_ttl .small {display: block; font-size: 13px;}
.description_text {
    font-size: 14px;
    max-width: 750px;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
    padding-bottom: 3em;
    font-weight: bold;
}
.small {font-size: 12px;}
.red {color: #e66f66;}


.link_color {color: #acceeb; text-decoration: underline !important;}

.curve {
    padding-top: 50px;
    padding-bottom: 100px;
}

.marker {
    background:linear-gradient(transparent 55%, #ffeb5d 55%);
    font-weight: bold;
    display: inline;
    padding: 0 0.15em;
}

svg {
    transform-box: fill-box;
}

/* アニメーションスタイル */
/* ---------------------------- */

/* アニメーション前 */
.u-fade-type-up{
    opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

/* トリガー発火でis-activeを付与 */
.is-active .u-fade-type-up{
    opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

.is-active .u-fade-type-up:nth-child(2){transition-delay: .4s;}
.is-active .u-fade-type-up:nth-child(3){transition-delay: .8s;}
.is-active .u-fade-type-up:nth-child(4){transition-delay: 1.2s;}
.is-active .u-fade-type-up:nth-child(5){transition-delay: 1.6s;}
.is-active .u-fade-type-up:nth-child(6){transition-delay: 2s;}

/*.wave_01 {
    fill:#fff;
    stroke: #fff;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -1px;
    margin: auto;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}
.wave_02 {
    fill:#fff;
    stroke: #fff;
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    bottom: auto;
    margin: auto;
    width: 100%;
    z-index: 0;
    pointer-events: none;
}
.wave_03 {
    fill:#fff;
    stroke: #fff;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -1px;
    margin: auto;
    width: 100%;
    z-index: -1;
    pointer-events: none;
}
.wave_04 {
    fill:#ffeae0;
    stroke: #ffeae0;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -1px;
    margin: auto;
    width: 100%;
    z-index: -1;
    pointer-events: none;
}
.wave_05 {
    fill:#ffeae0;
    stroke: #ffeae0;
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    bottom: auto;
    margin: auto;
    width: 100%;
    z-index: -1;
    pointer-events: none;
}
.wave_06 {
    fill:#FBDAC8;
    stroke: #FBDAC8;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -1px;
    margin: auto;
    width: 100%;
    z-index: -1;
    pointer-events: none;
}*/

.path-0{
    animation:pathAnim-0 4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  @keyframes pathAnim-0{
    0%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 110.93333333333334,174.13333333333333 221.86666666666667,148.26666666666665 396,143 C 570.1333333333333,137.73333333333335 807.4666666666667,153.0666666666667 992,166 C 1176.5333333333333,178.9333333333333 1308.2666666666667,189.46666666666664 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    25%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 145.33333333333331,209.06666666666666 290.66666666666663,218.13333333333335 442,217 C 593.3333333333334,215.86666666666665 750.6666666666667,204.53333333333336 918,200 C 1085.3333333333333,195.46666666666664 1262.6666666666665,197.73333333333332 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    50%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 190.2666666666667,209.86666666666667 380.5333333333334,219.73333333333335 549,210 C 717.4666666666666,200.26666666666665 864.1333333333332,170.9333333333333 1009,166 C 1153.8666666666668,161.0666666666667 1296.9333333333334,180.53333333333336 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    75%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 112,166 224,132 397,128 C 570,124 804,150 988,167 C 1172,184 1306,192 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    100%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 110.93333333333334,174.13333333333333 221.86666666666667,148.26666666666665 396,143 C 570.1333333333333,137.73333333333335 807.4666666666667,153.0666666666667 992,166 C 1176.5333333333333,178.9333333333333 1308.2666666666667,189.46666666666664 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
  }
  .path-1{
    animation:pathAnim-1 4s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  @keyframes pathAnim-1{
    0%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 94.28571428571428,198.17857142857144 188.57142857142856,196.35714285714286 300,209 C 411.42857142857144,221.64285714285714 540.0000000000001,248.75000000000003 675,233 C 809.9999999999999,217.24999999999997 951.4285714285713,158.64285714285714 1080,146 C 1208.5714285714287,133.35714285714286 1324.2857142857142,166.67857142857144 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    25%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 145.07142857142858,199.5 290.14285714285717,199 401,194 C 511.85714285714283,189 588.4999999999999,179.5 692,172 C 795.5000000000001,164.5 925.8571428571429,159 1055,164 C 1184.142857142857,169 1312.0714285714284,184.5 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    50%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 99.17857142857142,229.5 198.35714285714283,259 305,269 C 411.64285714285717,279 525.75,269.5 656,244 C 786.25,218.50000000000003 932.6428571428571,177 1066,167 C 1199.357142857143,157 1319.6785714285716,178.5 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    75%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 87.53571428571428,216.82142857142856 175.07142857142856,233.64285714285714 294,229 C 412.92857142857144,224.35714285714286 563.25,198.25000000000003 707,189 C 850.75,179.74999999999997 987.9285714285716,187.35714285714283 1109,192 C 1230.0714285714284,196.64285714285717 1335.0357142857142,198.32142857142858 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
    100%{
      d: path("M 0,400 C 0,400 0,200 0,200 C 94.28571428571428,198.17857142857144 188.57142857142856,196.35714285714286 300,209 C 411.42857142857144,221.64285714285714 540.0000000000001,248.75000000000003 675,233 C 809.9999999999999,217.24999999999997 951.4285714285713,158.64285714285714 1080,146 C 1208.5714285714287,133.35714285714286 1324.2857142857142,166.67857142857144 1440,200 C 1440,200 1440,400 1440,400 Z");
    }
  }



  
.wave{
    position:relative;
    height:200px;/*何も表示されない場合は各波の親要素に高さを持たせましょう。*/
    background:#fff;/*背景を塗りつぶして重ねた波を表現したい場合は、波を描画する親要素に波と同じ背景色を設定しましょう。*/
    }
canvas{
    position: absolute;
    bottom: 0;
    left:0;
    right: 0;
    margin: auto;
    width: 100%;
}
footer canvas {
    z-index: -1;
    bottom: 56px;
}
canvas.flipped{
    top: 0;
    bottom: auto;
  transform:rotate(180deg);
}


.fluid {
    background:#D2CCE6;/*背景色*/
    animation: fluidrotate 9s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 90%;
    z-index: -1;
  }
  
  @keyframes fluidrotate {  
        
  0%, 100% {
      border-radius: 48% 52% 42% 58% / 56% 41% 59% 44%;
  }
  33% {
      border-radius: 35% 65% 32% 68% / 50% 47% 53% 50%;
  }
  66% {
      border-radius: 72% 28% 51% 49% / 57% 54% 46% 43%;
  }
        
  }

  .fluid2 {
    background:#A2D7D0;/*背景色*/
    animation: fluidrotate2 9s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 90%;
    z-index: -1;
  }
  
  @keyframes fluidrotate2 {  
        
  0%, 100% {
      border-radius: 45% 55% 36% 64% / 71% 66% 34% 29% ;
  }
  33% {
      border-radius: 40% 60% 49% 51% / 49% 71% 29% 51%;
  }
  66% {
      border-radius: 61% 39% 37% 63% / 41% 62% 38% 59% ;
  }
        
  }

  .fluid3 {
    background:#D2CCE6;/*背景色*/
    animation: fluidrotate3 9s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 90%;
    z-index: -1;
  }
  
  @keyframes fluidrotate3 {  
        
  0%, 100% {
      border-radius: 61% 39% 60% 40% / 61% 40% 60% 39% ;
  }
  33% {
      border-radius: 70% 30% 53% 47% / 49% 52% 48% 51% ;
  }
  66% {
      border-radius: 55% 45% 43% 57% / 34% 40% 60% 66% ;
  }
        
  }

  .fluid4 {
    background:#A2D7D0;/*背景色*/
    animation: fluidrotate3 9s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 90%;
    z-index: -1;
  }
  
  @keyframes fluidrotate3 {  
        
  0%, 100% {
      border-radius: 61% 39% 60% 40% / 61% 40% 60% 39% ;
  }
  33% {
      border-radius: 70% 30% 53% 47% / 49% 52% 48% 51% ;
  }
  66% {
      border-radius: 55% 45% 43% 57% / 34% 40% 60% 66% ;
  }
        
  }

  .fluid5 {
    background:#A2D7D0;/*背景色*/
    animation: fluidrotate2 9s ease 0s infinite;/*アニメーションの設定*/
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    height: 90%;
    z-index: -1;
  }
  
  @keyframes fluidrotate2 {  
        
  0%, 100% {
      border-radius: 45% 55% 36% 64% / 71% 66% 34% 29% ;
  }
  33% {
      border-radius: 40% 60% 49% 51% / 49% 71% 29% 51%;
  }
  66% {
      border-radius: 61% 39% 37% 63% / 41% 62% 38% 59% ;
  }
        
  }



/*===================================================================
//  ヘッダー
//=================================================================*/



.header_contents {
    position: fixed; 
    top: 0; 
    left: 0; 
    right: 0; 
    background: #fff;
    background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    z-index: 100; 
    display: table;
    width: 100%;
}
.header_contents .header_logo_mark {
    padding: 0;
    box-sizing: border-box;
    font-size: 2em;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.02em;
    display: table-cell;
    vertical-align: middle;
    margin-left: 0.3rem;
}
.header_contents .header_logo_mark img {
    width: 90px;
    height: 90px;
    margin: 0 0 0 auto;
}
.header_contents .header_logo {
    padding: 0.2em 3em 0.2em 1.3em;
    box-sizing: border-box;
    font-size: 2em;
    font-weight: bold;
    color: #000;
    letter-spacing: 0.02em;
    display: table-cell;
    vertical-align: middle;
}
.header_contents .header_logo a {
    width: calc(95% - 128px);
    max-width: 160px;
    margin: 0 auto 0 0;
    display: inline-block;
    vertical-align: middle;
}
.header_contents .header_logo h1 {
    font-size: 10px;
    font-weight: normal;
    display: inline-block;
    vertical-align: middle;
    width: 128px;
    color: #222;
    padding: 27px 0 25px 10px;
}

.header_contact_btn,
.header_tel_btn {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 14.28%;
}
.header_contact_btn_inner {
    width: 180px;
    text-align: center;
    font-weight: normal;
    color: #fff;
    background: rgb(245,172,63);
    background: -moz-linear-gradient(left, rgba(245,172,63,1) 0%, rgba(239,132,73,1) 100%);
    background: -webkit-linear-gradient(left, rgba(245,172,63,1) 0%,rgba(239,132,73,1) 100%);
    padding: 1.4em 0;
    box-sizing: border-box;
    display: block;
    margin: 0 0.3em 0 auto;
    border-radius: 50px;
    box-shadow: 0 0 25px rgb(251 208 0 / 45%);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transition-property: transform, box-shadow;
    margin: 0 auto;
    text-decoration: none;
}
.header_contact_btn_inner:hover {
    transform: scale(0.96);
    box-shadow: 0 0 25px rgb(251 208 0 / 45%) 0 0 2rem;
}
.header_contact_btn_inner i {
    margin-right: 0.3em;
}

.header_tel_btn_inner {
    width: 180px;
    text-align: center;
    font-weight: 700;
    color: #ef857d!important;
    background: #fff;
    padding: 1em 1em;
    box-sizing: border-box;
    display: block;
    margin: 0 auto 0 0.3em;
    border-radius: 30px;
    box-shadow: 0 0 15px rgb(235 140 123 / 0.45);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transition-property: transform, box-shadow;
    margin: 0 auto;
}
.header_tel_btn_inner:hover {
    transform: scale(0.96);
    box-shadow: 0 0 25px rgb(251 208 0 / 45%) 0 0 2rem;
}
.header_tel_btn_inner i {
    margin-right: 0.3em;
}
.nav_item_inner:hover {
    opacity: 1!important;
}









/*===================================================================
//  TOP - スクロールアクション
//=================================================================*/

.fv {
    z-index: 1;
}










/*===================================================================
//  TOP - メイン
//=================================================================*/
.main_wrap {
    width: 100%; 
    display: table;
    position: relative;
    background-image: url(../img/index/main_img_bg_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    
}
.main_inner_catch {
    text-align: center;
    position: relative;
    max-width: 780px !important;
    height: 72vh;
    min-height: 380px;
    margin: 0 auto;
    overflow: hidden;
}
.main_inner_catch:before {
    content: '';
    /*background-image: url(../img/index/main_img_front_left.png);*/
    background-repeat: no-repeat;
    background-position: center bottom -5vh;
    background-size: contain;
    position: absolute;
    left: -26%;
    right: auto;
    top: auto;
    bottom: -4em;
    width: 100%;
    height: 80vh;
    min-height: 380px;
}
/*.main_inner_catch::after {
    content: '';
    background-image: url(../img/index/main_img_front_right.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    left: auto;
    right: -26%;
    top: auto;
    bottom: -4em;
    width: 100%;
    height: 80vh;
    min-height: 380px;
}*/
.main_catch_txt {
    margin-bottom: 1rem; 
    position: absolute;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 2;
    padding-top: 0;
}
.main_catch_txt img {
    margin: 0 5% 0 auto;
    width: 66%;
    max-height: 30vh;
}
.main_catch_txt h2 {
    line-height: 1.5;
    font-size: 3rem; 
    font-weight: bold;
    color: #fff; 
    text-shadow: 0 0 10px rgb(34 143 187);
}
.main_catch_txt_small {
    font-size: 2rem; 
}
.main_sub_desc h3 {
    font-size: 22px;
    font-weight: 700;
    color: #5e5db9;
    text-indent: -0.5em;
}
.main_contact_btn {
    margin-top: 1em;
    /*position: absolute;
    bottom: 10%;
    left: 0;
    right: 0;*/
}
.main_wrap .main_contact_btn_inner {
    width: 310px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #f1c700;
    background: #fff;
    padding: 1.4em 0;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    border-radius: 50px;
    box-shadow: 0 0 25px rgb(72 170 210 / 45%);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transition-property: transform, box-shadow;
}
.main_wrap .main_contact_btn_inner:hover {
    transform: scale(0.96);
    box-shadow: rgb(72 170 210 / 50%) 0 0 4rem;
}
.main_contact_btn_inner i {
    margin-right: 0.3em;
}


.section_txt_big {
    font-size: 50px;
    display: block;
    color: #F39800;
}
.section_txt_sub {
    font-size: 18px;
    color: #562E00;
    padding: 0.5rem 0;
    font-weight: normal;
}


/** お悩み **/
.case_wrap {
    padding: 3em 0 2em;
    position: relative;
    z-index: 1;
}
.case_wrap .section_txt_main {
    color: #F39800;
}
.case_img_box {
    margin-bottom: 1em;
    position: relative;
}
.case_list_ttl {
    text-align: center;
    color: #BAAFDE;
    font-size: 34px;
    padding: 0 0 0.5rem;
}
.case_wrap_inner:nth-child(even) .case_list_ttl {
    color: #7CC1BD;
}
.case_list {
    list-style: none;
}
.case_item {
    border-radius: 25px;
    background-color: #EFECF9;
    margin-bottom: 0.5rem;
}
.case_wrap_inner:nth-child(even) .case_item {
    background-color: #F2FBF8;
}
.case_wrap_inner {
    padding-bottom: 3em;
}
.case_wrap_inner p {
    padding: 0.8rem 1rem;
    font-size: 14px;
}
.intro_pict {
    width: 100px;
    margin: 1em auto 0;
}
.svg_clip {
    width: 0;
    height: 0;
}
.mskImg img {  
    width: 100%;
    /*mask-image: url(../img/common/kv-mask.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 0;
    -webkit-mask-image: url(../img/common/kv-mask.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 0;
    transition: 3s cubic-bezier(0.53, 0, 0.4, 0.97);
    transform: scale(1.5);
    width: 1050px;
    height: auto;*/
}
.mask {
    -webkit-clip-path: url(#svgPath);
    clip-path: url(#svgPath);
    margin: 0 auto;
}

/*.case_wrap_figure {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 50px;
    top: 100px;
    transform: rotate(20deg) scale(0.5);
    width: 100%;
    text-align: center;
    overflow: hidden;
    transition: 1.2s cubic-bezier(0.53, 0, 0.4, 0.97);
    margin-top: -5vw;
    fill: #9bc4cc;

}*/
.icon_01 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}
#path_01 {
    fill:#D2CCE6;
    stroke: #D2CCE6;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}
#path_02 {
    fill:#A2D7D0;
    stroke: #A2D7D0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}
#path_03 {
    fill:#D2CCE6;
    stroke: #D2CCE6;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}
#path_04 {
    fill:#A2D7D0;
    stroke: #A2D7D0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}






.case_btm_box {
    background-image: url(../img/index/case_btm_bg_pc.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 90vh;
    position: relative;
    padding: 1em 5%;
    margin: 0 auto;
}
.case_btm_icon {
    max-width: 200px;
    margin: 0 auto;
    position: absolute;
    top: 37%;
    left: 0;
    right: 0;
}
.case_btm_txt {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    font-size: 24px;
    padding: 0.5rem 5% 3em;
    text-shadow: 0 0 10px rgb(0 0 0 / 50%);
}







/** 氣導法とは **/
.about_wrap {
    background-color: #fff;
    position: relative;
    padding-top: 5em;
    z-index: 1;
}
.about_wrap_list {
    list-style: none;
}
.about_wrap_item_outer {
    margin: 0 auto;
}
.about_wrap_item {
    color: #562E00;
    padding: 1.5em;
    box-sizing: border-box;
    border-radius: 10px;
    box-shadow: 0 0 25px rgb(118 104 71 / 0.2);
    min-height: 400px;
    margin-bottom: 2em;
    position: relative;
    overflow: hidden;
}
.about_wrap_item:nth-child(1) {
    color: #fff;
}
.about_wrap_item:nth-child(1):before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(../img/index/about_bg_01.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:nth-child(2):before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(../img/index/about_bg_02.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:nth-child(3):before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(../img/index/about_bg_03.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:nth-child(4):before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(../img/index/about_bg_04.jpg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.2);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:nth-child(1):after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.2);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}
.about_wrap_item:not(:last-child) {
    margin-bottom: 2.5em!important;
}
.about_wrap_item:nth-child(even) li {
    background: #fff;
}
.about_wrap_item li:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
}
.about_wrap_item_inner {
    z-index: 1;
    position: relative;
    text-shadow: 0 0 10px #fff;
}
.about_wrap_item:nth-child(1) .about_wrap_item_inner {
    text-shadow: none;
}

.about_wrap_ttl {
    max-width: 100%;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    border-bottom: 1px solid #562E00;
    padding: 0.5em 0 1em;
}
.about_wrap_item:nth-child(1) .about_wrap_ttl {
    border-bottom: 1px solid #fff;
}

.about_wrap .about_wrap_nom {
    font-size: 60px;
    display: block;
    color: #349bc5;
    padding-left: 0.3em;
    line-height: 1.3;
}

.about_wrap_txt {
    display: block;
    line-height: 1.5;
    font-weight: normal;
}
.about_wrap_img {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 5%;
    max-width: 100%;
    width: calc(90% - 600px);
}
.about_wrap_desc {
    padding: 1.5em 0;
    box-sizing: border-box;
}




/** クーポン **/
.coupon_wrap {
    position: relative;
}
.coupon_box {
    max-width: 620px;
    margin: 0 auto;
}



/** セッションの流れ **/

.session_wrap {
    position: relative;
    padding-bottom: 5em;
    z-index: 1;
}
.session_wrap .curve {
    background-color: #fff;
}
.session_wrap_inner {
    z-index: 0;
    padding-bottom: 6em;
}
.session_wrap_inner::after {
    content: '';
    background-image: url(../img/index/flowers_mini_03.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 137px;
    height: 94px;
    position: absolute;
    bottom: 1em;
    right: 5%;
}
.session_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}
.session_wrap.per .session_list:before {
    content: '';
    background-image: url(../img/index/per_merit_pict01.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -120px;
    right: 30px;
    height: 158px;
    width: 248px;
    display: block;
}

.session_item {
    width: 100%;
    box-sizing: border-box;
    margin: 1.5em 1%;
    display: table;
    position: relative;
}
.session_item:after {
    content: '';
    background-image: url(../img/index/arrow_down.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: auto;
    bottom: -44px;
    right: auto;
    left: 42px;
    height: 36px;
    width: 13px;
    display: block;
}
.session_item:last-child:after {
    content: none;
}
.session_img_box {
    display: inline-block;
    vertical-align: middle;
    width: 95px;
    height: 95px;
    border-radius: 10px;
    background-color: #DED46E;
}
.session_img_box img {
    width: 90px;
    height: 90px;
    margin: 0 auto;
}
.session_txt_box {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 95px);
    padding: 0 0.8em;
}
.session_txt {
    color: #F6B655;
    font-size: 20px;
    font-weight: normal;
}
.session_txt_desc {
    font-weight: normal;
    font-size: 16px;
}




/** 声 **/
.voice_wrap {
    background-color: #ffeae0;
    position: relative;
    padding-top: 15em;
    z-index: 0;
}
.voice_wrap .section_txt_big {
    color: #CF7250;
}

.voice_wrap_slider.swiper {
    padding: 0 8%;
}
.swiper-button-prev {
    background-image: url(../img/common/pagenation_prev.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 25px;
    height: 36px;
    left: 8%;
    bottom: 0px;
    position: absolute;
    top: auto;
}
.swiper-button-next {
    background-image: url(../img/common/pagenation_next.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 25px;
    height: 36px;
    right: 8%;
    bottom: 0px;
    position: absolute;
    top: auto;
}

.voice_item {
    width: 100%;
    background: #fff;
    box-shadow: 0 0 20px rgb(0 0 0 / 10%);
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
    margin: 1em 0;
    display: table;
    padding: 1.5em 1em;
}
.voice_item_inner {

}
.voice_ttl {
    font-weight: bold;
    text-align: center;
    display: block;
    color: #562E00;
    font-size: 18px;
}
.voice_wrap_figure {
    max-width: 332px;
    float: left;
    text-align: center;
    padding: 0 1em;
    box-sizing: border-box;
}
.voice_item {
    vertical-align: top;
    position: relative;
    margin-bottom: 2em;
    font-size: 1.2em;
}
.voice_item:after {
  content: '';
  display: block;
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 10px;
  height: 5px;
  border-left: 3px solid #9c9c9c;
  border-bottom: 3px solid #9c9c9c;
  transform: rotate(-45deg);
}
.voice_figure {
    width: 105px;
    height: 105px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin: 0.5em auto;
}
.voice_figure img {
}
.voice_item_inner {
    padding-bottom: 0.8em;
}
.voice_item_inner figcaption {
    text-align: center;
    color: #AA9D8F;
    font-size: 12px;
}


/** セラピスト紹介 **/
.therapist_wrap {
    padding-top: 5em;
    padding-bottom: 3em;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.therapist_box {
    position: relative;
}
.therapist_box_01 .threapist_img {
    width: 85%;
}
.therapist_box_02 .threapist_img {
    width: 85%;
    margin: -9em 0 2em auto;
}
.therapist_prof_box {
    background-color: rgb(67 120 118 / 36%);
    text-align: center;
    padding: 0.5em 1em;
    color: #fff;
}
.therapist_box_01 .therapist_prof_box {
    position: absolute;
    right: 5%;
    left: auto;
    top: auto;
    bottom: 8em;
}
.therapist_box_01 .therapist_prof_box::after {
    content: '';
    background-image: url(../img/index/flowers_mini_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 84px;
    height: 73px;
    position: absolute;
    bottom: -4em;
    right: -2em;
}
.therapist_box_02 .therapist_prof_box {
    position: absolute;
    right: auto;
    left: 5%;
    top: auto;
    bottom: 2em;
}
.therapist_box_02 .therapist_prof_box::after {
    content: '';
    background-image: url(../img/index/flowers_mini_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 103px;
    height: 100px;
    position: absolute;
    top: -3em;
    left: -2em;
}
.therapist_name {

}
.therapist_birthday {

}
.therapist_kana {
    font-size: 12px;
}
.therapist_shikaku {
    color: #5ba7a2;
    position: relative;
    font-weight: normal;
    font-size: 12px;
}
.therapist_shikaku:before {
    content: '';
    width: 42px;
    height: 1px;
    background-color: #79BFBB;
    position: absolute;
    left: 0;
    top: 10px;
}
.therapist_shikaku:after {
    content: '';
    width: 42px;
    height: 1px;
    background-color: #79BFBB;
    position: absolute;
    right: 0;
    top: 10px;
}
.therapist_shikaku_name {
    font-size: 12px;
}



/** まとめ **/
.summary_wrap {
    padding-top: 10em;
    padding-bottom: 0em;
    background-color: #ffeae0;
    z-index: 1;
    position: relative;
}
.summary_main_box {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
    position: relative;
}
.summary_main_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
    z-index: -1;
}
.summary_main_bg_img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    z-index: 0;
    animation: fluidrotate 30s ease 0s infinite;
}
    
.summary_txt {
    font-size: 1em;
    line-height: 1.6;
    padding: 6em 0;
    color: #562E00;
    z-index: 1;
    position: relative;
}
.summary_txt_wrap {
    padding-bottom: 2em;
}

.summary_bnr_wrap {

}
.summary_bnr_01 .summary_bnr_inner {
    background-image: url(../img/index/research_bnr_01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.summary_bnr_02 .summary_bnr_inner {
    background-image: url(../img/index/research_bnr_02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.summary_bnr_02 {
    margin-bottom: 2em;
}
.summary_bnr_inner {
    display: block;
    color: #562E00;
    font-size: 20px;
    text-decoration: none;
    text-align: center;
    padding: 1em 0.5em;
    border: 1px solid #EEBEA5;
    text-shadow: 0 0 10px rgb(255 255 255 / 80%);
}
.summary_bnr_txt_small {
    display: block;
    text-align: right;
    font-size: 12px;
    padding: 0.5em;
}



#coupon_btm {
    padding-top: 14em;
    position: relative;
}




/** 入会までの流れ **/
/*.steps_wrap {
    background-color: #55bce6;
}
.steps_section_txt {
}
.steps_wrap_inner {
    padding-bottom: 6em;
}
.steps_wrap_inner .description_text {
}
.steps_wrap_detail {
    max-width: 750px;
    margin: 0 auto;
    counter-reset: number 0;
}
.steps_wrap_item {
    position: relative;
    margin-left: -9px;
    background: #f8f8f8;
    padding: 1.5em 1em 1.5em 5em;
    border-radius: 5px;
    margin-bottom: 2.5em;
    text-align: center;
    font-weight: bold;
}
.steps_wrap_item:before {
    counter-increment: number 1;
    content: "step" counter(number);
    position: absolute;
    left: 1.3em;
    top: calc(50% - 1em);
    font-size: 1.5em;
    color: #efd100;
}
.steps_wrap .steps_wrap_item:not(:last-child):after {
    position: absolute;
    bottom: -1.5em;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 15px;
    height: 15px;
    border-top: 5px solid #349bc5;
    border-right: 5px solid #349bc5;
    -webkit-transform: rotate(
    135deg
    );
        transform: rotate(
    135deg
    );
}*/


/**会費 **/

/*.fee_wrap {
    background: #fff;
    border-radius: 30px;
    margin-bottom: 6em;
}
.fee_wrap .section_ttl {
    padding-top: 1.5em;
}
.fee_wrap_inner {
    padding: 1em 1em 3em 1em;
}
.fee_wrap_detail {
    display: flex;
    justify-content: center;
    margin-bottom: 5em;
    width: 100%;
}
.steps_wrap .fee_wrap_item.left {
    padding: 1em 2em 1em 1em;
    text-align: center;
}
.fee_wrap_item.right {  
    text-align: left;
    border-left: 2px dotted #cbc5c9;
    padding: 1em 1em 1em 2em;
}
.fee_type {
    font-size: 2.5em;
    font-weight: bold;
    position: relative;
    display: inline-block;
}
.steps_wrap .fee_type:after {
    position: absolute;
    bottom: -0.2em;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: '';
    height: 9px;
    background: #ffeb5d;
}
.fee_value {
    font-size: 2.5em;
    font-weight: 700;
    display: inline-block;
    position: relative;
    line-height: 1;
}
.steps_wrap .fee_value_nom {
    font-size: 3.5em;
    color: #38a9d8;
}
.fee_value_nom_small {
    font-size: 40px;
    margin-left: -10px;
}
.fee_value .small {
    position: absolute;
    bottom: 4.5em;
    right: -0.5em;
}
.fee_note {
    font-size: 14px;
    color: #7d7d7d;
    padding-top: 1.5em;
    display: block;
}

.fee_wrap_merit {
    padding: 0;
    font-weight: 700;
}
.fee_wrap_merit dt {
    padding: 0.5em 0;
}
.fee_wrap_merit_list {
    list-style: decimal;
    margin-left: 2em;
    padding: 0.5em 0;
}*/



/** よくあるご質問 **/
/*.faq_wrap {
    background-color: #1d1d1d;
}
.faq_wrap .curve {
    background-color: #f8f8f8;
}
.faq_wrap_item:not(:last-child) {
    margin-bottom: 2.5em;
}
.faq_wrap_item dl {
    background: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    border-radius: 30px;
    overflow: hidden;
}
.faq_wrap .faq_q {
    background: #38a9d8;
    color: #fff;
    padding: 0.8em 7%;
    font-size: 1.3em;
}
.faq_q_big {
    font-size: 1.3em;
    font-weight: bold;
}
.faq_a {
    border-radius: 0 0 30px 30px;
    padding: 2em 7%;
    margin: 0;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.faq_wrap .faq_a_big {
    font-size: 2.2em;
    line-height: 1.3;
    color: #fbd000;
}*/

/** お問い合せ **/
.form_wrap {
    margin-top: -180px;
    padding-top: 180px;
}
.form_wrap .anker {
    background: #55bce6;
}
.form_wrap .contents-wrapper {
    position: relative;
    padding-top: 50px;
    padding-bottom: 100px;
}
.form_wrap {
    background: #000;
}
.form_wrap .section_ttl {
    padding-bottom: 1em;
}
.form_wrap .section_ttl img {
    display: block;
    margin: 0 auto;
}
.form_wrap .section_txt {
    color: #ffffff;
}

.form_section_txt .marker {
    background: linear-gradient(transparent 55%, #349bc5 55%);
}

.form_wrap_txt {
    padding-bottom: 3em!important;   
    color: #fff;
    font-size: 15px;
}
.form_wrap_inner {
    margin-bottom: 2.3em;
}
.form_reserve_btn_inner {
    background-image: url(../img/index/reserve_btn_img.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 90%;
    text-align: center;
    font-size: 24px;
    font-weight: normal;
    text-decoration: none;
    color: #562E00;
    padding: 1.7em 0;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    border-radius: 80px;
    text-shadow: 2px 2px 0 #fff;
    box-shadow: 0 0 25px rgb(46 157 120 / 10%);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transition-property: transform, box-shadow;

    animation-name:fuwafuwa;
    animation-delay:0s;
    animation-duration: 2.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite; 
}
     
@keyframes fuwafuwa {
    0% {
    transform: translateY(0);
    }
    50% {
    transform: translateY(5px);
    }
    100% {
    transform: translateY(0);
    }
}
.form_reserve_btn_inner:hover {
    transform: scale(0.96);
    box-shadow: rgb(53 165 126 / 30%) 0 0 4rem;
    opacity: 1!important;
}

.form_contact_btn_inner {
    width: 90%;
    text-align: center;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
    text-decoration: none;
    background: rgb(245,172,63); /* Old browsers */
    background: -moz-linear-gradient(left,  rgba(245,172,63,1) 0%, rgba(239,132,73,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  rgba(245,172,63,1) 0%,rgba(239,132,73,1) 100%); /* Chrome10-25,Safari5.1-6 */    
    padding: 1.4em 0;
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    border-radius: 50px;
    box-shadow: 0 0 25px rgb(204 147 14 / 33%);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transition-property: transform, box-shadow;
}
.form_contact_btn_inner i {
    margin-right: 0.3em;
}
.form_contact_btn_inner:hover {
    transform: scale(0.96);
    box-shadow: rgb(251 208 0 / 50%) 0 0 4rem;
    opacity: 1!important;
}





/*===================================================================
//  フッター
//=================================================================*/
footer {
    background: #FBDAC8;
    position: relative;
}
.foot_logo a {
    width: 165px;
    padding: 1em 0;
    margin: 0 auto;
}
footer .add {padding: 1em 0; font-size: 12px; color: #aaa;}
footer .copy {color: #CF7250; padding: 2em 0; font-size: 0.8em;}
footer .sns_link {display: block; text-align: center; color:#CF7250; font-size: 25px; padding: 0 0 1rem;}









/*===================================================================
//  固定ページ　サービス料金
//=================================================================*/

.page .header_contents {
    background: rgba(255,255,255,0.9);
}



.page .fv {
    width: 100%; 
    display: table;
    position: relative;
    background-image: url(../img/index/main_img_bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    
}
.page .fv.page_menu {
    background-image: url(../img/page/main_menu_img_bg_pc.jpg);
}
.page .fv.page_access {
    background-image: url(../img/page/main_access_img_bg_pc.jpg);
}
.page_menu .page_main_catch_txt,
.page_access .page_main_catch_txt {
    text-shadow: 3px 3px 7px rgb(0,0,0,0.3);
}
.page_main_wrap {
    position: relative;
}
.page_main_inner_catch {
    text-align: center;
    position: relative;
    height: 56vh;
    min-height: 380px;
    margin: 0 auto;
    overflow: hidden;
}
.page_main_catch_txt {
    margin-bottom: 1rem; 
    position: absolute;
    left: 0;
    right: 0;
    top: 24vh;
    z-index: 1;
    padding-top: 0;
    color: #fff;
    font-size: 35px;
    text-shadow: 3px 3px 7px rgb(35 151 28);
}
.page_main_catch_txt img {
    margin: 0 auto;
    width: 25%;
}
.page_main_catch_txt h2 {
    line-height: 1.5;
    font-size: 3rem; 
    font-weight: bold;
    color: #fff; 
    text-shadow: 0 0 10px rgb(34 143 187);
}
.page_main_catch_txt_small {
    font-size: 2rem; 
}
.page_main_sub_desc h3 {
    font-size: 22px;
    font-weight: 700;
    color: #5e5db9;
    text-indent: -0.5em;
}


.page_parent_ttl {
    padding: 0em 0 1em;
    font-size: 20px;
    text-align: center;
}
.page_sub_ttl {
    position: relative;
    padding: 0.3em 0 0.2em;
    text-align: center;
}
/*.page_sub_ttl:before {
    content: '-';
    margin-right: 0.5rem;
}*/


.page_coupon_wrap {
    padding-top: 3em;
}



.page_summary_wrap {
    background-color: #ffeae0;
    padding-top: 5em;
    padding-bottom: 8em;
    z-index: -1;
    position: relative;
}
.page_summary_txt {
    font-size: 1em;
    line-height: 1.6;
    padding: 2em 0;
    color: #562E00;
}
.page_summary_txt_wrap {
    padding-top: 3em;
    margin-top: 3em;
    border-top: 1px dotted #d9bd94;
    text-align: center;
}
.page_summary_txt_inner {
    padding: 2em 0 0;
}



.price {
    /*position: absolute;
    right: 0;
    top: 0;*/
    color: #F39800;
    font-size: 21px;
    font-weight: normal;
    display: block;
}
.page_list {
    margin-left: 1.3em;
}
.page_list_item {
    padding-bottom: 0.5em;
}






/** セラピスト紹介 **/

.page_prof_wrap {
    padding-top: 5em;
    padding-bottom: 9em;
    position: relative;
}
.page_prof_txt_wrap {

}
.page_prof_txt {
    padding: 0 0 1.5em;
}

.page_prof_txt_wrap_inner {
    overflow: hidden;
}
.page_prof_img_box {
    margin-bottom: 1em;
    position: relative;
}


.page_therapist_wrap {
    padding-top: 5em;
    padding-bottom: 6em;
    position: relative;
    overflow: hidden;
    background-color: #ffeae0;
    z-index: -1;
}
.page_therapist_wrap .contents-wrapper {
    max-width: 1080px !important;
}
.page_therapist_box {
    position: relative;
}
.page_therapist_box:not(:last-child) {
    padding-bottom: 3em;
}
.page_therapist_img {
    width: 500px;
    height: 500px;
    margin: 0 auto 1em;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.page_therapist_img:after {
    content: '';
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top -1em;
    background-color: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 0;
    top: 0;
    left: 0;
    margin: 0 auto; 
}
.page_therapist_box_01 .page_therapist_img:after {
    background-image: url(../img/index/threapist_01.png?ver3);
}
.page_therapist_box_02 .page_therapist_img:after {
    /*background-image: url(../img/index/threapist_02.png?ver3);*/
}
.page_therapist_box_03 .page_therapist_img:after {
    background-image: url(../img/page/cat_01.jpg);
    background-position: center;
}
.page_therapist_box_04 .page_therapist_img:after {
    background-image: url(../img/page/naka.png);
    background-position: center;
    margin-bottom:100px;
}
.page_therapist_prof_box {
    text-align: center;
    padding: 0.5em 1em;
    color: #562E00;
}
.page_therapist_box_01 .page_therapist_prof_box {
    width: 90%;
    margin: 0 auto;
    position: relative;
}
/*.page_therapist_box_01 .page_therapist_prof_box::after {
    content: '';
    background-image: url(../img/index/flowers_mini_01.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 103px;
    height: 100px;
    position: absolute;
    bottom: -4em;
    right: -2em;
}*/
.page_therapist_box_02 .page_therapist_prof_box {
    width: 90%;
    margin: 0 auto;
    position: relative;
}
.page_therapist_comment_box {
    width: 90%;
    margin: 0 auto;
    position: relative;
}
/*.page_therapist_box_02 .page_therapist_prof_box::after {
    content: '';
    background-image: url(../img/index/flowers_mini_02.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 84px;
    height: 73px;
    position: absolute;
    top: -3em;
    left: -2em;
}*/
.page_therapist_name {

}
.page_therapist_birthday {

}
.page_therapist_kana {
    font-size: 10px;
}
.page_therapist_shikaku {
    color: #562E00;
    position: relative;
    font-weight: normal;
    font-size: 12px;
}
.page_therapist_shikaku:before {
    content: '';
    width: calc(50% - 20px);
    height: 1px;
    background-color: #562E00;
    position: absolute;
    left: 0;
    top: 10px;
}
.page_therapist_shikaku:after {
    content: '';
    width: calc(50% - 20px);
    height: 1px;
    background-color: #562E00;
    position: absolute;
    right: 0;
    top: 10px;
}
.page_therapist_shikaku_name {
    font-size: 14px;
}
.page_therapist_comment {
    text-align: justify;
    padding-top: 1em;
}




/** アクセス **/
.page_access_wrap {

}
.page_access_wrap_inner {
    overflow: hidden;
    margin-top: -5em;
    padding-bottom: 3rem;
}

.page_access_slider {

}
.page_access_slider_list {
    list-style: none;
}
.page_access_slider_item {

}
.page_access_slider_item img {
    margin: 0 auto;
    width: 100%;
}

.page_access_list {
    margin-top: 3em;
}
.page_access_list dt {
    display: inline-block;
    vertical-align: top;
    width: 90px;
    position: relative;
    padding: 7px 3px;
}
.page_access_list dt:after {
    content: ':';
    padding: 0 0.5em;
    position: absolute;
    right: 0;
}
.page_access_list dd {
    padding: 7px 3px;
    width: calc(100% - 100px);
    display: inline-block;
}
.access_figure {
    margin-bottom: 1em;
}
.page_access_sign {
    width: 30px;
    height: 20px;
    background-color: #F2FBF8;
    border: 2px solid #E2F2EC;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.3em;
}
.page_access_slider_thumb {
    width: 90%;
    overflow: visible;
    margin: 0 auto;
    position: relative;
}
.swiper-button-prev_thumb {
    background-image: url(../img/common/pagenation_prev.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 25px;
    height: 70px;
    left: -32px;
    top: calc(50% - 35px);
    position: absolute;
    z-index: 1;
}
.swiper-button-next_thumb {
    background-image: url(../img/common/pagenation_next.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 25px;
    height: 70px;
    right: -32px;
    top: calc(50% - 35px);
    position: absolute;
    z-index: 1;
}

.page_access_list a {
    color: #562E00!important;
    text-decoration: none;
}

iframe {
    width: 100%;
}



/** 予約フォーム **/
.page_fv_form {
    font-size: 23px;
}
.page_form {
    padding-top: 5em;
}
.page_form_inner tr {
    display: table;
    width: 100%;
    margin-bottom: 1em;
}
.page_form_inner th {
    color: #F39800;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    width: 100%;
    display: table-cell;
    vertical-align: middle;
    position: relative;

}
.page_form_inner td {
    margin-right: 0.5rem;
}

.page_form_cat_content ul {
    list-style: none;
    padding: 0.8em 0.8em;
    position: relative;
    width: 99%;
    background-color: #fff;
    font-size: 16px;
    box-sizing: border-box;
    box-shadow: 0 0 8px rgb(0 0 0 / 13%);
    border-radius: 8px;
    margin-left: 1%;
}
.form_radio_label {
    width: 100%;
    display: inline-block;
    margin-left: 1%;
}
.page_form_inner input[type="radio"],
.page_form_inner input[type="select"],
.page_form_inner input[type="checkbox"] {
    display: inline-block;
    width: auto;
}
.page_form_inner input {
    padding: 0.8em 0.8em;
    position: relative;
    width: 99%;
    background-color: #fff;
    font-size: 16px;
    box-sizing: border-box;
    box-shadow: 0 0 8px rgb(0 0 0 / 13%);
    border-radius: 8px;
    margin-left: 1%;
}
.page_form_inner select {
    padding: 0.5em 0.8em;
    position: relative;
    width: 25%;
    background-color: #fff;
    font-size: 16px;
    box-sizing: border-box;
    box-shadow: 0 0 8px rgb(0 0 0 / 13%);
}
.page_form_inner textarea {
    padding: 0.5em 0.8em;
    width: 99%;
    background-color: #fff;
    font-size: 16px;
    box-sizing: border-box;
    margin-bottom: 0;
    max-width: 100%;
    height: 300px;
    box-shadow: 0 0 8px rgb(0 0 0 / 13%);
    border-radius: 8px;
    margin-left: 1%;
}
.page_form_inner .form-name input {
    width: 48%;
}
.page_form_inner input[type="zip"] {
    width: calc(100% - 200px);
}
.page_form_inner .btn_postalcode {
    width: 200px;
    margin-top: 0.5em;
    font-size: 12px;
    cursor: pointer;
}
.page_form_inner .must {
    font-size: 11px;
    position: absolute;
    top: 5px;
    right: 6px;
}
.page_checkbox_field_text {
    cursor: pointer;
    font-size: 18px;
}
.form_confirm_btn {
    cursor: pointer;
}
.page_form_inner [type="submit"] {
    color: #fff;
    background: rgb(245,172,63);
    background: -moz-linear-gradient(left, rgba(245,172,63,1) 0%, rgba(239,132,73,1) 100%);
    background: -webkit-linear-gradient(left, rgba(245,172,63,1) 0%,rgba(239,132,73,1) 100%);
}






.page_form_cta {

}
.page_form_cta_wrap {
    max-width: 620px;
    margin: 0 auto 5em;
}
.page_form_cta_txt_big {
    font-size: 18px;
    text-align: center;
    background: #CF7250;
    color: #fff;
    padding: 1.5em 0;
}
.page_form_cta_outer {
}
.page_form_cta_inner {
    background-color: #fff;
}
.page_form_cta_coname {
    display: block;
    padding-top: 1em;
}
.page_form_cta_btn {
    display: block;
    color: #562E00;
    font-size: 33px;
    text-decoration: none;
    font-weight: bold;
}
.page_form_cta_time {
    display: inline-block;
    vertical-align: middle;
    margin-left: 3%;
    font-size: 20px;
}



.page_form_cat_content {
  display: none;
}
.page_form_cat_content_01 {
  display: block;
}












/*===================================================================
//  タブレットサイズ
//=================================================================*/
/* タブレットサイズ */
@media screen and (min-width: 800px) and (max-width: 1200px) {
.header_contact_btn_inner {
    width: 136px;
}
    
    
.fee_wrap_detail {
    display: block;
}
.steps_wrap .fee_wrap_item.left {
    width: auto;
    float: none;    
    padding: 2em 0;
    border-top: 2px dotted #cbc5c9;
}
.fee_wrap_item.right {
    width: auto;
    float: none; 
    border-top: 2px dotted #cbc5c9;
    border-bottom: 2px dotted #cbc5c9;
    border-left: none;
    text-align: center;
    padding: 2em 0;
}
.fee_wrap_merit_list {
    text-align: left;
}
    
    
    
}




