@charset "UTF-8";
/* CSS Document */

/*テキスト処理関係*/
.inltx{
	display:inline-block;
}
.min-text{
	font-size:1.3rem;
}
a{color:#5a2d1d;}

/*▼スクロールアニメーションCSS*/

/* 要素に透過0を指定　*/
.fadeInTrigger,
.fadeDownTrigger,
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger,
.blurTrigger,.blurTrigger50,
.lineTrigger,
.fadeLeftfastTrigger,
.lineTrigger{
    opacity: 0;
}

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* 上から */
.fadeDown{
animation-name:fadeDownAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeDownAnime{
  from {
    opacity: 0;
transform: translateY(-50px);
  }
  to {
    opacity: 1;
transform: translateY(0);
  }
}

/* 下から */
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
transform: translateY(50px);
  }
  to {
    opacity: 1;
transform: translateY(0);
  }
}

/* 左から */
.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
transform: translateX(-50px);
  }
  to {
    opacity: 1;
transform: translateX(0);
  }
}

/* 右から */
.fadeRight{
animation-name:fadeRightAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeRightAnime{
  from {
    opacity: 0;
transform: translateX(50px);
  }
  to {
    opacity: 1;
transform: translateX(0);
  }
}

/* ブラー */
.blur{
animation-name:blurAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
}
.blur50{
animation-name:blurAnime;
animation-duration:5.0s;
animation-fill-mode:forwards;
}
@keyframes blurAnime{
  from {
filter: blur(10px);
transform: scale(1.02);
opacity: 0;
  }
  to {
filter: blur(0);
transform: scale(1);
opacity: 1;
  }
}

/* 1秒間かけてフェードイン */
.fadeIn1s {
    animation-name: fadeIn1s;
    animation-delay: 1s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn1s {
    0% {
    }
    100% {
        opacity: 1;
    }
}
/* 1.5秒間かけてフェードイン */
.fadeIn1500ms {
    animation-name: fadeIn1500ms;
    animation-delay: 1500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn1500ms {
    0% {
    }
    100% {
        opacity: 1;
    }
}
/* 0.5秒間かけてフェードイン */
.fadeIn500ms {
    animation-name: fadeIn500ms;
    animation-delay: 500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn500ms {
    0% {
    }
    100% {
        opacity: 1;
    }
}
/* 2秒間かけてフェードイン */
.fadeIn2s {
    animation-name: fadeIn2s;
    animation-delay: 2s;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn2s {
    0% {
    }
    100% {
        opacity: 1;
    }
}

/*背景色が伸びて出現 共通*/
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
    opacity: 0;
}
.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}
@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から（背景色が伸びて出現）*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/*右から（背景色が伸びて出現）*/
.bgRLextend::before{
  animation-name:bgRLextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
  0% {
    transform-origin:right;
    transform:scaleX(0);
  }
  50% {
    transform-origin:right;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:left;
  }
  100% {
    transform-origin:left;
    transform:scaleX(0);
  }
}

/*==================
ローディング
==================*/
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #f9f6ea;
  text-align: center;
}
#loading_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#loading .kvArea {
  width: 100%;
}
#loading .kvArea .img_box {
  text-align: center;
}
.img_box img {
  width: 25rem;
  height: auto;
}
.text_box{
  font-size:1.8rem;
	text-align:center;
}
.loading-fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.2s;
  animation-delay: 1.2s;
  animation-fill-mode: forwards;
  opacity: 1;
}
@keyframes loading-fadeUpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

@media screen and (max-width: 768px) {
	.img_box img {
  width: 45%;
}
}


@media screen and (max-width: 768px) {
	.pc{ display:none; }
}
@media screen and (min-width: 769px) {
	.sp{ display:none; }
}

html,body{
	color:#5a2d1d;
	line-height:1.6;
	font-family:"fot-tsukuardgothic-std", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo",sans-serif;
	background:#f9f6ea;
	font-weight: bold;
}

