﻿@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@100;200;400;500&display=swap');

body{
font-family:游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
margin:0;
padding:0;
font-size:1.0rem;
color:#111;
line-height:1.8;
font-weight:normal;
overflow-x:hidden;
}

.btn_fixed img:hover{
opacity:0.78;
}

p{
font-family:游ゴシック体, 'Yu Gothic', YuGothic,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
margin:0;
padding:0;
font-size:1.0rem;
color:#111;
line-height:1.8;
text-align: justify;
text-justify: inter-ideograph;
}


.mt_none{
margin-bottom:0 !important;
}

.align_left{
text-align:left !important;
}

b{
font-weight:bold;
}

a{
outline: none;
text-decoration:none;
border:none;
}

a:hover{
text-decoration:underline;
}

a:focus{
outline: none;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

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

p{
margin:0 0 30px 0;
}

#header{
 padding:.5em 1em;
 background:url(../../images/kv.webp)no-repeat center top;
 background-size:cover;
 height:100vh;
 position:relative;
}

#header .logo{
 width:140px;
 position:absolute;
 left:.5em;
 top:1em;
 z-index:5;
}

#header .Contents_wrapper{
 max-width:700px;
 margin:auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
    align-items: center;
 height:100%;
}

#header .Contents_wrapper h1{
 margin:10vh auto 0;
 padding:0;
 width:95%;
 max-width:480px;
}

main#wrapper{
 margin:auto;
 max-width:700px;
}

.comm_contents{
max-width:1080px;
margin:auto;
text-align:center;
position:relative;
z-index:6;
}

.light-pk{
 background:#ffeeed;
}

article.blue{
 background:#eef6fb;
 padding-top:2em;
 padding-bottom:2em;
}

article.cta{
 background:#f78a8a;
 padding:2em 1.5em;
 position:relative;
 z-index:5;
}

article.pl-none{
 padding-left:0;
 padding-right:0;
}


article.no{
 padding-top:3em;
 padding-bottom:2em;
}

article.pb_triangle{
 padding-bottom:25vh;
}


section.fv{
 background:#fafaf9;
 background-size:cover;
 padding:0 1em 0 1em;
 margin-bottom:0;
}

section .comm_wrap{
padding:3vh .9em;
}

section .comm_wrap.pb_none{
 padding-bottom:0;
}

section.cta .comm_wrap{
padding:0;
}

.Center{
 text-align:center;
}

