@charset "utf-8";
/*
Theme Name: Goshoboh RS
Theme URI: https://kassy-markup.com/
Author: KASSY MRAKUP
Author URI: https://kassy-markup.com/
Description: RSサーバー対応
Version: 1.0
*/
/******************************************************************
*******************************************************************
ヘッダー
*******************************************************************
******************************************************************/
/*********************************
ヘッダーナビ
*********************************/
.navbar {
	padding: 0;
	margin: 0 auto;
	max-width: 1920px;
    background-color: rgba(255, 255, 255, 0.95) !important;
	box-shadow: 1px 1px 10px 1px rgba(0,0,0,.1);
}
.navbar a:hover {
	transform: translateX(1px);
}

.navbar-brand {
	width: 100px;
	margin-left: 3rem;
	paddiing: 0;
}
@media (max-width: 991.98px) {
	.navbar-expand-lg {
		padding: 10px 20px;
	}
}
@media (max-width: 991.98px) {
	.navbar-brand {
		margin-left: 0;
	}
}
.nav-item {
	margin: 0 1rem;
}
.menu-trigger {
	display: inline-block;
	position: relative;
	width: 25px;
	height: 22px;
	background: none;
	border: none;
	appearance: none;
	pointer-events: auto;
}
.menu-trigger span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {	top: 0; }
.menu-trigger span:nth-of-type(2) { top: 10px; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }
.booking {
	width: 125px;
	height: 75px;
}

