@charset "UTF-8";

/* ----------------------------------------------------
	基本設定
---------------------------------------------------- */
/*
	#font
------------------------------ */
body {
	background-color: #fff;
	line-height: 1.5;
	color: #3E3A39;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 18px;
	font-feature-settings: "pkna";
	letter-spacing: 0.04em;
}

@media(max-width:768px) {
	body {
		font-size: 3.90625vw;
	}
}

/*
	#reset
------------------------------ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

p {
	margin-bottom: 1em;
	line-height: 2;
	word-wrap: break-word;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

ol.normal li,
ul.normal li {
	margin-left: 1em;
	text-indent: -1em;
}

caption,
th {
	text-align: left;
}

a {
	text-decoration: none;
	transition: all 0.5s ease 0s;
}

a:hover {
	opacity: 0.7;
}

area {
	border: none;
	outline: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*
	表示設定
------------------------------ */
section {
	width: 100%;
}

.container {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1240px;
	width: 100%;
}

@media(max-width:768px) {
	.container {
		padding: 0 4.94792vw;
	}
}

/*
	SP,PC表示切り替え
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

@media(max-width:768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/* ----------------------------------------------------
	header
---------------------------------------------------- 

@media(max-width: 768px) {

	.header h1 {
		width: 100%;
	}

	.header .kv {
		margin: 0;
		width: 100%;

	}

}
*/

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	padding-top: 80px;
	text-align: center;
}

.lead .lead_title {
	margin-bottom: 30px;
}

.lead .lead_title img {
	width: 600px;
}


.lead .lead_text {
	margin-bottom: 40px;
}

.lead .lead_text .dots{
	-webkit-text-emphasis: filled;
	text-emphasis: filled;
}

.lead .lead_text .coupon{
	font-size: 30px;
	font-weight: bold;
}

.lead .period{
	max-width: 750px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 20px;
}

.lead .period dt {
	text-align: left;
	width: 25%;
	margin-left: 40px;
}
.lead .period dd {
	text-align: left;
	width: 65%;
	margin-bottom: 20px;
}

.lead .contents_link {
	margin-top: 10px;
	text-align: center;
}

.lead .contents_link a {
	background: url(../img/arrow_blk.svg) right 20px center no-repeat;
	background-size: auto 13px;
	margin-bottom: 40px;
	padding: 35px 0;
	border: 1px solid #000;
	max-width: 450px;
	width: 55%;
	color: #000;
	font-size: 20px;
	display: inline-block;
}

.lead .lead_note{
	font-size: 13px;
	margin-bottom: 80px;
}

.lead .lead_note::before {
	content: "※";
}

.lead .lead_link {
	padding-bottom: 80px;
	display: flex;
	justify-content: center;
}

.lead .lead_link li {
	margin: 0 1em;
	max-width: 500px;
	width: 100%;
}

.lead .lead_link li a {
	height: 80px;
	line-height: 80px;

}


@media (max-width: 768px) {
	.lead {
		padding-top: 8vw;
	}

	.lead .lead_title {
		margin-bottom: 8.46354vw;
	}

	.lead .lead_title img {
		width:80%;
	}

	.lead .lead_text {
		margin-bottom: 8.46354vw;
		text-align: center;
		font-size: 12px;
		letter-spacing: -0.3px;
	}

	.lead .period{
		margin: 0 auto 20px;
		font-size: 10px;
	}

	.lead .period dt {
		width: 40%;
		letter-spacing: -0.02em;
		margin-left: 0;

	}

	.lead .period dd {
		width: 60%;
		letter-spacing: -0.04em;
		margin-bottom: 5px;
	}

	.lead .lead_text .coupon{
		font-size: 20px;
	}

	.lead .contents_link a {
		background: url(../img/arrow_blk.svg) right 9px center no-repeat;
		background-size: auto 10px;
		margin-bottom: 20px;
		padding: 15px 0;
		border: 1px solid #000;
		max-width: 450px;
		width: 85%;
		color: #000;
		font-size: 12px;
		display: inline-block;
	}

	.lead .lead_note{
		margin-bottom: 30px;
		font-size: 11px;
		letter-spacing: -0.5px;
	}

	.lead .lead_link {
		padding-bottom: 16.92708vw;
		display: block;
		/* padding-left: 4.92708vw; */
	}

	.lead .lead_link li {
		margin: 0 0 1.7em;
		/* max-width: 300px; */
		width: 100%;
	}

	.lead .lead_link li:last-of-type {
		margin: 0;
	}

	.lead .lead_link li a {
		height: 21.35417vw;
		line-height: 21.35417vw;
	}
}



