@charset "UTF-8";


/* ========================================================
  
  common

======================================================== */

/*---------------------------------------------------------
 clinic
---------------------------------------------------------*/
.cln_img_lg {
	width: 85%;
	max-width: max-content;
	margin: 0 auto 5%;
}
/* cln_flex */
.cln_flex {
	position: relative;
	margin-inline: auto;
}
.cln_flex .box_txt {
	position: relative;
}
.cln_flex .box_img {
	position: relative;
	max-width: max-content;
}
.cln_flex .box_img .abs {
	position: absolute;
	width: 15vw;
	max-width: 190px;
}
.cln_flex .box_img .abs.pos__lt {
	left: 4%;
	top: 5%;
}
.cln_flex .box_img .abs.pos__lb {
	left: 4%;
	bottom: 5%;
}
.cln_flex .box_img .abs.pos__rb {
	right: 5%;
	bottom: -5%;
}

.cln_col2 > div {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 48% 48%;
}
.cln_col2 p {
	font-size: 106%;
	font-weight: var(--fw-bold);
	line-height: 1.5;
}
.cln_col2 p span {
	display: block;
	font-size: min(2.2vw,175%);
	letter-spacing: .04em;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

/* cln_flex */
.cln_flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.cln_flex.pc_rev {
	flex-direction: row-reverse;
}
.cln_flex .box_img {
	width: 50%;
}
.cln_flex .box_txt {
	align-self: center;
	width: 44%;
}

.cln_flex.size__m .box_img {
	width: 44%;
}
.cln_flex.size__m .box_txt {
	align-self: flex-start;
	width: 50%;
}

.cln_flex.size__s {
	width: 96%;
	max-width: 1200px;
	margin-right: 0;
}
.cln_flex.size__s .box_img {
	width: 40%;
}
.cln_flex.size__s .box_txt {
	align-self: flex-start;
	width: 54%;
}
/* cln_col2 */
.cln_col2 {
	width: 96%;
	max-width: 1090px;
	display: flex;
	justify-content: space-between;
	column-gap: 5%;
	margin-inline: auto;
}
.cln_col2 > div {
	flex: 1;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.cln_img_lg {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	margin-bottom: 8%;
}

.cln_flex {
	display: grid;
	row-gap: 1.6em;
}
.cln_flex .box_img {
	width: 90%;
	margin: auto;
}
.cln_flex .box_img .abs {
	width: 30vw;
}

.cln_flex.size__s .box_img {
	width: 80%;
}
/* cln_col2 */
.cln_col2 > div {
	grid-template-columns: 40% 55%;
	margin-top: 5%;
}
.cln_col2 p {
	font-size: 95%;
}
.cln_col2 p span {
	font-size: 140%;
}
}



/* ========================================================
  
  Layout

======================================================== */

/*---------------------------------------------------------
 wave
---------------------------------------------------------*/
#family-room .com_bg__wave {
	right: 0;
	top: 55%;
}
#treatment .com_bg__wave {
	top: 45%;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#family-room .com_bg__wave {
	top: 90%;
}
}


/*---------------------------------------------------------
 illust
---------------------------------------------------------*/
#counseling .com_illust {
	right: 15%;
	top: 110%;
}
#playing-area .com_illust {
	right: 0;
	top: 0;
	translate: 0 -60%;
}
#family-room .com_illust {
	right: 7%;
	top: 0;
	translate: 0 -80%;
	scale: -1 1;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#counseling .com_illust {
	right: 5%;
	top: 105%;
}
#playing-area .com_illust {
	right: 2%;
	translate: 0 -15%;
}
#family-room .com_illust {
	right: 7%;
	translate: 0 -20%;
}
}

/*---------------------------------------------------------
 Welcome
---------------------------------------------------------*/
#welcome {
	background: url(../images/access/bg-wave@2x.png) repeat-x left bottom;
	background-size: min(100%,1500px) auto;
	padding-bottom: min(20vw,300px);
}

/* Welcome - counseling
-----------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

#counseling .box_txt {
	padding-top: 2.5%;
}
#counseling .box_txt p {
	max-width: 530px;
}
}

/*---------------------------------------------------------
 Family
---------------------------------------------------------*/
#family .com_bg__color {
	background-color: #fff;
}
#family .com_h__deco i {
	font-size: 65%;
	font-weight: normal;
	margin: 0 -0.2em;
}
/* Family - playing-area
-----------------------------------------------*/
#playing-area {
	max-width: 1100px;
}

/* Family - family-room
-----------------------------------------------*/
#childcare {
	max-width: 1200px;
	background-color: #fbeaac;
}

#childcare .point_txt {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: .5em .8em;
	color: var(--accent-color);
	font-size: min(1.6vw,120%);
	font-weight: var(--fw-bold);
	line-height: 1.2;
	letter-spacing: .1em;
	margin-bottom: .8em;
}
#childcare .point_txt > li {
	padding: .5em 1.2em;
	background-color: #fff;
	border-radius: 2em;
}

#childcare .com_flt .img_l .abs {
	width: 45%;
	left: 0;
	bottom: -8%;
}
#childcare .com_box__s {
	text-align: center;
	background-color: #fff;
	border-radius: 10px;
}
#childcare .fw_bold {
	font-size: 105%;
	line-height: 1.5;
	letter-spacing: .14em;
	margin-bottom: 1.4em;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

#childcare > * {
	width: 96%;
	max-width: 1024px;
	margin-inline: auto;
}
#childcare .com_flt .img_l {
	padding-left: 3.6%;
	margin-top: -8%;
	margin-bottom: 3em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#childcare {
	padding-top: 1px;
}
#childcare .com_flt .img_l {
	width: 70%;
	margin-top: -5%;
}
#childcare .com_flt .img_l .abs {
	width: 50%;
	left: -15%;
	bottom: 0;
}
#childcare .point_txt {
	justify-content: center;
	gap: .5em .4em;
	font-size: 85%;
	letter-spacing: .1em;
}
#childcare .com_h__bld {
	text-align: center;
}
#childcare .fw_bold {
	font-size: 100%;
	letter-spacing: .12em;
}
#childcare .com_cta_list {
	flex-wrap: wrap;
	row-gap: .8em;
}
}

/* Family - family-room
-----------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

#family-room .box_txt p {
	max-width: 530px;
}
}



/*---------------------------------------------------------
 Treatment
---------------------------------------------------------*/
#treatment .com_bg__color {
	background-color: var(--color-bei-500);
}
#treatment .com_title__enjp {
	text-align: left;
}
#treatment .com_h__deco {
	text-align: left;
	color: #FFF;
}

/* Treatment - private-room
-----------------------------------------------*/
#private-room .cln_flex .box_img {
	max-width: 465px;
}
#private-room .cln_flex .box_img > img:first-child {
	width: 75%;
	margin-left: auto;
}
#private-room .cln_flex .box_img .abs {
	left: 0;
	bottom: -30%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#private-room .cln_flex .box_img .abs {
	bottom: -20%;
}
}


/*---------------------------------------------------------
 Hospitality
---------------------------------------------------------*/
#hospitality .com_title__enjp {
	margin-bottom: 2em;
}


/*---------------------------------------------------------
 Certified
---------------------------------------------------------*/
#certified {
	color: #FFF;
}
#certified .com_bg__color {
	background-color: var(--color-kha);
}



/*---------------------------------------------------------
 
---------------------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}