/*********************************
モーダル
*********************************/
@media (min-width: 576px) {
	.modal-dialog {
		max-width: 62rem;
	}
	.modal.menuModal .modal-dialog {
		max-width: 100vw;
	}
}
.modal-content {
	background: none;
	border: none;
}
.close {
	font-weight: 400;
	color: #fff;
	text-shadow: none;
	opacity: 1;
}
.modal-backdrop { background-color: #fff; }
.modal-backdrop.show { opacity: 0.73; }

/*********************************
モーダル > メニューモーダル
*********************************/
.modal.menuModal { background-color: rgba(239,236,223,1); }
.modal.menuModal .modal-close {
	border: none;
	width: 100%;
	padding: 0 2rem;
	max-width: 1920px;
	margin: 2rem auto;
}
.modal button {
	background: none;
	border: none;
	appearance: none;
	pointer-events: auto;
	outline: none;
}
.modal.menuModal button {
	position: relative;
	width: 30px;
	height: 29px;
}
.modal.menuModal button span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	border-radius: 2px;
	text-shadow: none;
}
.modal.menuModal button span:nth-of-type(1) {
	top: 0;
	transform: translateY(10px) rotate(45deg);
}
.modal.menuModal button span:nth-of-type(2) {
	bottom: 0;
	transform: translateY(-17px) rotate(-45deg);
}
.modal.menuModal .modal-body { padding: 0; }
.modal.menuModal .modal-body a h1 { width: 110px; }
.modal.menuModal .modal-body ul { padding: 0; }
.modal.menuModal .modal-body ul:not(:last-of-type) { border-bottom: 1px solid #E8E6CC; }
.modal.menuModal .modal-body ul li a.booking {
	display: inline-block;
	margin-left: auto;
	width: 220px;
	height: auto;
	border: 1px solid #2B2B2B;
	background: #2B2B2B;
}
.modal.menuModal .modal-body ul li a.plan {
	display: inline-block;
	width: 220px;
	height: auto;
	border: 1px solid #2B2B2B;
}



/******************************************************************
*******************************************************************
メインコンテンツ以下共通
*******************************************************************
******************************************************************/

/* @group Fadein */
.fadeItem {
	filter: blur(0.2rem);
	opacity: 0.4;
}

.startHiden {
	opacity: 0;
}

/*2.上下の動きを指定*/
.fadeBlur {filter: blur(0.6rem);}
.updown {transform: translateY(-1rem);}
.downup {transform: translateY(1rem);}
 
/*3.左右の動きを指定*/
.sect02{overflow: hidden;} /*横スクロールバーを隠す*/
.from-right {transform: translateX(1rem);}
.from-left {transform: translateX(-1rem);}

.fadeIn {
	visibility: visible !important;
    animation-name: fadeInAction;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
	animation-timing-function: ease-in-out;
}

@keyframes fadeInAction {
	25% {
		filter: blur(0);
	}
   75% {
		opacity: 0.9;
    }
    100% {
	filter: blur(0);
    opacity: 1;
    transform: translate(0);
    }
}

/* @end */

main { margin-top: 75px; }
@media (max-width: 991.98px) {
	main { margin-top: 61.25px; }
}

.box-mw1100 {
	width: calc(100% - 16.666667%);
	max-width: 1100px;
}
@media (max-width: 767.98px) {
	.box-mw1100 { width: calc(100% - 10%); }
}

#hero {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
}
#hero .hero-text {
	position: absolute;
	width: clamp(160px, 30%, 200px);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.aioseo-breadcrumb a { color: #9D9D9D!important; }
.aioseo-breadcrumb a:hover {
	opacity: 1!important;
	color: #000!important;
}

#copy .title img { max-width: 90rem; }
@media (max-width: 991.98px) {
	#copy .title img { max-width: 55rem; }
}
@media (max-width: 767.98px) {
	#copy .title img { max-width: 50rem; }
}
@media (max-width: 575.98px) {
	#copy .title img { max-width: 40rem; }
}

.point {
	display: inline-block;
	background-image: url("./assets/img/common/point_bk.svg");
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.point.point-xs {
	width: 22px;
	height: 22px;
}
.point.point-s {
	width: 36px;
	height: 36px;
}
@media (max-width: 575.98px) {
	.point.point-s {
		width: 30px;
		height: 30px;
	}
}
.point.point-gray { opacity: 16%; }

a.detail-inner-link { display: inline-block; }
a.detail-inner-link:hover { opacity: 1!important; }
a.detail-inner-link .detail {
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid transparent;
}
a.detail-inner-link:hover .detail { border-bottom: 1px solid #000; }

.note-link img { max-width: 11rem; }
@media (max-width: 575.98px) {
	.note-link img { max-width: 8.5rem; }
}

.vertical-line-l {
	border-right: 1px solid #A8A8A8;
	width: calc(50% - 0.5px);
	height: 10rem;
}
.vertical-line-s {
	border-right: 1px solid #A8A8A8;
	width: calc(50% - 0.5px);
	height: 3rem;
}

/*********************************
メインコンテンツ以下共通 > BIKAN
*********************************/
.bikan-back-before {
	position: absolute;
	background-image: url("./assets/img/bikan/bikanback_01.svg");
	background-position: top center;
	background-size: 100%;
	background-repeat: no-repeat;
	top: 0;
	left: 0;
	width: 100%;
	height: 20%;
}
.bikan-back {
	position: absolute;
	background-image: url("./assets/img/bikan/bikanback_02.svg");
	background-position: top center;
	background-size: 100%;
	background-repeat: repeat-y;
	top: 20%;
	left: 0;
	width: 100%;
	height: calc(100% - 40% );
	z-index: 1;
	vertical-align: bottom;
		line-height: 1;
		padding: 0!important;
		margin: 0!important;
}
.bikan-back-after {
	position: absolute;
	background-image: url("./assets/img/bikan/bikanback_03.svg");
	background-position: bottom center;
	background-size: 100%;
	background-repeat: no-repeat;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20%;
}
.bikan-con {
	position: relative;
	z-index: 1;
}

@media (max-width: 799.98px) {
	.bikan-back-before {
		background-size: 100%;
		height: 19%;
	}
	.bikan-back {
		top: 19%;
		height: calc(100% - 38% );
	}
	.bikan-back-after {
		background-size: 100%;
		height: 19%;
	}
}
@media (max-width: 767.98px) {
	.bikan-back-before {
		background-size: 100%;
		height: 7%;
	}
	.bikan-back {
		background-image: url("./assets/img/bikan/bikanback_02_md.svg");
		top: 7%;
		height: calc(100% - 14% );
	}
	.bikan-back-after {
		background-size: 100%;
		height: 7%;
	}
}

/*********************************
メインコンテンツ以下共通 > RECOMMEND
*********************************/
.recommend { background-color: rgba(175,155,0,0.45); }
.recommend h3 img { max-width: 28rem; }

@media (max-width: 991.98px) {
	.recommend h3 img { max-width: 24rem; }
}
@media (max-width: 419.98px) {
	.recommend .re-box-in .col-6 {
		width: 100%!important;
		padding-left: 0!important;
	}
	.recommend .re-box-in .col-6:first-child { margin-bottom: 2rem!important; }
}

/*********************************
メインコンテンツ以下共通 > gmap
*********************************/
#gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 43%;
}
#gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.map-link {
	width: 100%;
	height: auto;
	padding-top: 1rem;
	background-color: rgba(255,255,255,1);
}
#gmap iframe,
#gmap object,
#gmap embed { filter: grayscale(100%); }

@media (max-width: 767.98px) {
	#gmap { padding-top: 100%; }
}



/******************************************************************
*******************************************************************
TOPページ
*******************************************************************
******************************************************************/
/*********************************
TOPページ > opening
*********************************/
body:not(.modal-open) {
	overflow-y: scroll !important;
}
body.fixed { position: fixed; overflow-y: scroll;width: 100vw;display: block;}
.white-mask-anima,
.black-mask-anima {
	position: fixed;
	top: 0;
	left: 0;
	margin: 0 auto;
	width: 100%;
	height: 100vh;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	z-index: -10;
}
.white-mask-anima {
	animation-name: white-mask-anima-time;
	animation-duration: 1.5s;
}
@keyframes white-mask-anima-time {
	0% { z-index: 9998; background: #FFF; }
	50% { z-index: 9998; background: #FFF; }
	100% { background: none; }
}
.black-mask-anima {
	animation-name: black-mask-anima-time;
	animation-duration: 6s;
}
@keyframes black-mask-anima-time {
	0% { z-index: 9998; background: #000; }
	50% { z-index: 9998; background: #000; }
	100% { background: none; }
}
.mask-logo { display: none; }
.mask-logo-anima {
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100px;
	height: 70px;
	animation-name: mask-logo-anima-time;
	animation-delay: .5s;
	animation-duration: 3s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	opacity: 0;
	z-index: 9999;
}
@keyframes mask-logo-anima-time {
	0% { opacity: 0; }
	40% { opacity: 1; }
	60% { opacity: 1; }
	100% { opacity: 0; }
}
.slide-text-anima {
	animation-name: slide-text-anima-time;
	animation-duration: 7.5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes slide-text-anima-time {
	0% { opacity: 0; }
	55% { opacity: 0; }
	100% { opacity: 1; }
}


/*********************************
TOPページ > スライド
*********************************/
#top-slide.carousel { max-width: 1920px; }
#top-slide.carousel .slide-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: clamp(200px, 30%, 300px);
	z-index: 1;
}

@media (max-width: 991.98px) {
	#top-slide.carousel .carousel-inner { height: calc(100vh - 61.25px); }
	#top-slide.carousel .carousel-inner .carousel-item { height: calc(100vh - 61.25px); }
	#top-slide.carousel .carousel-inner .carousel-item img {height: calc(100vh - 61.25px);object-fit: cover;}
}

/*********************************
TOPページ > コピー
*********************************/
#copy .settsu {
	width: 50%;
	max-width: 400px;
	min-width: 200px;
	height: 277px;
	background-image: url("./assets/img/hero-copy/top_copy_setttsu.png");
	background-image: image-set(url("./assets/img/hero-copy/top_copy_setttsu.png") 1x, url("./assets/img/hero-copy/top_copy_setttsu@2x.png") 2x);
	background-image: -webkit-image-set(url("./assets/img/hero-copy/top_copy_setttsu.png") 1x, url("./assets/img/hero-copy/top_copy_setttsu@2x.png") 2x);
	background-position: top center;
	background-size: contain;
	background-repeat: no-repeat;
}

/*********************************
TOPページ > コンテンツ
*********************************/
#top-contents .con-img {
	position: relative;
	z-index: 10;
}
.backshadow-half {
	position: absolute;
	width: 300%;
	max-width: inherit;
	height: 500px;
	bottom: -60px;
	right: calc(27.5% + 300px);
	mix-blend-mode: multiply;
	background-image: url("./assets/img/common/backshadow_02.svg");
	background-position: bottom left;
	background-size: contain;
	background-repeat: repeat-x;
	z-index: 1;
}
.backshadow-half::before {
	display: none!important;
	position: absolute;
	content: "";
	display: inline-block;
	width: 300px;
	height: 500px;
	left: -300px;
	background-image: url("./assets/img/common/backshadow_01.svg");
	background-repeat: no-repeat;
	background-size: contain;
}
.backshadow-half::after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 300px;
	height: 500px;
	right: -300px;
	background-image: url("./assets/img/common/backshadow_03.svg");
	background-repeat: no-repeat;
	background-size: contain;
}
.flex-row-reverse > .backshadow-half {
	left: calc(27.5% + 300px);
	right: auto;
}
.flex-row-reverse > .backshadow-half::before { display: inline-block!important; }
.flex-row-reverse > .backshadow-half::after { display: none!important; }
#top-contents h2 img { max-width: 4.3rem; }

@media (max-width: 1199.98px) {
	.backshadow-half {
		width: calc(42vw * 0.85 * 1.2);
		height: calc(42vw * 0.85);
		bottom: auto;
		top: 6vw;
		right: calc(35% + 42vw * 0.95 * 0.6);
	}
	.backshadow-half::before {
		width: calc(42vw * 0.85 * 0.6);
		height: calc(42vw * 0.85);
		left: calc(-42vw * 0.85 * 0.6);
	}
	.backshadow-half::after {
		width: calc(42vw * 0.85 * 0.6);
		height: calc(42vw * 0.85);
		right: calc(-42vw * 0.85 * 0.6);
	}
	.flex-row-reverse > .backshadow-half { left: calc(37.5% + 42vw * 0.85 * 0.6); }
}
@media (max-width: 767.98px) {
	.backshadow-half {
		width: 120%;
		max-width: 120%!important;
		margin-left: -10%;
		height: 40vw;
		top: 32.5vw;
		left: 0;
		right: 0;
	}
	.flex-row-reverse > .backshadow-half {
		width: 120%;
		margin-left: -10%;
		height: 40vw;
		top: 32.5vw;
		left: 0;
		right: 0;
	}
	.backshadow-half::before { display: none; }
	.backshadow-half::after { display: none; }
}
@media (max-width: 575.98px) {
	#top-contents h2 img { max-width: 3.7rem; }
}

/*********************************
TOPページ > ニュース
*********************************/
#top-news ul {
	height: 15rem;
	overflow-y: scroll;
}

/*********************************
TOPページ > 画廊
*********************************/
.top-insta-link img {
	max-width: 21.8rem;
	opacity: .38;
}
.top-insta-link:hover,
.top-insta-link:hover img { opacity: 1!important; }

@media (max-width: 575.98px) {
	.top-insta-link img { max-width: 17.8rem; }
}



/******************************************************************
*******************************************************************
SPAページ
*******************************************************************
******************************************************************/
@media (min-width: 768px) {
	.min-height-md-5 { min-height: 5rem; }
}

#spa-contents h2 img { max-width: 21.6rem; }
#spa-contents h3.how-sort img { max-width: 17.3rem; }
#spa-contents h3.about img { max-width: 26.1rem; }
@media (max-width: 991.98px) {
	#spa-contents h2 img { max-width: 19.6rem; }
	#spa-contents h3.how-sort img { max-width: 14.3rem; }
	#spa-contents h3.about img { max-width: 21.7rem; }
}
@media (max-width: 575.98px) {
	#spa-contents h2 img { max-width: 18.2rem; }
	#spa-contents h3.how-sort img { max-width: 13.2rem; }
	#spa-contents h3.about img { max-width: 20rem; }
}

#spa-contents h2.spa_con_title img { max-width: 16.5rem; }
#matsukaze h2 img { max-width: 22.8rem; }
@media (max-width: 991.98px) {
	#spa-contents h2.spa_con_title img { max-width: 13.8rem; }
	#matsukaze h2 img { max-width: 19rem; }
}

#spa-contents h3.spa_con_text img { max-width: 13.9rem; }
.spa_con_copy.lead img { max-width: 53.7rem; }
@media (max-width: 1199.98px) {
	.spa_con_copy.lead img { max-width: 36.2rem; }
}
@media (max-width: 991.98px) {
	#spa-contents h3.spa_con_text img { max-width: 11.9rem; }
	.spa_con_copy.lead img { max-width: 31rem; }
}



/******************************************************************
*******************************************************************
ROOMSページ
*******************************************************************
******************************************************************/
/*********************************
ROOMSページ > foot-nav
*********************************/
#foot-nav ul li a { border-bottom: 3px solid transparent; }
#foot-nav ul li.active a { border-bottom: 3px solid #fff; }
#foot-nav ul li:not(.active) a { opacity: .4!important; }
#foot-nav ul li a:hover {
	border-bottom: 3px solid #fff;
	opacity: 1!important;
}
#foot-nav a.cal {
	background: #7E7E7E;
	border-radius: 17.5px;
}
#foot-nav a.cal:hover {
	background: #000!important;
	opacity: 1!important;
}

