@charset "UTF-8";

.contentpage .m_img {
    background-image: url(../images/clinic/m_img@2x.jpg);
}



/*ページ共通
---------------------------------------------------------*/
.clin_difference {
	color: #fff;
	font-size: min(335%,4.5vw);
	letter-spacing: .1em;
	line-height: 1.3em;
	mix-blend-mode: difference;
}

.clin_style1 {
	font-size: min(200%,3.2vw);
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-bottom: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.clin_style1 {
	margin-bottom: .3em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.clin_difference {
	font-size: 160%;
}
.clin_style1 {
	text-align: center;
	font-size: 160%;
	line-height: 1.4em;
	margin-bottom: .2em;
}
}



/*reception
---------------------------------------------------------*/
#reception .w1270 {
	position: relative;
}
#reception .slide_box {
	position: relative;
	z-index: 0;
}
#reception .slide_box .rece_slider {
	width: 100vw;
	overflow: hidden;
}
#reception .slide_box .slide_dotto {
	position: absolute;
	right: 0;
	padding-top: 20px;
	display: flex;
    justify-content: flex-end;
}
#reception .swiper-slide {
	width: 85vw;
	max-width: 1130px;
}
#reception .slide_dotto .swiper-pagination-bullet {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-left: 50px;
	background: #cbccc5;
	transition: opacity 0.4s;
}
#reception .slide_dotto .swiper-pagination-bullet:first-child {
	margin-left: 0;
}
#reception .slide_dotto .swiper-pagination-bullet-active {
	background: #87aad5;
}
#reception .clin_difference {
	position: absolute;
	transform: translate(-.4em,-55%);
}
#reception .in_box {
	width: 90%;
	max-width: 1100px;
	margin: 60px auto 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#reception .slide_box .slide_dotto {
	padding-top: 10px;
}
#reception .slide_dotto .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin-left: 4vw;
}
#reception .in_box {
	margin-top: 5vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reception .slide_box .slide_dotto {
	padding-top: 10px;
}
#reception .swiper-slide {
	width: 90vw;
}
#reception .slide_dotto .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin-left: 4vw;
}
#reception .in_box {
	margin-top: 7vw;
}
}



/*room
---------------------------------------------------------*/
#room .flex_box {
	display: flex;
    justify-content: space-between;
}
#room .flex_box > div {
	width: 48%;
	max-width: 580px;
}
#room .flex_box .img_box {
	position: relative;
}
#room .flex_box .img_box .clin_difference {
	position: absolute;
	z-index: 1;
	left: 0;
	bottom: 0;
	transform: translate(-.4em,45%);
}
#room .flex_box .in_box {
	width: 90%;
	max-width: 520px;
	margin: 60px auto 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#room .flex_box .in_box {
	margin-top: 5vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#room .flex_box {
	display: block;
}
#room .flex_box > div {
	width: 100%;
	max-width: 100%;
	margin-bottom: 12%;
}
#room .flex_box > div:last-child {
	margin-bottom: 0;
}
#room .flex_box .img_box {
	width: 80%;
	max-width: 580px;
	margin: 0 auto;
}
#room .flex_box .in_box {
	margin-top: 7vw;
}
}



/*kitchen
---------------------------------------------------------*/
#kitchen .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#kitchen .flex_box .img_box {
	width: 60%;
	max-width: 895px;
	position: relative;
}
#kitchen .flex_box .txt_box {
	width: 36%;
	max-width: 500px;
}
#kitchen .flex_box .img_box .clin_difference {
	position: absolute;
	z-index: 1;
	left: 13%;
	bottom: 0;
	transform: translate(-.4em,45%);
}
#kitchen .flex_box .txt_box .in_box {
	width: 90%;
	max-width: 390px;
}
.com_width_img {
	background-image: url("../images/clinic/bg_img1@2x.jpg");
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#kitchen .flex_box {
	display: block;
}
#kitchen .flex_box .img_box {
	width: 80%;
}
#kitchen .flex_box .txt_box {
	width: 80%;
	max-width: 100%;
	margin: 5vw auto 0;
}
#kitchen .flex_box .img_box .clin_difference {
	left: 3%;
}
#kitchen .flex_box .txt_box .in_box {
	width: 100%;
	max-width: 100%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#kitchen .flex_box {
	display: block;
}
#kitchen .flex_box .img_box {
	width: 95%;
}
#kitchen .flex_box .txt_box {
	width: 90%;
	max-width: 100%;
	margin: 7vw auto 0;
}
#kitchen .flex_box .img_box .clin_difference {
	left: 5%;
}
#kitchen .flex_box .txt_box .in_box {
	width: 100%;
	max-width: 100%;
}
#kitchen .flex_box .txt_box .com_btn1 {
	text-align: center;
}
}



