@charset "UTF-8";

*, *::before, *::after{
margin: 0;
padding: 0;
box-sizing: border-box;
}

@font-face {
  font-family: "m-plus-rounded-1c-extrabold";
  src:
url("../fonts/MPLUSRounded1c-ExtraBold.ttf");
}

@font-face {
  font-family: "m-plus-rounded-1c-light";
  src:
url("../fonts/MPLUSRounded1c-Light.ttf");
}

@font-face {
  font-family: "m-plus-rounded-1c-medium";
  src:
url("../fonts/MPLUSRounded1c-Medium.ttf");
}

@font-face {
  font-family: "m-plus-rounded-1c-regular";
  src:
url("../fonts/MPLUSRounded1c-Regular.ttf");
}

h1,h2,h3,h4,h5,h6,.c-gnav,.c-widget__title{
font-family: "m-plus-rounded-1c-medium";
}

h2{
font-size: 2rem;
}

/*p{
font-size:1rem;
line-height: 1.8;
text-align: justify;
}*/
img{
max-width: 100%;
height: auto;
vertical-align: top;
}

section{
padding: 100px 0;
}
section h2{
text-align: center;
margin-bottom: 40px;
}
section h2 .ja{
display: block;
font-size: 2rem;
margin-bottom: 0.75rem;
}
section h2 .en{
display: block;
font-size: 1rem;
color: #ff7fa5;
}


.icon img{
object-fit:contain;
object-position: center;
width: 100%;
height: 100%;
}

/*.l-container{
width: 1080px;
margin: 0 auto;
}
@media only screen and (max-width: 959px){
.l-container{
width: 86%;
}
}*/

/*body{
font-family: "m-plus-rounded-1c-medium";
font-size: 16px;
min-width: 1480px;
}
@media only screen and (max-width: 959px){
body{
min-width: 100%;
}
}*/
.l-header{

}


.l-header__inner{
display: flex;
justify-content: space-between;
align-items: center;
padding:40px 60px;
}

.l-header__logo{
width: 180px;
}

.l-header__nav{
margin-left: auto;
z-index: 999999;
}

.l-header__nav-list{
display: flex;
list-style-type: none;
}
@media only screen and (max-width: 959px){
.l-header__nav-list{
display: block;
position: fixed;
top: 0;
left: 100%;
background-color: aquamarine;
width:100%;
height: 100%;
padding: 5%;
transition: 0.5s;
}
.l-header__nav-list.is-open{
left: 0;
}
}

.l-header__nav-item{
text-align: center
}

.l-header__nav-item a{
text-decoration: none;
display: block;
padding: 20px;
position: relative;
}

.l-header__nav-item a::before{
content: "";
display: block;
position: absolute;
width: 0;
height: 2px;
background-color: #87CAAC;
bottom:0;
left: 0;
transition: 0.5s;
}

.l-header__nav-item a:hover::before{
width: 100%;
}


.l-header__nav-item .ja{
font-size: 1.2rem;
display: block;
color: #444;
margin-bottom: 0.5rem
}
.l-header__nav-item .en{
font-size: 0.5rem;
display: block;
color: #87CAAC;
letter-spacing: 0.2em;
}

.l-header__tel{
display: flex;
align-items: center;
margin-left: 30px;
}

.l-header__tel-icon{
display: block;
width: 30px;
height: 30px;
}
.l-header__tel-number{
color: #F2A1B0;
font-size: 1.8rem;
margin-left: 8px;
}


.l-header__btn{
width: 80px;
height: 80px;
border-radius: 50%;
background-color:#5BC2D9;
border: none;
position: fixed;
right: 18px;
top: 18px;
display: none;
flex-direction: column;
justify-content: space-between;
padding: 24px;
z-index: 9999999;
}
@media only screen and (max-width: 959px){
.l-header__btn{
display: flex;
}
}
.l-header__btn span,
.l-header__btn::before,
.l-header__btn::after
{
content: "";
display: block;
width:100%;
height: 4px;
background-color: #fff;
transition: 0.5s;
border-radius: 9px;
}

.l-header__btn::before{
position: relative;
top: 0;
}
.l-header__btn::after{
position: relative;
bottom: 0;
}
.l-header__btn.is-open span{
width: 0;
}
.l-header__btn.is-open::before{
transform: rotate(45deg);
top:calc(50% - 2px);
}
.l-header__btn.is-open::after{
transform: rotate(-45deg);
bottom:calc(50% - 2px);
}

