@charset "utf-8";

:root {
	--gothic: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "MS Gothic", "ＭＳ ゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------------------------------------------------------
 * common
** --------------------------------------------------------- */
body {
	padding-top: 64px;
	background-image: url("../img/bg.jpg");
	background-position: top center;
	color: #333;
	font-size: 16px;
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	line-height: 1.5;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	body {}
}

img {
	pointer-events: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	touch-callout: none;
	user-select: none;
}

:root {
	--vw: 1vw;
}


/* --------------- .wrapper --------------- */
.wrapper {
	max-width: 1240px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}

.wrapper.w {
	max-width: 1500px;
}

.wrapper.n {
	max-width: 1140px;
}

.wrapper.nn {
	max-width: 1040px;
}

.wrapper.nnn {
	max-width: 940px;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {}


/* --------------- .YuGothic --------------- */
.YuGothic {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.YuGothic.bold,
.YuGothic .bold {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: bold;
}


/* --------------- .btn --------------- */
.btn {
	position: relative;
	isolation: isolate;
	outline: none;
	display: inline-block;
	padding: 15px 45px;
	background-color: #8A2222;
	border-radius: 100px;
	overflow: hidden;
	color: #fff;
	transform: translateZ(0);
	transition: all ease 0.3s;
}

.btn:hover {
	/*	color: #8A2222;*/
}

.btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: #111;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s ease 0s;
}

.btn:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.btn span,
.btn .btn-inner {
	position: relative;
	z-index: 3;
}

.btn img,
.btn svg {
	margin-left: 10px;
	vertical-align: middle;
}

/* .arr */
.btn.arr {
	position: relative;
	padding: 15px 55px 15px 40px;
}

.btn.arr::after {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	right: 35px;
	display: block;
	width: 9px;
	height: 9px;
	margin-top: auto;
	margin-bottom: auto;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	border-radius: 2px 2px 2px 0;
	transform-origin: center;
	transform: rotate(45deg);
	transition: all ease 0.3s;
}
.btn.arr.back::after {
	transform: rotate(225deg);
	left: 35px;
}
.btn.arr.back {
	padding: 15px 40px 15px 55px;
}

.btn.arr:hover::after {
	right: 30px;
	/*	border-right: 2px solid #8A2222;*/
	/*	border-top: 2px solid #8A2222;*/
}

/* .w */
.btn.w {
	background-color: #fff;
	color: #B39E54;
}

.btn.w::before {
	background-color: #B39E54;
}

.btn.w:hover {
	color: #fff;
}

/* .arr.w */
.btn.arr.w {}

.btn.arr.w::after {
	border-right: 2px solid #B39E54;
	border-top: 2px solid #B39E54;
}

.btn.arr.w:hover::after {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
}

/* .pdf */
.btn.pdf {
	background-color: #fff;
	border: 2px solid #B39E54;
	color: #B39E54;
}

.btn.pdf:hover {}

.btn.external {
	padding-right: 30px;
}

.btn.external > span::after {
	content: '';
	display: inline-block;
	width: 18px;
	height: 17px;
	margin-left: 10px;
	background: center / contain url(../img/ico_open-new-window-w.svg) no-repeat;
  position: relative;
	top: 2px;
}


/* ---------------------------------------------------------
 * header
** --------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 64px;
	color: #000;
	background-image: url("../img/lower_header_bg.png");
	background-position: top center;
}

#header.bgop {
	background-color: rgba(0, 0, 0, 0.2);
	background-image: none;
	color: #fff;
}

#header .h_logo {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: calc(100% - 300px);
	height: 100%;
}

#header .h_logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
	padding: 10px 20px;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
}

#header .h_logo a svg {
	width: 100%;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	#header.bgop {
		background-color: rgba(0, 0, 0, 0.3);
	}

	#header .h_logo {
		max-width: calc(100% - 220px);
	}

	#header .h_logo a {
		padding: 10px 5px;
		/*		font-size: 20px;*/
		/*		line-height: 1.3;*/
		/*		letter-spacing: 1px;*/
	}
}



/* --------------- .h_right --------------- */
#header .h_right {
	display: flex;
	align-items: center;
}