.cta-wrap{
 background: #f4d2d6;
background: -moz-linear-gradient(-45deg,  #f4d2d6 0%, #66bee3 26%, #da8ec9 47%, #f1d9cf 93%, #9bc4fc 100%);
background: -webkit-linear-gradient(-45deg,  #f4d2d6 0%,#66bee3 26%,#da8ec9 47%,#f1d9cf 93%,#9bc4fc 100%);
background: linear-gradient(135deg,  #f4d2d6 0%,#66bee3 26%,#da8ec9 47%,#f1d9cf 93%,#9bc4fc 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4d2d6', endColorstr='#9bc4fc',GradientType=1 );
padding:1.5em;
margin:auto;
}

.cta-wrap .inner{
 background:#fff;
 border-radius:.85em;
 padding:.75em;
}

.cta-wrap .inner .top-text{
 font-size:1.6rem;
 margin:0 auto .5em;
 padding:0 .55em;
 text-align:center;
 line-height:1.45;
 font-weight:600;
 position:relative;
 display: inline-block;
}

.cta-wrap .inner .top-text img{
 max-width:50px;
}

.cta-wrap .inner .top-text::before{
   content:"";
   display:inline-block;
   width:2px;
   height:40px;
   background-color:#f1d9cf;
   position:absolute;
   top:5px;
   left:-10px;
   transform: rotate(-40deg);
   border-radius:10px;
}

.cta-wrap .inner .top-text::after{
   content:"";
   display:inline-block;
   width:2px;
   height:40px;
   background-color:#f1d9cf;
   position:absolute;
   top:5px;
   right:-10px;
   transform: rotate(40deg);
   border-radius:10px;
}

.Cta_btn{
 animation: bound 3s infinite;
 max-width:970px;
 border-radius:1.2em;
 margin-left:auto;
 margin-right:auto;
 text-align:center;
}

.Cta_btn a{
 overflow: hidden;
 position:relative;
 display: block;
}

p.left{
 text-align:left;
}

p:last-child{
 margin-bottom:0;
}

.center{
 text-align:center !important;
}

.mb_none{
 margin-bottom:0 !important;
}

.valiation_wrap{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
    align-items:center;
}

.valiation_wrap .Image{
 width:40%;
 }

.valiation_wrap .Text{
 width:55%;
}

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

	.cta-wrap .inner .top-text{
	 font-size:1.15rem;
	}

	.cta-wrap{
	    padding: 2.5vh 3vw;
	}

}

/************ 見出し *************/

.txt_center{
 text-align:center;
}

h2.ttl{
 color:#000;
 font-weight:600;
 font-size:2.0rem;
 line-height:1.5;
 margin:0 auto 0 auto;
 position:relative;
 text-align:center;
 padding:0 .5em .5em;
 border-bottom:3px solid #fff;
 display:inline-block;
}

h2.ttl.pk{
 border-bottom:3px solid #f1d9cf;
 min-width:50%;
}


span.en{
 display:block;
 margin-bottom:1em;
 margin-top:.5em;
 text-align:center;
 color:#fff;
 font-size:1.15rem;
 font-family: 'Montserrat', sans-serif;
}


span.en.bk{
 color:#000;
}

.ttl_wrap{
   display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
    align-items:center;
}

.ttl_wrap .image{
 width:210px;
}

.ttl_wrap .text{
 width:calc(100% - 230px);
}

h3{
 color:#f78a8a;
 font-weight:600;
 font-size:1.1rem;
 line-height:1.5;
 margin:0 auto .5em auto;
 position:relative;
}

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

	/************ 見出し *************/

	h2.ttl{
	 font-size:1.45rem;
	 margin:0 auto .5em auto;
	 padding:0 .5em .35em;
	}

	h3{
	 font-size:1.15rem;
	 margin-bottom:.5em;
	}

	span.en{
	 margin-top:0;
	 margin-bottom:1em;
	 font-size:1.0rem;
	}

	.detail_wrap span.en{
	 margin-bottom:.5em
	}

	/************ 見出し *************/
}

/************ 見出し *************/

/************ コンテンツ *************/

p.min{
 font-size:1.0rem;
 }


article{
  max-width:700px;
  margin:auto;
 }


.flex_box{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:space-between;
}

.flex_box:nth-of-type(n+2){
 margin-top:4vh;
} 

section.recommend .flex_box:nth-of-type(n+2), section.light-pk .flex_box:nth-of-type(n+2), section.grade .flex_box:nth-of-type(n+2){
 margin-top:0;
}

.flex_box.reverse{
 flex-direction: row-reverse;
}

.flex_box.align_center{
 align-items:center;
}

.flex_box .image{
 width:50%;
}

.flex_box .fl_text{
  width:100%;
 font-size:0.9rem;
 }

.flex_box .fl_text p{
 padding:.5em;
 font-size:0.9rem;
 line-height:1.4;
}

.flex_box .fl_image{
 width:100%;
}

.flex_box .text{
  width:48%;
 font-size:0.9rem;
 }

.flex_box .text p{
 font-size:1.0rem;
 line-height:1.45;
text-align: justify;
text-justify: inter-ideograph;
 margin-bottom:0;
}

.Flow_wrap{
 margin:0 auto .5em auto;
 width:calc(97% / 4);
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:flex-start;
 position:relative;
}

.Flow_wrap h3{
 text-align:center;
 margin:.5em auto 0;
}

.Flow_wrap:nth-of-type(-n+3):after{
  content:'';
  background:url(../../images/arrow.svg)no-repeat;
  background-size:contain;
  position:absolute;
  right:-23px;
  top: 30%;
  transform: translateY(-30%);
  -webkit- transform: translateY(-30%);
  display:block;
  width:26px;
  height:20px;
  z-index:2;
}


.Flow_wrap .text p{
 line-height:1.55;
 border-radius:.45em;
 }

.Flow_wrap .text p:last-child{
  margin-bottom:0;
}

.Flow_wrap .text h3{
 text-align:center;
}

.flex_box .Hurf{
 width:calc(99% / 2);
 margin-top:.5em;
}

ul.check{
 list-style:none;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content:center;
 margin-bottom:.5em;
}

ul.check li{
 padding-left:1.5em;
 background:url(../../images/check.svg)no-repeat left center;
 background-size:30px;
 font-weight:bold;
 font-size:1.45rem;
 margin-top:0;
 text-align:left;
 margin-right:1em;
}

@media screen and (max-width: 767px) {
	.flex_box .fl_image{
	 width:70%;
	 margin:0 auto 1em;
	}

	.flex_box .fl_text{
	 padding:.9em;
	 background:#fff;
	 border-radius:.5em;
	}

	ul.check li{
	 font-size:1.2rem;
	padding-left:1.5em;
 background-size:25px;
	}

	.flex_box .text p{
	    font-size: 0.825rem;
	}

	.flex_box .fl_text p{
	 font-size:1.0rem;
	}

	.Flow_wrap h3{
	 margin-bottom:.23em;
	}

}

/******************************************

おすすめ

*********************************************/

section.recommend{
 background:url(../../images/bg-grad.png)no-repeat center center;
 background-size:cover;
 padding:5vh 2vw 21vh;
 color:#fff;
 min-height:50vh;
}

section.recommend span.en{
 color:#000;
}

section.point{
 margin-top:-18vh;
}

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

	section.recommend{
         padding-top: 3vh;
	 padding-bottom:8vh;
	}

	section.point{
	 margin-top:-9vh;
	}

	section.point .comm_wrap{
	 padding-bottom:0;
	}

}

