﻿@charset 'utf-8';
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap');

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
/*-------------------- pankuzu */
#pankuzu ul {
	overflow: auto;
	padding: 0 10px;
	_zoom: 1;
}
#pankuzu li {
	float: left;
	list-style: none;
}
#pankuzu li+li:before {
	margin: 0 8px;
	content: '>';
}
/*-------------------- Frame */
#container {
	font-family: 'Noto Sans JP', sans-serif, Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3″, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
	font-size: 1.4rem;
	line-height: 1.7;
	clear: both;
	zoom: 1;
	width: 100%;
	margin: 0 auto !important;
	color: #111;
}
.wrapper {
	position: relative;
	clear: both;
	width: 1000px;
	margin: 0 auto;
}
.box {
	position: relative;
	clear: both;
	overflow: hidden;
}
/*-------------------- often used */
/*p,
li,
dt,
dd{
    text-align: justify;
    text-justify: inter-ideograph;
}*/
p {
	margin: 0;
	padding: 0;
}
.sp {
	display: none;
}
.clearfix::after {
	display: block;
	clear: both;
	content: '';
}
i.fas {
	margin-left: 7px;
}
/*-------------------- SiteTitle */
#title {
	position: relative;
	background: url(../img/bg_wall.jpg) no-repeat center center;
	background-size: cover;
}
h1.sitettl {
	clear: both;
	overflow: hidden;
	height: 600px;
	margin-bottom: 0;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/title.png) no-repeat center;
}
/*-------------------- 催行決定 
.decision {
	background: #e90072;
	padding: .1em 0;
	color: #FFF;
	text-align: center;
	font-size: 4rem;
	font-weight: bold;
}
.decision_03{
	background: #ffe1f2;
	border: 3px solid #e90072;
	padding: 0;
	color: #e90072;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	width: 80%;
	margin: 0 auto 50px;
}
.decision_03 dt{
	font-size: 2rem;
}
*/
/*-------------------- Title */
h2.various {
	font-size: 2.8rem;
	line-height: 1.5;
	text-align: center;
	margin-bottom: .5em;
}
h2.various span {
	display: block;
	margin-left: 10px;
}
h2.cat {
	font-family: 'Quicksand', sans-serif;
	font-size: 6rem;
	line-height: 1.3;
	margin-bottom: 0.5em;
	letter-spacing: -2px;
	font-weight: normal;
	text-align: center;
}
.schedule {
	text-align: center;
	font-size: 1.6rem;
	margin: 0 auto 20px;
	background: #e93f40;
	padding: 6px 10px 6px 20px;
	display: table;
	color: #FFF;
}
.subtCenter {
	text-align: center;
	font-weight: bold;
	margin-bottom: 50px;
}
.with_byon {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin-bottom: .5em;
}
h3 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	margin-bottom: .5em;
}
.en {
	font-weight: bold;
	text-align: center;
	margin-bottom: .5em;
}
.location {
	text-align: center;
	margin-bottom: 1em;
}
/*-------------------- intro */
#intro {
	padding: 6em 0;
	background: url(../img/bg_line.jpg) repeat-x center top;
}



/*-------------------- Navigation */
#nav {
	clear: both;
	border-top: 1px solid #fff;
}
ul.theme_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.theme_box li {
	position: relative;
	width: 24%;
}
figure.scale_up {
	position: relative;
	overflow: hidden;
	margin: 0;
	text-align: center;
	color: #fff;
	background: #000;
	box-shadow: 0 0 5px rgba(0, 0, 0, .15);
}
figure.scale_up * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .45s ease-in-out;
	transition: all .45s ease-in-out;
}
figure.scale_up img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
	opacity: .7;
	sition: relatie;
}
figure.scale_up figcaption {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
figure.scale_up h5 {
	font-family: 'Quicksand', sans-serif;
	font-size: 2rem;
	line-height: 1.1;
}
figure.scale_up h5 span {
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.4;
	display: block;
	margin-top: .2em;
}
figure.scale_up .caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
}
figure.scale_up p {
	font-size: 1.2rem;
	position: relative;
	display: table;
	width: auto;
	margin: 3em auto 0;
	padding: 0 10px;
	text-align: center;
	color: rgba(255, 255, 255, 0);
}
figure.scale_up p:before,
figure.scale_up p:after {
	position: absolute;
	content: '';
	-webkit-transition: all .45s ease-in-out;
	transition: all .45s ease-in-out;
	background: #fff;
}
figure.scale_up p:before,
figure.scale_up p:after {
	bottom: 0;
	width: 100%;
}
figure.scale_up p:before {
	left: -100%;
}
figure.scale_up p:after {
	right: -100%;
}
figure.scale_up a {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
figure.scale_up:hover img,
figure.scale_up.hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	opacity: .15;
}
figure.scale_up:hover p,
figure.scale_up.hover p {
	-webkit-transition-delay: .35s;
	transition-delay: .35s;
	opacity: 1;
	color: #fff;
}
figure.scale_up:hover p:before,
figure.scale_up.hover p:before {
	left: -150%;
}
figure.scale_up:hover p:after,
figure.scale_up.hover p:after {
	right: -150%;
}