#wrapper{
	max-width:140rem;
	margin:auto;
}
.leftside-contents{
	position:fixed;
	top:15rem;
	left: 10%;
}
.leftside-contents-inner-logo img{
	width:18rem;
}
.leftside-contents-inner-logo p{
	text-align: center;
	font-size:1.3rem;
}
.leftside-contents-inner ul{
	margin-top:1.0rem;
}
.leftside-contents-inner li{
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:0.5rem;
}
.rightside-contents{
	width: 25rem;
	position:fixed;
	right: 6%;
	top:15rem;
	border-radius:5.0rem;
	padding:3.0rem;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	background:#fff;
	text-align: center;
}
.rightside-contents-inner-lineicon img{
	width:8.0rem;
	display: block;
	margin:auto;
}
.rightside-contents-inner-bigtext{
	font-size:2.0rem;
	font-weight:bold;
	margin-bottom:0.3rem;
	margin-top:1.0rem;
}
.rightside-contents-inner-smalltext{
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:0.3rem;
}
.rightside-contents-inner-lineqr img{
	width:8.0rem;
	display: block;
	margin:auto;
}

main{
	overflow-y:scroll;
}
#main-inner{
	max-width:56rem;
	margin:auto;
	background:#f9f9f9;
	overflow-y: hidden;
    scrollbar-width: none;
	margin-top: 2%;
    margin-bottom: 2%;
    border-radius: 5.0rem;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	z-index:1;
}
@media screen and (max-width: 768px) {
	#main-inner{
	width:100%;
	max-width:100%;
	margin-top:0;
	border-radius: 0;
}
	.leftside-contents,
	.rightside-contents{
	display:none;
}
}

header{
	width:56rem;
	/*position:fixed;*/
	position: relative;
	z-index:9;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #f9f9f9;
    border-radius: 5.0rem 5.0rem 0 0;
}
#header.fixed{
  position: fixed;
    z-index: 9;
    top:0;
    left:0;
}
.header-inner{
	width: 95%;
	max-width: 120rem;
    margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:2.0rem 2.0rem;
}
.logo{
	position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%,-50%);
	width:10rem;
	height:auto;
}
.logo img{
	width:100%;
}
.header-right{
	display: flex;
}
.instagram-icon{
	width:3.0rem;
	height:auto;
	margin-right:2.0rem;
}
.reserve-button{
    background: #85a5ff;
    border-radius: 100vh;
    padding: 0.2rem 1.0rem;
	transition: all 0.6s;
	border:0.1rem solid #85a5ff;
}
.reserve-button a{
	display: flex;
	color: #fff;
}
.reserve-button:hover{
	background:#fff;
	color:#85a5ff;
	border:0.1rem solid #85a5ff;
}
.reserve-button a:hover{
	color:#85a5ff;
}
.instagram-icon img{
	width:100%;
}
.nav-button {
    width: 3.5rem;
    height: 2.5rem;
}
.burger-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	opacity:0;
    color: #d3d3d3;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    background-color: rgba(207, 228, 234, 0.9);
    width: 100%;
    height: 100%;
	transition: all 0.6s;
  }
.burger-nav.active{
	visibility: visible;
	opacity:1;
	transition: all 0.6s;
}
.burger-nav a {
  color: #5a2d1d;
  text-decoration: none;
}
  .burger-icon {
    display: block;
    width: 4.0rem;
    height: 2.5rem;
    cursor: pointer;
    position: absolute;
    z-index: 20;
  }
  .burger-icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background-color: #5a2d1d;
    border-radius: 0.5rem;
    transition: all 0.4s;
  }
 .burger-icon div {
	font-size: 1.3rem;
	display: inline-block;
    position: absolute;
    left: 0;
	top:2rem;
    transition: all 0.4s;
  }
  .burger-icon span:nth-of-type(1) {
    top: 0.5rem;
  }
  .burger-icon span:nth-of-type(2) {
	width: 3.0rem;
    top: 1.5rem;
  }
