@charset "UTF-8";
/*---	全体	---------------------------*/
html {
}
body{
	min-width:var(--fullsize);
	position:relative;
}body.scroll-lock{
	height: 100%;
	overflow: hidden;
}

section{
	width:100%;
	min-height:30vh;
	background:var(--base-color);
}
section.gray{
	background:var(--c-higray);
	color:#ffffff;
}
section.lgray{
	background:var(--sub-color);
}
section.black{
	background:#000000;
	color:#ffffff;
}
#contents_area.toppage section{
	background:var(--sub-color);
}


.inner{
	width:var(--fullsize);
	margin:0 auto;
}
img.box_max{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 640px){
	body{
		min-width:unset;
	}
	.inner{
		width:calc(100% - 30px);
	}
}

/*---	ヘッダー	---------------------------*/

header{
    padding: 82px 40px 25px;
	background:var(--base-color);
    z-index: 500;
	width:100%;
}
._top header{
    padding: 25px 40px 25px;
	background: transparent;
	position:absolute;
	top:0;	left:50%;
	transform: translateX(-50%);
}
header .inner{
	display:flex;
    justify-content: space-between;
	width:100%;
}header .head_logo{
	width:145px;
}header .head_logo .sitename{
	
}header .head_logo .sitename img{
	width:100%;
}

header .head_navi{
	
}header .head_navi .head_terms{
    float: right;
	margin-bottom:5px;
}header .head_navi .head_menu{
}header .head_navi ul.head_list_ul{
    display: inline-flex;
    width: fit-content;
}header .head_navi ul.head_list_ul li{
	width:fit-content;
    text-align: right;
}header .head_navi .head_terms ul.head_list_ul li{	padding:0 10px;	font-size:0.8em;	}
header .head_navi .head_terms ul.head_list_ul li:last-child{	padding-right:0;	}
header .head_navi .head_menu ul.head_list_ul li{	width:95px;		font-size:0.95em;	}
header .head_navi ul.head_list_ul li a{
	text-decoration:none;
}
header .head_navi ul.head_list_ul li.lang select{
	width:120px;
}

header .head_navi ul.head_list_ul li.head_sns{
}header .head_navi ul.head_list_ul li.head_sns ul.head_sns_ul{
    display: flex;
	margin-right:10px;
}header .head_navi ul.head_list_ul li.head_sns ul.head_sns_ul li{
	margin-right: 15px;
    padding: 0;
}header .head_navi ul.head_list_ul li.head_sns ul.head_sns_ul li a{
	width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}header .head_navi ul.head_list_ul li.head_sns ul.head_sns_ul li img{
    width: 20px;
    height: 20px;
    object-fit: contain;
    filter: invert(100%);
}



@media (max-width: 640px){
	header{
		padding:10px;
	}header .head_logo .sitename img{
		height:65px;
	}
	._top header{
		width:100%;
	}


	/*SP版メニュー*/
	.sp_btn_area{
	    display: flex;
	    align-items: center;
		position:relative;
		z-index:1000;
	}
	.sp_menu_btn,
	.sp_menu_btn span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.sp_menu_btn {
		position: relative;
		width: 40px;
		height: 28px;
		background: none;
		border: none;
		appearance: none;
		cursor: pointer;
		margin-bottom:5px;
	}
	.sp_menu_btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: var(--c-black);
		border-radius: 4px;
	}
	.sp_menu_btn span:nth-of-type(1) {	top: 0;	}
	.sp_menu_btn span:nth-of-type(2) {	top: calc(50% - 1px);	}
	.sp_menu_btn span:nth-of-type(3) {	bottom: 0;	}

	.sp_menu_btn.stand-by span:nth-of-type(1) {
	  animation: sp_menu_btn-bar01 .65s forwards;
	}
	@keyframes sp_menu_btn-bar01 {
	  0% {    transform: translateY(12px) rotate(45deg);	}
	  50% {   transform: translateY(12px) rotate(0);		}
	  100% {  transform: translateY(0) rotate(0);			}
	}
	.sp_menu_btn span:nth-of-type(2) {
	  transition: all .25s .25s;
	  opacity: 1;
	}
	.sp_menu_btn.stand-by span:nth-of-type(3) {
	  animation: sp_menu_btn-bar03 .65s forwards;
	}
	@keyframes sp_menu_btn-bar03 {
	  0% {		transform: translateY(-12px) rotate(-45deg);	}
	  50% {		transform: translateY(-12px) rotate(0);			}
	  100% {	transform: translateY(0) rotate(0);				}
	}
	.sp_menu_btn.active span:nth-of-type(1) {
	  animation: active-sp_menu_btn-bar01 .65s forwards;
	}
	@keyframes active-sp_menu_btn-bar01 {
	  0% {		transform: translateY(0) rotate(0);		}
	  50% {		transform: translateY(12px) rotate(0);	}
	  100% {    transform: translateY(12px) rotate(45deg);  }
	}
	.sp_menu_btn.active span:nth-of-type(2) {  opacity: 0;	}
	.sp_menu_btn.active span:nth-of-type(3) {  animation: active-sp_menu_btn-bar03 .75s forwards;	}
	@keyframes active-sp_menu_btn-bar03 {
	  0% {    transform: translateY(0) rotate(0);	  }
	  50% {   transform: translateY(-12px) rotate(0);	}
	  100% {	transform: translateY(-12px) rotate(-45deg);	}
	}

	.sp_btn_area p{
		color:var(--c-black);
		font-size:0.8em;
		text-align:center;
		letter-spacing: 0.12em;
		position:absolute;
		bottom:-5px;
	}
	._top .sp_btn_area p{
		color:#ffffff;
	}._top .sp_menu_btn span {
		background-color: #ffffff;
	}

	.sp_menu_btn.active span{
		background-color: #ffffff;
	}.sp_btn_area .sp_menu_btn.active+p{
		color:#ffffff;
	}


	#sp_menuslide{
		height:100dvh;
		width:100%;
		position:fixed;
		top:0;	left:0;
		z-index:800;
		background:#333333;
		padding-top:40px;
		transition: all .4s;
		opacity:0;
		visibility: hidden;
        transform-origin: top right;
        transform: scale(0.6);
		display:flex;
        align-items: center;
	}#sp_menuslide.active{
		opacity:1;
		visibility: visible;
        transform: scale(1);
	}

	#sp_menuslide .sp_menu_box{
		padding:30px;
	}

	#sp_menuslide .sp_menu_box select.language-select{
	  -moz-appearance: none;
	  -webkit-appearance: none;
	  appearance: none;
		border-radius:5px;
		color:var(--font-color);
		background: #d9d9d9;
	    margin-bottom: 20px;
	    width: 100%;
	    padding: 5px;
	}

	#sp_menuslide .sp_menu_box ul.sp_menu_list{
		width:100%;
		display:flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}#sp_menuslide .sp_menu_box ul.sp_menu_list li{
		width:48%;	height:63px;
		border-right:1px solid #ffffff;
		border-top:1px solid #ffffff;
		margin-bottom:30px;
	}#sp_menuslide .sp_menu_box ul.sp_menu_list li a{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: #ffffff;
        text-decoration: none;
        font-size: 1.2em;
        line-height: 1.3;
        text-align: center;
	}
	#sp_menuslide .sp_menu_box ul.head_sns_ul{
		display:flex;
        justify-content: space-evenly;
		margin-bottom:30px;
	}#sp_menuslide .sp_menu_box ul.head_sns_ul li{
        width: fit-content;
	}#sp_menuslide .sp_menu_box ul.head_sns_ul a{
	}#sp_menuslide .sp_menu_box ul.head_sns_ul a img{
		height:33px;
	}



	#sp_menuslide .sp_menu_box .sp_menu_reservatio{
		width:100%;
		background:var(--base-color);
	}#sp_menuslide .sp_menu_box .sp_menu_reservatio a{
		display:block;
		width:100%;	height:100%;
		padding:25px 0;
		font-size:1.1em;
		font-weight:bold;
		text-align:center;
		text-decoration:none;
		position:relative;
	}#sp_menuslide .sp_menu_box .sp_menu_reservatio a:before,
	#sp_menuslide .sp_menu_box .sp_menu_reservatio a:after{
		content:"";
		position:absolute;
		top:50%;
	}#sp_menuslide .sp_menu_box .sp_menu_reservatio a:before{
		width:45px;	height:45px;
		border:1px solid var(--c-darkgray);
		border-radius:50%;
		right:20px;
	    transform: translateY(-50%);
	}#sp_menuslide .sp_menu_box .sp_menu_reservatio a:after{
		width:10px;	height:10px;
		border-right:1px solid var(--c-darkgray);
		border-top:1px solid var(--c-darkgray);
		right:40px;
	    transform: translateY(-50%) rotate(45deg);
	}

}

/*宿泊検索バー*/

.room_search_box{
	background:var(--c-black);
	padding:12px 0;
	color:#ffffff;
	position:fixed;
	width:100%;
	z-index:200;
}
.room_search_box form{
    text-align: right;
	position:relative;
	display:flex;
}.room_search_box form fieldset{
    display: inline-flex;
    justify-content: flex-end;
    border: none;
	width:calc(100% - 100px);
    padding: 0;
	margin-right:35px;
}.room_search_box form fieldset legend{
	position:absolute;
	left: 0;
	top:50%;
	transform: translateY(-50%);
}
.room_search_box form input[type="number"],
.room_search_box form select{
	width:57px;
	margin-left:7px;
}.room_search_box form input[type="date"]{
	margin-left:7px;
}.room_search_box form input[type="submit"]{
    border: none;
    padding: 2px 20px;
    letter-spacing: 0.5em;
    padding-right: calc(20px - 0.5em);
    border-radius: 20px;
}
.room_search_box form label{
	position:relative;
}
.room_search_box form label.nights:after,
.room_search_box form label.rooms:after,
.room_search_box form label.guests:after{
	content:"";
	position:absolute;
	color:#000000;
	font-size:0.8em;
    bottom: 5px;
	right: 22px;
}
.room_search_box form label.nights:after{	content:"泊";	}
.room_search_box form label.rooms:after{	content:"室";	}
.room_search_box form label.guests:after{	content:"名";	}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	opacity: 1;	/*数値スピナーの常時表示*/
}

.room_search_box form fieldset label{
	margin-left:20px;
}


/*フロート*/
.side_reservation{
	position:fixed;
/*	top:50%;	*/
/*	top: clamp(425px, 50%, 50%);*/
	bottom:clamp(235px, 30%, 50%);
	right:-11px;
/*	transform: translateY(-50%);*/

	z-index:300;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;

    display: flex;
    flex-wrap: wrap;
}

.side_reservation a{
	background:var(--c-black);
	display:block;
	border-radius:11.3762px 0 0 11.3762px;
	padding: 14px 20px 17px 8px;
	color:#ffffff;
	text-decoration:none;
	font-size:1.2em;
}.side_reservation a:hover,.side_reservation a:focus{
	opacity:unset;
	transform: translateX(-7px);
}
.reservation_box.news_box{
	margin-bottom:12px;
}
.reservation_box.news_box a{
	background:#EDEDED;
	color:var(--font-color);
}

