@charset "UTF-8";

/* 当院までのアクセス
---------------------------------------------------------*/
#access #sec1 table{
	width: 100%;
}
#access #sec1 table th,
#access #sec1 table td{
	border-bottom: 1px solid #e8e5e2;
	box-sizing: border-box;
}
#access #sec1 table tr:first-child th,
#access #sec1 table tr:first-child td{
	border-top: 1px solid #e8e5e2;
}
#access #sec1 table th{
	width: 17%;
	background: rgba(247,241,229,0.8);
	text-align: left;
	padding: min(2.5rem,3vw) min(2rem,2.5vw);
}
#access #sec1 table td{
	width: 83%;
	padding: min(2.5rem,3vw) 0 min(2.5rem,3vw) min(2.5rem,3vw);
}
#access #sec1 table iframe{
	max-width: 700px;
	display: block;
}
#access #sec1 .min30 i{
	font-size:130%;
	margin-right: .2em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#access #sec1 table th{
	border-bottom:none;
}
#access #sec1 table tr:first-child td{
	border-top: none;
}
#access #sec1 table th{
	display: block;
	width: 100%;
	text-align: center;
	padding: .5em 0;
}
#access #sec1 table td{
	display: block;
	width: 100%;
	padding: 1em 0 2em;
}
}





/* sec2
---------------------------------------------------------*/
#access #sec2 .arrow_list{
	justify-content: start;
}
#access #sec2 .arrow_list li{
	width: 30%;
	margin-right: 5%;
}
#access #sec2 .arrow_list li:last-child{
	margin-right: 0;
}
#access #sec2 .arrow_list li .img{
	position: relative;
}
#access #sec2 .arrow_list li .img::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/arrow1.svg) no-repeat top right;
	background-size: 100% auto;
	width: 5%;
	height: 25px;
	aspect-ratio: 5 / 7;
	right: -11%;
	top: 50%;
	transform: translateY(-50%);
}
#access #sec2 .arrow_list li:last-child .img::before{
	display: none;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#access #sec2 .arrow_list{
	display: block;
}
#access #sec2 .arrow_list li{
	position: relative;
	width: 100%;
	margin-right: 0;
	margin-bottom:2.5em;
	text-align: center;
}
#access #sec2 .arrow_list li:last-child{
	margin-right: 0;
}
#access #sec2 .arrow_list li::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/arrow1.svg) no-repeat top right;
	background-size: 100% auto;
	width:1em;
	height: 2em;
	aspect-ratio: 5 / 7;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -2em;
	transform: rotate(90deg);
}
#access #sec2 .arrow_list li .img{
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}
#access #sec2 .arrow_list li .img::before{
	display: none;
}
}






/* sec3
---------------------------------------------------------*/
#access #sec3 .ab_col2{
	max-width: 1060px;
	margin-left: auto;
	margin-right: auto;
}
#access #sec3 .ab_col2 dl{
	border:1px solid #d9ba7c;
	box-sizing: border-box;
	width: 49%;
}
#access #sec3 .ab_col2 dt,
#access #sec3 .ab_col2 dd{
	padding: 35px 4%;
	box-sizing: border-box;
}
#access #sec3 .ab_col2 dt{
	position: relative;
	background: #b59555;
}
#access #sec3 .ab_col2 dt .fw_bold{
	position: absolute;
	top: 1em;
	right: 1em;
	background: #c4a871;
	border-radius: 10px;
	padding: .5em .8em .55em .85em;
	box-sizing: border-box;
	line-height: 1em;
}
#access #sec3 .ab_col2 dt .min30{
	text-align: left;
	display: inline-block;
	position: relative;
	padding-left: 3em;
	padding-right: 2em;
	box-sizing: border-box;
}
#access #sec3 .ab_col2 dt .min30::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/about/icon1.svg)no-repeat top left;
	background-size: 100% auto;
	width: 2em;
	height: 2em;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
#access #sec3 .ab_col2 dl:nth-child(2) dt .min30::before{
	background-image: url(../images/about/icon2.svg);
}
#access #sec3 .ab_col2 dd{
	background: #fdfcf8;
}
#access #sec3 .inbox{
	max-width: 1076px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#access #sec3 .ab_col2 dt,