.burger-icon.close{
	position: fixed;
	top:5.0rem;
}
  .burger-icon.close span {
    /*background-color: #f4f4f4;*/
  }
  .burger-icon.close span:nth-of-type(1) {
    transform: translateY(1.0rem) rotate(-45deg);
	  top: 0.3rem;
  }
  .burger-icon.close span:nth-of-type(2) {
    transform: translateY(-0.7rem) rotate(45deg);
	width: 4.0rem;
	top: 2.0rem;
  }
.burger-icon.close div {
    display:none;
  }
.burger-nav ul{
	width:100%;
	text-align: center;
}
.burger-nav li{
	font-size: 3.0rem;
    color: #d3d3d3;
    margin-bottom: 2.0rem;
}
.burger-nav-sns-icon img{
	width: 4rem;
	margin:0 1.0rem;
}
.web-reseve-button{
    font-size: 2.5rem !important;
    display: inline-block;
    background: #85a5ff;
    border-radius: 100vh;
    padding: 0.5rem 3.5rem;
    transition: all 0.6s;
    border: 0.1rem solid #85a5ff;
}
.web-reseve-button a{
	display: flex;
	color: #fff;
}
.web-reseve-button:hover{
	background:#fff;
	color:#85a5ff;
	border:0.1rem solid #85a5ff;
}
.web-reseve-button a:hover{
	color:#85a5ff;
}

@media screen and (max-width: 768px) {
	header{
	width:100%;
	position: fixed;
    top: 0;
    border-radius: 0;
	}
	.logo{
	width:10rem;
	height:auto;
}
	.instagram-icon{
	width:2.5rem;
}
	.reserve-button{
	font-size:1.3rem;
	color:#f4f4f4;
	border:0.1rem solid #f4f4f4;
}
	.burger-nav li {
     font-size: 2.0rem;
}
	.web-reseve-button{
    font-size: 1.5rem !important;
    display: inline-block;
    background: #85a5ff;
    border-radius: 100vh;
    padding: 0.5rem 1.5rem;
    transition: all 0.6s;
    border: 0.1rem solid #85a5ff;
}
}

.key-vis-area{
	
}
/*.key-vis-area-inner{
	width:100%;
	height:100vh;
	background:url("img/sample01.webp");
	background-size:cover;
	background-position:center;
	background-repeat: no-repeat;
	display: flex;
    justify-content: center;
    align-items: center;
}
.key-vis-area-inner-image{
	position: fixed;
    width: 40rem;
	mix-blend-mode:overlay;
}
.key-vis-area-inner-image img{
	width:100%;
}*/
.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slider {
    display: none;
  }
  .slider.slick-initialized {
    display: block; 
  }
.slider img{
	width:100%;
}

@media screen and (max-width: 768px) {
	.key-vis-area{
	margin-top:6.5rem;	
	}
	.key-vis-area-inner{
	background-position:left;
}
	.key-vis-area-inner-image{
    width: 30rem;
}
}

#concept{
	width:100%;
    padding: 5rem 0;
	position:relative;
}
.toptitle-h2-tate{
	height: 100%;
	position: absolute;
	font-size:1.5rem;
	writing-mode: vertical-rl;
	padding-left: 1.5rem;
	display: flex;
    align-items: baseline;
}
.toptitle-h2-tate:after {
  border-left: 1px solid;
  content: "";
  height: 8.0rem;
  margin-top:1.0rem;
}
.toptitle-h2-tate:after {
  margin-left: 1em;
}
.toptitle-h2{
	text-align: center;
    font-size: 2.8rem;
    border-bottom: 0.4rem dotted;
    display: table;
    margin: auto;
}
.concept-inner{
	width: 80%;
    margin: 10rem auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.concept-text{
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 2.7;
}

#concept h1{
	font-size: 3.5rem;
    font-weight: normal;
    letter-spacing: 0.3rem;
	margin-right:5%;
}

#concept img{
	width:100%;
	border-radius: 2.0rem;
}

@media screen and (max-width: 768px) {
	#concept h1 {
    font-size: 2.3rem;
	text-align: center;
    margin: 3.0rem 0 0 0;
}
	.concept-text {
    font-size: 2.0rem;
}
	.toptitle-h2-tate{
	padding-left: 0.5rem;
}
	.concept-inner{
    margin: 5rem auto;
}
}