/* .booking  */
#header .booking {
}

#header .booking a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	height: 60px;
	padding-inline: 20px;
	background-color: #8A2222;
	border: 1px solid #F1E0D3;
	border-radius: 50px;
	color: #fff;
	transition: all ease 0.3s;
}

#header .booking a:hover {
	background-color: #B39E54;
}

#header .booking img {
	margin-right: 6px;
}

/* #weather */
#weather {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 20px;
	border-right: 1px solid #fff;
}

#weather .weather_box {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 36px;
}

#weather .weather_box:not(:first-child) {
	margin-left: 20px;
	padding-left: 15px;
	border-left: 1px solid #D2C081;
}

#weather .icon {
	width: 40px;
	height: 40px;
	margin-right: 10px;
}

#weather .weather_icon {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

#weather .clear {
	background-image: url('../img/weather_clear.png');
}

#weather .cloudy {
	background-image: url('../img/weather_cloudy.png');
}

#weather .snow {
	background-image: url('../img/weather_snow.png');
}

#weather .fog {
	background-image: url('../img/weather_fog.png');
}

#weather .drizzle {
	background-image: url('../img/weather_drizzle.png');
}

#weather .rain {
	background-image: url('../img/weather_rain.png');
}

#weather .sudden_rain {
	background-image: url('../img/weather_rain.png');
}

#weather .hail {
	background-image: url('../img/weather_hail.png');
}

#weather .code_9 {
	background-image: url('../img/weather_thunderstorm.png');
}

#weather .info {}

#weather .temperature {
	line-height: 1;
}

#weather .temperature span {}

#weather .temperature br:not(.en) {
	display: none;
}

#weather .temperature span:nth-child(1) {}

#weather .temperature span:nth-child(2) {
	font-size: 20px;
}

#weather .temperature span:nth-child(3) {}

#weather .position {
	font-size: 12.5px;
	line-height: 1.8;
}

#weather .position span {}

#weather .position span:last-child {
	display: inline-block;
	background-color: #8A2222;
	padding: 0 4px;
}

@media (max-width: 959px) {
	#weather {
		display: none;
	}
}

@media (max-width: 519px) {
	#weather .position span:last-child {
		background-color: transparent;
		padding: 0;
		color: #8A2222;
		font-weight: bold;
	}
}

@media (max-width: 519px) {}

/* .bfree */
#header .bfree {
	height: 36px;
}

#header .bfree a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 0 22px;
}

#header .bfree img {}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	#header .bfree a {
		padding: 0 15px;
	}
}

/* #lang */
#lang {
	position: relative;
	border-left: 1px solid #000;
}

.bgop #lang {
	border-left: 1px solid #fff;
}

#lang .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 36px;
	padding: 0 22px;
	cursor: pointer;
}

#lang .inner img {
	margin-right: 10px;
}

#lang .inner span {
	font-size: 14px;
}

#lang .lang_pop {
	position: absolute;
	left: 0;
	top: 50px;
	display: none;
	width: 100%;
	padding: 8px;
	background-color: #fff;
	border-radius: 6px;
}

#lang .lang_pop.active {
	display: block;
}

#lang .lang_pop ul {}

#lang .lang_pop li {}

#lang .lang_pop li:not(:first-child) {
	margin-top: 5px;
}

#lang .lang_pop a {
	display: block;
	padding: 6px 10px;
	border-radius: 4px;
	font-size: 14px;
	color: #333;
}

#lang .lang_pop a.selected {
	background-color: #8A2222;
	color: #fff;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	#lang .inner {
		flex-direction: column;
		/*		height: 36px;*/
		padding: 0 15px;
	}

	#lang .inner img {
		margin-right: 0;
	}

	#lang .inner span {
		font-size: 12px;
	}

	#lang .lang_pop {
		width: 120px;
	}
}

/* gnavi_btn */
.gnavi_btn {
	position: relative;
	z-index: 520;
	height: 100%;
	padding: 20px;
	background-color: #fff;
	transition: all 0.4s ease;
	cursor: pointer;
}

.bgop .gnavi_btn {
	background-color: #000;
}

.gnavi_btn.open {}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.menu-trigger {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 34px;
	height: 100%;
}

