@charset "UTF-8";

/*reset*/
/*-------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div,figure,figcaption{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }
a{ transition: all 0.25s linear; color: #3388cb; }
a:hover{ opacity: 0.7; text-decoration: none; }
img{ vertical-align: top; max-width: 100%; height: auto; -webkit-touch-callout: none; -webkit-user-select: none; -moz-touch-callout: none; -moz-user-select: none; user-select: none; }
html,body,p,div{
	color: #2c1c1c;
	font-family: 'YakuHanJP', Lato, "メイリオ", "游ゴシック", YuGothic, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-feature-settings: "pkna";
	font-size: 16px; line-height: 1.875; font-weight: 400;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
html, body { height: auto; }
.pc{ display: block; }
.sp{ display: none; }
@media screen and (max-width: 767.5px) {
	html,body,p,div{ font-size: 3vw; }
	img{ width: 100%; height: auto; }
	.pc{ display: none; }
	.sp{ display: block; }
}
@media screen and (max-width: 480px) {
	html,body,p,div{ font-size: 4vw; }
}



/*common style*/
/*-------------------------------------------------------*/
.defs{ position: absolute; z-index: -9999; width: 0; height: 0; overflow: hidden; }
#wrapper{  }
#header{ position: relative; width: 100%; height: 150px; }
#header img{ width: 100%; height: auto; }
#header .logo{ position: absolute; width: 100%; max-width: 413px; left: 0; top: 50%; margin-left: 5%; transform: translateY(-50%); }
#header .logo a{ display: block; }
#header .global-navi-wrapper{ position: fixed; overflow-y: auto; left: 0; top: 0; background-color: rgba(255,255,255,0.95); height: 100vh; height: calc(var(--vh, 1vh) * 100); -webkit-overflow-scrolling: touch; width: 100%; display: flex; display: -ms-flex; align-items: center; justify-content: center; }
#header .global-navi{ position: relative; right: auto; width: 100%; padding: 100px 0; margin: auto; }
#header .global-navi .navi-list{ display: block; text-align: center; }
#header .global-navi .navi-list .navi:nth-child(n+2){ margin: 30px auto 0; }
#header .global-navi .navi-list .navi a{ font-size: 20px; color: #000000; text-decoration: none; }
#header .global-navi .navi-list .navi a:hover{ text-decoration: none; }
#header .global-navi .navi-list .navi a:active{ text-decoration: underline; }
#header-menu{ position: fixed; width: 100px; padding-top: 100px; right: 0; top: 0; background-color: rgba(255,255,255,0); z-index: 5001; cursor: pointer; margin-top: 25px; }
#header-menu::before{ content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: 33.3333%; padding-top: 25%; border: solid #000000; border-width: 1px 0; }
#header-menu::after{ content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: 33.3333%; padding-top: 1px; background-color: #000000; }
#header-menu.active::before{ border: none; padding: 0; padding-top: 1px; background-color: #000000; transform: translate(-50%,-50%) rotate(45deg); }
#header-menu.active::after{ transform: translate(-50%,-50%) rotate(-45deg); }
#footer{ background-color: #ec9fb3; margin-top: 150px; padding: 93px 3% 0; }
#footer .split-view{ display: flex; display: -ms-flex; max-width: 1000px; margin: 0 auto; }
#footer .split-view .info-body .name{ font-size: 20px; color: #000000; font-weight: bold; }
#footer .split-view .info-body .address{ margin-top: 10px; }
#footer .split-view .txt-body{ margin-left: 50px; padding-left: 50px; border-left: 1px solid rgba(0,0,0,0.5); }
#footer .split-view .txt-body .navi-list{ display: flex; display: -ms-flex; flex-wrap: wrap; max-width: 320px; }
#footer .split-view .txt-body .navi-list .navi{ width: 50%; }
#footer .split-view .txt-body .navi-list .navi:nth-child(n+3){ margin-top: 10px; }
#footer .split-view .txt-body .navi-list .navi a{ color: #000000; text-decoration: none; }
#footer .copyright{ font-size: 14px; text-align: center; padding: 60px 0; }