#access #sec3 .ab_col2 dd{
	padding: 3.2vw 4% 3vw;
}
#access #sec3 .ab_col2 dt .fw_bold{
	top: .5em;
	right:.5em;
}
#access #sec3 .ab_col2 dt .min30{
	padding-left: 2.5em;
	padding-right: 2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#access #sec3 .ab_col2{
	display: block;
}
#access #sec3 .ab_col2 dl{
	width: 100%;
	margin-bottom: 4%;
}
#access #sec3 .ab_col2 dl:last-child{
	margin-bottom: 0;
}
#access #sec3 .ab_col2 dt{
	padding: 6% 4%;
}
#access #sec3 .ab_col2 dt .fw_bold{
	top: .5em;
	right: .5em;
	padding: .5em .5em .5em .6em;
	font-size: 85%;
}
#access #sec3 .ab_col2 dt .min30{
	padding-left: 2.5em;
	padding-right: 2em;
}
#access #sec3 .ab_col2 dd{
	padding: 4% 4% 6%;
}
}






/* sec4
---------------------------------------------------------*/
#access #sec4 .ab_col4 dl{
	width: 24%;
}
#access #sec4 .ab_col4 dl dt{
	width: min(180px,15vw);
	height: min(180px,15vw);
	background: #195461;
	margin: 0 auto .8em;
	border-radius: 100px;
	display: flex;
    justify-content: center;
    align-items: center;	
}
#access #sec4 .ab_col4 dl dt span{
	position: relative;
	padding-top: 1.8em;
}
#access #sec4 .ab_col4 dl dt span::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/icon_train.svg) no-repeat top center;
	background-size: 100% auto;
	width: 1.7em;
	height: 1.7em;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#access #sec4 .ab_col4 dl dt.bass span::before{
	background-image: url(../images/common/icon_bas.svg);}
#access #sec4 .ab_col4 dl dt.tax span::before{
	background-image: url(../images/common/icon_tax.svg);}
#access #sec4 .ab_col4 dl dt.bike span::before{
	background-image: url(../images/common/icon_bike.svg);}

#access #sec4 .ab_col4 dl dd{
	line-height: 1.4em;
}
#access #sec4 .ab_col4 dl dd p:has(+ p){
	margin-bottom: .5em;
}
#access #sec4 .ab_col4 dl dd small.red{
	font-size:70%;
	line-height: 1.5em;
	display: block;
	margin-top: .3em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#access #sec4 .ab_col4{
	display: block;
}
#access #sec4 .ab_col4 dl{
	width: 100%;
	display: flex;
    justify-content: space-between;
	align-items: center;
	margin-bottom: 7%;
}
#access #sec4 .ab_col4 dl:last-child{
	margin-bottom: 0;
}
#access #sec4 .ab_col4 dl dt{
	width: 25vw;
	height: 25vw;
	margin: 0;
}
#access #sec4 .ab_col4 dl dt span{
	padding-top: 1.3em;
}
#access #sec4 .ab_col4 dl dt span::before{
	width: 1.5em;
	height: 1.5em;
}
#access #sec4 .ab_col4 dl dd{
	width: calc(100% - 28vw);
	text-align: left;
}
#access #sec4 .ab_col4 dl dd p:has(+ p){
	margin-bottom: .5em;
}
#access #sec4 .ab_col4 dl dd small.red{
	font-size:70%;
	line-height: 1.5em;
	display: block;
	margin-top: .3em;
}
}





/* facilities
---------------------------------------------------------*/
#facilities .ab_list li{
	position: relative;
	width: 50%;
	background: url(../images/about/img4@2x.jpg)no-repeat top left #004150;
	background-size: 100% auto;
	padding: min(100px,8vw) 2% min(130px,10vw);
	box-sizing: border-box;
	overflow: hidden;
}
#facilities .ab_list li::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/about/grd@2x.png) no-repeat bottom right;
	background-size: 100% auto;
	width: 68%;
	height: 600px;
	bottom: -1px;
	right: 0;
}
#facilities .ab_list li.type2{
	background-image: url(../images/about/img5@2x.jpg);
	background-color: #5f6066;
}
#facilities .ab_list li.type3{
	background-image: url(../images/about/img6@2x.jpg);
	background-color: #807358;
}
#facilities .ab_list li.type4{
	background-image: url(../images/about/img7@2x.jpg);
	background-color: #004150;
}
#facilities .ab_list li.type5{
	background-image: url(../images/about/img8@2x.jpg);
	background-color: #5f6066;
}
#facilities .ab_list li.type6{
	background-image: url(../images/about/img9@2x.jpg);
	background-color: #807358;
}
#facilities .ab_list li .inbox{
	max-width: 600px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