/*********************************
ROOMSページ > コンテンツ
*********************************/
#rooms-contents h2.title img { max-width: 36rem; }
@media (max-width: 991.98px) {
	#rooms-contents h2.title img { max-width: 28rem; }
}
@media (max-width: 575.98px) {
	#rooms-contents h2.title img { max-width: 18rem; }
}

.rooms-slide-area {
	position: relative;
	max-width: 1920px;
}
.rooms-slide-area .backshadow {
	position: absolute;
	width: 300%;
	height: 400px;
	bottom: -60px;
	left: -50%;
	right: -50%;
	mix-blend-mode: multiply;
	background-image: url("./assets/img/common/backshadow_02.svg");
	background-position: center center;
	background-size: contain;
	background-repeat: repeat-x;
}
.rooms-slide-area .carousel { max-width: 1138px; }
.rooms-slide-area .slide-over {
	position: absolute;
	bottom: 5rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.rooms-slide-area .slide-over h3 img { max-width: 33.8rem; }

.rooms-list h2.list-title img { max-width: 18.8rem; }

.page-template-page-rooms footer { margin-top: 0!important; }

@media (max-width: 1199.98px) {
	.rooms-slide-area .backshadow {
		height: calc(42vw * 0.85);
		bottom: auto;
		top: 30vw;
	}
	.rooms-slide-area .carousel { max-width: 100%; }
	.rooms-slide .carousel-inner .carousel-item img { width: 100%!important; }
	.rooms-slide-area .slide-over {
		position: relative;
		left: 0;
		bottom: 3rem;
		transform: translateX(0);
	}
}
@media (max-width: 991.98px) {
	.rooms-slide-area .slide-over h3 img { max-width: 27.4rem; }
	.rooms-list h2.list-title img { max-width: 15.3rem; }
	.rooms-list ul li:nth-child(2n+1) { padding-right: .5rem!important; }
	.rooms-list ul li:nth-child(2n) { padding-left: .5rem!important; }
}
@media (max-width: 767.98px) {
	.rooms-slide-area  .backshadow { display: none; }
}
@media (max-width: 575.98px) {
	.rooms-slide-area .slide-over {
		bottom: -3rem!important;
		margin-bottom: 8rem;
	}
}



/******************************************************************
*******************************************************************
ROOMS-SINGLEページ
*******************************************************************
******************************************************************/
/*********************************
ROOMS-SINGLEページ > コンテンツ
*********************************/
a.menu-link {
	    background: #E3E3E3;
}
.carousel-indicators {
	position: relative;
	justify-content: flex-end!important;
	flex-wrap: wrap;
	padding-top: 5px;
	margin-left: 0;
	margin-right: 0;
}
.carousel-indicators [data-bs-target] {
	width: 75px;
	height: auto;
	margin-right: 0;
	margin-left: 5px;
	margin-bottom: 5px;
	cursor: pointer;
	background: none;
	text-indent: 0;
	border: 0;
	border-top: 0px solid transparent;
	border-bottom: 0px solid transparent;
}
.carousel-indicators li:hover { opacity: 1!important; }
.carousel-indicators li.active:hover { cursor: default!important; }
@media (max-width: 575.98px) {
	.carousel-indicators { justify-content: flex-start!important; }
	.carousel-indicators [data-bs-target] {
		width: calc((100% - 25px) / 6);
		height: auto;
		margin-left: 0!important;
		margin-right: 5px!important;
	}
	.carousel-indicators [data-bs-target]:nth-child(6n) { margin-right: 0!important; }
}

#rooms-single-contents a.prev-link p:last-child,
#rooms-single-contents a.next-link p:last-child	{ border-bottom: 1px solid transparent; }
#rooms-single-contents a.prev-link:hover p:last-child,
#rooms-single-contents a.next-link:hover p:last-child { border-bottom: 1px solid #a8a8a8; }
#rooms-single-contents a.prev-link:hover {
	display: block;
	opacity: 1!important;
	transform:translateX(-0.5rem);
}
#rooms-single-contents a.next-link:hover {
	display: block;
	opacity: 1!important;
	transform:translateX(.5rem);
}
#rooms-single-contents h2 .logo-head img { max-width: 16.7rem; }
#rooms-single-contents h2 .logo img { max-width: 8rem; }
#rooms-single-contents .logo-s img { max-width: 5rem; }
#rooms-single-contents .booking-check { width: 26rem; }
#rooms-single-contents .booking-check img { max-width: 19rem; }
#rooms-single-contents .rooms-single-book {
	display: block;
	background: #000;
	padding: 1.5rem 0;
}
#rooms-single-contents .rooms-single-check {
	display: block;
	background: #958D2A;
	padding: 1.5rem 0;
}

