@charset "utf-8";
html{
  -webkit-text-size-adjust: 100%;
}
html.close {
  overflow: hidden;
  height: 100%;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size:min(1.6vw,16px);
  text-align:center;
  background-color:#FFFCF7;
  color:#4A3940;
  line-height:1.8;

}

@media screen and (max-width:768px){
  body {
    font-size:4vw;
  }
}


.marugo{
  font-family: "Zen Maru Gothic", sans-serif;
}



a {
  color:#4A3940;
  -webkit-transition : opacity 0.1s, color 0.1s, background 0.1s;
  transition : opacity 0.1s, color 0.1s, background 0.1s;
  opacity:1;
  outline:none;
}
a:hover {
  opacity: 0.6;
}

img{
  max-width:100%;
  vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6{
  font-weight:500;
}

.only_sp,
.only_sp_i,
.only_sp_f{
  display:none !important;
}

@media screen and (max-width:768px){
  .only_pc{
    display:none !important;
  }

  .only_sp{
    display:block !important;
  }
  .only_sp_i{
    display:inline-block !important;
  }
  .only_sp_f{
    display: -webkit-flex !important;
    display: flex !important;
  }
}

#wrapper{
  overflow:hidden;
}

.inner{
	max-width:1120px;
	width:94%;
	margin:auto;
}
@media screen and (max-width:768px){
  .inner{
    width:88%;
  }
}


/* 色関係 */
.red{
  color:#F4616F;
}
.pink{
  color:#F3858F;
}

.gray{
  color:#9E8E73;
}
.bg_gray{
  color:#fff;
  background-color:#9E8E73;
}

.bg_pink{
  color:#fff;
  background-color:#F27480;
}
.bg_lpink{
  color:#F4616F;
  background-color:#FBDDDF;
}


/* 書式 */
.text_left{
  text-align:left;
}
.text_right{
  text-align:right;
}
.bold{
  font-weight:bold;
}
.blc{
  display:block;
}



/* リンク・ボタン類 */
/* .link_arrow */
.link_arrow{
  letter-spacing:0.1em;
}
.link_arrow img{
  width:1.2em;
  vertical-align:-0.2em;
}

/* .btn_tertiary */
.btn_tertiary{
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  gap:8px;
  font-size:min(1.6vw,16px);
  font-weight:700;
  letter-spacing:0.1em;
  color:#F4616F;
}
.btn_tertiary:hover{
  opacity:0.6;
}
.btn_tertiary img{
  width:20px;
  height:20px;
}
@media screen and (max-width:768px){
  .btn_tertiary{
    font-size:4vw;
  }
}


/* .web_btn,.tel_btn */
.web_btn,
.tel_btn{
  aspect-ratio:220 / 102;
  font-size:min(2vw,20px);
  font-weight:bold;
  border-radius:0.5em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.web_btn:hover,
.tel_btn:hover{
  opacity:1;
}
.web_btn span,
.tel_btn span{
  letter-spacing:0.1em;
}

.web_btn{
  color:#fff;
  background-color:#F27480;
}
.web_btn:hover{
  color:#F27480;
  background-color:#fff;
}
.web_btn svg{
  width:1.5em;
  margin-right:0.3em;
}
.web_btn:hover svg .rect{
  stroke:#F3858F;
}
.web_btn:hover svg .path{
  fill:#F3858F;
}
.web_btn:hover svg circle{
  fill:#fff;
}
.web_btn:hover svg .rect2{
  stroke:#FDBBC1;
}
.web_btn:hover svg .rect3{
  stroke:#FDBBC1;
}
.web_btn:hover svg .path2{
  fill:#FDBBC1;
}

.tel_btn{
  color:#4D9EDE;
  background-color:#fff;
  border:2px solid #76C2FD;
}
.tel_btn:hover{
  color:#fff;
  background-color:#76C2FD;
  border:none;
}
.tel_btn svg{
  width:1.25em;
  margin-right:0.3em;
}
.tel_btn:hover svg .path{
  fill:#76C2FD;
}
.tel_btn:hover svg .path2{
  fill:#fff;
}
.tel_btn:hover svg rect{
  fill:#fff;
}
.tel_btn:hover svg .path3{
  fill:#3992D7;
}
.tel_btn:hover svg .path4{
  fill:#3992D7;
}

@media screen and (max-width:768px){
  .web_btn,
  .tel_btn{
    aspect-ratio:320 / 70;
    font-size:5vw;
  }
}


/* .line_btn */
.line_btn{
  display:block;
  width:16.5em;
  line-height:3;
  margin:min(5%,50px) auto 0;
  font-size:min(1.8vw,18px);
  font-weight:bold;
  letter-spacing:0.07em;
  color:#fff;
  background:#06C755 url(../images/link_arrow_green.svg)no-repeat right 1em center;
  background-size:1em auto;
  border-radius:100px;
}

@media screen and (max-width:768px){
  .line_btn{
    margin-top:12%;
    font-size:4.5vw;
  }
}


/* header */
header{
  width:100%;
  height:100px;
  z-index:100;
  padding:20px 20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  position:fixed;
  left:0;
  top:0;
  z-index:100;
  background-color:#FFFCF7;
}
header.fixed{
  background-color:#FFFCF7;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
header .head_logo{
  width:418px;
  line-height:0;
  position:relative;
  z-index:1;
}
header .head_nav{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size:15px;
  position:relative;
  z-index:1;
}
header .head_nav li:nth-child(n+2){
  margin-left:1.5em;
}
header .head_nav li a{
  font-weight:bold;
  letter-spacing:0.06em;
}
header .head_nav li a:hover{
  opacity:1;
  color:#F3858F;
}

@media screen and (max-width:1120px){
  header{
    padding:20px 15px 0 10px;
  }
  header .head_logo{
    width:240px;
  }
  header .head_nav{
    font-size:14px;
  }
  header .head_nav li:first-child{
    display:none;
  }
  header .head_nav li:nth-child(2){
    margin-left:0;
  }
  header .head_nav li:nth-child(n+3){
    margin-left:1em;
  }
  header .head_nav li a{
    letter-spacing:0.03em;
  }
}

@media screen and (max-width:768px){
  header{
    height:70px;
    padding-top:10px;
    background-color:#FFFCF7;
    position:fixed;
    left:0;
    top:0;
    z-index:100;
  }
  header.fixed{
    box-shadow:0 0 10px rgba(0,0,0,0.1);
  }
  header .head_nav li:last-child{
    margin-left:0;
  }
  header .head_nav li:nth-child(-n+5){
    display:none;
  }
}
@media screen and (max-width:380px){
  header .head_logo{
    width:220px;
  }
}

/* #btnmenu */
#btnmenu{
  width:60px;
  height:60px;
  margin:0;
  padding:0;
  cursor:pointer;
  background-color:#F27480;
  border-radius:100%;
  position:relative;
  -webkit-transition : opacity 0.1s;
  transition : opacity 0.1s;
}
#btnmenu:hover{
  opacity: 0.6;
}
#btnmenu span{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  border-radius:2px;
  margin: -1px 0 0 -12px;
  background: #fff;
  -webkit-transition: .2s;
  transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 2px;
  background: #fff;
  border-radius:2px;
  -webkit-transition: .3s;
  transition: .3s;
}