#page-top{
    position: fixed;
    bottom: 60px;
    right: 60px;
	z-index:400;
	display:none;
    transform: translateY(1.4em);
}#page-top a{
	text-decoration:none;
	font-weight:bold;
}#page-top .pagetop_box{
	width:50px;	height:50px;
	border-radius:50%;
	border:1px solid #040000;
	background:var(--sub-color);
	position:relative;
}#page-top .pagetop_box:before{
	content:"";
	position:absolute;
    border-top: 2px solid #221714;
    border-left: 2px solid #221714;
    width: 13px;
    height: 13px;
    left: 50%;
    top: 57%;
    transform:  translateX(-50%)  translateY(-50%) rotate(45deg);
}#page-top p{
	text-align:center;
	font-size:0.85em;
	font-weight:bold;
}

@media (max-width: 640px){
	#page-top{
		right:20px;
	}
	.side_reservation a{
		font-size:1em;
	}
}


/*---	フッター	---------------------------*/

footer{
	background:var(--base-color);
	border-top:1px solid var(--font-color);
}

footer .foot_main{
	display:flex;
	padding:75px 0;
}
footer .foot_info{
	display:flex;
	width:55%;
}footer .foot_info .foot_logo{
	width:125px;
	margin-right:30px;
}footer .foot_info .foot_logo img{
}
footer .foot_info .foot_text{
	font-size:0.8em;
}
footer .foot_info .foot_text .title{
	font-size:1.4em;
	margin-bottom:15px;
}footer .foot_info .foot_text .zip{
	margin-bottom:15px;
}

footer .foot_menu{
	width:45%;
}footer .foot_menu ul.foot_menu_ul{
	width:80%;
	column-count: 3;
	font-size:0.8em;
    float: right;
}footer .foot_menu ul.foot_menu_ul li{
	text-align:left;
    white-space: nowrap;
	margin-bottom:15px;
}footer .foot_menu ul.foot_menu_ul li a{
	text-decoration:none;
}

footer .foot_map{
	
}
footer .foot_banner{
	padding:75px 0 55px;
}footer .foot_banner .foot_banner_ul{
	width:100%;
	display:flex;
	flex-wrap:wrap;
    align-items: center;
	justify-content: center;
}footer .foot_banner .foot_banner_ul li{
	margin-bottom:20px;
	margin-left:10px;
	margin-right:10px;
}footer .foot_banner .foot_banner_ul li img{
	width:220px;
}

footer .foot_copy{
	background:#000000;
	padding:6px 0;
}footer .foot_copy p{
	text-align:center;
	color:#ffffff;
}

footer .foot_reservation{
	display:none;
}


@media (max-width: 640px){
	footer .inner{
		width:100%;
	}
	footer .foot_main{
		display:block;
		padding: 60px 0 0;
	}footer .foot_info{
		width: calc(100% - 30px);
		margin:0 auto;
		display:block;
	}footer .foot_info .foot_logo {
	    width: 120px;
	    margin:0 auto 30px;
	}

	footer .foot_menu {
	    width: 100%;
		margin-top:55px;
		border-bottom:1px solid #000000;
	}footer .foot_menu ul.foot_menu_ul{
		width:100%;
        column-count: unset;
		font-size:0.8em;
	    float: unset;
        display: flex;
        flex-wrap: wrap;
		position:relative;
	}footer .foot_menu ul.foot_menu_ul li{
		width:50%;
		text-align:center;
	    white-space: nowrap;
		margin-bottom:0;
		border-top:1px solid #000000;
	}footer .foot_menu ul.foot_menu_ul li.none{
		display:none;
	}footer .foot_menu ul.foot_menu_ul li a{
		text-decoration:none;
		padding:15px 0;
        display: flex;
        justify-content: center;
	}
	footer .foot_menu ul.foot_menu_ul:after{
		content:"";
		display:inline-block;
		position:absolute;
		top:0;	left:50%;
		transform: translateX(-50%);
		width:1px;	height:100%;
		background:#000000;
	}

	footer .foot_copy{
		padding:10px 0;
	}footer .foot_copy p{
		font-size:0.75em;
	}

	footer .foot_reservation,
	.top_reservation{
		display:block;
		background:#000000;
	}footer .foot_reservation a,
	.top_reservation a{
        display: block;
		border-top:1px solid #ffffff;
		color:#ffffff;
		text-decoration:none;
		font-size:1.1em;
		text-align:center;
		padding:12px 0;
        letter-spacing: 0.15em;
		position:relative;
	}footer .foot_reservation a:after,
	.top_reservation a:after{
		content:"";
		display:inline-block;
		position:absolute;
		top:50%;	right:50px;
		width:10px;	height:10px;
		border-right:1px solid #ffffff;
		border-top:1px solid #ffffff;
		right:55px;
	    transform: rotate(45deg) translateY(-50%);
	}
	.top_reservation a{
		border-top:none;
	}

}


/*---	CTAエリア	---------------------------*/

section.contact{
	background:var(--c-black);
	padding:100px 0;
}

section.contact h2.contact_title{
	color:#ffffff;
	text-align:center;
	margin-bottom:30px;
}

section.contact .contact_area{
	display:flex;
    justify-content: space-between;
}
section.contact .contact_area .contact_web{
	width:49%;
	background:var(--c-deepgray);
}section.contact .contact_area .contact_web a{
	text-decoration:none;
	display:flex;
    align-items: center;
	width:100%;	height:100%;
	position:relative;
}section.contact .contact_area .contact_web a:before,
section.contact .contact_area .contact_web a:after{
	content:"";
	position:absolute;
}section.contact .contact_area .contact_web a:before{
	width:45px;	height:45px;
	border:1px solid var(--c-darkgray);
	border-radius:50%;
	right:35px;
}section.contact .contact_area .contact_web a:after{
	width:10px;	height:10px;
	border-right:1px solid var(--c-darkgray);
	border-top:1px solid var(--c-darkgray);
	right:55px;
    transform: rotate(45deg);
}section.contact .contact_area .contact_web a p{
	padding-left:45px;
	font-size:1.2em;
}

section.contact .contact_area .contact_tel{
	width:49%;
	display:flex;
	flex-wrap:wrap;
}section.contact .contact_area .contact_tel .tel_area{
	width:100%;
	background:#ffffff;
	display:flex;
	align-items: center;
	height:70px;
}section.contact .contact_area .contact_tel .tel_area .tel_name{
	width:165px;
	border-right:1px solid #000000;
	text-align:center;
	padding:7px 0;
}section.contact .contact_area .contact_tel .tel_area .telbox{
	display:flex;
    align-items: center;
	margin-left:20px;
}section.contact .contact_area .contact_tel .tel_area .telbox .tel{
	font-size:1.6em;
}section.contact .contact_area .contact_tel .tel_area .telbox .num{
	margin-left:25px;
}section.contact .contact_area .contact_tel .tel_area .telbox .num span{
	color:var(--c-lowgray);
}



section.contact .contact_area .contact_tel .tel_main{
	margin-bottom:15px;
}

section.contact .tel_time{
	color:#ffffff;
	text-align:right;
	padding-top:10px;
}



@media (max-width: 640px){
	section.contact{
		padding: 50px 0;
	}

	section.contact .contact_area{
		display:block;
	}
	section.contact .contact_area .contact_web{
		width:100%;
		padding:30px 0;
	    margin-bottom: 15px;
	}section.contact .contact_area .contact_tel{
		width:100%;
	}
	section.contact .tel_time{
		padding-top:4px;
	}

}


/*---	トップ_ファーストビュー	---------------------------*/

section.first_view{
	height:100vh;
	min-height:700px;
	position:relative;
}

section.first_view .movie{
	width:100%;
	height:100%;
	position: relative;
	overflow:hidden;
}
section.first_view .movie video{
	width: 100%;
	height: 100%;
	z-index: 0;
	object-fit: cover;
	object-position: center;
}

section.first_view .room_search_box,
section.first_view .top_reservation{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}

@media (max-width: 640px){
	section.first_view{
		height:100vh;
		min-height:unset;
	}
}

/*---	トップ_コピー	---------------------------*/
section.catch_copy{
	background:var(--c-gray);
	padding-top:100px;
	padding-bottom:140px;
}
section.catch_copy .inner{
	display:flex;
    justify-content: center;
}
section.catch_copy .main_text{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}section.catch_copy .main_text p{
	margin-left:30px;
	font-size:1.2em;
	line-height: 2.2;
    letter-spacing: 0.15em;
}section.catch_copy .main_text p.sp-02{
	margin-left:0;
}
section.catch_copy .main_text .title{
	font-size:1.4em;
	margin-left:60px;
	font-weight:bold;
}
section.catch_copy .logo{
	width:55px;
}section.catch_copy .logo img{
	width:100%;
    bottom: 0;
    position: relative;
    margin-top: auto;
}


@media (max-width: 640px){
	section.catch_copy .main_text{
		width:100%;
		display:flex;
		flex-wrap:wrap;
        flex-direction: column;
		position:relative;
		-ms-writing-mode: unset;
		writing-mode: unset;
		text-orientation: unset;
	}
	section.catch_copy .main_text .title{
		position:absolute;
		top:0;	left:50%;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}section.catch_copy .main_text .logo{
		position:absolute;
		bottom:-40px;	left:0;
	}section.catch_copy .main_text p.text{
		margin:0;
		width:100%;
        display: flex;
        align-items: center;
		margin-bottom:40px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}section.catch_copy .main_text p.text.sp-01{
		padding-right:60px;
		margin-bottom:80px;
	}
}


/*---	トップ_巨大ボタン	---------------------------*/

section.top_bigbtn_area{
	width:100%;
	padding-bottom:145px;
    overflow: hidden;
}section.top_bigbtn_area .backimage{
	width:70%;
	max-height:800px;
	position:relative;
}
section.top_bigbtn_area .backimage.back_l{	margin-right:auto;	}
section.top_bigbtn_area .backimage.back_r{	margin-left:auto;	}
section.top_bigbtn_area .backimage img{
	width:100%;	height:100%;
    object-fit: cover;
    object-position: center;
}section.top_bigbtn_area .backimage:before{
	content:"";
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
	background:var(--sub-color);
    transition: all 1400ms ease 0s;
	transform:scaleX(1);
	z-index:3;
}
section.top_bigbtn_area .backimage.back_l:before{	transform-origin: right;	}
section.top_bigbtn_area .backimage.back_r:before{	transform-origin: left;	}
section.top_bigbtn_area .backimage.animated:before{
	transform:scaleX(0);
}

section.top_bigbtn_area .inner{
	width:var(--maxsize);
	margin-top:-75px;
	position:relative;
	z-index:5;

	opacity: 0;
    transform: translateY(50px);
    transition: all 1400ms ease 0s;
}section.top_bigbtn_area .inner.animated{
	opacity: 1;
    transform: translateY(0);
}

section.top_bigbtn_area .inner a.top_bigbtn{
	text-decoration:none;
	overflow:hidden;
    display: block;
	position:relative;
}section.top_bigbtn_area .inner a.top_bigbtn:hover,
section.top_bigbtn_area .inner a.top_bigbtn:focus{
	opacity:1;
}section.top_bigbtn_area .inner a.top_bigbtn .bigbtn{
	display:flex;
	justify-content: space-between;
}
section.top_bigbtn_area .bigbtn .photo_left{
	width:50%;
}
section.top_bigbtn_area .bigbtn .photo_right{
	width:50%;
}
section.top_bigbtn_area .bigbtn.c-space .photo_left{
	width:calc(50% - 10px);
}section.top_bigbtn_area .bigbtn.c-space .photo_right{
	width:calc(50% - 10px);
	margin-left:20px;
}
section.top_bigbtn_area .bigbtn .photo_right img{
}