.l-header__btn::before{
position: relative;
top: 0;
}
.l-header__btn::after{
position: relative;
bottom: 0;
}




.p-main-visual{
max-width: 640px;
margin: 60px auto;
}
@media only screen and (max-width: 959px){
.p-main-visual{
width: 80%;
margin: 0 auto 60px;
}
}

.p-divider{
background-image: url("../images/home/exterior.jpg");
background-position: center;
background-size: cover;
/*background-attachment: fixed;*/
height: 360px;
position: relative;
}
@media only screen and (max-width: 959px){
.p-divider{
height: 210px;
}
}

.p-divider::before, .p-divider::after {
  position: absolute;
  width: 100%;
  height: 10%;
  content: "";
  display: block;
  background-repeat: repeat-x;
  background-size: 200% 100%; 
  left: 0;
}
.p-divider::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,\
      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'>\
        <defs>\
          <linearGradient id='grad' x1='0' y1='0' x2='0' y2='1'>\
            <stop offset='0%' stop-color='rgba(255,246,233,1)'/>\
            <stop offset='100%' stop-color='rgba(255,246,233,1)'/>\
          </linearGradient>\
        </defs>\
        <path fill='url(%23grad)' d='M0,20C25,20,25,0,50,0c25,0,25,20,50,20V0H0V20z'/>\
      </svg>");
  animation: waveMove 12s linear infinite;
  top: 0;
}
.p-divider::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,\
      <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'>\
        <defs>\
          <linearGradient id='grad' x1='0' y1='0' x2='0' y2='1'>\
            <stop offset='0%' stop-color='rgba(176,220,209,1.0)'/>\
            <stop offset='100%' stop-color='rgba(176,220,209,1.0)'/>\
          </linearGradient>\
        </defs>\
        <path fill='url(%23grad)' d='M100,20C75,20,75,0,50,0S25,20,0,20H100z'/>\
      </svg>");
  animation: waveMove 12s linear infinite;
  bottom: 0;
  
}

.p-schedule{
position:relative;
/*margin:60px 0;*/
padding:40px 0 200px;
background-color:rgba(176,220,209,1.0);
}
@media only screen and (max-width: 959px){
.p-schedule{
padding-top: 80px;
}
}
.p-schedule::before{
      content:"";
      position:absolute;
      left:0;
      top:40px;
      width:100%;
      height: 140px;
      display:block;
      background-repeat:repeat-x;
      background-size:100%;
      background-position:center top;
      z-index:-1;
/*      background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'>\
  <path fill='rgba(244,250,247,1.0)' d='M100,0C75,0,75,15.67,50,15.67S25,0,0,0V20H100Z'/>\
</svg>");*/
}
@media only screen and (max-width: 959px){
.p-schedule::before{
top:0;
      height: 80px;
background-size:640px 80px;
}
.p-schedule::after{
      top:80px;
}
}
.p-schedule__inner{
display: flex;
justify-content: space-between;
align-items:center;
margin: 0 auto;
}
@media only screen and (max-width: 959px){
.p-schedule__inner{
flex-direction: column;
align-items: center;
padding: 0 10px;
/*margin-top: 60px;*/
}
}
.p-schedule__timetable-box{
/*background-color: #f4faf7;*/
background-color: #fff;
border-radius: 30px;
padding: 30px;
width: 54%;
}
@media only screen and (max-width: 959px){
.p-schedule__timetable-box{
/*background-color: transparent;*/
width: 100%;
/*padding: 0;*/
margin-bottom:60px;
}
}
.p-schedule__timetable{
border-collapse: collapse;
padding: 10px;
width: 100%;
text-align: center;
margin-bottom: 30px;
}

@media screen and (max-width: 959px) {
.p-schedule__timetable {
	min-width: 420px;
}
}

.scroll-box::-webkit-scrollbar {
    height: 16px;
}
.scroll-box::-webkit-scrollbar-track {
	background-color: transparent;
}
.scroll-box::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius:9999px;
  
  /*ボーダーで余白を空ける*/
  border: 4px solid transparent;
  background-clip: content-box;
}
.scroll-box::-webkit-scrollbar-thumb:hover {
  background-color: rgba(180,180,255,0.25);
}