/* ----------------------------------------------------
	campaign
---------------------------------------------------- */
.campaign {
	/* background: #F9F7ED; */
	/* padding-top: 80px; */
	text-align: center;
}

.campaign .campaign_box{
	max-width: 1200px;
	margin: 0 auto;
	background: #F9F7ED;
	border: 1px solid #9E8D6C;
}

.campaign .campaign_title{
	width: 35vw;
	margin: 60px auto 30px;
}

.campaign .campaign_txt{
	position: relative;
	margin: 0 0 40px 11em;
	width: 60%;
	padding-left: -10px;
	/* font-weight: bold; */
	/* font-size: 1.7vw; */
}

.large{
	font-size: 1.3em;
}

.bold{
	font-weight: bold;
}

.campaign .campaign_title_label{
	position: absolute;
	width: 5vw;
	top: 10%;
	left: 15%;
}

.campaign .contents_link {
	margin-top: 10px;
	text-align: center;
	margin-bottom: 15px;
}

.campaign .contents_link a {
	background: url(../img/arrow_blk.svg) right 20px center no-repeat;
	background-size: auto 13px;
	margin-bottom: 40px;
	padding: 20px 0;
	border: 1px solid #000;
	max-width: 400px;
	width: 55%;
	color: #000;
	font-size: 20px;
	display: inline-block;
}