section.top_bigbtn_area .inner:before,
section.top_bigbtn_area .inner:after{
	content:"";
	position:absolute;
}
section.top_bigbtn_area .inner:before{
	width:calc(100% + 30px);
	height:2px;
	background:#ffffff;
	top:-15px;	left:-15px;
}section.top_bigbtn_area .inner:after{
	height:calc(100% + 15px);
	width:2px;
	background:#ffffff;
	top:-15px;	left:-15px;
}

section.top_bigbtn_area.onsen .inner:after{	left:unset;	right:-15px;	}

section.top_bigbtn_area.room .inner:before,
section.top_bigbtn_area.room .inner:after{
	display:none;
}

section.top_bigbtn_area .inner a.top_bigbtn .hover_area{
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
	background:#00050566;
	display: flex;
    align-items: center;
	justify-content: center;
	transition: all 0.6s ease;
	opacity:0;
}section.top_bigbtn_area .inner a.top_bigbtn .hover_area h2.hover_title{
	color:#ffffff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
    border: 2px solid #ffffff;
    border-radius: 50%;
    width: 345px;
    height: 345px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.3em;
}section.top_bigbtn_area .inner a.top_bigbtn:hover .hover_area,
section.top_bigbtn_area .inner a.top_bigbtn:focus .hover_area{
	opacity:1;
}
section.top_bigbtn_area .inner a.top_bigbtn .hover_area h2.hover_title .cafe_logo{
	height:70%;
}

section.top_bigbtn_area.room .inner .bigbtn.half{
	display:flex;
    justify-content: space-between;
   	height:410px;
}
section.top_bigbtn_area.room .inner .bigbtn.half .photo{
	width:47%;
	display:block;
	height:100%;
}section.top_bigbtn_area.room .inner .bigbtn.half .photo a.top_bigbtn{
	height:100%;
}section.top_bigbtn_area.room .inner .bigbtn.half .photo a.top_bigbtn .photobox{
	height:100%;
}section.top_bigbtn_area.room .inner .bigbtn.half .photo a.top_bigbtn .photobox img{
	width:100%;
    height: auto;
    object-fit: cover;
}

section.top_bigbtn_area.room .bigbtn .photo{
	position:relative;
	overflow:unset;
}
section.top_bigbtn_area.room .bigbtn .photo:before,
section.top_bigbtn_area.room .bigbtn .photo:after{
	content:"";
	position:absolute;
}section.top_bigbtn_area.room .bigbtn .photo:before{
	width:calc(100% + 30px);
	height:2px;
	background:#ffffff;
	top:-15px;	left:-15px;
}section.top_bigbtn_area.room .bigbtn .photo:after{
	height:calc(100% + 15px);
	width:2px;
	background:#ffffff;
	top:-15px;	left:-15px;
}
/*
section.top_bigbtn_area.room .bigbtn .photo.borderdown:before,
section.top_bigbtn_area.room .bigbtn .photo.borderdown:after{
	top:15px;
}section.top_bigbtn_area.room .bigbtn .photo.borderdown:before{
	width:100%;
}*/

@media (max-width: 640px){

	section.top_bigbtn_area .backimage{
		width:85%;
	}
	section.top_bigbtn_area .inner{
		width:90%;
		margin-top:-30px;
	}
	section.top_bigbtn_area .inner a.top_bigbtn .bigbtn{
		flex-wrap:wrap;
	}section.top_bigbtn_area .bigbtn .photo_left,
	section.top_bigbtn_area .bigbtn .photo_right{
		width:100%;
	}

	section.top_bigbtn_area .bigbtn.c-space .photo_left{
		width:100%;
	}section.top_bigbtn_area .bigbtn.c-space .photo_right{
		width:100%;
		margin-left:0;
		margin-top:8px;
	}

	section.top_bigbtn_area.room .inner .bigbtn.half{
		flex-wrap:wrap;
		height:unset;
	}section.top_bigbtn_area.room .inner .bigbtn.half .photo{
		width:100%;
	}section.top_bigbtn_area.room .inner .bigbtn.half .photo:first-child{
		margin-bottom:30px;
		
	}


	section.top_bigbtn_area .inner:before{
		width:calc(100% + 15px);
		top:-8px;	left:-8px;
	}section.top_bigbtn_area .inner:after{
		height:calc(100% + 8px);
		top:-8px;	left:-8px;
	}
	section.top_bigbtn_area.onsen .inner:after{	left:unset;	right:-8px;	}


	section.top_bigbtn_area .inner a.top_bigbtn .hover_area{
		opacity:1;
	}section.top_bigbtn_area .inner a.top_bigbtn .hover_area h2.hover_title{
		width:275px;	height:275px;
	}section.top_bigbtn_area .inner .bigbtn.half a.top_bigbtn .hover_area h2.hover_title{
		width:215px;	height:215px;
	}

	section.top_bigbtn_area.room .bigbtn .photo{
		position:relative;
		overflow:unset;
	}
	section.top_bigbtn_area.room .bigbtn .photo:before,
	section.top_bigbtn_area.room .bigbtn .photo:after{
		content:"";
		position:absolute;
	}section.top_bigbtn_area.room .bigbtn .photo:before{
		width:calc(100% + 15px);
		top:-8px;	left:-8px;
	}section.top_bigbtn_area.room .bigbtn .photo:after{
		height:calc(100% + 8px);
		top:-8px;	left:-8px;
	}


}



/*---	トップ_お知らせ	---------------------------*/

section.news{
	padding:150px 0 90px;
	border-top:1px solid var(--c-darkgray);
}
section.news .inner{
	position:relative;
}
h2.top_news_title{
	font-size:1.6em;
	margin-bottom:30px;
}
section.news .btn_area{
	position:absolute;
	top:10px;	right:0;
}
section.news .news_all_link{
	text-decoration:none;
	display:flex;
    align-items: center;
	width:100%;	height:100%;
	position:relative;
    padding-right: 60px;
}
section.news .news_all_link:before,
section.news .news_all_link:after{
	content:"";
	position:absolute;
}section.news .news_all_link:before{
	width:45px;	height:45px;
	border:1px solid var(--c-darkgray);
	border-radius:50%;
	right:0;
}section.news .news_all_link:after{
	width:10px;	height:10px;
	border-right:1px solid var(--c-darkgray);
	border-top:1px solid var(--c-darkgray);
	right:20px;
    transform: rotate(45deg);
}

section.news .news_area{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}section.news .news_area:after{
	content:"";
	display:block;
	width:31%;
}

section.news .news_area .news_box{
	width:31%;
}
section.news .news_area .news_box a{
	display:block;
	text-decoration:none;
}
section.news .news_area .news_box .img_area{
	width:100%;
	height:190px;
}section.news .news_area .news_box .img_area img{
	width:100% !important;	min-width:100%; max-height:100%;
	height:100% !important;	min-height:100%; max-height:100%;
	object-fit: cover;
}section.news .news_area .news_box .img_area img.portrait{
	object-fit: contain;
}
section.news .news_area .news_box .info_area{
	margin:10px 0 8px;
	display:flex;
    justify-content: space-between;
}section.news .news_area .news_box .info_area .date{
}section.news .news_area .news_box .info_area .cate{
	text-align:right;
	padding:1px 5px;
	background:#919191;

}
section.news .news_area .news_box .title_area{
}section.news .news_area .news_box .title_area p.title{
}
section.news .news_area .news_box .datail{
	margin-top:8px;
	color:#3C3C3C;
	display:inline-block;
	position:relative;
}section.news .news_area .news_box .datail:after{
	content:"";
	position:absolute;
	left:calc(100% + 5px);	top:calc(50% + 1px);
	width:7px;	height:7px;
	border-top:1px solid #3C3C3C;
	border-right:1px solid #3C3C3C;
    transform: translateY(-50%) rotate(45deg);
}



@media (max-width: 640px){
	section.news .news_area{
		flex-wrap:wrap;
	}section.news .news_area .news_box{
		width:100%;
		margin-bottom:40px;
	}section.news .news_area .news_box a{
		display:flex;
	}section.news .news_area .news_box .img_area{
		width:40%;
		margin-right:15px;
		height:unset;
	}section.news .news_area .news_box .text_area{
		width:calc(60% - 15px);
	}section.news .news_area .news_box .info_area{
		margin:0 0 3px;
	}
	section.news .news_area .news_box .title_area p.title{
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; /* 任意の行数を指定 */
	}
	section.news .btn_area{
		position:relative;
	}section.news .btn_area .news_all_link{
		width: 150px;
		margin:0 auto;
	}
}


/*---	セカンド共通	---------------------------*/
section.topborder{
	border-top:1px solid var(--font-color);
}
section.title_image{
	width:100%;
	height:calc(100vh - 170px);
	min-height:700px;
	text-align:center;
	position:relative;
    display: flex;
    align-items: center;
}
section.title_image .title_image_back{
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
    object-fit: cover;
	pointer-events: none;
}
section.title_image h1.normal_title{
	width:390px;	height:390px;
	border:2px solid #ffffff;
	border-radius:50%;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
	display:flex;
	justify-content: center;
    align-items: center;
	color: #ffffff;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    letter-spacing: 0.45em;
    font-size: 2.7em;
    font-weight: bold;
}

section.copy_area{
	padding:70px 0 0;
}section.copy_area .maintext{
	width:490px;
	margin:0 auto;
}section.copy_area .vertical{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
	width:fit-content;
}
h2.normal_title{
	text-align:center;
	font-size:1.8em;
	margin-bottom:50px;
}
h2.min_title{
	text-align:center;
	font-size:1.2em;
	margin-bottom:50px;
}

#contents_area.other h1.normal_title{
	color:#ffffff;
}

#contents_area section.n_section{
	padding:110px 0;
}#contents_area section.n_section:first-child{
	padding:50px 0;
}
#contents_area section .flex{
	display:flex;
	justify-content: space-between;
}#contents_area section .flex > div{
	width:calc(50% - 15px);
}

@media (max-width: 640px){
	section.title_image h1.normal_title{
		width:250px;
		height:250px;
		font-size:2.0em;
	}

	#contents_area section .flex{
		flex-wrap:wrap;
	}#contents_area section .flex > div{
		width:100%;
	}#contents_area section .flex > div:first-child{
		margin-bottom:30px;
	}

}

#contents_area section .table_area{
	width:100%;
}#contents_area section .table_area table{
	width:100%;
}
#contents_area section .table_area table tr{
	border-bottom:1px solid #000000;
}#contents_area section .table_area table tr:first-child{
	border-top:1px solid #000000;
}
#contents_area section .table_area table th,
#contents_area section .table_area table td{
	padding:16px 12px;
	text-align:left;
	vertical-align: top;
}
#contents_area section .table_area table th{
	background:var(--c-higray);
	color:#ffffff;
	min-width:120px;
    white-space: nowrap;
}

#contents_area section .table_area table caption{
	text-align:left;
	font-size:1.1em;
	font-weight:bold;
	margin-bottom:20px;
}