.p-schedule__timetable tr{
border-bottom:1px solid #87caac;
}
.p-schedule__timetable th,
.p-schedule__timetable td{
padding: 10px;
white-space:nowrap;
}
.p-schedule__timetable .o,
.p-schedule__timetable .x{
	font-size:2.1rem;
}
.p-schedule__timetable .o{
color: #87caac;
}
.p-schedule__timetable .x{
color: #666;
}
@media only screen and (max-width: 959px){
.p-schedule__note{
display: flex;
}
}
@media only screen and (max-width: 767px){
.p-schedule__note{
flex-direction: column;
}
}
.p-schedule__note-item{
display: flex;
flex-wrap: wrap;
align-items: flex-start;
}
@media only screen and (max-width: 1179px){
.p-schedule__note-item{
flex-direction: column;
}	
}
@media only screen and (max-width: 959px){
.p-schedule__note-item{
flex-direction: column;
width:50%;
}
}
@media only screen and (max-width: 767px){
.p-schedule__note-item{
width:auto;
}
}
.p-schedule__note-item dt{
width: 6em; 
font-size: 1rem;
background-color:rgba(176,220,209,1.0);
border-radius:9999px;
padding:2px 10px;
text-align:center;
white-space:nowrap;
}
@media only screen and (max-width: 1179px){
.p-schedule__note-item dt{
font-size: 1rem;
margin-bottom:10px;
}
}
.p-schedule__note-item dd{
width: calc(100% - 8em);
margin-left: 1.5em;
margin-bottom: 16px;
font-size: 1.2rem;
}
@media only screen and (max-width: 1179px){
.p-schedule__note-item dd{
font-size: 1rem;
margin-left: 0;
width:100%;
}
}
.p-schedule__note-item:last-child dd{
margin-bottom: 0;
}

.p-schedule__description{
width: 42%;
}
@media only screen and (max-width: 959px){
.p-schedule__description{
width: 100%;
}
}
.p-schedule__btn-list{
	margin-bottom:20px;
}
.p-schedule__btn-list a{
	color:#333;
	display:block;
	padding:10px 48px;
	margin-bottom:10px;
	background-color:var(--color_bg);
	position:relative;
	border-radius:9999px;
}
.p-schedule__btn-list a:hover{
	background-color:#fff;
}
.p-schedule__btn-list a::before{
	content:"";
	position:absolute;
	left:10px;
	top:50%;
	transform:translateY(-50%);
	width:24px;
	height:24px;
	background-color: #ff7fa5;
background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22' preserveAspectRatio='xMaxYMid meet'>\
  <path fill='rgba(250,250,250,1.0)' d='M31.1,9.7L22,0.6c-0.7-0.6-1.8-0.6-2.4,0.1c-0.6,0.7-0.6,1.7,0,2.3l6.2,6.2H2.2c-1-0.1-1.8,0.6-1.9,1.6c-0.1,1,0.6,1.8,1.6,1.9c0.1,0,0.2,0,0.3,0h23.5l-6.2,6.2c-0.7,0.7-0.7,1.8,0,2.4c0.3,0.3,0.8,0.5,1.2,0.5c0.5,0,0.9-0.2,1.2-0.5l9.1-9.1C31.8,11.5,31.8,10.4,31.1,9.7z'/>\
</svg>");
background-repeat:no-repeat;
background-position:center;
background-size:14px;
border-radius:50%;
}





.p-news{
padding:0 0 200px;
}
.p-news .l-container{
display: flex;
justify-content: space-between;
position: relative;
min-height: 210px;
}
@media only screen and (max-width: 959px){
.p-news .l-container{
flex-direction: column;
}
}

.p-news h2{
text-align: left;
}
@media only screen and (max-width: 959px){
.p-news h2{
text-align: center;
}
.p-news h2 br{
display: none;
}
}


.p-news__title-box{
}

.p-news__articles{
width: 70%;
}
@media only screen and (max-width: 959px){
.p-news__articles{
width: auto;
}
}