#introduction{
	padding: 5rem 0;
}
.introduction-inner{
	width:75%;
	margin:auto;
}
.introduction-inner img{
	width:100%;
	height:auto;
	display: block;
}
.introduction-text{
	width:100%;
	background:#cfe4ea;
	padding: 1.0rem 2.0rem 2.0rem 2.0rem;
    border-radius: 0 0 5.0rem 5.0rem;
}
.introduction-text h3{
	font-size:2.5rem;
	text-align: center;
}
.introduction-text h3 span{
	font-size:1.3rem;
    display: block;
}
.introduction-text h4{
	font-size:1.8rem;
	text-align: center;
    margin-top: 0.5rem;
}
.keireki{
	display: flex;
	justify-content: center;
	align-content: center;
	font-size:1.5rem;
	margin-top: 1.0rem;
}
.keireki div:first-of-type{
	margin-right:2.0rem;
}
.keireki span{
	border:0.1rem solid;
	padding:0.5rem 0.5rem;
    margin-right: 0.5rem;
}
.introduction-inner p{
	font-size:1.5rem;
	margin-top: 1.0rem;
}
	
@media screen and (max-width: 768px) {
	.introduction-inner{
	width: 88%;
    margin: 0 0 0 auto;
}
	.introduction-text h3{
	font-size:2.0rem;
}
	.introduction-text h3 span{
	font-size:1.1rem;
}
	.introduction-text h4 {
    font-size: 1.4rem;
}
	.keireki span {
    padding: 0.1rem 0.5rem;
    display: block;
	margin-bottom: 0.5rem;
}
}

#point{
	width:80%;
	margin:auto;
	padding: 5rem 0;
}
.point-inner{
	position: relative;
}
.point-inner::before{
	width: 100%;
    height: 10rem;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    background-image: url(img/point-frame-top.webp);
    background-size: 100%;
    background-repeat: no-repeat;
}
.point-inner::after{
	width: 100%;
    height: 10rem;
    display: block;
	position: absolute;
	bottom:-10rem;
	left:0;
	content: "";
	background-image: url("img/point-frame-bottom.webp");
	background-size: 100%;
	background-repeat: no-repeat;
}
.point-inner ul{
	width:70%;
	margin:3.5rem auto;
}
.point-inner li{
	margin-bottom:3.0rem;
}
.point-inner li:last-child{
	/*margin-bottom:2.0rem;*/
}
.point-item-big{
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:2.0rem;
}
.point-item-big img{
	width:auto;
	height:7.0rem;
	margin-right: 0.8rem;
}
.point-item-big h3{
	font-weight:bold;
	font-size: 2.5rem;
    line-height: 120%;
}
.point-inner p{
	font-size:1.3rem;
	text-align: center;
    margin-top: 0.5rem;
} 
.point-inner .link-button{
	width: 100%;
    margin: 2.0rem auto;
    display: block;
    background: #85a5ff;
    border-radius: 100vh;
    padding: 1.5rem 1.0rem;
	transition: all 0.6s;
	border:0.1rem solid #85a5ff;
	font-size:1.8rem;
	text-align: center;
	color: #fff;
}
	
@media screen and (max-width: 768px) {
	.point-inner ul{
	width:85%;
}
	.point-item-big img{
	height:6.0rem;
}
	.point-item-big h3{
	font-size: 2.0rem;
}
}