#btnmenu span:before{
  margin-top: -9px;
}
#btnmenu span:after{
  margin-top: 7px;
}

#btnmenu.close{
  background-color:#A38B95;
}
#btnmenu.close span{
  width:50px;
  height:50px;
  margin-top:-24px;
  margin-left:-26px;
  background-color:transparent;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
  margin-top: 0;
  background-color:#fff
}

#btnmenu.close span:before{
  width: 24px;
  height: 2px;
  margin: -2px 0 0 14px;
  border-radius:2px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#btnmenu.close span:after{
  width: 24px;
  height: 2px;
  margin: -2px 0 0 14px;
  border-radius:2px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

@media screen and (max-width:1120px){
  #btnmenu{
    width:50px;
    height:50px;
  }
}


/* .main_menu */
.main_menu{
  width:100%;
  height:100%;
  padding-top:120px;
  background: rgba(255,255,255,0.9);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  position:fixed;
  top:0;
  left:0;
  display:none;
}
@supports (backdrop-filter: blur(1px)) {
  .main_menu {
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(12px);
  }
}
.main_menu .menu_wrapper{
  max-width:940px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.main_menu .menu_wrapper .left_menu li{
  margin-top:1em;
  text-align:left;
  letter-spacing:0.1em;
}
.main_menu .menu_wrapper .left_menu li a{
  white-space:nowrap;
}
.main_menu .menu_wrapper .left_menu li a:hover{
  opacity:1;
  color:#F3858F;
}
.main_menu .menu_wrapper .right_menu{
  width:min(54%,500px);
}
.main_menu .menu_wrapper .right_menu .treatment div{
  text-align:left;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.main_menu .menu_wrapper .right_menu .treatment div:nth-child(n+2){
  margin-top:1em;
}
.main_menu .menu_wrapper .right_menu .treatment div dt{
  width:100%;
}
.main_menu .menu_wrapper .right_menu .treatment div dd{
  margin:0.5em 1.8em 0 0;
}
.main_menu .menu_wrapper .right_menu .treatment div dd:before{
  content:'-';
}
.main_menu .menu_wrapper .right_menu .treatment div dd a{
  letter-spacing:0.1em;
}
.main_menu .menu_wrapper .right_menu .treatment div dd a:hover{
  opacity:1;
  color:#F3858F;
}

.main_menu .menu_wrapper .right_menu .banner{
  margin-top:5%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.main_menu .menu_wrapper .right_menu .banner li{
  width:49%;
}

@media screen and (max-width:768px){
  .main_menu{
    padding:70px 0 0;
  }
  .main_menu .menu_wrapper{
    display: block;
    width:100%;
    height:calc(100dvh - 70px);
    padding:20px 5% 90px;
    overflow:auto;
  }
  .main_menu .menu_wrapper .left_menu{
    width:100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .main_menu .menu_wrapper .left_menu li{
    width:48.5%;
    margin-top:0.5em;
    padding-bottom:0.5em;
    text-align:center;
    letter-spacing:0.1em;
    text-indent:0.1em;
    border-bottom:1px solid #D7D0CB;
  }
  .main_menu .menu_wrapper .right_menu{
    width:100%;
    margin-top:9%;
  }
  .main_menu .menu_wrapper .right_menu h3{
    padding-bottom:0.5em;
    text-align:center;
    letter-spacing:0.1em;
    text-indent:0.1em;
    border-bottom:1px solid #D7D0CB;
  }
  .main_menu .menu_wrapper .right_menu h3 a:hover{
    opacity:1;
    color:#F3858F;
  }
  
  .main_menu .menu_wrapper .right_menu .treatment div{
    margin-top:1em;
    text-align:left;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .main_menu .menu_wrapper .right_menu .treatment div:nth-child(n+2){
    margin-top:1em;
  }
  .main_menu .menu_wrapper .right_menu .treatment div dt{
    width:100%;
  }
  .main_menu .menu_wrapper .right_menu .treatment div dd{
    margin:0.5em 0 0;
    min-width:49%;
    font-size:3.5vw;
  }
  .main_menu .menu_wrapper .right_menu .treatment div dd:before{
    content:'-';
  }
  .main_menu .menu_wrapper .right_menu .treatment div dd a{
    letter-spacing:0.1em;
  }

  .main_menu .menu_wrapper .right_menu .banner{
    margin-top:5%;
    display: block;
  }
  .main_menu .menu_wrapper .right_menu .banner li{
    width:auto;
    margin-top:3%;
  }
}

/* 固定ナビ（PC右下） */
#fixedNav{
  position:fixed;
  bottom:30px;
  right:30px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:8px;
  z-index:999;
}
#fixedNav a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:8px;
  border-radius:7px;
  text-decoration:none;
  white-space:nowrap;
  -webkit-transition:opacity 0.3s;
  transition:opacity 0.3s;
}
#fixedNav a:hover{
  opacity:0.8;
}
#fixedNav .fixed_nav_tel{
  background:#fff;
  border:2px solid #76C2FD;
  padding:6px 20px;
  color:#4D9EDE;
  font-size:16px;
  font-weight:900;
  letter-spacing:0.1em;
  line-height:1.2;
}
#fixedNav .fixed_nav_tel svg{
  width:21px;
  height:38px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
}
#fixedNav .fixed_nav_web{
  background:#F4616F;
  padding:13px 20px;
  color:#fff;
  font-size:16px;
  font-weight:700;
  letter-spacing:0.1em;
  line-height:1.2;
}
#fixedNav .fixed_nav_web svg{
  width:24px;
  height:24px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
}