/*box2
---------------------------------------------------------*/
.box2 .item_list {
	width: 100%;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	text-align: center;
}
.box2 .item_list > li {
	width: 25%;
	box-sizing: border-box;
	border-right: dotted 1px #9ca0a6;
	padding: 1.2em 0;
}
.box2 .item_list > li:last-child {
	border-right: none;
}
.box2 .item_list dt {
	color: #326c9f;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: .2em;
	padding-top: 6.0em;
	background: url("../images/clinic/icon1@2x.png") no-repeat center top;
	background-size: auto 4.0em;
}
.box2 .item_list dd {
	font-size: 140%;
	letter-spacing: .1em;
	line-height: 1.6em;
}
.box2 .item_list .icon2 dt {background-image: url("../images/clinic/icon2@2x.png");}
.box2 .item_list .icon3 dt {background-image: url("../images/clinic/icon3@2x.png");}
.box2 .item_list .icon4 dt {background-image: url("../images/clinic/icon4@2x.png");}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.box2 .item_list {
	font-size: 1.8vw;
}
.box2 .item_list dt {
	letter-spacing: .1em;
}
.box2 .item_list dd {
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.box2 .item_list > li {
	width: 50%;
	padding: .5em 0;
	margin-top: 6%;
}
.box2 .item_list > li:nth-child(2n) {
	border-right: none;
}
.box2 .item_list > li:nth-child(-n+2) {
	margin-top: 0;
}
.box2 .item_list dt {
	font-size: 90%;
	letter-spacing: .05em;
	margin-bottom: 0;
	padding-top: 4.5em;
	background-size: auto 3.0em;
}
.box2 .item_list dd {
	font-size: 130%;
	letter-spacing: .05em;
}
}



/*history
---------------------------------------------------------*/
#history .bg {
	background: #5f5e5c url("../images/clinic/bg_img2@2x.jpg") no-repeat center bottom;
	background-size: 100% auto;
	padding: 100px 0 190px;
	color: #fff;
}
#history .title_box {
	text-align: center;
	font-size: min(165%,2.2vw);
	letter-spacing: .1em;
	line-height: 1.6em;
}
#history .title_box .ft_ivyora {
	color: #a4a3a2;
	font-size: 300%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-bottom: .4em;
}
#history .flex_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#history .flex_box .box_l {
	width: 55%;
	max-width: 550px;
	font-size: 105%;
	letter-spacing: .1em;
	line-height: 2.7em;
}
#history .flex_box .box_r {
	width: 38%;
	max-width: 400px;
}
#history .generations > li {
	position: relative;
	padding-top: .8em;
	padding-bottom: 1.8em;
}
#history .generations > li::before {
	content: "";	/*罫線*/
	position: absolute;
	z-index: 0;
	width: 1px;
	height: 100%;
	background: #a4a3a2;
	left: 0;
	top: 0;
}
#history .generations > li:last-child {
	padding-bottom: 0;
}
#history .generations > li:last-child::before {
	height: 3.0em;
}
#history .generations dt,
#history .generations dd {
	padding-left: 50px;
	position: relative;
}
#history .generations dt {
	letter-spacing: .1em;
	line-height: 1.2em;
}
#history .generations dt::before {
	content: "";	/*丸*/
	position: absolute;
	z-index: 1;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	left: 0;
	top: 50%;
	transform: translate(-50%,-50%);
}
#history .generations dt::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	border-bottom: dotted 1px #fff;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
}
#history .generations dd {
	margin-top: .4em;
	display: flex;
    align-items: center;
}
#history .generations dd p {
	font-size: 155%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-right: .8em;
}
#history .generations dd p.ft_ivyora {
	color: #9ddaf1;
	font-size: 100%;
	letter-spacing: .15em;
	line-height: 1.2em;
	margin: 0;
}

#history .award {
	width: 86%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	border: solid 1px #a4a3a2;
	padding: 30px 4%;
	text-align: center;
}
#history .award dt {
	font-size: 140%;
	letter-spacing: .1em;
	line-height: 1.6em;
	padding-top: 2.5em;
	background: url("../images/clinic/icon_award@2x.png") no-repeat center top;
	background-size: auto 1.7em;
	margin-bottom: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#history .bg {
	padding: 10% 0 16%;
}
#history .title_box {
	font-size: 2.6vw;
}
#history .title_box .ft_ivyora {
	margin-bottom: .2em;
}
#history .flex_box .box_l {
	line-height: 2.4em;
}
#history .flex_box .box_r {
	width: 35%;
}
#history .generations dd {
	display: block;
}
#history .generations dd p {
	margin-right: 0;
}
#history .generations dd p.ft_ivyora {
	margin-top: .2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#history .bg {
	padding: 14% 0 20%;
}
#history .title_box {
	font-size: 110%;
	letter-spacing: .05em;
}
#history .title_box .ft_ivyora {
	font-size: 250%;
	letter-spacing: .05em;
	margin-bottom: .2em;
}
#history .flex_box {
	display: block;
}
#history .flex_box .box_l {
	width: 100%;
	max-width: 100%;
	font-size: 105%;
	letter-spacing: .05em;
	line-height: 2.4em;
	margin-bottom: 8%;
}
#history .flex_box .box_r {
	width: 90%;
	max-width: 100%;
	margin: 0 auto;
	font-size: 90%;
}

#history .award {
	margin-top: 14%;
	width: 100%;
	padding: 8% 0;
}
#history .award dt {
	font-size: 120%;
	letter-spacing: normal;
	padding-top: 2.5em;
	margin-bottom: .8em;
}
#history .award dd {
	width: 90%;
	margin: 0 auto;
	text-align: left;
	font-size: 90%;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

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