/*-------------------- byon greeting */
.byon_greeting {
	margin-top: 80px;
}
.byon_greeting p {
	font-size: 1.6rem;
	margin-bottom: 1em;
}
span.hangul {
	font-family: 'Noto Sans KR', sans-serif;
	margin-right: 10px;
	color: #e3208f;
	font-size: 3rem;
    display: block;
    margin-left: -15px;
}
.byon_greeting dl{
	font-size: 1.6rem;
	margin-bottom: 1em;
}
.byon_greeting dt{
	font-weight: bold;
	padding-bottom: .5em;
}
.byon_greeting dt span,
.byon_greeting dd span{
	color: #fe1298;
}
.map {
	width: 1000px;
	margin: 80px auto 40px;
}
.map img {
	width: 100%;
	text-align: center;
}
/*-------------------- byon profile*/
ul.byon {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
}
ul.byon li:first-child {
	width: 66%;
}
ul.byon li:first-child p{
    margin-bottom: 1em;
    padding-left: -1em;
    text-indent: 1em;
    font-size: 1.5rem;

}
ul.byon li:last-child .byon_photo {
	width: 100%;
}
ul.byon li:last-child .byon_photo img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
ul.byon li:last-child {
	width: 30%;
}
dl.byon_profile dt {
	font-family: 'Quicksand', sans-serif;
	font-size: 4rem;
	line-height: 1.3;
	margin-bottom: 0.5em;
	letter-spacing: -2px;
	color: #e90072;
}
dl.byon_profile dd:nth-child(2) {
	font-size: 1.6rem;
	font-weight: bold;
}
dl.byon_profile dd {
	margin-bottom: .5em;
	font-size: 1.4rem;
}
/*-------------------- youtube */
.youtube {
	position: relative;
	width: 560px;
	height: 315px;
	margin: 60px auto;
	border: 1px solid #aaa;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/*-------------------- Booking */
.booking {
	padding: 3em 0 3.5em;
	background: #414141;
	color: #FFF;
}
.booking ul.info {
	margin-bottom: 30px;
}
.booking ul.info li {
	text-align: center;
}
.booking ul.info li span.decision_01 {
	font-size: 2.4rem;
	color: #ff00ff;
}
.booking ul.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
}
.booking ul.button li {
	margin-bottom: 10px;
	width: 48%;
	font-size: 1.6rem;
}
.booking ul.button li a {
	color: #fff;
}
.booking ul.button p a {
	display: block;
	padding: 8px 0;
	color: #fff;
	border-radius: 4px;
	background: #e90072;
	text-align: center;
}
.booking ul.button p a:hover {
	background: #c20260;
}
.booking ul.button p.nolink {
	display: block;
	padding: 8px 0;
	color: #fff;
	border-radius: 4px;
	background: #AAA;
	text-align: center;
}

.caution a {
	color: #0FF;
}
.caution a:hover {
	color: #FFF;
}
/*-------------------- gadget */
.deplistWrap,
.pricelist span.left {
	display: none;
}
.pricelistWrap ul {
	margin-left: 0;
}
.pricelistWrap ul li {
	padding-left: 0;
	background: none;
	width: 100%;
}
.booking ul.button li .pricelist li {
	width: 100%;
	margin-bottom: 5px;
}
.pricelistWrap a {
	font-size: 1.6rem;
}
/*-------------------- Gourmet */
#gourmet {
	padding: 6em 0 7em;
	background: url(../img/bg_line.jpg) repeat-x center top #fffff8;
}
#gourmet h2.cat {
	color: #253472;
}
ul.food {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.food li dd:nth-child(3)::before {
	font-family: "Font Awesome 5 Free";
	content: "\f3c5";
	margin-right: 8px;
	color: #444;
	font-weight: 900;
}
ul.food li dd:nth-child(4)::before {
	font-family: "Font Awesome 5 Free";
	content: "\f2e7";
	margin-right: 8px;
	color: #444;
	font-weight: 900;
}
ul.food li {
	width: 48%;
	margin-bottom: 50px;
	position: relative;
}
ul.food li:nth-child(n+3){
	width: 32%;
}

ul.food li p.photo {
	width: 100%;
	/*margin-bottom: 10px;*/
	aspect-ratio: 4 / 3;
}
ul.food li p.photo img {
	width: 100%;
	border-radius: 30px;
}

/*ul.food li dl {
	width: 100%;
}*/
ul.food li dt {
	font-size: 1.5rem;
}
ul.food li dt span {
	display: block;
}
.logo_gourme {
	width: 130px;
	height: auto;
	position: absolute;
	top:-10px;
	left: -10px;
}
.logo_gourme img {
	width: 100%;
	height: auto;
}

/*-------------------- Sightseeing */
#sightseeing {
	padding: 6em 0 7em;
	background: url(../img/bg_blue.jpg) no-repeat top center;
	background-size: cover;
}
#sightseeing h2.cat {
	color: #0260a2;
}
ul.spot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.spot li {
	width: 48%;
	margin-bottom: 50px;
    position: relative;
}
/*ul.spot li:nth-child(n+3):nth-child(-n+5),
ul.spot li:nth-child(n+8):nth-child(-n+10){
	width: 32%;
}*/
ul.spot li p.photo {
	width: 100%;
}
ul.spot li p.photo img {
	width: 100%;
	height: auto;
}