#menu{
	width:100%;
}
.menu-image-link{
	position:relative;
	text-align: center;
	color:#fff;
}
.menu-image-link a{
	color:#fff;
}
.shadow{
	width:100%;
	min-height:24rem;
	position: absolute;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.5);
}
.menu-image-link-inner{
	width:85%;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
	z-index:2;
}
.menu-image-link-mm{
	min-height:24rem;
	background-image:url("img/menu-imagelink-massage.webp");
	background-size:100%;
	margin-top: 3.5rem;
}
.menu-image-link-ms{
	min-height:24rem;
	background-image:url("img/menu-imagelink-shinkyu.webp");
	background-size:100%;
}
.menu-image-link-mt{
	min-height:24rem;
	background-image:url("img/menu-imagelink-training.webp");
	background-size:100%;
}
.menu-image-link-inner h3{
	font-weight:bold;
	font-size:4.0rem;
}
.menu-image-link-inner h3 span{
	font-size:1.8rem;
	display: block;
}
.menu-image-link-inner p{
	font-size:1.5rem;
}
.link-button{
	width: 68%;
    margin: 2.0rem auto;
    display: block;
    background: #85a5ff;
    border-radius: 100vh;
    padding: 1.5rem 1.0rem;
	transition: all 0.6s;
	border:0.1rem solid #85a5ff;
	font-size:2.5rem;
	text-align: center;
	color: #fff;
}
.link-button:hover{
	background:#fff;
	color:#85a5ff;
	border:0.1rem solid #85a5ff;
}

@media screen and (max-width: 768px) {
	.menu-image-link-mm,
	.menu-image-link-ms,
	.menu-image-link-mt{
    background-size: cover;
    background-position: center;
}
	.menu-image-link h3{
	font-size:2.8rem;
}
	.menu-image-link p{
	font-size:1.3rem;
}
	.link-button{
	font-size:2.0rem;
}
	
}

#carfare{
	padding: 10rem 0 5rem 0;
}
.carfare-inner{
	position: relative;
	width:80%;
	margin:auto;
	background: #f9f6ea;
	border-radius:5.0rem;
	padding: 3.0rem 4.0rem 5.0rem 4.0rem;
}
.carfare-inner p{
	text-align: center;
	margin:2.0rem auto;
}
.carfare-inner table{
	width:100%;
	border-collapse: collapse;
	text-align: center;
    font-size: 2.0rem;
}
.carfare-inner tr{
	border-bottom:0.1rem solid;
}
.carfare-inner tr:last-of-type{
	border:none;
}
.carfare-inner th,
.carfare-inner td{
	padding:1.0rem 0;
}
#carfare .link-button{
	position: relative;
     bottom: 6rem;
}

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

}

#reserve-flow{
	position: relative;
	background:#efefef;
    padding: 5rem 0 15rem 0;
}
.reserve-flow-inner{
	width:80%;
	margin:auto;
}
.reserve-flow-inner h3{
	font-size: 1.6rem;
	text-align: center;
	margin:2.0rem auto;
}
.reserve-flow-inner li{
	position:relative;
	background:#fff;
	padding:2.0rem;
	border-radius: 100vh;
}
.reserve-flow-inner li:nth-child(2n){
	background:none;
	display:block;
	text-align: center;
    padding: 0.5rem 0;
}
.reserve-flow-inner a{
	color:#85a5ff;
	padding-bottom:0.1rem;
	border-bottom:0.1rem solid #85a5ff;
}
.reserve-item-big{
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:2.0rem;
}
.reserve-item-big img{
	width:auto;
	height:7.0rem;
	margin-right: 0.8rem;
}
.reserve-item-big p{
	font-size:1.5rem;
}
.reserve-closing-button{
	width: 100%;
    position: absolute;
    bottom: -4rem;
    left: 50%;
    transform: translate(-50%, 0%);
}
#reserve-flow .link-button{
	margin: 1.0rem auto;
}
#line-button{
	border:0.1rem solid #00B900;
	background-color:#00B900;
}
#line-button:hover{
	background:#fff;
	color:#00B900;
	border:0.1rem solid #00B900;
}

@media screen and (max-width: 768px) {
	    .reserve-flow-inner {
        width: 95%;
	}
	    .reserve-flow-inner li {
			border-radius: 5rem;
	}
}
	
#instagram{
	position: relative;
	width:90%;
	margin:auto;
	min-height:30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top:10rem;
}

footer{
	width:100%;
	margin:auto;
	min-height:15rem;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background-color:#cfe4ea;
	color:#fff;
	border-radius: 0 0 5.0rem 5.0rem;
}
footer img{
	width:15rem;
	text-align: center;
	margin:3.0rem 0 2.0rem 0;
}
footer p{
	font-size:1.3rem;
	text-align: center;
	padding-bottom:2.0rem;
	color:#5a2d1d;
}