.menu-trigger span {
	position: relative;
	width: 100%;
	height: 2px;
	background-color: #000;
}

.bgop .menu-trigger span {
	background-color: #fff;
}

.gnavi_btn .menu-trigger span:nth-of-type(1) {
	top: 0%;
}

.gnavi_btn .menu-trigger span:nth-of-type(3) {
	bottom: 0%;
}

.gnavi_btn.open .menu-trigger span:nth-of-type(1) {
	top: 50%;
	transform-origin: center;
	transform: translateY(-50%) rotate(-45deg);
}

.gnavi_btn.open .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}

.gnavi_btn.open .menu-trigger span:nth-of-type(3) {
	bottom: 50%;
	transform-origin: center;
	transform: translateY(50%) rotate(45deg);
}

@media (max-width: 1399px) {
	.gnavi_btn {
		display: flex;
	}
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	.gnavi_btn {
		padding: 20px 15px;
	}
}

/* .gnavi */
#header .gnavi {
	position: fixed;
	z-index: 510;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	padding-top: 130px;
	background-color: rgba(237, 235, 233, 0.93);
	background-image: url("../img/megamenu_bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	color: #000;
	transition: all ease 0.3s;
	pointer-events: none;
}

#header .gnavi.active {
	opacity: 1;
	pointer-events: initial;
}

#header .gnavi .mega_logo {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 64px;
	padding: 10px 20px;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
}

#header .gnavi .mega_logo span {
	display: block;
	font-size: 10px;
	letter-spacing: 1.5px;
}

#header .gnavi .wrapper {
	max-width: 1340px;
}

#header .gnavi .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 60px;
}

#header .gnavi .col {
	width: 230px;
}

#header .gnavi .en .col {
	width: 270px;
}

#header .gnavi .ttl {
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: 1px solid #C1B074;
	font-size: 20px;
}

#header .gnavi .ttl .sub {
	margin-bottom: 4px;
	color: #C1B074;
	font-size: 14px;
}

#header .gnavi ul {}

#header .gnavi li {}

#header .gnavi .col li:not(:first-child) {}

#header .gnavi li a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	padding-top: 7px;
	padding-bottom: 7px;
	line-height: 1.5;
}

#header .gnavi li a::before,
#header .gnavi li a::after {
	content: "";
	position: absolute;
	display: block;
	background-color: #920A0B;
}

#header .gnavi li a::before {
	top: 17px;
	left: 0;
	width: 10px;
	height: 1px;
}

#header .gnavi li a::after {
	left: 20px;
	bottom: 5px;
	width: 0;
	height: 1px;
	transition: all ease 0.3s;
}

#header .gnavi li a:hover::after {
	width: calc(100% - 20px);
}

#header .gnavi .inner:last-child {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 20px;
}

#header .gnavi .btn_area {}

#header .gnavi .btn_area a {}

#header .gnavi .btn_area a img {}

@media (max-width: 1239px) {
	#header .gnavi {
		background-image: url("../img/megamenu_bg.png");
		background-size: 195px auto;
	}
}

@media (max-width: 959px) {
	#header .gnavi {
		overflow: auto;
		padding-bottom: 50px;
	}
}

@media (max-width: 519px) {
	#header .gnavi {
		padding-top: 100px;
	}

	#header .gnavi .inner {
		gap: 30px;
	}

	#header .gnavi .inner:last-child {
		justify-content: center;
		margin-top: 40px;
	}

	#header .gnavi .col,
	#header .gnavi .en .col {
		width: 100%;
	}
}


/* --------------- .emergency --------------- */
.emergency {
	background-color: #8A2222;
	padding: 10px;
}

.emergency .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 953px;
	margin-left: auto;
	margin-right: auto;
}

.emergency img {
	flex-shrink: 0;
	margin-right: 8px;
}

.emergency .ttl {
	flex-shrink: 0;
	width: fit-content;
	color: #fff;
}