/******************************************

料金

*********************************************/


.price_title{
 color:#fde3e3;
 font-weight:bold;
 font-size:2.0rem;
 text-align:center;
 margin:0 auto 1em auto;
}
.price_title_pill{
	color:black;
	font-weight:bold;
	font-size:2.0rem;
	text-align:center;
	margin:0 auto 1em auto;
   }

.price_title span{
 color:#000;
 font-size:1.8rem;
}

.price_table{
 max-width:700px;
 margin:auto;
}

.price_table dl{
 margin:0 auto 1em auto;
 width:100%;
}

.price_table dl dt{
 background:#fde3e3;
 padding:1em;
 text-align:center;
 font-size:1.15rem;
 width:100%;
 font-weight:600;
 border-top-left-radius:14px;
 border-top-right-radius:14px;
 color:#000;
 font-weight:normal;
 margin-bottom:0;
}

.price_table dl dt span{
 font-size:1.45rem;
 font-weight:bold;
}

.price_table dl:last-child{
 margin-bottom:0;
}

.price_table dl dd{
 background:#fff;
 border:1px solid #f1d9cf;
 border-top:0;
 padding:1em;
 text-align:right;
 width:100%;
 margin:0;
 text-align:center;
 border-bottom-left-radius:14px;
 border-bottom-right-radius:14px;
 }

.price_table dl dd span{
 font-weight:bold;
 font-size:50px;
 line-height:1.25;
}

.price_table dl dd p{
 margin-bottom:.5em;
 text-align:center;
}

.price_table dl dd span font{
 font-size:26px;
}

.price_table dl dd .bottom{
 padding-top:1em;
 border-top:3px solid #eee;
 text-align:center;
 font-size:0.9rem;
}

.price_table dl dt.blue{
background:#bdd0e5;
}

.price_table dl dt.yellow{
background:#faf6e9;
}
.slick-slider{
 padding-left:0;
 margin-bottom:0;
}

.slick-initialized .slick-slide{
 padding:0 5px;
 marign:auto;
}

/*===================================
    slick 矢印
===================================*/

.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  z-index: 1;
}
.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
  width: 36px;
  height: 36px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
}

/* next */

.slick-next {
  right: 36px;
}
.slick-next::after {
  right: 4px;
  transform: rotate(45deg);
}

/* prev */

.slick-prev {
  left: 36px;
}
.slick-prev::after {
  left: 4px;
  transform: rotate(-135deg);
}

.button:hover, button:hover, input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover {
    background-color: transparent;
}

@media screen and (max-width: 767px) {
  .slick-next::after,
  .slick-prev::after {
    width: 20px;
    height: 20px;
  }
  .slick-next {
    right: -5px;
  }
  .slick-prev {
    left: -5px;
  }
  .slick-next::after {
    right: 2px;
  }
}

/******************************************

改善が見込まれます

*********************************************/

section.grade{
 background:url(../../images/bg.jpg)no-repeat center top;
 background-size:cover;
 padding:5vh 0;
 color:#fff;
}

section.grade p, section.grade h2{
 color:#000;
}

section.grade h2.ttl{
 margin-bottom:.5em;
}

section.grade p.min{
 font-size:10px;
 margin-bottom:1em;
 text-align:center;
}

section.grade .Hurf{
 width:calc(100% / 2);
 margin-bottom:0;
}

.text_center{
 text-align:center;
}

.comm_wrap{
    max-width:100%;
    margin: auto;
    position:relative;
    z-index:6;
}

.caution_wrap{
 border:5px solid rgba(221,221,221,0.35);
 background:#fff;
 padding:1em;
 margin:0 auto 2em auto;
}

.caution_wrap p{
 margin-bottom:1em;
 font-size:1.2rem;
}