@media (max-width: 991.98px) {
	#rooms-single-contents h2 .logo-head img { max-width: 14.9rem; }
	#rooms-single-contents h2 .logo img { max-width: 7rem; }
}
@media (max-width: 767.98px) {
	#rooms-single-contents h2 .logo-head img { max-width: 13rem; }
	#rooms-single-contents h2 .logo img { max-width: 6.3rem; }
	#rooms-single-contents .booking-check img { max-width: 15.8rem; }
}



/******************************************************************
*******************************************************************
CUISINEページ
*******************************************************************
******************************************************************/
.dinner h3 img { max-width: 15.2rem; }
.dinner h4.lead img { max-width: 39.4rem; }
.dinner .dinner-list h4 img { max-width: 24.5rem; }
.sanboukan h3 img { max-width: 17.2rem; }

@media (max-width: 1199.98px) {
	.sanboukan h3 img { max-width: 15.2rem; }
}
@media (max-width: 991.98px) {
	.dinner h3 img { max-width: 12.5rem; }
	.dinner h4.lead img { max-width: 33.7rem; }
	.sanboukan h3 img { max-width: 12.9rem; }
}



/******************************************************************
*******************************************************************
EXPERIENCEページ
*******************************************************************
******************************************************************/
#exp-contents .foot-text img { max-width: 51.6rem; }
#exp-contents .exp-insta-link img { max-width: 18.3rem; }
@media (max-width: 767.98px) {
	#exp-contents .foot-text img { max-width: 43rem; }
}
@media (max-width: 575.98px) {
	#exp-contents .foot-text img { max-width: 23.5rem; }
	#exp-contents .exp-insta-link img { max-width: 17.5rem; }
}