@media (max-width: 768px) {
	.campaign {
		padding-top: 0;
		margin-bottom: 40px;
	}

	.campaign .campaign_title{
		width: 75%;
		margin: 10px auto 30px;
	}

	.campaign .campaign_title_label{
		width: 17%;
		top: -38%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.campaign .campaign_txt{
		margin: 0 auto 20px;
		line-height: 1.8;
		width: 70%;
	}

	.campaign .contents_link a {
		margin-bottom: 20px;
		padding: 13px 0;
		width: 70%;
		font-size: 16px;
		display: inline-block;
	}
}




/* ---------------------------------------------------
	store
---------------------------------------------------- */
.store{
	margin-bottom: 70px;
}

.store .store_box{
	display: flex;
	justify-content: space-between;
}

.store .store_box .store_label{
	position: relative;
	width: 40%;
}

.store .store_box .store_label img{
	position: absolute;
	width: 60%;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.store .store_box .store_list{
	width: 60%;
	padding: 40px;
	display: flex;
	justify-content:space-around;
	align-items: stretch;
}

.store .store_box .store_list dl dt{
	margin-top: 30px;
	font-weight: bold;
}

.store .store_box .store_list dl dd{
	margin-top: 6px;
}

.store .store_box .store_list dl dd a{
	color: #000;
	text-decoration: underline;
}


.store .store_box .store_list dl.store_list_r dt{
	margin-top: 33px;
}

.store .store_box .store_list dl dt:before{
	content: '■';
	color: #B5B5B6;
}

.store .store_list_sp{
	margin-top: 30px;
}

@media (max-width: 768px) {
	.store{
		padding-top: 50px;
		margin-bottom: 10px;
	}

	.store .store_box{
		flex-direction: column;
	}
	.store .store_box .store_label{
		margin-bottom: 30px;
		width: 100%;
	}

	.store .store_box .store_label img{
		width: 100%;

	}

	.store .store_box .store_list{
		width: 100%;
		padding: 0;
		flex-direction: column;

	}

	.store .store_list_sp{
		margin-top: 50px;
	}

}


/* ---------------------------------------------------
	hotels
---------------------------------------------------- */
.hotels {
	padding: 70px 0 60px;
}

.hotels .hotels_title {
	margin-bottom: 40px;
	font-weight: normal;
	text-align: center;
}

.hotels .hotels_title img {
	width: 700px;
}

.hotels .hotels_title_box{
	position: relative;
}

.hotels .hotels_target{
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 50px;
}

.hotels .ttl_label{
	position: absolute;
	width: 8%;
	top: 30%;
	left: 22%;
}

.hotels .hotels_area{
	background-color: #898989;
	padding: 5px;
	color: #fff;
	text-align: center;
	letter-spacing: 1em;
	margin-bottom: 30px;
	font-size: 1.5em;
}

/*.hotels .hotels_title small {
	color: #b1bbb7;
	font-size: 24px;
	display: block;
}*/

@media (max-width: 768px) {
	.hotels {
		padding: 12.48438vw 0 5.48438vw;
	}

	.hotels .hotels_title {
		margin-bottom: 3.46354vw;
		/* font-size: 6.25vw; */
	}

	.hotels .hotels_title img {
		width: 95%;
	}

	.hotels .ttl_label{
		position: absolute;
		width: 12%;
		top: 5%;
		left: -2%;
	}

	.hotels .hotels_target{
		font-size: 13px;
		margin-bottom: 20px;
		font-weight: bold;
	}

	.hotels .hotels_area.tokyo{
		padding: 3px;
		font-size: 1.1em;
		margin-top: 0;
		margin-bottom: 10px;
	}

	.hotels .hotels_area{
		padding: 3px;
		font-size: 1.1em;
		margin-top: 80px;
		margin-bottom: 10px;
	}


	/*.hotels .hotels_title small {
		font-size: 4.68750vw;
	}*/
}

/* hotels_list */
.hotels .hotels_list {
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-around; */
}

.hotels .hotels_item {
	margin: 0 3.5% 105px 0;
	width: 31%;
	display: flex;
	flex-direction: column;
}

.hotels .hotels_item:nth-child(3n) {
	margin-right: 0;
}

.hotels .hotels_item figure {
	margin-bottom: 15px;
}

.hotels .hotels_item figcaption {
	margin-top: 18px;
}

.hotels .hotels_item figcaption dt {
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: -0.0005em;
}

.hotels .hotels_item figcaption dd {
	font-size: 14px;
}

.hotels .hotels_link {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.hotels .hotels_link li.reserve {
	width: 100%;
}

.hotels .hotels_link li.detail {
	margin-top: 0.75em;
	width: 100%;
}

.hotels .hotels_link li a {
	padding: 0.75em;
	height: 100%;
	color: #fff;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.hotels.en .hotels_link li a {
	padding: 0.75em 0;
	height: 100%;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.hotels .hotels_link li.reserve a {
	background: #9E8D6C;
	border: solid 1px #9E8D6C;
}

.hotels .hotels_link li.detail a {
	background: #666664;
	border: solid 1px #666664;
}

.hotels .hotels_link li.reserve a:hover,
.hotels .hotels_link li.detail a:hover {
	background: #fff;
	color: #000;
}

.hotels .hotels_link li a span {
	display: inline-block;
}

@media (max-width: 768px) {
	.hotels .hotels_list {
		display: block;
	}

	.hotels .hotels_item {
		margin: 0 0 13.4375vw;
		width: 100%;
	}

	.hotels .hotels_item figure {
		margin-bottom: 3.90625vw;
	}

	.hotels .hotels_item figcaption {
		margin-top: 4.81771vw;
	}

	.hotels .hotels_item figcaption dt {
		margin-bottom: 0;
		font-size: 5.20833vw;
	}

	.hotels .hotels_item figcaption dd {
		font-size: 3.64583vw;
	}
}


/* hotels info */

.hotels_note {
	padding: 60px 0;
}

.hotels_note .hotels_info {
	margin: 0 auto;
	max-width: 1000px;
	font-size: 13px;
}

.hotels_note .info_note li {
	margin-left: 1em;
	text-indent: -1em;
	line-height: 1.7;
}

.hotels_note .info_note li::before {
	content: "※";
}

@media (max-width: 768px) {
	.hotels_note {
		padding: 5px 0;
	}

	.hotels_note .hotels_info {
		margin: 5.20833vw 0 11.45833vw;
		padding: 0 4.94792vw;
		font-size: 2.86458vw;
	}

}



/* ----------------------------------------------------
	campaign_detail
---------------------------------------------------- */
.campaign_detail {
	background: #F9F7ED; 
	padding-top: 80px;
	padding-bottom: 80px;
	text-align: center;
}

.campaign_detail .campaign_box{
	max-width: 1040px;
	margin: 0 auto;
	background: #F9F7ED;
	border: 1px solid #9E8D6C;
}

.campaign_detail .lead_title {
	width: 20%;
	margin: 1.46354vw auto 2.46354vw;
}

.campaign_detail .lead_text {
	margin-bottom: 30px;
}

.campaign_detail .lead_text2 {
	margin-bottom: 40px;
}

.campaign_detail .period {
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 70px;
	font-size: 1.2em;
}

.campaign_detail .period dt {
	width: 35%;
	text-align: right;
}

.campaign_detail .period dd {
	width: 65%;
	text-align: left;
}


.campaign_detail .lead_link {
	padding-bottom: 80px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.campaign_detail .lead_link li {
	margin: 0 1em;
	max-width: 500px;
	width: 100%;
}

.campaign_detail .lead_link li a {
	height: 80px;
	line-height: 70px;

}


.campaign_detail .campaign_txt{
	position: relative;
}


.campaign_detail .campaign_txt .large{
	font-size: 1.3em;
}

.campaign_detail .campaign_title_label{
	position: absolute;
	width: 7%;
	top: 10%;
	right: 10%;
}

.campaign_detail .contents_link {
	margin-top: 10px;
	text-align: center;
	margin-bottom: 15px;
}

.campaign_detail .contents_link a {
	background: url(../img/arrow_blk.svg) right 20px center no-repeat;
	background-size: auto 13px;
	margin-bottom: 40px;
	padding: 20px 0;
	border: 1px solid #000;
	max-width: 400px;
	width: 55%;
	color: #000;
	font-size: 20px;
	display: inline-block;
}

.campaign_detail .info_note {
	font-size: 13px;
}

.campaign_detail .info_note li::before {
	content: "※";
}



@media (max-width: 768px) {
	.campaign_detail {
		padding-top: 0.57813vw;
		padding-bottom: 40px;
	}

	.campaign_detail .info_note {
		font-size: 2.86458vw

	}

	.campaign_detail .lead_title {
		width: 48%;
		margin: 8.46354vw auto 8.46354vw;
	}

	.campaign_detail .lead_text {
		margin-bottom: 8.46354vw;
		text-align: center;
	}

	.campaign_detail .period{
		margin: 0 auto 20px;
		font-size: 12px;
	}

	.campaign_detail .period dt {
		width: 27%;
	}
	
	.campaign_detail .period dd {
		width: 73%;
		letter-spacing: -0.07em;
	}

	.campaign_detail .lead_text2 {
		letter-spacing: -0.5px;
	}

	
	.campaign_detail .lead_link {
		padding-bottom: 7.92708vw;
		display: block;
	}

	.campaign_detail .lead_link li {
		margin: 0;
		width: 100%;
	}

	.campaign_detail .lead_link li:last-of-type {
		margin: 0;
	}

	.campaign_detail .lead_link li a {
		height: 21.35417vw;
		line-height: 21.35417vw;
	}


}


/* app */
.campaign_detail .table td .app {
	margin-top: 1em;
}

.campaign_detail .app .txtlink {
	margin-bottom: 3em;
	color: #000;
	display: inline-block;
	height: 0;
}

.campaign_detail .app .txtlink::before {
	content: "＞";
}

.campaign_detail .app .app_list {
	display: flex;
	justify-content:center;
}

.campaign_detail .app .app_list li {
	margin-right: 1em;
}

.campaign_detail .app .app_list li img {
	width: auto;
	height: 60px;
}

@media (max-width: 768px) {
	.campaign_detail .app .app_list {
		margin-top: -20px;
	}

	.campaign_detail .app .app_list li img {
		height: 11.71875vw;
	}
}


/* ---------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background: #F9F7ED;
	padding: 25px 0 35px;
	text-align: center;
}

.footer .corporate_list li {
	margin-bottom: 62px;
}

.footer .corporate_list li:last-of-type {
	margin-bottom: 0;
}

.footer .corporate_list li.logo1 img {
	max-width: 310px;
	height: auto;
}

.footer .corporate_list li.logo2 img {
	max-width: 310px;
	height: auto;
}

.footer .copy {
	margin-top: 17px;
	color: #808080;
	font-size: 12px;
}

@media (max-width: 768px) {
	.footer {
		padding: 14.19271vw 0 5.59896vw;
	}

	.footer .corporate_list li {
		margin-bottom: 11.71875vw;
	}

	.footer .corporate_list li:last-of-type {
		margin-bottom: 0;
	}

	.footer .copy {
		margin-top: 4.03646vw;
		font-size: 2.08333vw;
	}
}

/* ----------------------------------------------------
	pagetop
---------------------------------------------------- */
#pageTop a {
	background: rgba(158,141,108, 0.8);
	width: 64px;
	height: 64px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 10;
}

#pageTop a img {
	width: 16px;
	height: auto;
}

/* ----------------------------------------------------
	fadeIn
---------------------------------------------------- */
.fadeBlock {
	opacity: 0;
	transition: all 0.8s;
}

.fadeBlock.fadeIn {
	opacity: 1;
}