.caution_wrap p:last-child{
 margin-bottom:0;
}

p span{
 color:#fe0009;
}

p span.underline{
 text-decoration:underline;
}



/******************************************

成分について

*********************************************/

.detail_wrap{
 border:solid 5px #f1d9cf;
 background:#fff;
 width:95%;
 margin:-5vh auto 2vh;
 padding:1em;
 border-radius:.85em;
}

section.bg-slanting{
 background:url(../../images/bg-slanting.png)no-repeat center center;
 background-size:cover;
 padding:5vh 3vw 2vh;
 min-height:20vh;
}

/******************************************

お客様の声

*********************************************/

.re-title-wrap{
  background:url(../../images/bg-top.jpg)no-repeat center top;
  background-size:cover;
  padding:5vh 3vw 1vh;
}

.vo_wrap{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
    margin-bottom:1em;
}

.vo_wrap:last-child{
 margin-bottom:0;
}

.vo_wrap .img{
 width:20%;
}

.vo_wrap .text{
 width:78%;
}

.vo_wrap .text p{
 font-size:0.9rem;
}

.vo_wrap .text .name{
 font-weight:bold;
}

.vo_title{
 font-weight:600;
 color:#e698a4;
 font-size:1.1rem;
 text-align:center;
 margin:0 auto .5em;
}

section.voice{
 background:#f1d9cf;
 padding:5vh 3vw;
}

.faq{
 margin-bottom:2em;
}

.faq .title{
    padding-bottom:.5em;
    border-bottom:2px solid #dddddd;
    margin-bottom:1em;	
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:flex-start;
    align-items:center;
    font-size:1.4rem;
    line-height:1.4;
    color:#5f3939;
    font-weight:bold;
}

.faq .title:before{
 content:'Q';
 font-weight:bold;
 font-size:40px;
 color:#f8a198;
 margin-right:.5em;
 font-family: 'Alata', sans-serif;
 }

.faq .text:before{
 content:'A';
 font-weight:bold;
 font-size:40px;
 color:#72aee1;
 position:absolute;
 top:-.8em;
 left:1em;
 font-family: 'Alata', sans-serif;
}

.faq .text{
background:#ececff;
padding:2.5em 1em 1em 1em;
position:relative;
margin-bottom:2.5em;
text-align:left;
}

.faq .text p{
 margin-bottom:1em;
}

.faq .text p:last-child{
 margin-bottom:0;
}

span.marker{
    background: linear-gradient(transparent 60%, #fffbd4 40%);
    color:#1a1a1a;
}

span.marker_w{
    background: linear-gradient(transparent 80%, #fffbd4 20%);
    color:#fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.15);
    font-size:1.3rem;
    font-weight:bold;
}

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

	section.voice{
	      padding: 2.5vh 3vw;
	 }

 }


/************ コンテンツ *************/

footer{
 padding:3em 1em 190px 1em;
 font-size:0.9rem;
 background:#fff;
 color:#1a1a1a;
}

footer .copy{
 font-size:0.8rem;
 text-align:center;
 max-width:1080px;
 margin:auto;
  color:#888;

}


.Bnr{
  position: relative;
  margin: 0 auto;
  width:100%;
  display: none;
}

.Bnr .Bnr__img{
  position: fixed;
  bottom:0;
 width:100%;
   z-index: 999;
  background-color: rgb(255 238 237 / 95%);
}

.Bnr__img__inner{
  box-sizing:border-box;
  padding: 15px 10px 10px 10px;
  max-width:1080px;
  margin:auto;
}
.Bnr .Bnr__img__inner a{
  display: block;
    background-color: #25dd00;
    border-radius: 5px;
    -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,.5);
    box-shadow: 1px 1px 5px rgba(0,0,0,.5);
    border-bottom: 3px solid #160;
    text-decoration: none;
    color:#fff;
    position:relative;
    overflow:hidden;
    text-align:center;
}

.Bnr .Bnr__img__inner a::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 40px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}

.Bnr .Bnr__img p.close{
  position: absolute;
  right: 20px;
  top:10px;
}
.Bnr .Bnr__img p.close a{
  display: block;
  width: 20px;
  height: 25px;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
  font-size: 22px;
  z-index: 888;
  color: #fff;
}

.Bnr__img__inner .Text_center{
 text-align:center;
 font-size:1.2rem;
 margin:0 auto 5px auto;
 color:#fff;
 padding:.2em;
 border:1px solid #fff;
 width:90%;
 max-width:400px;
}