.emergency .content {
	width: 100%;
	padding-left: 15px;
	padding-top: 7px;
	padding-bottom: 7px;
	margin-left: 15px;
	background-color: #fff;
	border: 1px solid #ccc;
	color: #B90406;
	line-height: 1.5;
	/*	white-space: nowrap;*/
	/*	overflow: auto;*/
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	.emergency {
		padding: 7px;
	}

	.emergency .inner {
		flex-wrap: wrap;
		justify-content: center;
	}

	.emergency img {
		width: 22px;
		margin-right: 5px;
	}

	.emergency .ttl {
		font-weight: bold;
		line-height: 1.2;
	}

	.emergency .content {
		width: 100%;
		padding-left: 8px;
		padding-top: 4px;
		padding-bottom: 4px;
		margin-top: 6px;
		margin-left: 0;
		font-size: 14px;
	}
}


/* --------------- .fixed_booking --------------- */
.fixed_booking {
	position: fixed;
	z-index: 100;
	top: 80px;
	right: 0;
	width: 60px;
}

.fixed_booking a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-top: 18px;
	padding-bottom: 14px;
	background-color: #8A2222;
	border-left: 1px solid #F1E0D3;
	border-top: 1px solid #F1E0D3;
	border-bottom: 1px solid #F1E0D3;
	border-radius: 20px 0 0 20px;
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transition: all ease 0.3s;
}

.fixed_booking a:hover {
	background-color: #B39E54;
}

.fixed_booking img {
	margin-top: 6px;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	.fixed_booking {
/*		width: calc(100% - 100px);*/
	}
}


/* --------------- .go_to_top --------------- */
.go_to_top {
	position: fixed;
	z-index: 100;
	bottom: 10px;
	left: 10px;
	width: 70px;
	height: 70px;
}

.go_to_top a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border: 1px solid #A69660;
	border-radius: 100px;
	color: #8A2222;
	font-size: 12px;
	transition: all ease 0.3s;
}

.go_to_top a svg {
	margin-bottom: 5px;
	fill: #8A2222;
	transition: all ease 0.3s;
}

.go_to_top a:hover {
	background-color: #B39E54;
/*	border: 1px solid #A69660;*/
	color: #fff;
}

.go_to_top a:hover svg {
	fill: #fff;
}

@media (max-width: 959px) {}

@media (max-width: 519px) {
	.go_to_top {
		display: none;
	}
}



/* ---------------------------------------------------------
 * footer
** --------------------------------------------------------- */
#footer {
	background-color: #8A2222;
	background-image: url("../img/footer_bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	color: #fff;
}

#footer .wrapper {
	display: flex;
	align-items: center;
}

#footer .left {
	flex-shrink: 0;
}

#footer .company {
	font-size: 18px;
	text-decoration: none;
}

#footer .company span {
	display: inline-block;
	font-size: 32px;
}

#footer .btn_area {
	margin-top: 30px;
}

#footer .btn_area a {
	color: #333;
}

#footer .btn_area a svg {
	margin-top: -3px;
	stroke: #8A2222;
	transition: all ease 0.3s;
}

#footer .btn_area a::before {
	background-color: #111;
}

#footer .btn_area a:hover {
	color: #fff;
}

#footer .btn_area a:hover svg {
	stroke: #fff;
}

#footer .right {
	padding: 35px 20px 50px 90px;
	margin-left: 120px;
	border-left: 1px solid #fff;
}

#footer .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}

#footer .menu ul {}

#footer .menu li {}

#footer .menu a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	line-height: 2.6;
}

#footer .menu a::before,
#footer .menu a::after {
	content: "";
	position: absolute;
	display: block;
	background-color: #fff;
}

#footer .menu a::before {
	left: 0;
	top: 0;
	bottom: 0;
	width: 10px;
	height: 1px;
	margin-top: auto;
	margin-bottom: auto;
}

#footer .menu a::after {
	left: 20px;
	bottom: 5px;
	width: 0;
	height: 1px;
	transition: all ease 0.3s;
}

#footer .menu a:hover::after {
	width: calc(100% - 20px);
}

#footer .copy {
	width: 100%;
	margin-top: 20px;
	font-size: 10px;
}

@media (max-width: 1099px) {
	#footer .right {
		padding: 35px 20px 50px 50px;
		margin-left: 60px;
	}
}

