@charset "utf-8";

.maincont .main-section{
	width:100%;
	max-width:1180px;
	margin:35px auto 0;
}

.maincont .main-section a{
	transition: opacity .25s ease-in-out;
	opacity: 1;
}
.maincont .main-section a:hover{
	opacity: .65;
	text-decoration:none;
}

.main-section p {
	margin-bottom: 0;
}
.mod-main .lead {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
	text-align: center;
}

.gift {
	margin-top: 80px;
	margin-bottom:50px;
}
.gift .pc { display: inline-block;}

.gift h2 {
	font-size: 70px;
	font-weight: bold;
	text-align: center;
	color: #df3939;
}

.gift ul { margin-top: 40px;}

.gift ul li {
	width: 30%;
	display: inline-block;
	font-size: 0;
	vertical-align: top;
	margin-left: 4%;
}

.gift ul li:first-child { margin-left: 0;}

.gift ul li dt { margin-top: 10px;}

.gift ul li dt span {
	width: 100%;
	font-size: 16px;
	color: #ae8721;
	font-weight: bold;
	text-align: center;
	/* position: absolute; */
	top: 35%;
	left: 0;
	margin: auto;
}
.gift ul li dd {
	font-size: 14px;
	margin-top: 20px;
}
.gift dd .marker {
	background-image: linear-gradient( transparent 60%, #fbf97a 60%, #fbf97a 100%);
	padding: 2px 0 2px 4px;
}

.main-section .thanks_period { margin-top: 45px;}
.main-section .thanks_period dt {
	font-size: 16px;
	/*  font-weight: bold;*/
	background: #d9c99f;
	text-align: center;
	padding: 2px 10px;
	float: left;
	clear: left;
	margin-bottom: 1rem;
	width: 10rem;
}
/*.main-section .thanks_period dt:before{
  content:"";
  width: 40px;
  height: 40px;
  display: inline-block;
  background: url("../img/flower.svg") no-repeat left bottom;
  position: absolute;
  left: 0;
  bottom: -7px;
}
*/
.main-section .thanks_period dd {
	font-size: 21px;
	vertical-align: middle;
	margin-bottom: 1rem;
	padding-left: 11.5rem;
}
.main-section .thanks_period dd span {
	font-size: 14px;
	margin-left: 10px;
}
.main-section .deals {
	width: 100%;
	display: inline-block;
	clear: both;
	margin-top: 20px;
}
.main-section .deals .left {
	width: 47.556%;
	float: left;
	margin-top: 24px;
}
.main-section .deals .title {
	font-size: 21px;
	font-weight: bold;
	color: #b10019;
	text-align: center;
	border-bottom: solid 2px #b10019;
	position: relative;
	padding-left: 40px;
}
.main-section .deals .title:before {
	content:"";
	width: 40px;
	height: 40px;
	display: inline-block;
	background: url("../img/flower.svg") no-repeat left bottom;
	position: absolute;
	left: 0;
	/*bottom: 0;*/
	top: -5px;
}
.main-section .deals .target {
	font-size: 21px;
	font-weight: bold;
	margin-top: 20px;
}
.main-section .deals .target span {
	font-size: 16px;
	font-weight: normal;
}
.main-section .deals .day {
	font-size: 16px;
	text-align: right;
	margin-top: 30px;
}

.main-section .deals .charge {
	width: 100%;
	font-size: 16px;
	margin-top: 30px;
}
.main-section .deals .charge th { text-align: right;}
.main-section .deals .charge .lodging {
	width: 14%;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	background: #ffe4e4;
	padding: 15px 0;
}
.main-section .deals .charge .hotels {
	width: 31.5%;
	text-align: right;
}
.main-section .deals .charge .tabs {
	/*float: right;*/
	display: inline-block;
	font-size: 14px;
	color: #ffffff;
	line-height: 1;
	border-radius: 4px;
	background: #666666;
	margin-left: 3px;
	padding: 3px;
}
.main-section .deals .charge .tabs.right_txt { float: right;}
.main-section .deals .charge .days01 { width: 23%;}
.main-section .deals .charge .days02 { padding-right: 15px;}

.main-section .deals .charge .h_price {
	font-size: 21px;
	font-weight: bold;
	text-align: right;
}
.main-section .deals .charge .table_line { border-bottom: solid 1px #7d7d7d;}
.main-section .deals .charge .table_line_dot { border-bottom: dotted 1px #7d7d7d;}
.main-section .deals .charge .table_line02 { border-bottom: solid 3px #b10019;}

.main-section .deals .right {
	width: 47.556%;
	float: right;
}
.main-section .deals .right .ribbon { text-align: center;}

.main-section .deals .right .ribbon span {
	width: 140px;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	line-height: 1;
	background: #ab8b3e;
	padding: 5px 0 3px;
	position: relative;
}
.main-section .deals .right .ribbon span:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 10px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 0;
	left: 0;
}
.main-section .deals .right .ribbon span:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 10px 12px 0;
	border-color: transparent #ffffff transparent transparent;
	position: absolute;
	top: 0;
	right: 0;
}
.main-section .deals .right .title {
	text-align: left;
	padding-left: 45px;
}
.main-section .deals .right .charge .days01 { width: 29.4%;}
.main-section .deals .right .charge .days02,.main-section .deals .charge th.th_center {
    text-align: center;
    padding-right: 0;
}

.main-section .status {
    font-size: 0;
    text-align: center;
    position: relative;
    padding: 1.5rem 2rem;
    background: #b50000;
    color: #fff;
}
.main-section .status:before,
.main-section .status:after {
    position: absolute;
    left: 0;
    width: 100%;
    content: '';
    border-top: 2px dotted #fff;
}
.main-section .status:before { top: 4px;}
.main-section .status:after { bottom: 4px;}

.main-section .status span {
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
    font-size: 21px;
    font-weight: normal;
    line-height: 1;
}

.main-section .reservation { margin-top: 40px;}
.main-section .reservation h3,
.main-section .reservation h4 {
	font-size: 1em;
	margin-bottom: 10px;
}

.main-section .reservation h3 a,
.main-section .reservation h4 a {
	font-size: 22px;
	border-bottom: 2px dotted #b50000;
	padding-bottom: 3px;
}

.main-section .reservation ul {
	width: 100%;
	display: inline-block;
	clear: both;
}
.main-section .reservation li {
	width: 46.112%;
	float: left;
}
.main-section .reservation li .image {
	position: relative;
}
.main-section .reservation li .image span {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	line-height: 1;
	border: solid 2px #ffffff;
	box-sizing: border-box;
	background: #ab8b3e;
	position: absolute;
	top: 10px;
	left: -20px;
	padding: 5px 10px 3px 20px;
}

.main-section .reservation li .price_par span {
	width: 12rem;
	padding: 3px 8px;
	text-align: center;
	margin-bottom: 1rem;
	background: #ddddca;
}
.main-section .reservation li .price_par span:nth-child(2){
	margin-left: 1rem;
}

.price_cont {
	width: 100%;
	margin-top: 1rem;
}
.price_cont .a {
	background: #daeae9;
}
.price_cont .b {
	background: #c5e0fc;
}
.price_cont dt {
	width: 8rem;
	padding: 0 8px;
	text-align: center;
	float: left;
	clear: left;
	margin-bottom: 1rem;
	background: #ddddca;
}
.price_cont dd {
	padding-left: 10.3rem;
	margin-bottom: 1rem;
	font-feature-settings: "palt";
}
.price_cont dd span {
	border: 1px solid;
	border-radius: 2px;
	padding: 2px 4px;
}
.price_cont dd span:nth-child(2){
	margin-left: 1rem;
}

.main-section .reservation li p {
    margin-bottom: 10px;
}

.main-section .reservation li .image span:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 10px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 0;
	left: 0;
}
.main-section .reservation li .image + p {
	margin-top: 10px;
}
.main-section .reservation li:nth-child(2){
	float: right;
}
.maincont .main-section .reservation li .btnarea{
	overflow: hidden;
	padding-top: 20px;
	position: relative;    
	list-style: none;
    padding-left: 0;
}
.maincont .main-section .reservation li .btnarea li {
	width: 100%;
	float: left;
}
.maincont .main-section .reservation li .btnarea li + li {
	float: right;
}
.maincont .main-section .reservation li .btnarea .btn-white {
	width: 100%;
	font-size: 14px;
	padding: 12px 20px;
}

.balloon {
	position: absolute; /* 三角の位置を固定するために設定 */
	right: 5px;
	top: 0;
	width: auto; /* 幅 */
	margin: 0 auto 40px; /* 上 左右 下のマージン */
	padding: 0 5px; /* ふきだし内の余白 */
	background: #37b0a1; /* 背景色 */
	text-align: center; /* テキストの揃え */
	font-weight: bold;
	color: #fff;
	z-index: 40;
}
.balloon::after {
	content: '';
	border: 7px solid transparent;
	border-top-color: #37b0a1;
	position: absolute;
	bottom: -14px;
	left: 50%;
	margin-left: -7px;
}
.jump {
	animation: 0.5s jump infinite alternate linear;
}
@keyframes jump {
	to { transform: transtateY(0); }
	from { transform: translateY(4px); }
}

.note {
	margin-top: 85px;
}
.note li {
	text-indent: -15px;
	padding-left: 15px;
}

.btnlink {
	width:12%;
	position:fixed;
	top:410px;
	right:0;
	z-index:45;
	background: #6dc3fa;
	padding:10px 0 10px 15px;
    text-align: left;
    border-top-left-radius: 15px 15px;
	border-bottom-left-radius: 15px 15px;
}
.btnlink p {
    margin: 0 3px 0 0;
    line-height: 1.3;
}
.btnlink p a {
	font-size:16px;
	font-weight:bold;
	color:#ffdc00;
    border: #ffdc00;
	font-feature-settings: "palt";
}
.btnlink p a:hover {
	text-decoration:none;
    color: #ffffff;
    border-bottom: 1px solid #ffffff;
}
.btnlink p span {
	font-weight: normal;
	font-size: 14px;
	color: #ffffff;
}

/* @media screen and (max-width:980px) {
		section{
		width: 90%;
		margin: 0 auto;
	}
	.gift ul li dt span{
		font-size: 3.1vw;
	}
}
 */
@media screen and (max-width:915px) {
	.main-section .deals .charge th{
		font-size: 1.5vw;
	}
	.main-section .deals .charge .tabs{
		margin-top: 3px;
		margin-bottom: 3px;
	}
	.main-section .deals .charge .h_price{
		font-size: 2.3vw;
	}
}

@media screen and (max-width:700px) {
	.mod-main .lead { font-size: 14px;
	        font-weight: 500;
    }
	.gift { margin-top: 60px;}
	.gift .pc { display: none;}

	.gift h2 {
		/*font-size: 35px;*/
		font-size: 8.7vw;
	}
	.gift ul { margin-top: 20px;}
	.gift ul li {
		width: 100%;
		display: block;
		margin-left: 0;
	}
	.gift ul.active li:nth-child(2),.gift ul.active li:nth-child(3){
		margin-top: 20px;
	}
	/* 	.gift ul li dt {
		border-radius: 50%;
		padding: 30%;
		width: 50%;
		margin: 0 auto;
	} */
	.gift ul li dt span {
		font-size: 15px;
		top: 31%;
	}
	.gift ul li dd {
		font-size: 14px;
		margin-top: 10px;
		margin-bottom:20px;
	}
	.main-section .thanks_period{
		margin-top: 40px;
	}
	.main-section .thanks_period dt{
		font-size: 14px;
		float: none;
		margin: 15px 0 0;
	}

	.price_cont { height: initial!important;}

	/* .price_cont dt {
		width: 100%;
		padding: 0 8px;
		text-align: center;
		float: none;
		clear: left;
	}
	.price_cont dd {
		padding-left: 0;
		margin-bottom: 1rem;
	} */

	.main-section .thanks_period dd {
		font-size: 16px;
		display: block;
		margin:10px 0 0;
		padding-left: 0;
	}

	.main-section .deals .left {
		width: auto;
		float: none;
		margin-top: 20px;
	}
	.main-section .deals .title{
		font-size: 16px;
		text-align: left;
		padding-left: 40px;
	}
	.main-section .deals .title:before{
		width: 30px;
		height: 30px;
		top: -3px;
	}
	.main-section .deals .target{
		font-size: 16px;
	}
	.main-section .deals .target span{
		font-size: 14px;
	}
	.main-section .deals .right {
		width: 100%;
		float: none;
		margin-top: 20px;
	}
	.main-section .deals .charge th { font-size: 3.4vw;}
	.main-section .deals .charge .hotels { width: 28%;}
	.main-section .deals .charge .days01 { width: 28%;}
	.main-section .deals .charge .days02 { padding-right: 10px;}
	.main-section .deals .charge .lodging { font-size: 4vw;}
	.main-section .deals .charge .h_price { font-size: 4.5vw;}
	.main-section .status { margin-top: 40px;}

	.main-section .reservation h3 a,
	.main-section .reservation h4 a {
		font-size: 20px;
	}

	.main-section .reservation ul { width: 100%;}

	.main-section .reservation li {
		width: 100%;
		float: none;
	}
	.main-section .reservation li:nth-child(2) {
		float: none;
		margin-top: 40px;
	}

	.main-section .reservation li .image span { left: -15px;}

	.main-section .reservation .btnarea li:nth-child(2) {
		float: none;
		margin-top: 0;
	}

	.main-section .ribbon_line { margin-top: 50px;}
	.maincont .main-section .btnarea .btn-white { padding: 15px 10px !important;}
	.note { margin-top: 40px;}

	.main-section .btnlink {
		width: 95%;
		min-width: 300px;
		z-index: inherit;
		text-align: center;
		margin: -1.5rem auto 2rem;
		padding: 10px;
		position: inherit;
		border: 1px solid #008fa3;
		border-radius: 10px 10px;
		background: #fff;
	}
	.main-section .btnlink p { margin-bottom: 0;}
	.main-section .btnlink p a {
		font-size:14px;
		font-weight: bold;
		line-height: 1.3;
		color: #008fa3;
	}
	.btnlink p span {
		border-bottom: 2px solid #ffdc00;
		font-weight: normal;
		font-size: 14px;
		color:#008fa3;
	}
}/*max-width:700px*/

@media screen and (max-width:320px) {
	.area-editable .btn-white:after { right: 3px;}
}/*max-width:320px*/


/*---------------
	TAB BUTTON
-----------------*/

.nav_button {
	max-width: 980px;
    margin: 0 auto;
}
.tab-button {
	font-size: 0;
	text-align: center;
}
.tab-button li {
	display: inline-block;
	/* width: 70%; */
	vertical-align: top;
	font-size: 20px;
	/* border-bottom: 6px solid #d3d3d3; */
	padding: 2rem 0 5px;
	text-align: center;
	transition: all .25s ease-in-out;
	font-feature-settings: "palt";
}
.tab-button li p {
	display: inline-block;
	background:#37b0a1;
	color: #ffffff;
}
.tab-button li a {
	display: inline;
	width: 100%;
	background:#fff;
	border: solid 3px #37b0a1 !important;
	color: #37b0a1;
	text-decoration: none;
	/* border-bottom: none; */
}

.tab-button li a:hover {
	color: #ffffff;
	background:#37b0a1;
	/* border-bottom: 6px solid #37b0a1; */
}

.tab-button li a:hover { border-bottom: none;}

@media screen and (max-width:700px) {
	.tab-button li {
		font-size: 18px;
		padding: 1rem 0 0;
	}
}
/*-- /TAB BUTTON --*/

/* anniv2025 */
.anniv2025 .reservation ul li .price_cont dt {
	width: 12rem !important;
	float: unset;
}
.anniv2025 .reservation ul li .price_cont dd { padding-left: 0 !important;}
.anniv2025.main-section .thanks_period dd span.visitor { display: inline-block;}
.sp { display: none;}

@media screen and (max-width:700px) {
	.sp { display: block;}
}
/* /anniv2025 */
.main-section {
	.thanks_period{
		background:#fff;
		padding:40px;
		margin-bottom:100px;
		@media screen and (max-width:700px) {
			padding:30px 20px;
		}
		dt,dd{
			font-size:16px;
		}
	}

}

.main-section .reservation h4 a{
  border-bottom:none;
  text-decoration:underline;
}

.main-section .status span{
	font-size:20px
}