@media (max-width: 640px){
	#contents_area section .table_area table{
		display:block;
		border-top:1px solid #000000;
		border-bottom:1px solid #000000;

		border:none;
		display: table;
	}#contents_area section .table_area table tr{
		display:block;
	}#contents_area section .table_area table th,
	#contents_area section .table_area table td{
		display:block;
		width:100%;
		padding-left:15px;
	}#contents_area section .table_area table th{
		padding-left:10px;
	}
	#contents_area section .table_area table tr{
		border-bottom:none;
	}#contents_area section .table_area table tr:first-child{
		border-top:none;
	}
}

#contents_area section .table_area.noneborder_table{
	width:fit-content;
	margin:0 auto;
}#contents_area section .table_area.noneborder_table table{
	width:fit-content;
}
#contents_area section .table_area.noneborder_table table tr{
	border:none;
}#contents_area section .table_area.noneborder_table table tr:first-child{
	border:none;
}
#contents_area section .table_area.noneborder_table table th,
#contents_area section .table_area.noneborder_table table td{
	padding:16px 12px;
	text-align:left;
	vertical-align: top;
}
#contents_area section .table_area.noneborder_table table th{
	background:unset;
	color:var(--font-color);
	min-width:120px;
    white-space: nowrap;
}

@media (max-width: 640px){
	#contents_area section .table_area.noneborder_table table td{
		padding-top:0;
	}
	#contents_area section .table_area.noneborder_table table{
		border:none;
	}

	#contents_area section .table_area.sp_con{
		margin-bottom: 0 !important;
	}#contents_area section .table_area.sp_con table tr:last-child{
		border-bottom:none;
	}
}


.w80{	width:90%;	margin:0 auto;	}
.w75{	width:80%;	margin:0 auto;	}
.w70{	width:70%;	margin:0 auto;	}
@media (max-width: 640px){
	.w80{	width:100%;	}
	.w75{	width:100%;	}
	.w70{	width:100%;	}
}

.gallery_box{
	
}
.gallery_box .box{
	display:flex;
    justify-content: space-between;
	margin-bottom:6px;
	width:100%;
}
.gallery_box .box .img_area{

}.gallery_box .box .img_area img{
	width:100%;	height:100%;
	background-size:cover;
}

.gallery_box .box.w1{
}.gallery_box .box.w1 .img_area{
	width:100%;
}

.gallery_box .box.w2{
}.gallery_box .box.w2 .img_area{
	width:calc(50% - 3px);
}.gallery_box .box.w2 .v2{
	width:calc(50% - 3px);
    display: flex;
    flex-wrap: wrap;
}
.gallery_box .box .v2 .img_area{
	width:100%;
	margin-bottom:6px;
}.gallery_box .box .v2 .img_area:last-child{
	margin-bottom:0;
}

.gallery_box .box.w3{
}.gallery_box .box.w3 .img_area{
	width:calc((100% / 3) - 3px);
}






.gallery_box .img_area .move{
/*	transition: all 1.0s ease 0s;
	transform: translateY(50%);*/
	transition: transform 1.0s ease 0s,opacity 1.4s ease 0.1s;
	transform: translateY(15%);
	opacity:0;
	position:relative;
	overflow:hidden;
}
.gallery_box .img_area .move:after{
	content:"";
	display:inline-block;
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
	background: var(--base-color);
	transition: all 1.5s ease;
	opacity:1;
}

.gallery_box .img_area .move.d1{	transition-delay: 0.3s;	}
.gallery_box .img_area .move.d2{	transition-delay: 0.6s;	}
.gallery_box .img_area .move.d3{	transition-delay: 0.9s;	}
.gallery_box .img_area .move.d4{	transition-delay: 1.2s;	}
.gallery_box .img_area .img_area .move.d1:after{	transition-delay: 0.3s;	}
.gallery_box .img_area .img_area .move.d2:after{	transition-delay: 0.6s;	}
.gallery_box .img_area .img_area .move.d3:after{	transition-delay: 0.9s;	}
.gallery_box .img_area .img_area .move.d4:after{	transition-delay: 1.2s;	}

.gallery_box .img_area .move.animated{
	transform: translateY(0%);
	opacity:1;
}
.gallery_box .img_area .move.animated:after{
	opacity:0;
}




a .side_arrow{
	position:absolute;
	bottom:3px;	right:-30px;
	width:16px;	height:16px;
	border:1px solid #231815;
	border-radius:50%;
}a .side_arrow:before,
a .side_arrow:after{
	content:"";
	position:absolute;
	top:50%;
}a .side_arrow:before{
	width:38px;		height:1px;
	background:#231815;
	left:8px;
	transform: translateY(-50%);
}a .side_arrow:after{
	width:6px;	height:6px;
	border-top:1px solid #231815;
	border-right:1px solid #231815;
	transform: translateY(-50%) translateX(38px) rotate(45deg);
    right: 6px;
}

.border_bigbtn{
	border:1px solid #231815;
}.border_bigbtn a{
	display:block;
	width:100%;	height:100%;
	padding:25px 0;
	font-size:1.1em;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	position:relative;
}.border_bigbtn a:before,
.border_bigbtn a:after{
	content:"";
	position:absolute;
	top:50%;
}.border_bigbtn a:before{
	width:45px;	height:45px;
	border:1px solid var(--c-darkgray);
	border-radius:50%;
	right:20px;
    transform: translateY(-50%);
}.border_bigbtn a:after{
	width:10px;	height:10px;
	border-right:1px solid var(--c-darkgray);
	border-top:1px solid var(--c-darkgray);
	right:40px;
    transform: translateY(-50%) rotate(45deg);
}


.border_box{
	border:1px solid var(--font-color);
	padding:25px;
}

dl.history{
	display:flex;
	flex-wrap:wrap;
}dl.history dt{
	width:5em;
}dl.history dd{
	width:calc(100% - 6em);
}



/*---	温泉ページ	---------------------------*/

section.title_image h1.onsen_title{
	margin:0 auto;
    width: fit-content;
	font-size:2.8em;
	color:#ffffff;
	position:relative;
	z-index:2;
}
section.days_image{
	background:var(--c-higray);
}
.days_nail_ul{
	display:flex;
    justify-content: center;
	padding:50px 0;
}
.days_nail_ul li{
	text-align:center;
	margin:10px;
}.days_nail_ul li img{
	margin-bottom:5px;
}.days_nail_ul li p{
	font-weight:bold;
}

section.copy_area{
	padding:140px 0;
}section.copy_area .inner{
    width: fit-content;
}
section.copy_area .mes_area{
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
}section.copy_area .mes_area p{
	margin-left:30px;
	display: flex;
}section.copy_area .mes_area p:last-child{
	margin-left:0;
}
section.copy_area .mes_area p span.v{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
	display:inline-block;
}
section.copy_area .lab_link{
	margin-top:70px;
	position:relative;
	padding-top:20px;
    width: fit-content;
}section.copy_area .lab_link:before{
	content:"";
	position:absolute;
	top:0;	left:0;
	height:1px;	width:65px;
	border-top:1px solid var(--font-color);
}section.copy_area .lab_link a{
	text-decoration:none;
	position:relative;
}


.onsen_attention{
	display:flex;
}.onsen_attention .img_area{
	width:30%;
	display:flex;
	justify-content: center;
    align-items: center;
}.onsen_attention .img_area img{
	width:120px;
}.onsen_attention .text_area{
	width:70%;
	padding-right:40px;
}.onsen_attention h2{
	font-size:1.5em;
	margin-bottom:20px;
}

.kinkiyu_box{
	border:1px solid #000000;
	padding:30px 40px;
	margin-top:60px;
	position:relative;
	display:flex;
}.kinkiyu_box .bird{
	position:absolute;
}.kinkiyu_box .bird.r{
	right:20px;	top:-40px;
}.kinkiyu_box .bird.l{
	left:50px;	bottom:-25px;
}
.kinkiyu_box .text_area{
	width:60%;
	font-size:1.3em;
}.kinkiyu_box .img_area{
	width:40%;
}

.onsen_gallery{
	margin-top:80px;
	margin-bottom:80px;
}
.onsen_analysis{
	margin-top:20px;
    text-align: right;
}
.onsen_analysis a{
	text-decoration:none;
	position:relative;
    margin-right: 63px;
}


@media (max-width: 640px){
	section.copy_area .inner{
		width:calc(100% - 30px);
	}
	section.copy_area .mes_area{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
	}
	section.copy_area .mes_area p{
		width:fit-content;
		margin:0 auto 30px;
		padding-bottom:30px;
		border-bottom:1px solid #000000;
		white-space: nowrap;
        display: flex;
        align-items: center;
        line-height: 2;
	}section.copy_area .mes_area p:last-child{
		margin:0 auto;
		border-bottom:0;
	}
	section.copy_area .mes_area p.ml0{
		margin:0 auto 30px !important;
	}

	.onsen_attention{
		flex-wrap:wrap;
	}.onsen_attention .text_area{
		width:100%;
		margin-top:20px;
		padding:0;
	}.onsen_attention .img_area{
		width:100%;
	}.onsen_attention .img_area img {
	    width: 100px;
	    margin-right: 20px;
	}

	.kinkiyu_box{
		flex-wrap:wrap;
	    padding: 30px 30px 50px;
	}
	.kinkiyu_box .text_area{
		width:100%;
	}.kinkiyu_box .img_area{
		width:100%;
		margin-top:20px;
	}.kinkiyu_box .bird.l{
		left:25px;
	}

}



/*---	館内施設ページ	---------------------------*/

.facility_btn_area{
	
}
.facility_btn_area .btn_box{
	display:flex;
    justify-content: space-between;
	margin-bottom:6px;
}
.facility_btn_area .btn_box .box{
	color:#ffffff;
	overflow:hidden;
	position:relative;
	display: flex;
}.facility_btn_area .btn_box .box a{
	text-decoration:none;
	color:#ffffff;
	display:block;	width:100%;	height:100%;
	display:flex;
}.facility_btn_area .btn_box .box img.back{
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
	background-size:cover;
}.facility_btn_area .btn_box .box .box_content{
	position:relative;
	width:100%;
	z-index:2;
	padding:50px 20px 20px;
	margin-top:auto;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
}
.facility_btn_area .btn_box .box p{
	font-size:0.9em;
}.facility_btn_area .btn_box .box p.facility_btn_title{
	font-size:1.2em;
}.facility_btn_area .btn_box .box .linkbox{
	border-left:1px solid #ffffff;
	border-top:1px solid #ffffff;
	display:inline-block;
	width:190px;
	margin-top:20px;
	padding:8px 15px;
	position:relative;
}.facility_btn_area .btn_box .box .linkbox.r{
	position:absolute;
	bottom:20px;	right:20px;
}.facility_btn_area .btn_box .box .linkbox:after{
	content:"";
	position:absolute;
	width:15px;	height:15px;
	border-top:1px solid #ffffff;
	border-right:1px solid #ffffff;
	top:50%;	right:10px;
	transform: translateY(-50%) rotate(45deg);
}

.facility_btn_area .btn_box.w1{
	width:100%;
	height:380px;
}.facility_btn_area .btn_box.w1 .box{
	width:100%;
}