/* main */
main{
  padding-top:100px;
}
main #main_wrapper{
  margin-bottom:max(-10%,-100px);
  padding-bottom:min(30%,300px);
  background:url(../images/bg.jpg)repeat-y center top;
  background-size:1920px auto;
}

@media screen and (max-width:768px){
  main{
    padding-top:70px;
  }
  main #main_wrapper{
    margin-bottom:-10%;
    padding-bottom:55%;
    background:url(../images/bg_s.jpg)repeat-y center top;
    background-size:100% auto;
  }
}


/* .lower_mv */
.lower_mv{
  max-width:1280px;
  width:100%;
  padding:min(3vw,40px) 0 min(1.5vw,20px) min(3vw,40px);
  position:relative;
}
.lower_mv:before{
  content:'';
  display:block;
  width:min(18vw,234px);
  aspect-ratio:469 / 383;
  background:url(../images/lower_mv.png)no-repeat center center;
  background-size:100% auto;
  position:absolute;
  left:0;
  bottom:0;
  transform:translateX(-9%);
}
.lower_mv picture{
  aspect-ratio:2480 / 666;
}
.lower_mv h1{
  line-height:1.5;
  text-align:left;
  position:absolute;
  left:13%;
  top:50%;
  transform:translateY(-50%);
  text-shadow:0 0 5px #fff;
}
.lower_mv h1 .large{
  display:block;
  font-size:min(2.8vw,36px);
  letter-spacing:0.1em;
}
.lower_mv h1 .small{
  display:block;
  font-size:min(1.7vw,22px);
  letter-spacing:0.05em;
  color:#F3858F;
}

@media screen and (max-width:768px){
  .lower_mv{
    padding:min(3vw,40px) 0 min(1.5vw,20px);
    position:static;
  }
  .lower_mv:before{
    content:none;
  }
  .lower_mv picture{
    aspect-ratio:1200 / 999;
  }
    .lower_mv h1{
    left:9%;
    top:50%;
  }
  .lower_mv h1 .large{
    font-size:9vw;
  }
  .lower_mv h1 .small{
    font-size:5.5vw;
  }
}


/* パンくずリスト */
.breadcrumbs {
  width:min(94%,1120px);
  margin:1em auto 0;
  font-size:14px;
  font-weight:500;
  text-align:right;
  letter-spacing:0.05em;
  color:#F4616F;
}
.breadcrumbs a {
  color:#F4616F;
}

@media screen and (max-width:768px){
  .breadcrumbs {
    font-size:3.5vw;
  }
}