#exp-group {
	width: 100%;
	background: linear-gradient( to bottom, rgba(123,118,0,22%), rgba(123,118,0,0));
}
#exp-group h2 img { max-width: 58.2rem; }
#exp-group .diamond { transform:translateY(-50%); }
#exp-group h3.accordion-header img { max-width: 28.3rem; }
#exp-group h3.accordion-header.collapsed .triangle-b {
	transform-origin: top center;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10.0px 5px 0 5px;
	border-color: #000 transparent transparent transparent;
	transition: all .5s ease!important;
}
#exp-group h3.accordion-header:not(.collapsed) .triangle-b {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10.0px 5px 0 5px;
	border-color: #000 transparent transparent transparent;
	transform: rotate(180deg);
	transition: all .5s ease!important;
}
#exp-group h3.accordion-header:hover { cursor: pointer; }
#exp-group h3.accordion-header:hover .triangle-b { transform: translateY(50%); }
#exp-group h3.accordion-header:not(.collapsed):hover .triangle-b { transform: translateY(-50%) rotate(180deg); }
#exp-group .accordion-item { background: none; }
@media (max-width: 991.98px) {
	#exp-group h2 img { max-width: 49.9rem; }
	#exp-group h3.accordion-header img { max-width: 23.1rem; }
}
@media (max-width: 767.98px) {
	#exp-group h2 img { max-width: 41.6rem; }
}
@media (max-width: 575.98px) {
	#exp-group h2 img { max-width: 16.6rem; }
}
#exp-group .accordion a p:first-child img { transition: all .5s ease!important; }
#exp-group .accordion a:hover p:first-child img { opacity: .4; }