.facility_btn_area .btn_box.w2{
	width:100%;
	height:380px;
}.facility_btn_area .btn_box.w2 .box{
	width:calc(50% - 3px);
}

.facility_btn_area .btn_box.w3{
	width:100%;
	height:280px;
}.facility_btn_area .btn_box.w3 .box{
	width:calc((100% / 3) - 3px);
}

.facility_btn_area .btn_box.w4{
	width:100%;
	height:1150px;
}.facility_btn_area .btn_box.w4 .box_half{
	width:calc(50% - 3px);
	height:100%;
}.facility_btn_area .btn_box.w4 .box_half .box{
	width:100%;
	height:calc(100% - 386px);
	margin-bottom:6px;
}.facility_btn_area .btn_box.w4 .box_half .box.mini{
	height:380px;
}.facility_btn_area .btn_box.w4 .box_half .box:last-child{
	margin-bottom:0;
}


@media (max-width: 640px){
	.facility .gallery .gallery_in{
		width:100%;
	}
}

.floormap_detail{
	max-width:1010px;
	padding:70px 65px 45px;
	background:#333333;
	color:#ffffff;
}.floormap_detail .modal_box{
	text-align:left;
	font-size:0.9em;
    position: relative;
}.floormap_detail .modal_box a{
	color:#ffffff;
	text-decoration:none;
}.floormap_detail .modal_box .pdflink{
	position:absolute;
	left:0;	top:-35px;
}.floormap_detail .modal_box .pdflink a{
	position:relative;
	padding-left:2em;
}.floormap_detail .modal_box .pdflink a:before{
	content:"";
	position:absolute;
	top:50%;	left:0;
	width:1.5em;	height:1.5em;
	background-image: url("../img/icon_pdf.svg");
	transform: translateY(-50%)
}
.floormap_detail .modal_box .close{
	position:absolute;
	right:0;	top:-35px;
    width: 45px;
    height: 45px;
}.floormap_detail .modal_box .close a{
	display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: relative;
}.floormap_detail .modal_box .close a:before,
.floormap_detail .modal_box .close a:after {
    content: "";
    position: absolute;
    width: 2px;
    height: 72%;
    background: #ffffff;
    border-radius: 10px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}.floormap_detail .modal_box .close a:after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.floormap_detail .modal_box .floormap_tab_box{
	padding-top: 30px;
}
.floormap_detail .modal_box .floormap_tab_box .tab_area{

}.floormap_detail .modal_box .floormap_tab_box .tab_area .floormap_box{
	height:450px;
	width:100%;
	padding-bottom:25px;
    align-items: center;
    justify-content: center;
	display:none;
}.floormap_detail .modal_box .floormap_tab_box .tab_area .floormap_box.active{
	display:flex;
}.floormap_detail .modal_box .floormap_tab_box .tab_area .floormap_box img{
	max-width:100%;
}


.floormap_detail .modal_box .floormap_tab_box .floor_num{
	position:absolute;
	top:0;	right:80px;
	border:1px solid #ffffff;
	border-radius:50%;
	width:110px;	height:110px;
	font-weight:bold;
	display:flex;
    align-items: center;
    justify-content: center;
	font-size:1.8em;
}.floormap_detail .modal_box .floormap_tab_box .floor_num p{
	padding-bottom: 6px;
    letter-spacing: 0.1em;
    padding-left: 0.2em;
}.floormap_detail .modal_box .floormap_tab_box .floor_num p.b{
	letter-spacing: unset;	padding-left:unset;
}.floormap_detail .modal_box .floormap_tab_box .floor_num span{
	font-size:1.5em;
}


.floormap_detail .modal_box .floormap_tab_box .tab{
	
}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul{
	display:flex;
	width:100%;
	margin-top:40px;
	border-left:1px solid #ffffff;
}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li{
	border-right:1px solid #ffffff;
	width:100%;
	font-size:0.9em;
	padding:50px 8px 15px;
	position:relative;
}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num{
	right:unset;	left:50%;
	width:80px;		height:80px;
	transform: translateX(-50%) translateY(-50%);
}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num:before{
	content:"";
	position:absolute;
	top:10px;	left:50%;
	width:10px;	height:10px;
	border-top:1px solid #ffffff;
	border-left:1px solid #ffffff;
	transform: translateX(-50%) rotate(45deg);
}
.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num.active{
	color:var(--font-color);
	border:1px solid #ffffff;
	background:#ffffff;
}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num.active:before{
	border-top:1px solid var(--font-color);
	border-left:1px solid var(--font-color);
}



@media (max-width: 640px){
	.floormap_detail{
	    padding: 70px 15px 45px;
	}
	.floormap_detail .modal_box .pdflink{
		left: 50%;
		transform: translateX(-50%);
		top:-50px;
	}.floormap_detail .modal_box .close{
    	top: -55px;
	}
	.floormap_detail .modal_box .floormap_tab_box .tab_area .floormap_box{
		height:unset;
		padding-top:60px;
	}
	.floormap_detail .modal_box .floormap_tab_box .floor_num{
		width:80px;	height:80px;
		right:50%;
		transform: translateX(50%);
	}

	.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul{
		flex-wrap:wrap;
		border-top:1px solid #ffffff;
		border-left:none;
	}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li{
		border-bottom:1px solid #ffffff;
		border-right:none;
	    padding: 15px 10px 15px 110px;
	}
	.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num{
		top:50%;
	    left: 50px;
	    width: 60px;
	    height: 60px;
	    transform: translateX(-50%) translateY(-50%);
	}.floormap_detail .modal_box .floormap_tab_box .tab ul.tab_list_ul li .floor_num p{
	    padding-bottom: 0px;
	    font-size: 0.8em;
	}

}



/*---	お食事ページ	---------------------------*/
section.title_image h1.normal_title.food_title{
	border:none;
	writing-mode:unset;
    margin-bottom: 1.5em;
}.food_title .titleimg{
	width:100%;
	border-radius:50%;
}.food_title .title_side{
	position:absolute;
	height:70%;
	top:50%;
	transform: translateY(-50%);
}.food_title .title_side.l{
	left:-60px;
}.food_title .title_side.r{
	right:-50px;
}.food_title .maintitle{
	position:absolute;
	bottom:-80px;
    margin-left: 0.45em;
}

.food .copy_area{
	padding-bottom:90px;
}
.food_select_box{
	display:flex;
    justify-content: space-between;
    width: 880px;
    margin: 0 auto 90px;
}.food_select_box .box{
	width:380px;
	position:relative;
}.food_select_box .box a{
	display:block;
	text-decoration:none;
	color:#ffffff;
}.food_select_box .box .img_area{
	border-top:2px solid #ffffff;
	border-right:2px solid #ffffff;
	padding:20px 20px 0 0;
	position: relative;
}.food_select_box .box .img_area img{
	border-radius:50%;
	width:100%;
}.food_select_box .box p.restaurant{
	text-align:center;
	padding-right:20px;
	margin-top:40px;
	font-size:1.2em;
}
.food_select_box .box a:hover,
.food_select_box .box a:focus{
	opacity:1;
}
.food_select_box .box a .linkarrow{
	position:absolute;
	left:calc(50% - 10px);
	bottom:-30px;
    transform: translateX(-50%);
}.food_select_box .box a .linkarrow .arrow{
	position:relative;
	height:60px;
	width:1px;
	background:#ffffff;
}.food_select_box .box a .linkarrow .arrow:before{
	content:"";
	position:absolute;
	width:11px;	height:11px;
	border-right:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
    transform: rotate(45deg);
	bottom:1px;
	left:-5px;
}.food_select_box .box a .linkarrow .s{
	position:absolute;
	border:1px solid #ffffff;
	width:30px;	height:30px;
	border-radius:50%;
	top:0%;
    left: calc(50% + 1px);
    transform: translateY(-50%) translateX(-50%);
//	transition:top 0.3s,transform 0.2s 0.25s;
	transition:0.35s;
}.food_select_box .box a:hover .linkarrow .s,
.food_select_box .box a:focus .linkarrow .s{
	top:95%;
    transform: translateY(-50%) translateX(-50%) scale(1.25);
}


.food_morning{
	width:880px;
	margin:0 auto;
	border-top:2px solid #ffffff;
	border-right:2px solid #ffffff;
	padding:40px 40px 0 0;
	display:flex;
justify-content: space-between;
}.food_morning .text_area{
/*	width:calc(100% - 520px);*/
width: fit-content;
	padding-right:40px;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    text-align: center;
}.food_morning .text_area p{
	width:100%;	
}.food_morning .img_area{
/*	width:520px;*/
	width:fit-content;
}.food_morning .img_area img{
	border-radius:50%;
    margin: 0 auto;
}
.food_morning .text_area p.title{
	font-size:1.2em;
	margin-bottom:20px;
}

.food_info{
	margin:80px auto;
	width:885px;
	display:flex;
    justify-content: space-between;
}#contents_area section .food_info .table_area{
	width:440px;
}#contents_area section .food_info .img_area{
	width:390px;
	display: flex;
	align-items: flex-end;
}
#contents_area section .food_info table caption{
	text-align:left;
	font-size:1.1em;
	font-weight:bold;
	margin-bottom:20px;
}

#contents_area section h2.chef_title{
	border-bottom:1px solid var(--font-color);
	font-size:1em;
	text-align:left;
	margin-bottom:50px;
	width:fit-content;
}
#contents_area section .flex.chef .img_area{
	width:calc(100% - 600px);
	padding-right:50px;
}#contents_area section .flex.chef .text_area{
	width:600px;
} 

.food_slide_area{
	margin:60px 0 70px;
}
.food_slide_area .glide__slide{
	background:#000000;
}.food_slide_area .glide__slide img{
    width: 100%;
    object-fit: cover;
	opacity: 0.25;
    transition: opacity 0.3s ease;
}
.food_slide_area .glide__slide.glide__slide--active img{
	opacity: 1;
}
.food_slide_area .glide .glide__arrows{
	position:absolute;
	top:0;	left:0;
	width:100%;
	height:100%;
	pointer-events: none;
}.food_slide_area .glide a{
	width:40px;
	height:100px;
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	pointer-events: auto;
}.food_slide_area .glide a.glide__arrow--left{
	left:45px;
}.food_slide_area .glide a.glide__arrow--right{
	right:45px;
}
.food_slide_area .glide a:before,
.food_slide_area .glide a:after{
	content:"";
	position:absolute;
	width:60px;	height:2px;
	background:#ffffff;
}
.food_slide_area .glide a:before{	top:50%;		}
.food_slide_area .glide a:after{	bottom:50%;	}
.food_slide_area .glide a.glide__arrow--left:before{	left:0;	transform-origin:top left;		transform: rotate(-55deg);	}
.food_slide_area .glide a.glide__arrow--left:after{		left:0;	transform-origin:bottom left;	transform: rotate(55deg);	}
.food_slide_area .glide a.glide__arrow--right:before{	right:0;transform-origin:top right;		transform: rotate(55deg);	}
.food_slide_area .glide a.glide__arrow--right:after{	right:0;transform-origin:bottom right;	transform: rotate(-55deg);	}