.Bnr .Bnr__img__inner p{
 color:#fff;
 text-align:center;
     font-weight: 700;
 margin-bottom:0;
font-family:'Noto Sans JP', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;

}

.bottom_menu_contents_wrap {
width: 100%;
margin: 0;
display:table;
}

.bottom_menu_contents {
display: table-cell;
width: 49%;
padding-right:5px;
vertical-align:top;
}

.bottom_menu_contents:nth-of-type(2){
padding-right:0;
padding-left:5px;
}

.bottom_menu_contents a {
display: block;
width:100%;
}

.bottom_menu_contents .btn_tel{
 font-size:1.7rem;
 padding:.55em .3em;
 }

.bottom_menu_contents a:hover{
 background:none;
}

.btn_mail{
background:#319400 !important;
border-bottom: solid 3px #216500 !important;
}

.btn_mail:hover{
 background:#43ca00 !important;
}

span.small{
 display:block;
 line-height:1.3;
 font-size:0.9rem;
 letter-spacing:0;
}


ul.footer_links{
 max-width:1080px;
 margin:0 auto 2em auto;
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:center;
 list-style:none;
}

ul.footer_links li{
  margin-right:1em;
  font-size:1.0rem;
 }

ul.footer_links li:after{
 content:'/';
 margin-left:1em;
 }

.point_wrap{
     display: flex;
    flex-direction: row;
    flex-wrap: wrap;
justify-content:space-between;
}

.point_wrap .Item{
 width:calc(99% / 2);
 margin-bottom:1em;
 }

.point_wrap .Item p.ttl{
 color:#1a1a1a;
 font-weight:600;
 font-size:1.6rem;
 margin:.75em auto 0 auto;
 text-align:center;
 font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W6", HiraMinProN-W6, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif !important;
}

p.left{
	 text-align:left;
}

dl.table{
 display:table;
 width:100%;
 padding:0;
 margin:0;
}

dl.table:first-child{
 border-top:none;
}

dl.table dt{
 display:table-cell;
 width:30%;
 vertical-align:middle;
 text-align:center;
 font-weight:500;
 font-size:0.9rem;
}

dl.table dd{
 width:70%;
 padding:1em;
 vertical-align:middle;
 display:table-cell;
 letter-spacing:.1em;
 text-align:left;
 font-size:0.9rem;
}

iframe{
 margin:0 auto 0 auto;
 vertical-align:bottom;
}

.Logo{
 margin:0 auto 1.5em auto;
 text-align:center;
 max-width:150px;
}

dl dd {
    margin-left: 0;
}

/******* アコーディオン *******/

ul.menu:first-child .menu__item{
  border-top:1px solid #000;
}

.menu__item {
  cursor: pointer;
  display: block;
  margin-bottom: 1px;
  border-bottom:1px solid #000;
}

.menu__item__link {
  padding: 0;
  position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
  justify-content:space-between;
}

.menu_item_wrap{
 width:calc(100% - 60px);
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
  justify-content:space-between;
 align-items:center;
 }

.flex_items_center{
 align-items:center;
 padding:.5em 0;
}

.menu__item__link:after {
  content: '\f107';
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content:center;
    align-items: center;
  font-family: "FontAwesome";
  right: 0;
  text-align: center;
  top: 0;
  width: 60px;
  color:#000;
  font-size:30px;
}


ul.menu, ul.menu li{
 list-style:none;
 padding:0;
}

ul.menu:last-child{
 margin-bottom:0;
}

ul.submenu{
 list-style:none;
 margin-bottom:0;
}

a.menu__item__link:hover{
 text-decoration:none;
 }

.menu__item__link div.sec-wrap{
 padding:1em 0;
 font-weight:bold;
 font-size:1.3rem;
 width:calc(100% - 60px);
 line-height:1.6;
 
}

.menu__item__link div.sec-wrap div{
  display:flex;
 text-align:left;
 line-height:1.5;
 align-items:center;
 flex-direction: row;
 }

.menu__item__link div.sec-wrap div.top{
 align-items:flex-start;
}

.menu__item__link div.sec-wrap div.center{
 align-items:center;
}

.menu__item__link div.sec-wrap div.top:before{
  margin-top:-10px
 }

.sec-wrap-anther{
   display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content:flex-start;
}

.anther-center{
 align-items:center;
 }

.sec-wrap-anther div{
 text-align:left;
 line-height:1.5;
 width:100%;
 }

.sec-wrap-anther div p:last-child{
 margin-bottom:0;
}

.menu__item__link.on:after {
  content: '\f106';
}

a.menu__item__link:hover {
    border-bottom-color:#36b3e1;
}
 