@media screen and (max-width: 768px) {
	footer{
	width:100%;
	border-radius: 0;
}
}

@media screen and (max-width: 768px) {
.kasou-page{
	margin-top: 10rem !important;
}
}

/*施術内容一覧ページ*/
#menu-list h1{
	margin-top:2.0rem;
}
.menu-list-item {
    margin: 3.0rem auto;
}
#menu-list img{
	width:100%;
	margin:auto;
	display:block;
}
#medi-m .menu-image-link-inner,
#medi-s .menu-image-link-inner,
#medi-t .menu-image-link-inner{
	color:unset;
	position: relative;
    top: 0;
    left: 0;
    transform: none;
	text-align: center;
    width: 100%;
    padding: 2.0rem 0;
}
#medi-m .menu-image-link-inner{
	background: #d0e5ea;
}
#medi-s .menu-image-link-inner{
	background: #f9f6ea;
}
#medi-t .menu-image-link-inner{
	background: #dbdbdb;
}
.menu---list{
	width: 85%;
    margin: auto;
	margin-top:2.0rem;
}
.menu---list---item{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.menu---list---item h4{
	font-size:2.3rem;
	font-weight:bold;
}
.menu-time{
	font-size:1.3rem;
	font-weight:bold;
}
.menu-price{
	font-size:2.3rem;
	font-weight:bold;
}
.menu---list p{
	font-size:1.3rem;
}
.fukurikousei h2{
	margin-bottom:2.0rem;
}
.fukurikousei p{
	width:85%;
	margin:auto;
}
.fukurikousei h3{
	font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    margin: 2.0rem auto 1.0rem auto;
}
.fukurikousei h4{
	position: relative;
    padding: 1rem 1.5rem;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    display: table;
    margin: 2.0rem auto 0 auto;
}
.fukurikousei h4::before,
.fukurikousei h4::after {
    position: absolute;
    top: 1.5rem;
    height: 2.0rem;
    content: '';
}
.fukurikousei h4::before {
    border-left: solid 2px;
    left: 0;
    transform: rotate(-30deg);
}
.fukurikousei h4::after {
    border-right: solid 2px;
    right: 0;
    transform: rotate(30deg);
}
.fukurikousei-kouka{
	display:flex;
	justify-content:center;
	align-items:center;
}
.fukurikousei-kouka span{
	background:#F9F6EE;
	border:0.1rem solid;
	padding:1.0rem 1.0rem;
	border-radius:100vh;
	font-weight:bold;
	font-size:1.3rem;
	margin: 0 0.3rem;
}
.fukurikousei-dantaiwari{
	font-weight: bold;
    border-bottom: 0.1rem solid;
    padding-bottom: 0.3rem;
    text-align: center;
    font-size: 2.0rem;
    margin: 2.0rem auto !important;
}

@media screen and (max-width: 768px) {
	.menu-image-link-inner h3 {
    font-size: 2.8rem;
}
	#medi-m .menu-image-link-inner,
    #medi-s .menu-image-link-inner,
    #medi-t .menu-image-link-inner{
    padding: 2.0rem 1.0rem;
}
	.menu-image-link-inner p {
    font-size: 1.3rem;
}
	.menu---list---item h4 {
    font-size: 1.5rem;
}
	.menu-price {
    font-size: 1.5rem;
}
	.menu---list {
    width: 90%;
}
	.fukurikousei h2 {
    font-size: 2.0rem;
}
	.fukurikousei-kouka {
	flex-wrap: wrap;
}
	.fukurikousei-kouka span{
	margin: 0 0.3rem 0.5rem 0.3rem;
}
	.fukurikousei-dantaiwari {
    width: 90% !important;
    font-size: 1.7rem;
}
}