.food_gallery_area{
}
.food_gallery_area .food_gallery{
	position:relative;
}
.food_gallery_area .food_gallery .box{
	display:flex;
}
.food_gallery_area .food_gallery .box.box_50 > .img_area{	width:50%;	}
.food_gallery_area .food_gallery .box.box_20 > .img_area{	width:20%;	}

.food_gallery_area .food_gallery .abs{	position:absolute;	}
.food_gallery_area .food_gallery .abs.maru{
	width:90%;
	padding-bottom: calc(90% - 20px);	/*ボーダー分引く*/
	border:10px solid #ffffff;
	border-radius:50%;
	top:50%;	left:50%;
	transform: translateX(-50%) translateY(-50%);
}
.food_gallery_area .food_gallery .abs.hasi{
	top:0;	right:0;
	overflow:hidden;
}

.food_gallery_area .food_gallery .move{
/*	transition: all 1.0s ease 0s;
	transform: translateY(50%);*/
	transition: transform 1.0s ease 0s,opacity 1.4s ease 0.1s;
	transform: translateY(15%);
	opacity:0;
	position:relative;
	overflow:hidden;
}
.food_gallery_area .food_gallery .img_area .move:after{
	content:"";
	display:inline-block;
	position:absolute;
	top:0;	left:0;
	width:100%;	height:100%;
	background: var(--base-color);
	transition: all 1.5s ease;
	opacity:1;
}
#houan .food_gallery_area .food_gallery .img_area .move:after{
	background:var(--sub-color);
}

.food_gallery_area .food_gallery .move.d1{	transition-delay: 0.3s;	}
.food_gallery_area .food_gallery .move.d2{	transition-delay: 0.6s;	}
.food_gallery_area .food_gallery .move.d3{	transition-delay: 0.9s;	}
.food_gallery_area .food_gallery .move.d4{	transition-delay: 1.2s;	}
.food_gallery_area .food_gallery .img_area .move.d1:after{	transition-delay: 0.3s;	}
.food_gallery_area .food_gallery .img_area .move.d2:after{	transition-delay: 0.6s;	}
.food_gallery_area .food_gallery .img_area .move.d3:after{	transition-delay: 0.9s;	}
.food_gallery_area .food_gallery .img_area .move.d4:after{	transition-delay: 1.2s;	}

.food_gallery_area .food_gallery .move.animated{
	transform: translateY(0%);
	opacity:1;
}

.food_gallery_area .food_gallery .img_area .move.animated:after{
	opacity:0;
}

.food_gallery_area .food_gallery .move_hasi{
	transform: translateX(90%);
	transition: all 0.8s;
	transition-delay: 0.1s;
}
.food_gallery_area .food_gallery .move_hasi.animated{
	transform: translateX(0%);
}

.food_gallery_area .food_gallery .move_hasi.simpleParallax{
	    overflow: visible !important;
	    overflow-x: visible !important;
	    overflow-y: visible !important;

}
.food_info .haspo_photo{
	align-items: flex-start;
	padding-top:3em;
}


@media (max-width: 640px){
	.food_title .title_side.l{	left: -40px;	}
	.food_title .title_side.r{	light:-30px;	}

	.food_select_box{
		width:100%;
	}.food_select_box .box{
		width:47%;
	}
	.food_select_box .box .img_area{
		padding:10px 10px 0 0;
	}
	.food_select_box .box a .linkarrow{
		left:calc(50% - 5px);
		bottom:-20px;
	}.food_select_box .box a .linkarrow .arrow{
		height:40px;
	}.food_select_box .box a .linkarrow .s{
		width:22px;	height:22px;
	    left: calc(50% + 0px);
	}

	.food_morning{
		width:100%;
		flex-wrap:wrap;
	    padding: 10px 10px 0 0;
	}.food_morning .img_area{
		width:100%;
		order:1;
	}.food_morning .text_area{
		width:100%;
		order:2;
        flex-wrap: wrap;
        padding-right: 0;
		padding-top:20px;
	}.food_morning .text_area p{
		width:100%;
		/*text-align:left;*/
	}

	.food_info{
		width:100%;
		flex-wrap:wrap;
	}#contents_area section .food_info .table_area{
		width:100%;
	}#contents_area section .food_info .img_area{
		width:100%;
        margin-top: 30px;
	}#contents_area section .food_info .table_area table{
		border:none;
		display: table;
	}#contents_area section .table_area table tr:first-child{
		border-top:1px solid #000000;
	}#contents_area section .table_area table tr{
		border-bottom:1px solid #000000;
	}

	#contents_area section h2.chef_title{
		margin-bottom:0;
	}#contents_area section .flex.chef{
		flex-wrap:wrap;
	}#contents_area section .flex.chef .img_area{
		width:100%;
		padding-right:0;
		margin-bottom:20px;
	}#contents_area section .flex.chef .img_area img{
		width:60%;
		margin-left:auto;
		margin-top: -1.5em;
	}#contents_area section .flex.chef .text_area{
		width:100%;
	}

	.food_slide_area .glide a{
		width:20px;
	}.food_slide_area .glide a.glide__arrow--left{		left:3px;
	}.food_slide_area .glide a.glide__arrow--right{		right:3px;
	}
	.food_slide_area .glide a:before,
	.food_slide_area .glide a:after{
		width:30px;
	}

	.food_info .haspo_photo{
		padding-top:0;
	}

}


/*---	お部屋ページ	---------------------------*/

.room_list_area{
	
}
.room_list_area .direction_title{
	text-align:center;
	font-size:1.8em;
	font-weight:bold;
	margin-bottom:65px;
}.room_list_area .direction_title.margintop{
	margin-top:200px;
}
.room_list_area .room_list{
	display:flex;
    justify-content: space-between;
}.room_list_area .room_list.ev{
    justify-content: space-evenly;
}

.room_list_area .room_list .room_box{
	width:calc(26% - 35px);
}.room_list_area .room_list .room_box a{
	text-decoration:none;
}.room_list_area .room_list .room_box a:hover,
.room_list_area .room_list .room_box a:focus{
	opacity:1;
}
.room_list_area .room_list .room_box .door_area{
	text-align:center;
	margin:0 auto;
	position:relative;
}.room_list_area .room_list .room_box .door_area img{
	
}.room_list_area .room_list .room_box .door_area img.close_image{
	position:absolute;
	top:0;	left:0;
	z-index:2;
	transition: all 0.5s ease;
}.room_list_area .room_list .room_box a:hover .door_area img.close_image,
.room_list_area .room_list .room_box a:focus .door_area img.close_image{
	opacity:0;
}

.room_list_area .room_list .room_box .room_title{
	margin-top:10px;
}.room_list_area .room_list .room_box .num{
	display:inline-block;
	background:var(--font-color);
	color:var(--base-color);
	padding:1px 8px;
	margin-bottom:10px;
}

@media (max-width: 640px){
	.room_list_area .room_list{
		flex-wrap:wrap;
	}
	.room_list_area .room_list .room_box{
        width: fit-content;
        margin: 0 auto 30px;
	}
	.room_list_area .room_list .room_box .door_area img.close_image{
		display:none;
	}
}


.room_detail{
	max-width:1010px;
	padding:70px 75px;
}.room_detail .modal_box{
	text-align:left;
	font-size:0.9em;
    position: relative;
}
.room_detail .modal_box .modal_title{
	font-size:1.1em;
	font-weight: 800;
	border-bottom:1px solid var(--font-color);
	display:inline-block;
	margin-bottom:30px;
}

.room_detail .modal_box .modal_room_info{
	display:flex;
    justify-content: space-between;
	position:relative;
	margin-top:60px;
}.room_detail .modal_box .modal_room_info .roominfo_box{
	width:calc(50% - 70px);
}.room_detail .modal_box .modal_room_info .roominfo_box.maps{
	width:calc(50% - 20px);
	padding-right:0;
}


.room_detail .modal_box .roomtype{
    display: flex;
    align-items: center;
}.room_detail .modal_box .roomtype .typetitle{
	background:#000000;
	color:#ffffff;
    padding: 3px 8px 5px;
	margin-right:10px;
}.room_detail .modal_box .roomtype p{
}

.roominfo_title{
	border-top:1px solid var(--font-color);
	margin-top:32px;
	padding-top:4px;
	display:block;
	width:100%;
}
.room_detail .modal_box .modal_room_info ul.room_items{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	margin-top:20px;
}.room_detail .modal_box .modal_room_info ul.room_items li{
	width:50%;
	margin-bottom:20px;
	display:flex;
    align-items: center;
}.room_detail .modal_box .modal_room_info ul.room_items li img{
	width:41px;	height:41px;
	margin-right:8px;
}

.room_detail .modal_box .room_map{
	height:auto;
/*	border:1px solid var(--font-color);*/
	border:none;
	display: flex;
    align-items: center;
    justify-content: center;
	background:#ffffff;
}.room_detail .modal_box .room_map img{
}

.room_detail .modal_box .g360{
	position:absolute;
	right:-25px;
	bottom:-15px;
	background:#000000;
	color:#909091;
	text-decoration:none;
	width:110px;	height:110px;
    display: flex;
    align-items: center;
    justify-content: center;
	text-align:center;
	line-height: 1;
	padding-bottom: 7px;
    border-radius: 50%;
    background-image: url("../img/arrow_360.svg");
    background-repeat: no-repeat;
    background-size: calc(100% - 27px);
    background-position: center center;
}
.room_detail .close{
	position:absolute;
	right:-25px;
	top:-25px;
	width:45px;	height:45px;
	background:#000000;
	border-radius:50%;
}.room_detail .close a{
	display:block;
	width:100%;	height:100%;
	border-radius:50%;
	position:relative;
}.room_detail .close a:before,
.room_detail .close a:after{
	content:"";
	position:absolute;
	width:4px;	height:72%;
	background:#ffffff;
	border-radius:10px;
	top:50%;	left:50%;
	transform: translateX(-50%) translateY(-50%) rotate(45deg);
}.room_detail .close a:after{
	transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.room_detail .modal_slide{
	width:100%;
	margin-bottom:40px;
	position:relative;
}.room_detail .modal_slide .swiper{
	width:800px;
}.room_detail .modal_slide .thumbnail-swiper{
	margin-top:10px;
}.room_detail .modal_slide .thumbnail-swiper .swiper-slide{
	opacity: 0.6;
	cursor: pointer;
}.room_detail .modal_slide .thumbnail-swiper .swiper-slide-thumb-active{
  opacity: 1;
}
.room_detail .modal_slide .swiper-button-next,
.room_detail .modal_slide .swiper-button-prev {
  color: #221714;
  padding: 10px;
}
.room_detail .modal_slide .swiper-button-next {	right: -10px;	}
.room_detail .modal_slide .swiper-button-prev {	left: -10px;	}



@media (max-width: 640px){
	.room_detail{
		padding:40px 20px;
	}
	.room_detail.g_on{
		padding-bottom:80px;
	}
	.room_detail .modal_box .modal_room_info{
		flex-wrap:wrap;
	}.room_detail .modal_box .modal_room_info .roominfo_box{
		width:100%;
	}.room_detail .modal_box .modal_room_info .roominfo_box.maps{
		width:100%;
		margin-top:30px;
	}
	.room_detail .modal_box .g360{
	    right: -10px;
	    bottom: -70px;
	}
	.room_detail .close{
		top: -30px;
		right:-10px;
	}

	.room_detail .modal_slide .swiper{
		width:90%;
	}
	.room_detail .modal_slide .swiper-button-next {	right: -16px;	}
	.room_detail .modal_slide .swiper-button-prev {	left: -16px;	}
}

.amenities_flex{
	width:fit-content;
	display:inline-flex;
	flex-wrap:wrap;
	margin:0 auto;
}.amenities_flex .amenities_title{
	width:15%;
	font-weight:bold;
}.amenities_flex .text{
	width:85%;
}



/*---	カフェページ	---------------------------*/
section.title_image h1.cafe_title{
	border:none;
}section.title_image h1.cafe_title img{
	height:100%;
}
#contents_area.cafe .gallery .gallery_in{
	width:100%;
}