.submenu {
  display: none;
}
.submenu__item {
  padding:1rem !important;
}

/******* アコーディオン *******/

ul.disc{
 list-style:disc !important;
 padding:0;
 margin:0;
}

ul.disc li{
 margin-bottom:.5em;
 padding-left:1em;
 text-indent:-1.4em;
 list-style-position:inside;
 margin-left:1.2em;
 list-style:disc !important;
}

ul.disc li:last-child{
 margin-bottom:0;
}

/******* クリニック情報 *******/

.Clinic_wrapper{
    width:100%;
    margin-top:5vh;
 }

.Clinic_wrapper .Item{
  width:calc(100% / 1);
  padding:2.5em;
  background:#fff;
 }

.Clinic_wrapper .Item:first-child{
  background:url(../../images/clinic_image.jpg)no-repeat center center;
  background-size:cover;
  min-height:30vh;
 }

.Clinic_wrapper h2{
 color:#fff;
 }

article.clinic{
 padding-left:0;
 padding-right:0;
}

.Bnr .Bnr__img__inner p:before {
    content: "";
    width: 25px;
    height: 25px;
    display: inline-block;
    background: url(../../images/line.png);
    background-size: cover;
    background-position: 50%;
    -webkit-transform: translate(-5px,5px);
    transform: translate(-5px,5px);
}