#facilities .ab_list li h5 span{
	display: block;
	line-height: 1.4em;
}
#facilities .ab_list li h5 strong{
	margin: 0 -0.4em;
}
#facilities .ab_list li .mgn{
	margin-bottom: 2rem;
}
#facilities .ab_list li dl{
	position: relative;
	padding-left: 5.5em;
	box-sizing: border-box;
}
#facilities .ab_list li dl::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/about/icon3.svg) no-repeat top left;
	background-size: 100% auto;
	width: 4em;
	height: 4em;
	top: 1em;
	left: 0;
}
#facilities .ab_list li dl.icon4::before{
	background-image: url(../images/about/icon4.svg);}
#facilities .ab_list li dl.icon5::before{
	background-image: url(../images/about/icon5.svg);}
#facilities .ab_list li dl.icon6::before{
	background-image: url(../images/about/icon6.svg);}
#facilities .ab_list li dl.icon7::before{
	background-image: url(../images/about/icon7.svg);}
#facilities .ab_list li dl.icon8::before{
	background-image: url(../images/about/icon8.svg);}
#facilities .ab_list li dl.icon9::before{
	background-image: url(../images/about/icon9.svg);}
#facilities .ab_list li dl.icon10::before{
	background-image: url(../images/about/icon10.svg);}
#facilities .ab_list li dl.icon11::before{
	background-image: url(../images/about/icon11.svg);}
#facilities .ab_list li dl.icon12::before{
	background-image: url(../images/about/icon12.svg);}
#facilities .ab_list li dl.icon13::before{
	background-image: url(../images/about/icon13.svg);}
#facilities .ab_list li dl.icon14::before{
	background-image: url(../images/about/icon14.svg);}
#facilities .ab_list li dl.icon15::before{
	background-image: url(../images/about/icon15.svg);}
#facilities .ab_list li dl.icon16::before{
	background-image: url(../images/about/icon16.svg);}

#facilities .ab_list li dt{
	margin-bottom: .3em;
}

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

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#facilities .ab_list{
	display: block;
}
#facilities .ab_list li{
	width: 100%;
	padding: 15vw 5% 10vw;
}
#facilities .ab_list li .inbox{
	max-width: 100%;
}
#facilities .ab_list li dl{
	padding-left: 4.5em;
}
#facilities .ab_list li dt{
	font-size:120%;
	line-height: 1.4em;
}
}






/*design
---------------------------------------------------------*/
#design .slide_box{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

#design .slide .slick-slide:focus {
	outline:none;
}
#design .slide {
	position: relative;
	overflow: hidden;
	text-align: left;
}
#design .slide_inner {
	width: 100%;
	margin: 0 auto;
}
#design .slide .slick-list {
	overflow: visible !important;
}
#design .slide-item{
	display: flex;
    justify-content: space-between;
}
#design .slide .img{
	width: 80%;
	margin-left: 0;
	margin-right: auto;
}
#design .slide .txt{
	width: 20%;
	opacity: 0;
	transition: all 2s;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	line-height: 3.2em;
}
#design .slide .slick-active .txt{
	opacity:1;
	transition: all 2s;
}

/* サムネイル */
#design #thumbnail-list{
	display: flex;
    justify-content: flex-end;	
}
#design #thumbnail-list li {
	position: relative;
	width: 12.3em;
	margin-right:1.3em;
	cursor: pointer;
	text-align: center;
	background: #f1efed;
	border:1px solid #a4a09b;
	border-radius: 5px;
	transition: all .4s;
	padding: .5em 0;
}
#design #thumbnail-list li:hover{
	background: #4a4137;
	color:#fff;
}
#design #thumbnail-list li:last-child{
	margin-right: 0;
}
#design #thumbnail-list li.thumbnail-current{
	background: #4a4137;
	color:#fff;
	transition: all .4s;
}
#design .slick-prev,#design .slick-next{display: none!important;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#design .slide .txt{
	line-height: 2.8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#design .slide-item{
	display: block;
}
#design .slide .img{
	width: 100%;
	margin-bottom: 4%;
}
#design .slide .txt{
	width: 100%;
	-ms-writing-mode: horizontal-tb;
  	writing-mode: horizontal-tb;
	line-height: 2em;
}

/* サムネイル */
#design #thumbnail-list li {
	width: 32%;
	margin-right: 2%;
	padding: .5em 0;
	line-height: 1.4em;
	display: flex;
    justify-content: center;
    align-items: center;
}
}