@media screen and (max-width: 1060px) {
}
@media screen and (max-width: 767.5px) {
	#header{ height: 0; padding-top: 16%; }
	#header .logo{ width: 60%; }
	#header .global-navi{ padding: 5vw 0;}
	#header .global-navi .navi-list .navi:nth-child(n+2){ margin: 3vw auto 0; }
	#header .global-navi .navi-list .navi a{ font-size: 1.33rem; }
	#header-menu{ width: 16%; padding-top: 16%; margin-top: 0; }
	#footer{ margin-top: 15%; padding: 10% 5% 0; }
	#footer .split-view{ display: block; }
	#footer .split-view .info-body .name{ font-size: 1.33rem; }
	#footer .split-view .info-body .address{ margin-top: 0; }
	#footer .split-view .txt-body{ margin: 5% 0 0; padding: 5% 0 0; border-top: 1px solid rgba(0,0,0,0.5); border-left: none; }
	#footer .split-view .txt-body .navi-list{ max-width: none; }
	#footer .copyright{ font-size: 0.83rem; padding: 10% 0; }
}



/*style*/
/*-------------------------------------------------------*/
#main{ overflow: hidden; }
#main img{ width: 100%; height: auto; }
#main .main-visual{ border: solid #ec9fb3; border-width: 7px 0; width: 100%; padding-top: 58.3333%; overflow: hidden; position: relative; }
#main .main-visual .item{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#main .main-visual .txt-body{ position: absolute; left: 0; bottom: 0; width: 100%; z-index: 200; display: flex; display: -ms-flex; justify-content: center; align-items: flex-end; min-height: 50%; box-sizing: border-box; padding-bottom: 40px; background: linear-gradient(to bottom, rgba(35,24,21,0) 0%, rgba(35,24,21,0.5) 80%); }
#main .main-visual .txt-body .copy{ font-family: 'YakuHanMP', 'Lora', 'Noto Serif JP', serif; font-size: 34px; line-height: 1.58; color: #ffffff; }
#main .content{ position: relative; }
#main .content .deco01{ position: absolute; width: 26.4615%; left: 0; top: 0; margin: 40px 0 0 -8%; }
#main .content .deco02{ position: absolute; width: 31.4615%; right: 0; top: 0; margin: 370px -8% 0 0; }
#main .content .intro{ padding-top: 74px; position: relative; }
#main .content .intro .copy{ max-width: 929px; margin: 0 auto; padding: 0 5%; }
#main .content .intro .logo-list{ margin-top: 70px; width: 120%; position: relative; left: 50%; transform: translateX(-50%); max-width: 1600px; position: relative; }
#main .content .intro .logo-list .slick-arrow{ position: absolute; top: 50%; width: 45px; height: 45px; background-color: rgba(255,255,255,0.9); border: 1px solid #606060; z-index: 10; transform: translateY(-50%); color: transparent; }
#main .content .intro .logo-list .slick-prev{ left: 50%; margin-left: -45vw; }
#main .content .intro .logo-list .slick-next{ right: 50%; margin-right: -45vw; }
#main .content .intro .logo-list .slick-arrow::before{ content: ""; position: absolute; left: 50%; top: 50%; width: 30%; padding-top: 30%; border: solid #333333; }
#main .content .intro .logo-list .slick-prev::before{ transform: translate(-50%,-50%) translateX(25%) rotate(45deg); border-width: 0 0 2px 2px; }
#main .content .intro .logo-list .slick-next::before{ transform: translate(-50%,-50%) translateX(-25%) rotate(45deg); border-width: 2px 2px 0 0; }
#main .content .intro .logo-list .item .inner{ position: relative; margin: 0 10px; }
#main .content .intro .logo-list .item .inner::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; box-sizing: border-box; border: 1px solid #cccccc; }
#main .content .wave-bg{ margin: 0 -10px; }
#main .content .ssection-ttl-body{ text-align: center; }
#main .content .ssection-ttl-body .icon{ margin: 0 auto; }
#main .content .ssection-ttl-body .en{ font-size: 18px; line-height: 1.5; color: #000000; letter-spacing: 2em; padding-left: 2em; font-weight: normal; position: relative; padding-bottom: 20px; margin-top: 30px; margin-bottom: 100px; }
#main .content .ssection-ttl-body .en::before{ content: ""; position: absolute; left: 50%; bottom: 0; width: 75px; height: 1px; background-color: #000000; transform: translateX(-50%); }
#main .content .section-list-item{ max-width: 1000px; margin: 0 auto; }
#main .content .section-list-item .item-body:nth-child(n+2){ margin-top: 30px; padding-top: 30px; border-top: 1px solid #cccccc; }
#main .content .section-list-item .item-body .name{ font-size: 22px; line-height: 1.5; font-weight: bold; color: #000000; }
#main .content .section-list-item .item-body .name .s-size{ font-size: 72.7272%; font-weight: normal; }
#main .content .section-list-item .item-body .split-view{ display: flex; display: -ms-flex; justify-content: space-between; flex-direction: row-reverse; margin-top: 10px; }
#main .content .section-list-item .item-body .split-view .photo-body{ width: 40%; }
#main .content .section-list-item .item-body .split-view .photo-body .photo-list .slick-dots{ position: static; display: block; width: 100%; padding: 20px 0; margin: 0; line-height: 0; text-align: center; }
#main .content .section-list-item .item-body .split-view .photo-body .photo-list .slick-dots li{ position: relative; display: inline-block; width: 11px; height: 11px; padding: 0; background-color: #ffffff; border: 1px solid #606060; cursor: pointer; }
#main .content .section-list-item .item-body .split-view .photo-body .photo-list .slick-dots li+li{ margin-left: 10px; }
#main .content .section-list-item .item-body .split-view .photo-body .photo-list .slick-dots li.slick-active{ background-color: #606060; }
#main .content .section-list-item .item-body .split-view .photo-body .photo-list .slick-dots li button{ font-size: 0; line-height: 0; display: block; width: 100%; height: 100%; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
#main .content .section-list-item .item-body .split-view .txt-body{ width: 50%; }
#main .content .section-list-item .item-body .split-view .txt-body .read{ color: #0085b4; }
#main .content .section-list-item .item-body .split-view .txt-body .head{ margin: 10px 0 5px; display: inline-block; padding: 0 7px; border: 1px solid #999999; color: #000000; }
#main .content .section-list-item .item-body .split-view .txt-body .txt{ line-height: 1.625; }
#main .content .section-list-item .item-body .split-view .txt-body .txt .s-size{ font-size: 87.5%; }
#main .content .section-list-item .item-body .split-view .txt-body .navi{ max-width: 320px; margin-top: 10px; }
#main .content .section-list-item .item-body .split-view .txt-body .navi a{ text-decoration: none; color: #000000; border-radius: 26px; display: block; border: 1px solid #333333; background-color: #ffffff; padding: 10px 0; text-align: center; position: relative; overflow: hidden; opacity: 1; }
#main .content .section-list-item .item-body .split-view .txt-body .navi a::after{ content: ""; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; border: solid #000000; border-width: 1px 1px 0 0; transform: translateY(-50%) rotate(45deg); }
#main .content .section-list-item .item-body .split-view .txt-body .navi a::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ec9fb3; transform: scaleX(0); transform-origin: 0 0; transition: transform 0.3s; }
#main .content .section-list-item .item-body .split-view .txt-body .navi a:hover::before{ transform: scaleX(1); }
#main .content .section-list-item .item-body .split-view .txt-body .navi a .word{ position: relative; z-index: 10; }
#main .content .section-floor{ margin-top: 108px; padding: 0 3%; position: relative; }
#main .content .section-floor .ssection-ttl-body .icon{ width: 42px; }
#main .content .section-floor .map{ max-width: 877px; margin: 0 auto; padding-left: 10%; }
#main .content .section-clinic{ position: relative; padding: 0 3% 100px; }
#main .content .section-clinic .ssection-ttl-body{ margin-top: -60px; }
#main .content .section-clinic .ssection-ttl-body .icon{ width: 25px; }
#main .content .section-pharmacy{ position: relative; background-color: #f2f2f2; padding: 100px 3%; }
#main .content .section-pharmacy .ssection-ttl-body .icon{ width: 26px; }
#main .content .section-restaurant{ position: relative; margin-top: 100px; padding: 0 3%; }
#main .content .section-restaurant .ssection-ttl-body .icon{ width: 26px; }
#main .content .section-access{ position: relative; padding: 0 3%; }
#main .content .section-access .ssection-ttl-body{ margin-top: -60px; }
#main .content .section-access .ssection-ttl-body .icon{ width: 33px; }
#main .content .section-access .split-view{ display: flex; display: -ms-flex; justify-content: space-between; max-width: 1040px; margin: 0 auto; }
#main .content .section-access .split-view .route{ width: 50.9615%; max-width: 530px; margin-right: 30px; }
#main .content .section-access .split-view .route .map{ position: relative; width: 100%; padding-top: 124.1509%; }
#main .content .section-access .split-view .route .map::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; box-sizing: border-box; border: 1px solid #92b42d; z-index: 10; }
#main .content .section-access .split-view .route .map .map-walk,
#main .content .section-access .split-view .route .map .map-car{ position: absolute; left: 0; top: 0; height: 0; opacity: 0; }
#main .content .section-access .split-view .route .map .map-walk.active,
#main .content .section-access .split-view .route .map .map-car.active{ height: auto; opacity: 1; transition: opacity 0.5s; }
#main .content .section-access .split-view .route .navi{ max-width: 340px; margin: 20px auto 0; }
#main .content .section-access .split-view .route .map-switch .navi{ display: none; }
#main .content .section-access .split-view .route .map-switch .navi.active{ display: block; }
#main .content .section-access .split-view .route .navi a{ text-decoration: none; color: #000000; border-radius: 26px; display: block; border: 1px solid #333333; background-color: #ffffff; padding: 10px 0; text-align: center; position: relative; overflow: hidden; opacity: 1; }
#main .content .section-access .split-view .route .navi a::after{ content: ""; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; border: solid #000000; border-width: 1px 1px 0 0; transform: translateY(-50%) rotate(45deg); }
#main .content .section-access .split-view .route .navi a::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ec9fb3; transform: scaleX(0); transform-origin: 0 0; transition: transform 0.3s; }
#main .content .section-access .split-view .route .navi a:hover::before{ transform: scaleX(1); }
#main .content .section-access .split-view .route .navi a .word{ position: relative; z-index: 10; }
#main .content .section-access .split-view .txt-body{ width: 420px; }
#main .content .section-access .split-view .txt-body .address{ font-size: 18px; color: #000000; font-weight: bold; }
#main .content .section-access .split-view .txt-body .head01{ margin: 10px 0 5px; display: inline-block; padding: 0 10px; background-color: #d4367c; color: #ffffff; }
#main .content .section-access .split-view .txt-body .head01~.head01{ margin-top: 20px; }
#main .content .section-access .split-view .txt-body .txt01 .s-size{ font-size: 87.5%; }
#main .content .section-access .split-view .txt-body .txt01 .open{ font-size: 112.5%; }
#main .content .section-access .split-view .txt-body .txt02{ font-size: 14px; line-height: 1.57; }
#main .content .section-access .split-view .txt-body .head02{ margin: 20px 0 5px; display: inline-block; padding: 0 15px; border: 1px solid #999999; border-radius: 16px; }
#main .content .section-access .split-view .txt-body .txt03{ font-size: 14px; }