/* .cont */
.cont{
  padding:min(12%,120px) 0 0;
}
.cont .mgt0{
  margin-top:0 !important;
}
.cont .mgt3{
  margin-top:min(3vw,30px);
}
.cont .mgt5{
  margin-top:min(5vw,50px);
}
.cont .mgt_1em{
  margin-top:1em !important;
}

.cont .sec p{
  text-align:left;
}
.cont .sec p:nth-of-type(n+2){
  margin-top:1em;
}
.cont .lead{
  text-align:left;
}
.cont .lead p:nth-child(n+2){
  margin-top:1em;
}
.cont .border_top{
  margin-top:min(5vw,50px);
  padding-top:min(5vw,50px);
  border-top:2px dotted #F3858F;
}
.cont .waku{
  margin-top:2em;
  padding:min(4vw,40px);
  background-color:#fff;
  border:2px solid #D7D0CB;
  border-radius:1.5em;
}
.cont .check li{
  line-height:1.6;
  padding-left:1.5em;
  text-align:left;
  background:url(../images/icon_check.svg)no-repeat left 0.3em;
  background-size:0.9em auto;
}
.cont .check li:nth-child(n+2){
  margin-top:0.5em;
}
.cont .caution{
  margin-top:1.2em;
  padding-left:1em;
  text-indent:-1em;
  font-size:min(1.4vw,14px);
  text-align:left;
}

@media screen and (max-width:768px){
  .cont{
    padding:22% 0 0;
  }
  .cont .mgt3{
    margin-top:9%;
  }
  .cont .mgt5{
    margin-top:12%;
  }
  .cont .border_top{
    margin-top:12%;
    padding-top:12%;
  }
  .cont .waku{
    margin-top:2em;
    padding:12%;
    background-color:#fff;
    border-radius:1.5em;
  }
  .cont .caution{
    font-size:3.5vw;
  }
}


/* 見出し */
.cont .tit{
  margin-bottom:min(3vw,30px);
  font-family: "Zen Maru Gothic", sans-serif;
  text-align:left;
}
.cont .tit .en{
  line-height:1.4;
  display:block;
  margin-bottom:0.6em;
  font-size:min(1.8vw,18px);
  letter-spacing:0.1em;
  text-indent:-0.3em;
  color:#A38B95;
}
.cont .tit .en:before{
  content:'・';
  color:#FDBBC1;
  letter-spacing:-0.1em;
}
.cont .tit .jp{
  line-height:1.6;
  display:block;
  font-size:min(2.6vw,26px);
  letter-spacing:0.1em;
}

.cont .tit_maru{
  margin-bottom:min(3vw,30px);
  padding-left:1.4em;
  line-height:1.4;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size:min(2.2vw,22px);
  text-align:left;
  letter-spacing:0.1em;
  background:url(../images/tit_maru.svg)no-repeat left 0.2em;
  background-size:1em auto;
}

@media screen and (max-width:768px){
  .cont .tit{
    margin-bottom:9%;
  }
  .cont .tit .en{
    line-height:1.4;
    display:block;
    margin-bottom:0.6em;
    font-size:4.5vw;
    letter-spacing:0.1em;
    text-indent:-0.3em;
    color:#A38B95;
  }
  .cont .tit .jp{
    line-height:1.6;
    display:block;
    font-size:6.5vw;
    letter-spacing:0.1em;
  }
  
  .cont .tit_maru{
    margin-bottom:7%;
    padding-left:1.4em;
    line-height:1.4;
    font-size:5.5vw;
    text-align:left;
    letter-spacing:0.1em;
    background:url(../images/tit_maru.svg)no-repeat left 0.2em;
    background-size:1em auto;
  }
}