#contents_area.cafe .gallery .w_box{
	width:100%;
	display:flex;
	margin-bottom:150px;
}#contents_area.cafe .gallery .w_box .img_area{
	width:60%;
}#contents_area.cafe .gallery .w_box .img_area img{
	width:100%;
}#contents_area.cafe .gallery .w_box .text_area{
	width:40%;
	padding-left:40px;
}#contents_area.cafe .gallery .w_box .text_area h3{
	font-size:1.5em;
	margin-bottom:30px;
}


#contents_area.cafe .gallery .img_area{
	margin-bottom:45px;
}#contents_area.cafe .gallery .img_area img{
	width:100%;
}
#contents_area.cafe .gallery .img_area.r{	text-align:right;	}
#contents_area.cafe .gallery .img_area.l{	text-align:left;	}
#contents_area.cafe .gallery .img_area.r img{	margin-left:auto;	}
#contents_area.cafe .gallery .img_area.l img{	margin-right:auto;	}

#contents_area.cafe .gallery .img_area.img02{	margin-bottom:65px;		padding-left:25%;	padding-right:0%;	}
#contents_area.cafe .gallery .img_area.img03{	margin-bottom:110px;	padding-left:25%;	padding-right:40%;	}
#contents_area.cafe .gallery .img_area.img04{	margin-bottom:90px;		padding-left:10%;	padding-right:23%;	}
#contents_area.cafe .gallery .img_area.img05{	margin-bottom:110px;	padding-left:20%;	padding-right:22%;	}
#contents_area.cafe .gallery .img_area.img06{	margin-bottom:65px;		padding-left:20%;	padding-right:0%;	}
#contents_area.cafe .gallery .img_area.img07{	margin-bottom:85px;		padding-left:55%;	padding-right:20%;	}
#contents_area.cafe .gallery .img_area.img08{	margin-bottom:45px;		padding-left:0%;	padding-right:40%;	}
#contents_area.cafe .gallery .img_area.img09{	margin-bottom:100px;	padding-left:50%;	padding-right:18%;	}
#contents_area.cafe .gallery .img_area.img10{	margin-bottom:75px;		padding-left:30%;	padding-right:0%;	}
#contents_area.cafe .gallery .img_area.img11{							padding-left:25%;	padding-right:30%;	}


@media (max-width: 640px){
	#contents_area.cafe .gallery .w_box{
		flex-wrap:wrap;
	}#contents_area.cafe .gallery .w_box .img_area{
		width:80%;
	}#contents_area.cafe .gallery .w_box .text_area{
		width:100%;
	}

	#contents_area.cafe .gallery .img_area{
		margin-bottom:20px;
	}
	#contents_area.cafe .gallery .img_area.img02{	margin-bottom:35px;		padding-left:15%;	padding-right:0%;	}
	#contents_area.cafe .gallery .img_area.img03{	margin-bottom:50px;		padding-left:15%;	padding-right:30%;	}
	#contents_area.cafe .gallery .img_area.img04{	margin-bottom:40px;		padding-left:5%;	padding-right:13%;	}
	#contents_area.cafe .gallery .img_area.img05{	margin-bottom:50px;		padding-left:10%;	padding-right:12%;	}
	#contents_area.cafe .gallery .img_area.img06{	margin-bottom:35px;		padding-left:10%;	padding-right:0%;	}
	#contents_area.cafe .gallery .img_area.img07{	margin-bottom:45px;		padding-left:35%;	padding-right:10%;	}
	#contents_area.cafe .gallery .img_area.img08{	margin-bottom:20px;		padding-left:0%;	padding-right:25%;	}
	#contents_area.cafe .gallery .img_area.img09{	margin-bottom:55px;		padding-left:35%;	padding-right:8%;	}
	#contents_area.cafe .gallery .img_area.img10{	margin-bottom:35px;		padding-left:20%;	padding-right:0%;	}
	#contents_area.cafe .gallery .img_area.img11{							padding-left:15%;	padding-right:20%;	}

}

/*---	アクセスページ	---------------------------*/

.access_map_box{
	width:100%;
	margin-bottom:0;
	margin-top:50px;
}.access_map_box iframe{
    display: block;
}
.access_map_info{
	width:100%;
	background:var(--font-color);
	color:#ffffff;
	padding:35px 50px;
	display:flex;
}.access_map_info .text_box{
	width:50%;
    line-height: 2;
}


h2.access_title{
	font-size:1.4em;
	border-bottom:1px solid var(--font-color);
	display:inline-block;
	margin-bottom:40px;
}

.access_map_img{
	margin-top:50px;
}.access_map_img img{
	margin:0 auto;
}

ul.access_time_ul{
	display:flex;
	flex-wrap:wrap;
/*    justify-content: space-between;*/
	justify-content:center;
    padding-left: 1em;
	margin-bottom:20px;
    list-style: "■";
}ul.access_time_ul li{
	width:calc(100% / 3);
}/*ul.access_time_ul:after{
	content:"";
	display:inline-block;
	width:calc(100% / 3);
}*/



.accsess_route{
}
.accsess_route .route_box{
	display:flex;
	margin-bottom:70px;
}
.accsess_route .route_box .point{
	background:#ffffff;
	display:inline-block;
	padding:12px 18px;
	min-width:90px;
	text-align:center;
	position:relative;
}
.accsess_route .route_box .end{
	background:var(--c-higray);
	color:#ffffff;
}

.accsess_route .route_box .next{
	width:107px;
	position:relative;
}.accsess_route .route_box .next:before,
.accsess_route .route_box .next:after{
	content:"";
	position:absolute;
}.accsess_route .route_box .next:before{
	width:100%;	height:1px;
	top:50%;	left:0;
	background:#000000;
    transform: translateY(-50%);
}.accsess_route .route_box .point:after{
	content:"";
	position:absolute;
	width:14px;	height:14px;
	border-top:1px solid #000000;
	border-right:1px solid #000000;
	left:-3px;	top:50%;
    transform: translateY(-50%) translateX(-100%) rotate(45deg);
}.accsess_route .route_box .point:first-child:after{
	display:none;
}.accsess_route .route_box .next p{
	position:absolute;
	white-space: nowrap;
	bottom: 110%;	left:50%;
	font-size:0.8em;
	text-align:center;
    transform: translateX(-50%);
}

.accsess_route .route_box .next:after{
	background-image:none;
    background-repeat: no-repeat;
    background-size: contain;
	background-position: center;
	width:35px;
	padding-bottom:66.65%;
    left: 50%;	top:50%;
    transform: translateY(-50%) translateX(-50%);
}
.accsess_route .route_box .next.plane:after{	background-image:url('../img/icon_plane.svg');	}
.accsess_route .route_box .next.car:after{		background-image:url('../img/icon_car.svg');	}
.accsess_route .route_box .next.train:after{	background-image:url('../img/icon_train.svg');	}
.accsess_route .route_box .next.bus:after{		background-image:url('../img/icon_bus.svg');	}



.plane_route{
	margin-bottom:80px;
}.plane_route .plane_route_title{
	margin-bottom:30px;
}.plane_route .plane_route_title:before{
	content:"■";
}
.plane_route ul.access_time_ul{
	list-style: "・";
	margin:30px 0 45px;
}
.plane_route .route_box .point{
	min-width:117px;
}.plane_route .route_box .point.end{
	min-width:90px;
}.plane_route .route_box .next{
	width:120px;
}.plane_route .route_box .next.maxlong{
	width:calc(120px + 120px + 117px + 120px + 117px);
}

.plane_route_box{
	display:flex;
	align-items: center;
	margin-bottom:35px;
}.plane_route_box .boxtitle{
	border-top:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
	margin-right:30px;
    padding: 22px 0;
	width:115px;
    display: flex;
    align-items: center;
    justify-content: center;
	position:relative;
}.plane_route_box .boxtitle:before,
.plane_route_box .boxtitle:after{
	content:"";
	position:absolute;
	width:41px;	height:1px;
	background:#ffffff;
	left:100%;
}
.plane_route_box .boxtitle:before{
	top:0;
	transform:rotate(60deg);
    transform-origin: left top;
}.plane_route_box .boxtitle:after{
	bottom:0;
	transform:rotate(-60deg);
    transform-origin: left bottom;
}

.plane_route_box .route_box{
	margin-bottom:0;
}


.outside_area{
}.outside_area .outside_box{
	margin-bottom:20px;
	background:#040304;
	color:#ffffff;
	width:100%;
	padding:45px 50px 45px 0;
	display:flex;
}
.outside_area .outside_box .img_area{	width:25%;	}
.outside_area .outside_box .text_area{	width:50%;	}
.outside_area .outside_box .btn_area{	width:35%;	}

.outside_area .outside_box .img_area{
    display: flex;
    align-items: center;
    justify-content: center;
}.outside_area .outside_box .img_area img{
	height:65px;
}
.outside_area .outside_box .text_area{
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}.outside_area .outside_box .text_area p{
	width:100%;
}.outside_area .outside_box .text_area .outside_title{
	font-size:1.5em;
}

.outside_area .outside_box .btn_area{
}
.outside_area .outside_box .btn_area .btn_box{
	display:block;
	width:100%;
	min-height:65px;
	padding:15px 25px;
	text-decoration:none;
	background:#AFAEAF;
	color: var(--font-color);
	margin-bottom:10px;
	font-size:1.2em;
	line-height:1.3;
    display: flex;
    align-items: center;
	position:relative;
}.outside_area .outside_box .btn_area .btn_box:last-child{
	margin-bottom:0;
}.outside_area .outside_box .btn_area .btn_box:before,
.outside_area .outside_box .btn_area .btn_box:after{
	content:"";
	position:absolute;
	top:50%;
}.outside_area .outside_box .btn_area .btn_box:before{
	width:45px;	height:45px;
	border:1px solid var(--c-darkgray);
	border-radius:50%;
	right:20px;
    transform: translateY(-50%);
}.outside_area .outside_box .btn_area .btn_box:after{
	width:6px;	height:6px;
	border-right:1px solid var(--c-darkgray);
	border-top:1px solid var(--c-darkgray);
	right:40px;
    transform: translateY(-50%) rotate(45deg);
}.outside_area .outside_box .btn_area .btn_box.tel:after{
	border:none;
	width:20px;	height:20px;
	background-image:url("../img/icon_tel.svg");
	right:33px;
    transform: translateY(-50%);
}

.outside_area .outside_box .btn_area .btn_box.nolink{
/*	background:#747474;
	color:#ffffff;*/
}
.outside_area .outside_box .btn_area .btn_box.nolink:before,
.outside_area .outside_box .btn_area .btn_box.nolink:after{
	display:none;
}