@media screen and (max-width: 1140px) {
	#main .main-visual .txt-body{ padding-bottom: 3.5088%; }
	#main .main-visual .txt-body .copy{ font-size: 2.98vw; }
}
@media screen and (max-width: 767.5px) {
	#main .content .deco01{ margin: 5% 0 0 -8%; }
	#main .content .deco02{ margin: 100% -8% 0 0; }
	#main .content .intro{ padding-top: 15%; }
	#main .content .intro .logo-list{ margin-top: 70px; width: 180%; }
	#main .content .intro .logo-list .slick-arrow{ width: 7vw; height: 7vw; }
	#main .content .wave-bg{ margin: 5% -10px 0; }
	#main .content .ssection-ttl-body .en{ font-size: 1rem; letter-spacing: 1.5em; padding-left: 1.5em; padding-bottom: 5%; margin-top: 7%; margin-bottom: 15%; }
	#main .content .ssection-ttl-body .en::before{ width: 10vw; }
	#main .content .section-list-item .item-body:nth-child(n+2){ margin-top: 10%; padding-top: 10%; }
	#main .content .section-list-item .item-body .name{ font-size: 1.3333rem; }
	#main .content .section-list-item .item-body .split-view{ display: block; margin-top: 5%; }
	#main .content .section-list-item .item-body .split-view .photo-body{ width: 100%; max-width: 400px; margin: 0 auto; }
	#main .content .section-list-item .item-body .split-view .txt-body{ width: 100%; margin-top: 5%; }
	#main .content .section-list-item .item-body .split-view .txt-body .navi{ max-width: none; margin-top: 5%; }
	#main .content .section-list-item .item-body .split-view .txt-body .navi a{ border-radius: 10vw; }
	#main .content .section-list-item .item-body .split-view .txt-body .navi a:hover::before{ transform: scaleX(0); }
	#main .content .section-list-item .item-body .split-view .active-body .navi a:hover::before{ transform: scaleX(1); }
	#main .content .section-floor{ margin-top: 15%; padding: 0 5% }
	#main .content .section-clinic{ margin-top: 5%; padding: 0 5% 15%; }
	#main .content .section-clinic .ssection-ttl-body{ margin-top: 0; }
	#main .content .section-pharmacy{ padding: 15% 5%; }
	#main .content .section-restaurant{ margin-top: 15%; padding: 0 5%; }
	#main .content .section-access{ margin-top: 5%; padding: 0 5%; }
	#main .content .section-access .ssection-ttl-body{ margin-top: 0; }
	#main .content .section-access .split-view{ display: block; }
	#main .content .section-access .split-view .route{ width: 100%; margin: 0 auto; }
	#main .content .section-access .split-view .route .navi{ max-width: none; margin-top: 5%; }
	#main .content .section-access .split-view .route .navi a{ border-radius: 10vw; }
	#main .content .section-access .split-view .txt-body{ width: 100%; margin-top: 7%; }
	#main .content .section-access .split-view .txt-body .address{ font-size: 1.1666rem; }
	#main .content .section-access .split-view .txt-body .head01~.head01{ margin-top: 5%; }
	#main .content .section-access .split-view .txt-body .txt02{ font-size: 0.8333rem; }
	#main .content .section-access .split-view .txt-body .head02{ border-radius: 7vw; }
	#main .content .section-access .split-view .txt-body .txt03{ font-size: 0.8333rem; }
	#main .content .section-access .split-view .route .navi a:hover::before{ transform: scaleX(0); }
	#main .content .section-access .split-view .route .navi a:active::before{ transform: scaleX(1); }
}



/*animation*/
/*-------------------------------------------------------*/

.js-inview{ opacity: 0; }
.js-inview.show{ opacity: 1; transition: opacity 1s; }
#header .global-navi-wrapper{ opacity: 0; z-index: -1; -webkit-overflow-scrolling: touch; transition: opacity 0.5s; }
#header.active .global-navi-wrapper{ opacity: 1; z-index: 5000; }
#main .main-visual .item{ opacity: 0; transition: opacity 0.8s ease-in-out; z-index: 100; }
#main .main-visual .item.active{ opacity: 1; }
#main .main-visual .item.move img{ animation: main_slide_move 12s ease; }

@keyframes main_slide_move{
	0% { transform: translate3d(0, 0, 0) scale(1.5); }
	100% { transform: translate3d(0, 0, 0) scale(1); }
}