.page-template-page-experience footer { margin-top: 10rem!important; }



/******************************************************************
*******************************************************************
HISTORYページ
*******************************************************************
******************************************************************/
/*********************************
HISTORYページ > モーダル
*********************************/
a.his-modal-trigger .box {
	display: block;
	position: relative;
	overflow: hidden;
}
a.his-modal-trigger .box .hover-text {
	opacity: 0;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: rgba(0,0,0,.75);
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .1rem!important;
	transition: all .5s ease!important;
}
a.his-modal-trigger:hover,
a.his-modal-trigger:hover .box .hover-text { opacity: 1!important; }

.his-modal-trigger,
.historyModal.show:hover { cursor: pointer; }
.historyModal.show .modal-content:hover { cursor: default; }
.historyModal button {
	padding: 0;
	transition: all .5s ease!important;
}
.historyModal button:hover { opacity: .4!important; }
.historyModal .close p {
	display: inline-block;
	vertical-align: middle;
}
.historyModal .close p:nth-of-type(2) {
	position: relative;
	width: 21px;
	height: 21px;
}
.historyModal button span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 11px;
	height: 1px;
	background-color: #fff;
	border-radius: 1px;
	text-shadow: none;
}
.historyModal button span:nth-of-type(1) {
	top: 0;
	transform: translateX(4px) translateY(9px) rotate(45deg);
}
.historyModal button span:nth-of-type(2) {
	bottom: 0;
	transform: translateX(4px) translateY(-9px) rotate(-45deg);
}