@media (max-width: 959px) {
	#footer {
		padding-top: 50px;
		background-size: 160px auto;
	}

	#footer .wrapper {
		display: block;
	}

	#footer .left {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}

	#footer .right {
		margin-top: 50px;
		padding: 40px 0 50px;
		margin-left: auto;
		margin-right: auto;
		border-left: none;
		border-top: 1px solid #fff;
	}

	#footer .menu {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}

	#footer .menu ul {}

	#footer .menu li {}

	#footer .copy {
		text-align: center;
	}
}

@media (max-width: 519px) {
	#footer {
		padding-top: 0;
		padding-bottom: 80px;
		background-image: none;
	}

	#footer .wrapper {
		padding-left: 0;
		padding-right: 0;
	}

	#footer .left {
		width: 100%;
		padding-top: 40px;
		padding-bottom: 20px;
		background-image: url("../img/footer_bg.png");
		background-repeat: no-repeat;
		background-position: left -20px bottom;
		background-size: 170px auto;
		text-align: center;
	}

	#footer .company {
		font-size: 15px;
	}

	#footer .company span {
		font-size: 24px;
	}

	#footer .btn_area {
		margin-top: 20px;
	}

	#footer .right {
		margin-top: 0;
		padding-top: 0;
		padding-bottom: 10px;
		border-top: none;
	}

	#footer .menu {
		display: block;
		width: 100%;
		margin: 0;
		padding-bottom: 0;
		background-color: #fff;
		color: #333;
	}

	#footer .menu li {
		border-bottom: 1px solid #C49979;
	}

	#footer .menu a {
		width: 100%;
		padding-left: 50px;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	#footer .menu a::before {
		left: 20px;
		background-color: #C49979;
	}
}




/* ---------------------------------------------------------
 * Common contents parts
** --------------------------------------------------------- */

.gnavi_btn {
	background-color: #000;
}

.menu-trigger span {
	background-color: #fff;
}

/* --------------- .lower_fv --------------- */
.lower_fv {
	display: flex;
	align-items: center;
	justify-content: center;
	background: center / cover no-repeat;
	height: 250px;
}

#fv .page_title {
	color: #C1B074;
	font-size: 40px;
	letter-spacing: 1.5px;
}

@media (max-width: 519px) {
	#fv .page_title {
		font-size: 30px;
	}
}

/* lower_fv_large */
.lower_fv_large {
	position: relative;
	background: center / cover no-repeat;
	height: 570px;
}

#fv.lower_fv_large .page_title {
	position: absolute;
	bottom: -70px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.lower_fv_large .page_title > div {
	background: #FFFFFFE5;
	padding: 0 10px;
	font-size: 60px;
}

.lower_fv_large .page_title .en {
	font-size: 100px;
	line-height: .9;
}

.lower_fv_large .page_title .sub {
	font-size: 20px;
	display: inline-block;
}
html[lang="en"] .lower_fv_large .page_title .sub {
	display: none;
}

@media (max-width: 519px) {
	.lower_fv_large {
		height: 400px;
	}

	#fv.lower_fv_large .page_title {
		bottom: -40px;
	}

	.lower_fv_large .page_title > div {
		font-size: 30px;
	}

	.lower_fv_large .page_title .en {
		font-size: 70px;
	}

	.lower_fv_large .page_title .sub {
		font-size: 14px;
	}
}

/* .pager */
.pager {
	display: flex;
	justify-content: flex-end;
	-moz-column-gap: 8px;
	-webkit-column-gap: 8px;
	column-gap: 8px;
	padding-top: 16px;
}

.pager .num,
.pager .arr {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56px;
	height: 56px;
	color: #D2C081;
	background-color: #fff;
	border: 1px solid #D2C081;
	border-radius: 100px;
}

.pager .num.current {
	/* background-color: #D1CAC4; */
	background-color: #e3dfdc;
	color: #C6BC9B;
	/* cursor: not-allowed; */
}

.pager .arr {
	background-color: #C1B074;
	position: relative;
	font-size: 0;
}

.pager a {
	transition: all ease 0.3s;
}

.pager a:hover {
	background-color: #000;
}