.Bnr .Bnr__img__inner:hover {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
}



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

	.sp_image{
	   display:none;
	}

	.br-sp02{
	 display:none;
	}

	.Bnr .Bnr__img__inner p:before {
	    -webkit-transform: translate(-9px,7px);
	    transform: translate(-9px,7px);
	    width: 40px;
	    height: 40px;
	}

	.Bnr .Bnr__img__inner p {
	    font-size: 32px;
	}

 }

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

	#header .Contents_wrapper{
	    flex-wrap: nowrap;
	}

	.Clinic_wrapper{
	 margin-top:0;
	}

	  .pc_image{
	   display:none;
	 }

	.br-sp{
	   display:none;
	}


	#header{
	    padding:.5em;
	}

	article.cta{
	 padding-left:.75em;
	 padding-right:.75em;
	 padding-bottom:1em;
	}

	article.cream{
	 padding-top:1em;
	 padding-bottom:1em;
	}

	article.blue {
	    padding-top: 1em;
	    padding-bottom:1em;
	}

	article.light-pk{
        padding-top: 1em;
    	padding-bottom:1em;
	}

	article.ttl {
	    padding-top:.5em;
	    padding-bottom: 0;
	}

	section.fv {
	    background: #fafbfc;
	    padding:.3em 0 0 0;
	}

	#header .Contents_wrapper .Left {
	    max-width: 100px;
	    width: 50%;
	}

	  main #wrapper{
	 max-width:640px;
	 margin:auto;
	 }

	.cta_head {
	    margin-top: -2.5em;
	}

	.cta_head span{
	 font-size:1.6rem;
	}

	 .cta_middle p:first-child{
		 font-size:1.4rem;
	 	 line-height:1.6;
	         margin:0 auto 1em auto;
	         width:85%;
		}

	#header .Contents_wrapper .Right {
	    width: 70%;
	    min-width:70%;
	}

	.price_title{
	 margin-bottom:.75em;
	}

	.box_border{
	 padding:.75em;
	}

	.box_border > p.min{
	 font-size:0.85rem;
	}

	.Bnr .Bnr__img p.close{
	  position: absolute;
	  right:3px;
	  top:0px;
	}

	.Bnr__img__inner{
	text-align:center;
	padding: 10px 10px 5px 10px;
	}

	.Bnr__img__inner .Text_center{
	 text-align:center;
	 font-size:0.9rem;
	 margin:0 auto 5px auto;
	 color:#fff;
	 padding:.2em;
	 border:1px solid #fff;
	 width:90%;
	}

	.bottom_menu_contents_wrap{
	 margin-top:0px;
	}

	.sp_mb_none{
	 margin-bottom:0;
	}

	footer{
	 padding:1.5em 1em 110px 1em;
	 font-size:0.9rem;
	}

	ul.footer_links{
	 padding:0;
	 margin-bottom:0;
	}


	ul.footer_links li{
	  margin-right:1em;
	  font-size:1.0rem;
	  width:100%;
	 border:1px solid #fff;
	 margin:0 auto 1em auto;
	 padding:0;
	 }

	ul.footer_links li a{
	 display:block;
	 padding:.5em;
	 border:1px solid #1a1a1a;
	 font-size:0.85rem;
	}

	ul.footer_links li:after{
	 display:none;
	 }

	footer .copy{
	 font-size:0.75rem;
	}



	.price_title{
	 font-size:1.45rem;
	}

	.price_title span{
	 font-size:1.25rem;
	}

	.price_table dl dt{
	 font-size:1.1rem;
	 line-height:1.4;
	 padding:.8em;
	}

	.price_table dl dt span{
	 font-size:1.45rem;
	 font-weight:bold;
	 }

	.price_table dl dd{
	 font-size:1.1rem;
	 padding:.8em;
	 }

	.price_table dl dd span font{
	 font-size:1.4rem;
	}

	.deliver_wrap{
	 margin-bottom:0;
	}

	.caution_wrap p{
	 margin-bottom:1em;
	 font-size:1.1rem;
	}

	p.min{
	 font-size:0.9rem;
	 text-align:left;
	 }

	.caution_wrap .Title{
	 font-size:1.4rem;
	 color:#5f3939;
	}

	section.pt{
	 padding:2em 0;
	 margin-bottom:0;
	}

	section.pt .caution_wrap{
	 margin-bottom:0;
	}


	.deliver_wrap dl dt{
	 width:30%;
	}

	.deliver_wrap dl dd{
	 font-size:1.0rem;
	}

	.deliver_wrap dl dt span {
	    font-size: 1.15rem;
	}

	article.titme{
	 position:relative;
	}

	article.titme .Title{
	 font-size:1.45rem;
	 line-height:1.5;
	}

	article.titme p{
	 font-size:1.05rem;
	}

	.valiation_wrap .Image{
	 width:100%;
	 margin-bottom:.5em;
	 }

	.valiation_wrap .Text{
	 width:100%;
	}

	div.name p {
	    font-size: 1.0rem;
	    margin-bottom:1em;
	}

	article.no {
	    padding-bottom:1em;
	    padding-top:1em;
	}

	.point_wrap .Item{
	 width:calc(100% / 1);
	 margin-bottom:1.5em;
	 }

	.point_wrap .Item:nth-of-type(n+5){
	 margin-bottom:1.5em;
	}

	.point_wrap .Item:last-child{
	 margin-bottom:0;
	}

	.point_wrap .Item p.ttl{
	 font-size:1.25rem;
	}

	article.triangle{
	 padding-bottom:1em;
	}

	.faq .title {
	    display: flex;
	    flex-direction: row;
	    flex-wrap: nowrap;
	    justify-content: flex-start;
	    align-items: flex-start;
	    font-size: 1.25rem;
	    line-height: 1.4;
	    color: #5f3939;
	    font-weight: bold;
	    text-align:left;
	}

	.faq .title:before{
	 content:'Q';
	 font-size:30px;
	 margin-right:.5em;
	 margin-top:-.2em;
	 }

	.faq .text:before{
	 content:'A';
	 font-weight:bold;
	 font-size:30px;
	 color:#72aee1;
	 position:absolute;
	 top:-.8em;
	 left:.5em;
	}

	.menu__item__link:after{
	 font-size: 20px;
	 width:40px;
	}

	.faq .text{
	 padding-top:2em;
	}

	p.txt_center{
	 text-align:left;
	}

	.caution_wrap p{
	 text-align:left;
	}

	.Logo {
	    text-align: center;
	    max-width: 150px;
	}

	dl.table dt{
	 width:100%;
	 display:block;
	 margin-bottom:.5em;
	 background:#ffeeed;
	}

	dl.table dd{
	 width:100%;
	 display:block;
	 padding:.5em 0 .8em 0;
	}

	.Flow_wrap{
	 flex-wrap:wrap;
	 width: calc(100% / 1);
	}

	.Flow_wrap:nth-of-type(-n+3):after{
	  display:none;
	}

	.Flow_wrap:nth-of-type(-n+3):before{
	  content:'';
	  background:url(../../images/arrow.svg)no-repeat;
	  background-size:contain;
	  position:absolute;
	  transform:rotate(90deg);
	  bottom:-18px;
	  display:block;
	  width:36px;
	  height:36px;
	  z-index:2;
	}

	.Flow_wrap:last-child{
	 margin-bottom:0;
	}

	.Flow_wrap .number {
	    width: 70px;
	    margin:0 auto .5em auto;
	}

	.Flow_wrap .image {
	    max-width: 70%;
	    margin:0 auto .5em auto;
	}

	.Flow_wrap .text {
	    width:100%;
	    min-height:auto;
	    padding:1em;
	    background:#fff;
	    border-radius:.55em;
	}

	.privacy_text{
	    font-size: 0.9rem;
	    background: url(../../images/check.svg)no-repeat left top -1px;
	    background-size: 20px 23px;
	    line-height: 1.4;
	    padding-left:1.7em;
	}

	h2.delivery span::before {
	    content: '';
	    background: url(../../images/delivery_icon.svg)no-repeat;
	    background-size: 76px 58px;
	    position: absolute;
	    top: -65px;
	    left: 50%;
	    transform: translateX(-50%);
	    -webkit- transform: translateX(-50%);
	    display: block;
	    width: 76px;
	    height: 58px;
	}

	.menu__item__link div.sec-wrap{
	 font-size:1.1rem;
	 width: calc(100% - 40px);
	}

	.menu__item__link div.sec-wrap div:before {
	    display: block;
	    margin-top: -10px;
	    font-size: 30px;
	}

	.menu__item__link div.sec-wrap{
	 padding:.7em 0;
	}

	.menu__item__link div.sec-wrap div{
	 align-items:flex-start;
	}

	.menu__item__link div.sec-wrap div.center{
	 align-items:center;
	}

	ul.submenu{
	 padding-left:0;
	}

	.submenu__item {
	    padding: .7rem !important;
	}

	.submenu__item{
	 padding-top:0 !important;
	}

	h2.icon span::before {
	    content: '';
	    background: url(../../images/clinic_icon.svg)no-repeat;
	    background-size: 54px 70px;
	    position: absolute;
	    top: -75px;
	    left: 50%;
	    transform: translateX(-50%);
	    -webkit- transform: translateX(-50%);
	    display: block;
	    width: 54px;
	    height: 70px;
	}

	h2.or:before {
	    content: '';
	    background: url(../../images/book.svg)no-repeat;
	    width: 56px;
	    height: 44px;
	    background-size: contain;
	    position: absolute;
	    top: 0px;
	    left: 50%;
	    transform: translateX(-50%);
	    -webkit- transform: translateX(-50%);
	}

	h2.icon_none{
	 margin-bottom:0;
	}

	h2.icon_none span::before{
	 display:none;
	}

	.Clinic_wrapper{
	    display: block;
	 }

	.Clinic_wrapper .Item{
	  width:calc(100% / 1);
	  display: block;
	  min-height:auto;
	  padding:1em;
	 }

	.privacy_text_wrap{
	 margin-top:0;
	}

	.Bnr__img__inner {
	    text-align: center;
	}

	.Bnr__img__inner .Text_center {
	    text-align: center;
	    font-size: .9rem;
	    margin: 0 auto;
	    color: #fff;
	    padding: .2em;
	    border: 1px solid #fff;
	    width: 90%;
	}

	.Bnr .Bnr__img__inner p {
	    font-size: 20px;
	}

	ul.menu{
	 margin-bottom:.25em;
	}

	ul.disc li {
	    margin-bottom: .5em;
	    padding-left: .2em;
	    text-indent: 0em;
	    list-style-position: inside;
	    margin-left: 1.2em;
	    list-style: disc !important;
	}

	.anther-center {
	    align-items: flex-start;
	}

	.menu__item__link div.sec-wrap div:before, .sec-wrap-anther:before{
          margin-right: 8px;
	}

	.menu__item__link div.sec-wrap div.center:before{
	 margin-top:0;
	}

	span.marker_w{
	    font-size:16px;
	}

	.Bnr .Bnr__img__inner p{
	 font-size:19px;
	}

	.Bnr .Bnr__img__inner p i{
	 margin-left:2px;
	 font-size:17px;
	}

	.Bnr .Bnr__img__inner p:before {
	    content: "";
	    width: 20px;
	    height: 20px;
	    display: inline-block;
	    background: url(../../images/line.png);
	    background-size: cover;
	    background-position: 50%;
	    -webkit-transform: translate(-5px,5px);
	    transform: translate(-5px,5px);
	}

 }

@media screen and (min-width: 767px) and (max-width: 1024px){
	article.triangle:before {
	    content: '';
	    background: url(../../images/triangle_top.gif)no-repeat left bottom;
	    background-size: cover;
	    position: absolute;
	    left: 0;
	    top: -15vh;
	    width: 100%;
	    height: 15vh;
	}

	article.pb_triangle{
		    padding-bottom: 15vh;
		}

	h2.ttl{
	 font-size:1.6rem;
	}

}

@media screen and (max-width: 320px){
	.Bnr .Bnr__img__inner p{
	 font-size:17px;
	}

	.Bnr .Bnr__img__inner p i{
	 font-size:14px;
	}

}