/*********************************
HISTORYページ > コンテンツ
*********************************/
#his-contents h3 img { max-width: 39.5rem; }
@media (max-width: 991.98px) {
	#his-contents h3 img { max-width: 36.4rem; }
}
@media (max-width: 575.98px) {
	#his-contents h3 img { max-width: 18.2rem; }
}



/******************************************************************
*******************************************************************
NEWSページ
*******************************************************************
******************************************************************/
#news-contents li h3 { min-height: 5.5rem!important; }
@media (max-width: 1187.98px) {
	#news-contents li h3 { min-height: 8rem!important; }
}
@media (max-width: 991.98px) {
	#news-contents li h3 { min-height: auto!important; }
}
#news-contents li a:hover { opacity: 1!important; }
#news-contents li a:hover img { opacity: .4!important; }
#news-contents li a:hover h3 { text-decoration: underline; }

/*********************************
NEWSページ > pagination
*********************************/
.page-item {
	width: 3.6rem;
	height: 3.6rem;
	margin-left: .25rem!important;
	margin-right: .25rem!important;
	text-align: center;
}
.page-link {
	width: 3.6rem;
	height: 3.6rem;
	padding: 0!important;
	padding-top: 1rem!important;
	padding-bottom: 1rem!important;
	line-height: 1!important;
	margin: 0!important;
	color: #000!important;
	background: none!important;
	border: 1px solid #000!important;
	text-align: center;
}
.pagination-lg .page-link {
	border-radius: 0!important;
	font-size: 1.3rem;
}
.page-item.active .page-link {
	color: #fff!important;
	background-color: #000!important;
}
.page-item .page-link:hover {
	opacity: 1!important;
	color: #fff!important;
	background-color: #000!important;
}
.page-item.active .page-link:hover { cursor: default; }