/*往療料金ページ*/
#houmon-price p{
	text-align:center;
	font-size: 2.3rem;
    margin-top: 3.0rem;
}
#houmon-price table{
	width:85%;
	margin:auto;
	text-align:center;
}
#houmon-price table th{
	font-size:2.0rem;
	padding:1.0rem 0;
}
#houmon-price table th > span{
	color:#85a5ff;
	font-size: 130%;
}
#houmon-price table td{
	font-size:1.5rem;
}
.houmon-price-attention{
	width:85%;
	margin:2.0rem auto;
	font-size:1.3rem;
}
.houmon-price-map img{
	width:100%;
}

#contact{
	width:100%;
	margin:auto;
	padding-top:5.0rem;
	padding-bottom:5.0rem;
}
.contact-top{
	width:100%;
}
.contact-top p{
	width: 90%;
	text-align:center;
	font-size:1.8rem;
	margin:2.0rem auto;
}
.contact-top img{
	width:100%;
	display:block;
}
#wpcf7-f19-o1 {
    width: 90%;
    margin: auto;
}
#contact table{
	border-collapse:separate;
	border-spacing: 3.0rem 3.0rem;
}
#contact li {
    margin-bottom: 1.0rem;
}
.hissu{
	  background: #df2719;
    color: #fff;
    padding: 0.3rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    margin-left: 0.5rem;
    vertical-align: baseline;
}
.unreq{
	background: #e0e0e0;
    color: #000;
    padding: 0.3rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 1.1rem;
    margin-left: 0.5rem;
    vertical-align: baseline;
}
.form-attention{
	color:red;
	font-size:1.3rem;
	margin-top:1.0rem;
}
#contact button, input, select, textarea{
	background-color:#fff !important;
	 border-style: solid !important;
	border:0.1rem #d8d8d8;
	border-radius:0.5rem;
	padding: 0.3rem 0.5rem;
	font-size:1.6rem;
}
label{
	margin-bottom: 0.8rem;
	display:block;
}
label:hover{
	cursor:pointer;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="file"]{
	width:100%;
	margin-top:0.5rem;
	font-size:1.6rem;
}
::placeholder {
	color:#dadada;
}
select::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  top: 20px;
  right: 20px;
  pointer-events: none;
}
/*郵便番号ボックス*/
.p-postal-code {
    display: inline-block;
    width: 5rem !important;
	 margin: 0 0.5rem;
}
textarea{
	width:100%;
}
.jikan{
	margin-top:0.5rem;
}
.genjusho{
	margin-top:0.5rem;
}
.contact-inner li{
	margin-bottom:1.0rem;
}
.contact-inner p{
	width:100%;
}
.submit-button{
	text-align:center;
}
input[type="submit"]{
	  width: 30rem;
	margin: auto;
    display: block;
	  background: #85a5ff !important;
	  color:#fff;
    padding: 1rem 1.5rem;
    text-align: center;
    border-radius: 1rem;
}
input[type="submit"]:hover{
	  background: #D0E4EA !important;
	  color:#fff;
}
.pp-area{
	width: 100%;
    margin: auto;
    height: 30rem;
    background: #fff;
    padding: 2rem 2.5rem;
    border-radius: 0.3rem;
}
.pp-inner{
	width:100%;
	height:100%;
	overflow:scroll;
	font-size:1.3rem;
}
.pp-title{
	font-size:1.5rem;
	font-weight:bold;
}
	.doui-check{
		 margin: 2rem auto;
		text-align:center;
	}

@media screen and (max-width: 768px) {
.jikan{
	margin-top:1.0rem ;
}
}

/*WEB予約ページ*/
#reseved{
	width:90%;
	margin:auto;
}
#booking-package-locale-ja {
    padding: 2.0rem 0;
}
.calendar {
    background: #fff;
}
#booking-package_calendarPage,#booking-package_schedulePage,#booking-package_inputFormPanel  {
    background-color: #f9f9f9 !important;
}
#reservationHeader{
	/*display:none;*/
	background: #f9f9f9 !important;
    font-size: 1.8rem !important;
    font-weight: bold !important;
}

/*規約ページ*/
#kiyaku{
	width:90%;
	margin:auto;
}
.kiyaku-inner{
	padding:2.0rem 0;
}
.kiyaku-inner h3,p{
	margin-top:1.0rem;
}