.pager .arr::before,
.pager .arr::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	margin-top: auto;
	margin-bottom: auto;
}

.pager .arr::before {
	left: 0;
	right: 0;
	width: 25px;
	height: 1px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
}

.pager .arr::after {
	width: 9px;
	height: 9px;
	border-top: 1px solid #fff;
	transform-origin: center;
}

.pager .arr.prev::after {
	left: 15px;
	border-left: 1px solid #fff;
	transform: rotate(-45deg);
}

.pager .arr.next::after {
	right: 15px;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

@media (max-width: 959px) {
	.pager {
		justify-content: center;
	}

	.pager .num,
	.pager .arr {
		width: 38px;
		height: 38px;
	}

	.pager .arr::before {
		width: 15px;
	}

	.pager .arr.prev::after {
		left: 11px;
	}

	.pager .arr.next::after {
		right: 11px;
	}
}

/* .bottom-links */
.bottom-links .links {
	display: flex;
	justify-content: center;
	align-items: center;
	-moz-column-gap: 20px;
	-webkit-column-gap: 20px;
	column-gap: 20px;
	padding: 40px 0;
}

.bottom-links .btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: 10px;
	background-color: #a69765;
	border: 2px solid #E2DDC8;
	width: 50%;
	height: 100px;
	text-align: center;
	font-size: 24px;
}

.bottom-links .btn .en {
	font-size: 14px;
}
html[lang="en"] .bottom-links .btn .en {
	display: none;
}
.bottom-links .btn:hover {
	color: #a69765;
}

.bottom-links .btn::before {
	background-color: #fff;
}

@media (max-width: 959px) {
	.bottom-links .links {
		flex-direction: column;
		row-gap: 10px;
	}

	.bottom-links .btn {
		width: 100%;
		font-size: 20px;
		height: 74px;
	}
}

@media (max-width: 519px) {
	.bottom-links .links {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

/* youtube */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

/* google map */
.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 50%;
	/* 2:1 */
}

.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 519px) {
	.gmap {
		padding-top: 75%;
		/* 4:3 */
	}
}

/* table */
.table {
	margin: 40px 0;
	color: #000;
	width: 100%;
	font-family: var(--gothic);
}

.table .ttl {
	font-weight: bold;
}

.table p {
	margin-bottom: 1em;
}

.table p:last-child {
	margin-bottom: 0;
}

.table th,
.table td {
	border-top: 1px solid #CFCABF;
}

.table tr:last-child th,
.table tr:last-child td {
	border-bottom: 1px solid #CFCABF;
}

.table th {
	border-right: 1px solid #CFCABF;
	padding: 20px 24px 20px 0;
	font-weight: normal;
}

.table td {
	padding: 20px 24px;
}

.table a {
  color: #0042C3;
  text-decoration: underline;
	word-break: break-all;
}

.table a:hover {
  color: #8A2222;
  text-decoration: none;
}

@media (max-width: 519px) {
	.table th {
		padding: 20px 30px 8px 30px;
		font-weight: bold;
		display: block;
		font-size: 16px;
		border-right: none;
	}

	.table td {
		padding: 0 30px 12px 30px;
		display: block;
		font-size: 15px;
		border: none;
	}

	.table tr:last-child th {
		border-bottom: none;
	}
}

.fare-table {
	table-layout: fixed;
	margin: 16px auto;
	font-family: var(--gothic);
}

.fare-table th {
	background: #F1F1F1;
	color: #000;
}

.fare-table th,
.fare-table td {
	border: 1px solid #AAAAAA;
	text-align: center;
	padding: 16px 20px;
	vertical-align: middle;
}

/* pdf button */
.btn.pdf {
	border: 2px solid #B39E54;
	padding: 15px 30px;
	color: #000;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.btn.pdf::after {
	content: '';
	display: inline-block;
	background: center / contain url(../img/pdf_ico.svg) no-repeat;
	width: 20px;
	height: 24px;
	margin-left: 10px;
	z-index: 3;
}

.btn.pdf::before {
	background-color: #B39E54;
}

.btn.pdf:hover {
	color: #fff;
}

.btn.pdf:hover::after {
	background-image: url(../img/pdf_ico_w.svg);
}