.p-news__list{
list-style-type: none;
}
@media only screen and (max-width: 959px){
.p-news__list{
margin-bottom: 60px;
}
}
.p-news__item:not(:last-child){
margin-bottom: 16px;
}
.p-news__item a{
display: flex;
align-items: center;
/*background-color: #f4faf7;*/
background-color:#fff;
border-radius: 10px;
padding: 20px 30px;
text-decoration: none;
color: #444;
transition: 0.5s;
}
@media only screen and (max-width: 959px){
.p-news__item a{
padding: 20px 20px;
}
}
.p-news__item a:hover{
/*background-color: #5db78f;*/
background-color: #f4faf7;
/*color: #fff;*/
}
.p-news__item time{
font-size: 1rem;
}
.p-news__item h3{
font-size: 1rem;
margin-left: 1em;
}
.p-news__btn-inner{
position: absolute;
left: var(--swl-pad_container,0);
bottom: 0;
width: 12rem;
}
@media only screen and (max-width: 959px){
.p-news__btn-inner{
position: static;
margin: 0 auto;
}
}
.p-news__btn{
display: block;
color: #fff;
white-space: nowrap;
text-decoration: none;
padding: 10px 20px;
padding-right: 80px;
background-color: #ff7fa5;
background-size: 16px auto;
background-repeat: no-repeat;
background-position: center right 20px;
border-radius: 6px;
font-size: 0.85rem;
transition: 0.5s;
background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22' preserveAspectRatio='xMaxYMid meet'>\
  <path fill='rgba(250,250,250,1.0)' d='M31.1,9.7L22,0.6c-0.7-0.6-1.8-0.6-2.4,0.1c-0.6,0.7-0.6,1.7,0,2.3l6.2,6.2H2.2c-1-0.1-1.8,0.6-1.9,1.6c-0.1,1,0.6,1.8,1.6,1.9c0.1,0,0.2,0,0.3,0h23.5l-6.2,6.2c-0.7,0.7-0.7,1.8,0,2.4c0.3,0.3,0.8,0.5,1.2,0.5c0.5,0,0.9-0.2,1.2-0.5l9.1-9.1C31.8,11.5,31.8,10.4,31.1,9.7z'/>\
</svg>");
}
.p-news__btn:hover{
background-color: #F2A1B0;
}
.p-treatment{
background-color:rgba(176,220,209,1.0);
padding: 0 0 200px;
}
.p-treatment__list{
list-style-type: none;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.p-treatment__item{
width: 17.5%;
margin-left:3.5%;
margin-right:3.5%;
text-align: center;
margin-bottom: 60px;
}
@media only screen and (max-width: 959px){
.p-treatment__item{
width: 30%;
margin-left:1.5%;
margin-right:1.5%;
}
}
@media only screen and (max-width: 767px){
.p-treatment__item{
width: 46%;
margin-left:2%;
margin-right:2%;
}
}
/*
.p-treatment__item:nth-of-type(4n){
margin-right: 0;
}
@media only screen and (max-width: 959px){
.p-treatment__item:nth-of-type(2n){
margin-right: 0;
}
}*/
.p-treatment__icon{
display: block;
padding: 18%;
border-radius: 50%;
margin-bottom: 16px;
/*background: #AFE1C1;
background: -webkit-linear-gradient(135deg, rgba(175, 225, 193, 1) 0%, rgba(122, 206, 210, 1) 100%);
background: -moz-linear-gradient(135deg, rgba(175, 225, 193, 1) 0%, rgba(122, 206, 210, 1) 100%);
background: linear-gradient(135deg, rgba(175, 225, 193, 1) 0%, rgba(122, 206, 210, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#AFE1C1", endColorstr="#7ACED2", GradientType=0);*/
background-color:#fff;
}

.p-treatment__title{
margin-bottom: 16px;
}

.p-treatment__link{
display: inline-block;
text-decoration: none;
color: #f2a1b0;
border: 2px solid #f2a1b0;
width: 10rem;
padding: 4px 20px;
padding-right: 32px;
background-color: #fff;
background-size: 14px auto;
background-repeat: no-repeat;
background-position: center right 12px;
border-radius: 6px;
font-size: 0.85rem;
      background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22' preserveAspectRatio='xMaxYMid meet'>\
  <path fill='rgba(242,161,176,1.0)' d='M31.1,9.7L22,0.6c-0.7-0.6-1.8-0.6-2.4,0.1c-0.6,0.7-0.6,1.7,0,2.3l6.2,6.2H2.2c-1-0.1-1.8,0.6-1.9,1.6c-0.1,1,0.6,1.8,1.6,1.9c0.1,0,0.2,0,0.3,0h23.5l-6.2,6.2c-0.7,0.7-0.7,1.8,0,2.4c0.3,0.3,0.8,0.5,1.2,0.5c0.5,0,0.9-0.2,1.2-0.5l9.1-9.1C31.8,11.5,31.8,10.4,31.1,9.7z'/>\
</svg>");
transition: 0.5s;
}
.p-treatment__link:hover{
color: #fff;
background-color: #f2a1b0;
background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22' preserveAspectRatio='xMaxYMid meet'>\
  <path fill='rgba(255,255,255,1.0)' d='M31.1,9.7L22,0.6c-0.7-0.6-1.8-0.6-2.4,0.1c-0.6,0.7-0.6,1.7,0,2.3l6.2,6.2H2.2c-1-0.1-1.8,0.6-1.9,1.6c-0.1,1,0.6,1.8,1.6,1.9c0.1,0,0.2,0,0.3,0h23.5l-6.2,6.2c-0.7,0.7-0.7,1.8,0,2.4c0.3,0.3,0.8,0.5,1.2,0.5c0.5,0,0.9-0.2,1.2-0.5l9.1-9.1C31.8,11.5,31.8,10.4,31.1,9.7z'/>\
</svg>");
}
.p-facilities{
padding:0 0 200px;
}
.p-facilities__list{
list-style-type: none;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.p-facilities__item{
width: 30%;
margin:0 1.5%;
text-align: center;
margin-bottom: 60px;
}
@media only screen and (max-width: 767px){
.p-facilities__item{
width: 46%;
margin:0 2%;
}
}
.p-facilities__photoFrame{
display: block;
  mask-image: url("../images/home/facilities_photo_mask.svg");
  mask-repeat: no-repeat;
  mask-position: 3% 0;
  mask-size: auto 100%;
  -webkit-mask-image: url("../images/home/facilities_photo_mask.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 3% 0;
  -webkit-mask-size: auto 100%;
  margin-bottom: 24px;
}


.p-facilities__photoInner {
    position: relative;
    width: 100%;
}
.p-facilities__photoInner::before {
    content:"";
    display: block;
    padding-top: 77.5%;
	overflow:hidden;
}
.p-facilities__photo {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.p-facilities__photo img{	
    object-fit: cover;
    height: 100%;
}


.p-facilities__title{
margin-bottom: 16px;
}

.p-facilities__btn-inner{
text-align: center;
}

.p-facilities__btn{
display: inline-block;
text-align: left;
color: #fff;
width: 16em;
white-space:nowrap;
text-decoration: none;
padding: 20px 40px;
padding-right: 80px;
background-color: #ff7fa5;
background-size: 16px auto;
background-repeat: no-repeat;
background-position: center right 20px;
border-radius: 9999px;
font-size: 1.15rem;
background-image: url("data:image/svg+xml;charset=UTF-8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22' preserveAspectRatio='xMaxYMid meet'>\
  <path fill='rgba(255,255,255,1.0)' d='M31.1,9.7L22,0.6c-0.7-0.6-1.8-0.6-2.4,0.1c-0.6,0.7-0.6,1.7,0,2.3l6.2,6.2H2.2c-1-0.1-1.8,0.6-1.9,1.6c-0.1,1,0.6,1.8,1.6,1.9c0.1,0,0.2,0,0.3,0h23.5l-6.2,6.2c-0.7,0.7-0.7,1.8,0,2.4c0.3,0.3,0.8,0.5,1.2,0.5c0.5,0,0.9-0.2,1.2-0.5l9.1-9.1C31.8,11.5,31.8,10.4,31.1,9.7z'/>\
</svg>");
transition: 0.5s;
}
.p-facilities__btn:hover{
background-color: #F2A1B0;
}

.p-access{
	padding-top:0;
}

.p-access__logo{
width: 80%;
margin: 0 auto 60px;
text-align: center;
}
@media only screen and (max-width: 959px){
.p-access__logo{
width: 90%;
}
}
.p-access__logo img{
	width: 45%;
	margin-bottom:54px;
}
@media only screen and (max-width: 959px){
.p-access__logo img{
	width: 100%;
}
}
.p-access__text{
margin: 60px;
color: #6cc3c1;
}
@media only screen and (max-width: 959px){
.p-access__text{
margin: 0;
}
}
.p-access__address{
text-align: center;
font-size: 1.3rem;
font-style: normal;
}

.p-access__tel{
text-align: center;
font-size: 3rem;
font-style: normal;
}
@media only screen and (max-width: 959px){
.p-access__tel{
font-size: 2.4rem;
}
}
.p-access__tel span{
font-size: 1.75rem;
}