/* .flex_wrapper */
.flex_wrapper{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.flex_reverse{
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.flex_end{
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.flex_center{
  -webkit-align-items: center;
  align-items: center;
}
.flex_start{
  -webkit-align-items: flex-start;
  align-items: flex-start;
}


.flex_wrapper .cont_left{
  width:min(52%,590px);
  text-align:left;
}
.flex_wrapper .cont_right{
  width:min(54%,608px);
  text-align:left;
}

.flex_wrapper .cont_left p:nth-of-type(n+2),
.flex_wrapper .cont_right p:nth-of-type(n+2){
  margin-top:1em;
}
.flex_wrapper .fig_wrapper{
  width:min(42%,480px);
}

@media screen and (max-width:768px){
  .flex_wrapper{
    display: block;
  }
  .flex_wrapper .cont_left,
  .flex_wrapper .cont_right{
    width:auto;
  }
  .flex_wrapper .fig_wrapper{
    width:auto;
    margin-top:12%;
  }
}


/* .desc */
.desc > dt{
  line-height:1.4;
  padding:0.2em 1em;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size:min(2vw,20px);
  font-weight:500;
  text-align:left;
  letter-spacing:0.1em;
  border-radius:0.5em;
}
.desc > dd{
  padding:1.8em 0;
  text-align:left;
}
.desc > dd p:nth-of-type(n+2){
  margin-top:1em;
}
.desc > dd:last-of-type{
  padding-bottom:0;
}
.desc > dd .inline_list{
  margin-top:-0.5em;
}

@media screen and (max-width:768px){
  .desc > dt{
    padding:0.2em 0.8em;
    font-size:5vw;
  }
}


/* .desc_check */
.desc_check{
  text-align:left;
}
.desc_check.border_top{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.desc_check.border_top div:first-child{
  margin-top:1.6em;
  padding-top:1.6em;
  border-top:2px dotted #FBDDDF;
}
.desc_check div:nth-child(n+2){
  margin-top:1.6em;
  padding-top:1.6em;
  border-top:2px dotted #FBDDDF;
}
.desc_check div dt{
  line-height:1.6;
  padding-left:1.5em;
  text-align:left;
  background:url(../images/icon_check.svg)no-repeat left 0.3em;
  background-size:0.9em auto;
}


/* .desc_maru */
.desc_maru > dt{
  margin:min(5vw,50px) 0 min(3vw,30px);
}
.desc_maru > dd p{
  text-align:left;
}
.desc_maru > dd p:nth-of-type(n+2){
  margin-top:1em;
}

@media screen and (max-width:768px){
  .desc_maru > dt{
    margin:12% 0 9%;
  }
}



/* .inline_list */
.inline_list{
  text-align:left;
}
.inline_list li{
  line-height:1.6;
  display:inline-block;
  margin:0.5em 0.6em 0 0;
  padding-left:1em;
  text-indent:-1em;
}
.inline_list li:before{
  content:'・';
  color:#F4616F;
}


/* .blc_list */
.blc_list{
  text-align:left;
}
.blc_list li{
  line-height:1.6;
  padding-left:1em;
  text-indent:-1em;
}
.blc_list li:nth-child(n+2){
  margin-top:0.5em;
}
.blc_list li:before{
  content:'・';
  color:#F4616F;
}



/* .tbl */
.tbl{
  width:100%;
}
.tbl tr{
  border-bottom:1px solid #4A3940;
}
.tbl th{
  width:33.3%;
  line-height:1.3;
  padding:1em 0.5em;
}
.tbl tr:first-child th{
  letter-spacing:0.3em;
  text-indent:0.3em;
}
.tbl th .blc{
  line-height:1.3;
  font-weight:normal;
  color:#4A3940;
}
.tbl th .hour:after{
  content:'：';
}
.tbl tr th:nth-child(n+2),
.tbl tr td{
  border-left:1px solid #4A3940;
}
.tbl tr td{
  background-color:#fff;
  font-weight:600;
}
.tbl + .tbl_caution{
  margin-top:1.5em;
}
.tbl + .tbl_caution li{
  padding-left:1em;
  text-indent:-1em;
  text-align:left;
}

@media screen and (max-width:768px){
  .tbl{
    font-size:3.6vw;
  }
  .tbl th .blc{
    margin-top:0.3em;
    font-size:2.8vw;
  }
  .tbl th .hour{
    display:block;
  }
  .tbl th .hour:before{
    content:'【';
  }
  .tbl th .hour:after{
    content:'】';
  }
  .tbl + .tbl_caution{
    margin-top:1em;
  }
}



/* .schedule */
.schedule{
  width:100%;
}
.schedule tr:first-child{
  border-bottom:1px dashed;
}
.schedule th,
.schedule td{
  padding:0.5em 0.8em;
  font-weight:normal;
  text-align:center;
  white-space:nowrap;
}
.schedule tr:first-child th{
  padding-bottom:0.5em;
}
.schedule tr:nth-child(2) th,
.schedule tr:nth-child(2) td{
  padding-bottom:0;
}
.schedule tr:last-child th,
.schedule tr:last-child td{
  padding-top:0;
}
.schedule .num{
  font-family:roboto, arial, sans-serif;
  letter-spacing:0.1em;
}
.schedule_caution{
  margin-top:1em;
  font-size:min(1.4vw,14px);
  line-height:1.4;
  text-align:left;
}
.schedule_caution .indent{
  padding-left:1em;
  text-indent:-1em;
}
@media screen and (max-width:768px){
  .schedule th,
  .schedule td{
    padding:0.5em 0.3em;
    font-size:3.5vw;
    white-space:nowrap;
  }
  .schedule .num{
    letter-spacing:0;
  }
  .schedule_caution{
    margin-top:0.5em;
    font-size:3.5vw;
  }
}


/* .news_list */
.news_list{
}
.news_list li{
  padding:1em 0;
}
.news_list li:nth-child(n+2){
  border-top:2px dashed #EAE6DE;
}
.news_list li a{
  display:block;
}
.news_list li a dl{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  font-weight:500;
  text-align:left;
}
.news_list li a dl dt{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.news_list li a dl dt .date{
  display:block;
  width:5.8em;
  font-size:min(1.4vw,14px);
}
.news_list li a dl dt .cat{
  display:block;
  padding:0 1em;
  border-radius:100px;
  font-size:min(1.3vw,13px);
}
.news_list li a dl dd{
  margin-left:1em;
  line-height:1.4;
  flex:1;
}

@media screen and (max-width:768px){
  .news_list li a dl{
    display: block;
  }
  .news_list li a dl dt .date{
    font-size:3.5vw;
  }
  .news_list li a dl dt .cat{
    font-size:3vw;
  }
  .news_list li a dl dd{
    margin:0.3em 0 0;
  }
}


/* .column_list */
.column_list{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.column_list > li{
  width:31%;
  margin-top:3%;
  margin-right:3.5%;
}
.column_list > li:nth-child(-n+3){
  margin-top:0;
}
.column_list > li:nth-child(3n+3){
  margin-right:0;
}
.column_list > li a{
  height:100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.column_list > li a figure img{
  aspect-ratio:912 / 510;
  border-radius:0.5em;
  object-fit:cover;
}
.column_list > li a section h3{
  margin-top:1em;
  line-height:1.4;
  font-weight:bold;
  text-align:left;
}
.column_list > li a section p{
  line-height:1.6;
  margin:0.5em 0 1em;
  font-size:min(1.3vw,13px);
  text-align:left;
}
.column_list > li a .bottom_info{
  margin-top:auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  font-size:min(1.4vw,14px);
}
.column_list > li a .bottom_info .cat{
  margin-right:0.5em;
  padding:0 1em;
  border-radius:100px;
}

@media screen and (max-width:768px){
  .column_list{
    display: block;
  }
  .column_list > li{
    width:auto;
    margin-right:0;
  }
  .column_list > li:nth-child(n+2){
    margin-top:9%;
  }
  .column_list > li:nth-child(3n+3){
    margin-right:0;
  }
  .column_list > li a{
    height:100%;
    padding-bottom:1.5em;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row;
    flex-direction: row;
    position:relative;
  }
  .column_list > li a figure{
    width:40%;
  }
  .column_list > li a figure img{
    aspect-ratio:9 / 7;
  }
  .column_list > li a section{
    width:57%;
  }
  .column_list > li a section h3{
    margin-top:0;
    font-size:3.6vw;
  }
  .column_list > li a section p{
    margin-bottom:0;
    font-size:3vw;
  }
  .column_list > li a .bottom_info{
    font-size:2.6vw;
    position:absolute;
    right:0;
    bottom:0;
  }
  .column_list > li a .bottom_info .cat{
    margin-right:0.5em;
    padding:0 1em;
    border-radius:100px;
  }
}


/* .pager */
.pager {
  margin-top:min(5vw,50px);
  display: -webkit-flex;
  display: flex;
}
.pager .page-numbers {
  width:1.4em;
  height:1.4em;
  line-height:1.3;
  margin:0 0.3em;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight:bold;
  border-radius:100%;
}
.pager .current {
  color:#fff;
  background-color:#F27480;
}
.pager .prev,
.pager .next {
  width:1.5em;
  transform:translateY(-0.1em);
}
.pager .dots{
  margin:0em;
  transform:translateY(-0.3em);
}

@media screen and (max-width:768px){
  .pager {
    margin-top:12%;
  }
}

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



/* footer */
footer{
  background:url(../images/foot_bg.png)no-repeat center top;
  background-size:cover;
}

@media screen and (max-width:768px){
  footer{
    background:url(../images/foot_bg_s.png)no-repeat center top;
    background-size:cover;
  }
}


/* .foot_cta */
.foot_cta{
  max-width:960px;
  aspect-ratio:960 / 230;
  padding:0;
  transform:translateY(-30%);
  background:url(../images/cta_bg.png)no-repeat center center;
  background-size:100% auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.foot_cta h2 .hour{
  font-size:min(1.4vw,14px);
  font-weight:normal;
  letter-spacing:0.1em;
}
.foot_cta .links{
  width:min(47%,470px);
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-left:min(2%,20px);
}
.foot_cta .links li{
  width:46%;
  margin-left:3%;
}

@media screen and (max-width:768px){
  .foot_cta{
    width:92%;
    aspect-ratio:1104 / 1167;
    padding:9% 5%;
    transform:translateY(-20%);
    background:url(../images/cta_bg_s.png)no-repeat center center;
    background-size:100% auto;
    display: block;
  }
  .foot_cta .tit .jp{
    font-size:5vw;
  }
  .foot_cta h2 .hour{
    display:block;
    margin-top:0.5em;
    line-height:1.6;
    font-size:3.5vw;
  }
  .foot_cta .links{
    width:auto;
    display: block;
    margin:5% 0 0;
  }
  .foot_cta .links li{
    width:auto;
    margin:3% 0 0;
  }
}


/* .foot_menu */
.foot_menu{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.foot_menu .foot_address{
  text-align:left;
}
.foot_menu .foot_address dt figure{
  font-size:min(2.2vw,22px);
  letter-spacing:0.1em;
}
.foot_menu .foot_address dt figure img{
  width:8.5em;
}
.foot_menu .foot_address dt figure figcaption{
  display:block;
  margin-top:1.5em;
}
.foot_menu .foot_address .address{
  margin-top:0.5em;
  line-height:1.6;
  font-weight:500;
}
.foot_menu .foot_address .map{
  margin-top:1em;
}
.foot_menu .foot_address .sns{
  margin-top:min(9vw,90px);
}
.foot_menu .foot_address .sns ul{
  display: -webkit-flex;
  display: flex;
}
.foot_menu .foot_address .sns li{
  width:min(4vw,40px);
}
.foot_menu .foot_address .sns li:last-child{
  margin-left:min(3vw,30px);
  position:relative;
}
.foot_menu .foot_address .sns li:last-child span{
  display:block;
  width:16.5em;
  height:3.5em;
  padding-top:0.5em;
  font-size:min(1.4vw,14px);
  font-weight:bold;
  color:#fff;
  text-align:center;
  background:url(../images/foot_fuki.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  bottom:105%;
}

.foot_menu .right_menu{
  width:min(54%,500px);
}
.foot_menu .right_menu .treatment div{
  text-align:left;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.foot_menu .right_menu .treatment div:nth-child(n+2){
  margin-top:1em;
}
.foot_menu .right_menu .treatment div dt{
  width:100%;
}
.foot_menu .right_menu .treatment div dd{
  margin:0.5em 1.8em 0 0;
}
.foot_menu .right_menu .treatment div dd:before{
  content:'-';
}
.foot_menu .right_menu .treatment div dd a{
  letter-spacing:0.1em;
}
.foot_menu .right_menu .treatment div dd a:hover{
  opacity:1;
  color:#F3858F;
}
.foot_menu .right_menu .banner{
  margin-top:5%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.foot_menu .right_menu .banner li{
  width:49%;
}

@media screen and (max-width:768px){
  .foot_menu{
    width:88%;
    display: block;
    margin-top:-12%;
  }
  .foot_menu .foot_address dt figure{
    font-size:5.5vw;
  }
  .foot_menu .foot_address dt figure img{
    width:35vw;
    display:block;
    margin:auto;
  }
  .foot_menu .foot_address dt figure figcaption{
    margin-top:1em;
  }
  .foot_menu .foot_address .address{
    margin-top:0.5em;
    line-height:1.6;
    font-weight:500;
  }
  .foot_menu .foot_address .map{
    margin-top:1em;
  }

  .foot_menu .right_menu{
    width:100%;
    margin-top:9%;
  }
  .foot_menu .right_menu h3{
    padding-bottom:0.5em;
    text-align:center;
    letter-spacing:0.1em;
    text-indent:0.1em;
    border-bottom:1px solid #D7D0CB;
  }
  .foot_menu .right_menu h3 a:hover{
    opacity:1;
    color:#F3858F;
  }

  .foot_menu .right_menu .treatment div{
    margin-top:1em;
    text-align:left;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .foot_menu .right_menu .treatment div:nth-child(n+2){
    margin-top:1em;
  }
  .foot_menu .right_menu .treatment div dt{
    width:100%;
  }
  .foot_menu .right_menu .treatment div dd{
    margin:0.5em 0 0;
    min-width:49%;
    font-size:3.5vw;
  }
  .foot_menu .right_menu .treatment div dd:before{
    content:'-';
  }
  .foot_menu .right_menu .treatment div dd a{
    letter-spacing:0.1em;
  }

  .foot_menu .right_menu .banner{
    margin-top:5%;
    display: block;
  }
  .foot_menu .right_menu .banner li{
    width:auto;
    margin-top:3%;
  }
}


/* .foot_bottom */
.foot_bottom{
  margin-top:min(9%,90px);
  padding-top:min(3%,30px);
  background-color:#fff;
}
.foot_bottom .menu{
  max-width:1032px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.foot_bottom .menu li a{
  font-size:min(1.5vw,15px);
  letter-spacing:0.03em;
  text-indent:0.03em;
}
.foot_bottom .menu li a:hover{
  opacity:1;
  color:#F3858F;
}
.foot_bottom .copy{
  line-height:3;
  margin-top:min(7%,70px);
  font-size:min(1.3vw,13px);
  font-weight:bold;
}

@media screen and (max-width:768px){
  .foot_bottom{
    margin-top:min(9%,90px);
    padding-top:min(3%,30px);
  }
  .foot_bottom .menu{
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .foot_bottom .menu li{
    width:48%;
    padding:0.8em 0;
    border-bottom:1px solid #D7D0CB;
  }
  .foot_bottom .menu li a{
    font-size:4vw;
  }
  
.foot_bottom .sns{
  margin-top:25%;
}
.foot_bottom .sns ul{
  display: -webkit-flex;
  display: flex;
}
.foot_bottom .sns li{
  width:10vw;
}
.foot_bottom .sns li:last-child{
  margin-left:7vw;
  position:relative;
}
.foot_bottom .sns li:last-child span{
  display:block;
  width:16.5em;
  height:3.5em;
  padding-top:0.5em;
  font-size:3.5vw;
  font-weight:bold;
  color:#fff;
  text-align:center;
  background:url(../images/foot_fuki.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  bottom:105%;
}  
  
  
  .foot_bottom .copy{
    margin-top:12%;
    font-size:3.2vw;
  }
}


/* #topbtn */
#topbtn{
  width:50px;
  line-height:50px;
  font-size:21px;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  border-radius:50%;
  color:#fff;
  box-shadow:0 0 3px rgba(0,0,0,0.3);
  position:fixed;
  z-index:99;
  right:20px;
  bottom:-150px;
  -webkit-transition: bottom 0.8s;
  transition: bottom 0.8s;
}
@media screen and (max-width:768px){
  #topbtn{
    width:40px;
    line-height:40px;
    font-size:18px;
    right:15px;
  }
}


/* #bottom_nav */
#bottom_nav{
}


/* LINE固定バナー */
#lineBanner{
  position:fixed;
  left:20px;
  bottom:20px;
  z-index:98;
  width:274px;
  text-align:left;
  -webkit-transition:opacity 0.4s, visibility 0.4s;
  transition:opacity 0.4s, visibility 0.4s;
}
#lineBanner.is_hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#lineBannerClose{
  position:absolute;
  top:0;
  right:0;
  width:26px;
  height:26px;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  z-index:2;
  line-height:0;
}
#lineBannerClose:hover{ opacity:0.7; }
.line_banner_link{
  display:block;
  text-decoration:none;
}
.line_banner_link:hover{ opacity:0.8; }
.line_banner_tag{
  display:inline-block;
  padding:4px 16px 5px;
  background:#00C24F;
  border-radius:3px 3px 0 0;
  font-size:14px;
  font-weight:bold;
  color:#fff;
  letter-spacing:1.4px;
  line-height:1.2;
}
.line_banner_body{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  border:2px solid #00C24F;
  border-radius:0 3px 3px 3px;
}
.line_banner_icon{
  width:44px;
  height:44px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
  line-height:0;
}
.line_banner_icon img{
  width:100%;
  height:100%;
}
.line_banner_tit{
  font-size:18px;
  font-weight:bold;
  color:#00C24F;
  letter-spacing:1.8px;
  line-height:1.2;
}
.line_banner_black{
  font-weight:900;
}
.line_banner_desc{
  margin-top:4px;
  font-size:14px;
  font-weight:bold;
  color:#4A3940;
  letter-spacing:1.4px;
  line-height:1.2;
}
@media screen and (max-width:768px){
  #lineBanner{
    display:none;
  }
}

/* SP LINE展開バナー */
#spLineBanner{
  position:fixed;
  right:0;
  bottom:80px;
  z-index:97;
  -webkit-align-items:stretch;
  align-items:stretch;
  -webkit-flex-direction:row;
  flex-direction:row;
}
#spLineBanner .sp_line_tab{
  padding:10px 12px;
  background:#00C24F;
  border:none;
  border-radius:3px 0 0 3px;
  cursor:pointer;
  display:-webkit-flex;
  display:flex;
  -webkit-flex-direction:column;
  flex-direction:column;
  -webkit-align-items:center;
  align-items:center;
  -webkit-justify-content:center;
  justify-content:center;
  gap:6px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
}
#spLineBanner .sp_line_tab_txt{
  font-size:14px;
  font-weight:bold;
  color:#fff;
  letter-spacing:1.4px;
  line-height:1.1;
  text-align:center;
}
#spLineBanner .sp_line_tab_arw{
  width:20px;
  height:20px;
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
  -webkit-transition:transform 0.3s;
  transition:transform 0.3s;
}
#spLineBanner.is_open .sp_line_tab_arw{
  -webkit-transform:rotate(0deg);
  transform:rotate(0deg);
}
#spLineBanner .sp_line_panel{
  max-width:0;
  overflow:hidden;
  background:#fff;
  border-top:2px solid #00C24F;
  border-bottom:2px solid #00C24F;
  border-right:none;
  border-left:none;
  display:-webkit-flex;
  display:flex;
  -webkit-align-items:center;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
  -webkit-transition:max-width 0.4s ease;
  transition:max-width 0.4s ease;
}
#spLineBanner.is_open .sp_line_panel{
  max-width:100vw;
  width:100vw;
}
#spLineBanner .sp_line_panel_txt{
  padding:10px 16px;
  font-size:14px;
  font-weight:bold;
  color:#4A3940;
  letter-spacing:1.4px;
  line-height:1.2;
  text-align:left;
}
#spLineBanner .sp_line_panel_txt p + p{
  margin-top:2px;
}
#spLineBanner .sp_line_panel_icn{
  width:30px;
  height:30px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
  margin-right:16px;
}

/* SP下部固定ナビ */
#spBottomNav{
  position:fixed;
  left:0;
  bottom:0;
  width:100%;
  z-index:98;
  -webkit-justify-content: center;
  justify-content: center;
  gap:8px;
  padding:10px 16px;
  background:transparent;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
#spBottomNav a{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap:8px;
  width:calc(50% - 4px);
  max-width:180px;
  padding:10px 0;
  border-radius:7px;
  text-decoration:none;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.sp_bnav_tel{
  background:#fff;
  border:2px solid #76C2FD;
}
.sp_bnav_tel svg{
  width:14px;
  height:25px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
}
.sp_bnav_tel span{
  font-size:16px;
  font-weight:900;
  color:#4D9EDE;
  letter-spacing:1.6px;
  line-height:1.2;
}
.sp_bnav_web{
  background:#F27480;
}
.sp_bnav_web svg{
  width:20px;
  height:20px;
  -webkit-flex-shrink:0;
  flex-shrink:0;
}
.sp_bnav_web span{
  font-size:16px;
  font-weight:bold;
  color:#fff;
  letter-spacing:1.6px;
  line-height:1.2;
}




/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}