/******************************************************************
*******************************************************************
CONTACTページ（CONFIRMページ含む）
*******************************************************************
******************************************************************/
a.booking-link:hover {
	background: transparent!important;
	color: #000!important;
	opacity: 1!important;
}
a.recruit-link:hover {
	background: #000!important;
	color: #fff!important;
	opacity: 1!important;
}
ul.contact-form li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #D6D6D6;
	margin-top: 1rem;
	padding-top: 1rem;
}
@media (max-width: 575.98px) {
	ul.contact-form li { display: block; }
}
ul.contact-form li .col-sm-4 { margin-right: 2rem; }
#confirm-contents ul.contact-form li .col-sm-4 { color: #5A5A5A!important; }

#contact-contents input,
#contact-contents button,
#contact-contents select,
#contact-contents optgroup,
#contact-contents textarea,
#confirm-contents input,
#confirm-contents button,
#confirm-contents select,
#confirm-contents optgroup,
#confirm-contents textarea {
	width: 100%!important;
	border: 1px solid #D8D8D8!important;
	border-radius: 0.5rem!important;
	padding: 0.5rem 1rem!important;
}
#contact-contents .wpcf7-checkbox label {
	display: flex;
	align-items: center;
}
#contact-contents .wpcf7-checkbox label input {
	width: auto!important;
	margin-right: 0.5rem!important;
}
#contact-contents textarea {
	min-height: 15rem!important;
	margin-top: 1rem;
}
#contact-contents .policy-box { background: #EBEBEB; }
#contact-contents .policy-box-inner {
	max-height: 24.5rem!important;
	overflow-y: scroll!important;
}
#contact-contents .pp-agreement-box {
	border: 1px solid red;
	background: #FFE8E8;
}
#contact-contents .pp-check .wpcf7-checkbox label { display: inline-block!important; }
#contact-contents .pp-check .wpcf7-checkbox label > * { vertical-align: middle !important; }
#contact-contents input.wpcf7-submit,
#confirm-contents input.wpcf7-submit {
	background: #000;
	color: #fff!important;
	border: 1px solid #000!important;
	border-radius: 0!important;
	padding: 2rem 0!important;
	transition: all .5s ease!important;
}
#contact-contents input.wpcf7-submit:hover,
#confirm-contents input.wpcf7-submit:hover {
	background: transparent;
	color: #000!important;
}
.wpcf7-submit:disabled {
    opacity: .2 !important;
	pointer-events: none;
	filter: blur(0.1rem);
}

/* @group Footer */


footer {
	position: relative;
	background-image: url("./assets/img/common/footer_back.jpg");
	background-image: image-set(url("./assets/img/common/footer_back.jpg") 1x, url("./assets/img/common/footer_back@2x.jpg") 2x);
	background-image: -webkit-image-set(url("./assets/img/common/footer_back.jpg") 1x, url("./assets/img/common/footer_back@2x.jpg") 2x);
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1031;
}


/* @end */