@media (max-width: 640px){

	.access_map_info{
		flex-wrap:wrap;
	    padding: 25px 30px;
	}.access_map_info .text_box{
		width:100%;
	}

	h2.access_title{
		width:100%;
	}ul.access_time_ul li{
		width:100%;
	}

	.access_map_img.sp{
        margin-top: 0;
        display: block;
		margin-bottom:30px;
	}


	.accsess_route .route_ou{
		display:flex;
        justify-content: space-between;
        align-items: flex-start;
	}

	.plane_route{
		margin-bottom:50px;
	}
	.plane_route_box{
		width:48%;
		min-height: 550px;
		flex-wrap:wrap;
        align-items: flex-start;
		align-self: stretch;
        align-content: flex-start;
		margin-bottom:0;
		flex-direction: column;
	}.plane_route_box .boxtitle{
		border-top:none;	border-bottom:none;
		border-left:1px solid #ffffff;
		border-right:1px solid #ffffff;
		margin-right:0;
		margin-bottom:40px;
	    padding: 0;
		width:100%;
	    display: flex;
	    align-items: unset;
		align-self: flex-start;
        flex-grow: 0;
	}.plane_route_box .boxtitle:before,
	.plane_route_box .boxtitle:after{
		content:"";
		position:absolute;
		width:85px;	height:1px;
		background:#ffffff;
		left:unset;
		top:100%;
	}
	.plane_route_box .boxtitle:before{
		left:0;
		transform:rotate(15deg);
	    transform-origin: left top;
	}.plane_route_box .boxtitle:after{
		right:0;
		transform:rotate(-15deg);
	    transform-origin: right top;
	}

	.accsess_route .route_box{
		flex-wrap:wrap;
		margin-bottom:0;
        align-content: flex-start;
        flex-grow: 1;
        flex-direction: column;
        width: 100%;
	}
	.accsess_route .route_box .point{
		width:100%;
		min-width:unset;
	}

	.accsess_route .route_box .next{
		width:100%;
		height:100px;
	}.accsess_route .route_box .next:before,
	.accsess_route .route_box .next:after{
		content:"";
		position:absolute;
	}.accsess_route .route_box .next:before{
		width:1px;	height:100%;
		top:0;	left:50%;
	    transform: translateX(-50%);
	}.accsess_route .route_box .point:after{
		border-top:1px solid #000000;
		border-right:1px solid #000000;
		left:50%;	top:unset;	bottom:100%;
	    transform: translateY(-2px) translateX(-50%) rotate(135deg);
	}.accsess_route .route_box .next p{
		line-height: 1.4;
		bottom: 50%;	left:50%;
	    transform: translateX(-50%) translateY(-5px);
		background:var(--base-color);
	}

	.plane_route .route_box .next.maxlong{
		width:100%;
        flex-grow: 1;
	}

	.accsess_route .route_box .next:after{
	    left: 50%;	top:50%;
	    transform: translateY(-38%) translateX(-50%);
	}



	.outside_area .outside_box{
		flex-wrap:wrap;
		padding:40px 25px 25px;
	}
	.outside_area .outside_box .img_area{
		width:100%;
		margin-bottom:20px;
	}
	.outside_area .outside_box .text_area{
		width:100%;
		margin-bottom:20px;
	}
	.outside_area .outside_box .btn_area{
		width:100%;
	}


}


/*---	お知らせページ	---------------------------*/

.news .news_list_area{
	display:flex;
	margin-top:80px;
}

.news .news_list_area .news_date_list{
	width:25%;
}.news .news_list_area .news_list{
	width:calc(100% - 25%);
}

.news .news_list_area .news_date_list{
	border-right:1px solid var(--font-color);
	margin-right:80px;
	padding-right:60px;
}.news .news_list_area .news_date_list ul.news_date_ul{
}.news .news_list_area .news_date_list ul.news_date_ul li{
	margin-bottom:8px;
}.news .news_list_area .news_date_list ul.news_date_ul li a{
	text-decoration:none;
	padding-left:15px;
	position:relative;
}.news .news_list_area .news_date_list ul.news_date_ul li a:before{
	content:"";
	position:absolute;
	left:0;	top:calc(50% + 1px);
	width:7px;	height:7px;
	border-top:1px solid #3C3C3C;
	border-right:1px solid #3C3C3C;
    transform: translateY(-50%) rotate(45deg);
}

.news .news_list_area .news_list_in{
	width:100%;
	display:flex;
	flex-wrap:wrap;
    justify-content: space-between;
}.news .news_list_area .news_list .news_box{
	width:47%;
	margin-bottom:40px;
}


.news .news_list_area .news_list .news_box a{
	display:block;
	text-decoration:none;
}
.news .news_list_area .news_list .news_box .img_area{
	width:100%;
	height:190px;
}.news .news_list_area .news_list .news_box .img_area img{
	width:100% !important;	min-width:100%; max-height:100%;
	height:100% !important;	min-height:100%; max-height:100%;
	object-fit: cover;
}.news .news_list_area .news_list .news_box .img_area img.portrait{
	object-fit: contain;
}
.news .news_list_area .news_list .news_box .info_area{
	margin:10px 0 8px;
	display:flex;
    justify-content: space-between;
}.news .news_list_area .news_list .news_box .info_area .date{
}.news .news_list_area .news_list .news_box .info_area .cate{
	text-align:right;
	padding:1px 5px;
	background:#808080;

}
.news .news_list_area .news_list .news_box .title_area{
}.news .news_list_area .news_list .news_box .title_area p.title{
}
.news .news_list_area .news_list .news_box .datail{
	display:inline-block;
	position:relative;
	margin-top:8px;
	color:#3C3C3C;
}.news .news_list_area .news_list .news_box .datail:after{
	content:"";
	position:absolute;
	left:calc(100% + 5px);	top:calc(50% + 1px);
	width:7px;	height:7px;
	border-top:1px solid #3C3C3C;
	border-right:1px solid #3C3C3C;
    transform: translateY(-50%) rotate(45deg);
}

.pagination{
	width:100%;
	text-align:center;
	border-top:1px solid #000000;
	padding-top:10px;
}
.pagination ul.page_list_ul{
	display:inline-flex;
	max-width:100%;
	margin:0 auto 40px;
}
.pagination ul.page_list_ul li{
	width:58px;
	height:40px;
	position:relative;
}.pagination ul.page_list_ul li:after{
	content:"";
	position:absolute;
	width:4px;	height:4px;
	border-radius:50%;
	background:#000000;
	top:50%;	right:-2px;
    transform: translateY(-50%);
}.pagination ul.page_list_ul li:last-child:after,
.pagination ul.page_list_ul li.parts:after,
.pagination ul.page_list_ul li.lastnum:after{
	display:none;
}
.pagination ul.page_list_ul li a{
	display:block;
	width:100%;	height:100%;
	display: flex;
    align-items: center;
    justify-content: center;
	text-decoration:none;
}
.pagination ul.page_list_ul li.now{
	font-weight:bold;
	color:#5A5A5A;
	display: flex;
    align-items: center;
    justify-content: center;
}
.pagination ul.page_list_ul li.continued{
	display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 640px){

	.news .news_list_area{
		flex-wrap:wrap;
		margin-top:80px;
	}

	.news .news_list_area .news_date_list{
		width:100%;
		order:2;
		border-right:none;
		margin-right:0;
		padding-right:0;
	}.news .news_list_area .news_date_list ul.news_date_ul{
		padding-top:13px;
		display:none;
	}.news .news_list_area .news_date_list ul.news_date_ul li{
		border-bottom:1px solid var(--font-color);
	}.news .news_list_area .news_date_list ul.news_date_ul li a{
		padding-top:6px;	padding-bottom:6px;
        display: block;
	}
	.news .news_list_area .news_date_list .date_showbtn{
		width:100%;
	}.news .news_list_area .news_date_list .date_showbtn a{
		background:#B0B0B1;
		height:60px;
		width:100%;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
		position:relative;
	}.news .news_list_area .news_date_list .date_showbtn a:before,
	.news .news_list_area .news_date_list .date_showbtn a:after{
		content:"";
		position:absolute;
	}.news .news_list_area .news_date_list .date_showbtn a:before{
		width:34px;	height:34px;
		border:1px solid var(--c-darkgray);
		border-radius:50%;
		right:18px;
	}.news .news_list_area .news_date_list .date_showbtn a:after{
		width:10px;	height:10px;
		border-right:1px solid var(--c-darkgray);
		border-top:1px solid var(--c-darkgray);
		right: 30px;
        transform: rotate(135deg);
		transition: .4s;
    }.news .news_list_area .news_date_list .date_showbtn.active a:after{
        transform: rotate(-45deg);
	}


	.news .news_list_area .news_list{
		width:100%;
		order:1;
	}.news .news_list_area .news_list_in{
		flex-wrap:wrap;
	}
	.news .news_list_area .news_list .news_box{
		width:100%;
		margin-bottom:30px;
	}


	.news .news_list_area .news_list .news_box a{
		display:flex;
	}
	.news .news_list_area .news_list .news_box .img_area{
		width:40%;
		margin-right:15px;
		height:unset;
		max-height:100%;
	}.news .news_list_area .news_list .news_box .text_area{
		width:calc(60% - 15px);
	}.news .news_list_area .news_list .news_box .info_area{
		margin:0 0 3px;
	}
	.news .news_list_area .news_list .news_box .title_area p.title{
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; /* 任意の行数を指定 */
	}

}

.news_detail .inner.news_detail_area{
	width:800px;
}
.news_detail_area .news_title_area{
	border-bottom:1px solid var(--font-color);
	padding-bottom:20px;
}.news_detail_area .news_title_area h1.normal_title{
	text-align:left;
	font-size:1.7em;
}
.news_detail_area .news_title_area .cate{
	display:inline-block;
	padding:1px 5px;
	margin-right:5px;
	background:var(--sub-color);
}

.news_detail_area .news_contents_area{
	padding-top:35px;
	padding-bottom:50px;
}
.news_detail_area .news_around_area{
	border-top:1px solid var(--font-color);
	padding-top:10px;
	display:flex;
	justify-content: space-between;
}.news_detail_area .news_around_area .links a{
	position:relative;
	padding:0 15px;
	text-decoration:none;
}.news_detail_area .news_around_area .prev_link a:before,
.news_detail_area .news_around_area .next_link a:before{
	content:"";
    position: absolute;
    left: 0;
    top: calc(50% + 1px);
    width: 7px;
    height: 7px;
    border-top: 1px solid #3C3C3C;
    border-right: 1px solid #3C3C3C;
    transform: translateY(-50%) rotate(225deg);
}.news_detail_area .news_around_area .links.next_link a:before{
	left:unset;
	right:0;
    transform: translateY(-50%) rotate(45deg);
}
.news_detail_area .news_around_area .links a.no{
	display:inline-block;
	box-sizing: content-box;
	width:4em;
	height:1em;
}.news_detail_area .news_around_area .prev_link a.no:before,
.news_detail_area .news_around_area .next_link a.no:before{
	display:none;
}


@media (max-width: 640px){
	.news_detail .inner.news_detail_area{
		width:calc(100% - 30px);
	}

}



.textarea_format p{
	margin:20px 0;
}