/*ul.spot li dl {
	width: 100%;
}*/
ul.spot li dt {
	font-size: 1.5rem;
}
ul.spot li dt span {
	display: block;
}
ul.spot li dd:nth-child(3)::before {
	font-family: "Font Awesome 5 Free";
	content: "\f3c5";
	margin-right: 8px;
	color: #444;
	font-weight: 900;
}



/*ul.spot li:nth-child(3) {
	position: relative;
}
ul.spot li:nth-last-child(-n + 2){
	margin-bottom: 0;
}*/


.logo_02 {
	width: 130px;
	height: auto;
	position: absolute;
	top:-10px;
	left: -10px;
}
.logo_02 img {
	width: 100%;
	height: auto;
}


/*ul.spot li:nth-child(3),
ul.spot li:nth-child(4),
ul.spot li:nth-child(5){
	width: 32%;
}*/

/*ul.spot li:nth-child(n+5) {
	width: 24%;
}*/

/*-------------------- Hotel */
#hotel {
	padding: 6em 0 7em;
	background: url(../img/bg_texture.jpg) repeat;
	border-top: 2px solid #bcbcbc;
}
#hotel h2.cat {
	color: #e3208f;
}
#sonomoon {
	margin-top: 80px;
}
ul.hotel-photo {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.hotel-photo li {
	width: 48%;
}
ul.hotel-photo li img {
	width: 100%;
	height: auto;
}
span.copy {
	display: block;
}
/*-------------------- Airline */
#airline {
	padding: 0;
}
#airline ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#airline li {
	width: 50%;
	/*background: #75ccd1;*/
	background: #57bbeb;
}
#airline li:first-child img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
#airline li:last-child {
	position: relative;
}
#airline li:last-child p.logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 250px;
	text-align: center;
}
#airline li:last-child p.logo img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
/*-------------------- Sponsorship */
#sponsorship {
	padding: 0;
}
#sponsorship ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sponsorship li {
	width: 50%;
	background: #FFF;
}
#sponsorship li:last-child img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
#sponsorship li:first-child {
	position: relative;
}
#sponsorship li:first-child p.logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 250px;
	text-align: center;
}
#sponsorship li:first-child p.logo img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
/*-------------------- Call Center */
.callcenter {
	padding: 1.5em 0;
	color: #fff;
	background: url(../img/bg_05.jpg) no-repeat center top #3d3d3d;
	background-size: cover;
}
.callcenter ul.phone {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.callcenter ul.phone li:first-child {
	flex-grow: 1;
}
.callcenter h2 {
	font-size: 2rem;
	padding-top: .8em;
}
.callcenter ul.phone li:nth-child(n+2) {
	width: auto;
	margin-left: 3em;
}
.callcenter ul.phone dt {
	font-size: 1.4rem;
	margin-bottom: .3em;
}
.callcenter ul.phone dt span {
	margin-right: .5em;
	padding: 0 .3em .1em;
	color: #3661a2;
	background: #fff;
}
.callcenter ul.phone dd {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.4;
}
.callcenter ul.phone a {
	color: #fff;
}
.callcenter ul.phone dd:nth-child(2):before {
	font-family: FontAwesome;
	padding-right: 7px;
	content: '\f3cd';
}
/*-------------------- page-top */
#page-top {
	position: fixed;
	z-index: 100;
	right: 20px;
	bottom: 20px;
}
#page-top a {
	display: block;
	width: 90px;
	padding: 20px 0;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border-radius: 10px;
	background: #ddd;
}
#page-top a:hover {
	text-decoration: none;
	background: #a5a5a5;
}