@charset "utf-8";
/* CSS Document */
.mainArea {
		background-image: url("../img/bg_01_220106.jpg");
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: 100%;
		background-color: #007a53;
}
.mainArea > .cpnBtn {
	width: 28.8vw;
	margin: 3vw 0 0 63vw;
}
.mainArea > .areaInr {
		width: 90.66666666666667vw;
		margin: 0 auto;
		padding-bottom: 16vw;
		/*padding-top: 4vw;*/
}
.mainLeadHdr {
		margin-top: 10vw;
}
.leadTxt01 {
		font-size: 3.7333333333333334vw;
		margin-top: 3.8vw;
		color: #fff;
		line-height: 1.7;
		font-family: 'Noto Sans', sans-serif;
		padding:0 3vw;
}
.mainArea > .areaInr > .fig {
		margin-top: 8.3vw;
}
.leadTxt02 {
		font-size: 3.7333333333333334vw;
		margin-top: 5.8vw;
		color: #fff;
		line-height: 1.7;
		font-family: 'Noto Sans', sans-serif;
		padding: 0 3vw;
}
.btmIcon {
		margin-top: 7.333333333333333vw;
}
.contNavi ul {
		width: 94.66666666666667vw;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		text-align: center;
}
.contNavi li {
		width: 29.333333333333332vw;
		margin-right: 3.3333333333333335vw;
}
.contNavi li:nth-child(3), .contNavi li:nth-child(5) {
		margin-right: 0;
}
.contNavi li:nth-child(4), .contNavi li:nth-child(5) {
		margin-top: 2.6666666666666665vw;
}
.contHead{
padding-top: 9.666666666666666vw;
}

.flowBox {
	margin-top: 6.667vw;
}
.specialMovieAra {
		margin: 0 auto;
		width: 90.66666666666667vw;
}
.plus1day {
	background-image: url("../img/bg_plus1day.jpg");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 9.066666666666666vw 4.666666666666667vw 7.533333333333334vw 4.666666666666667vw;
}
.plus1day__txt {
		font-size: 3.7333333333333334vw;
		padding-top: 7.733333333333333vw;
		color: #fff;
		font-family: 'Noto Sans', sans-serif;
}
.plus1day__txt-1 {
	padding-top: 7.733333333333333vw;
	font-size: 3.8vw;
}
.plus1day__txt-2 {
	padding-top: 1.933vw;
	font-size: 3.3vw;
}
.plus1day__txt-3 {
	padding-top: 2.433vw;
	font-size: 3.3vw;
}
.movieArea02 {
		margin: 0 auto;
		width: 90.66666666666667vw;
		padding-bottom: 8vw;
}
.accessArea {
	width: 100%;
	padding: 0 4.666666666666667vw;
	background-color: #f3f5f8;
	text-align: center;
	padding-bottom: 13.267vw;
}
.accessArea > .areaInr > .ttl {
		padding-top: 10.4vw;
}
.accessArea > .areaInr > .lead {
	font-size: 3.5vw;
	padding-top: 1.5vw;
	font-family: 'Noto Sans', sans-serif;
}
.accessArea > .areaInr > .fig {
	padding: 8vw 11.1vw;
}
.haimurubushiArea {
		background-color: #000;
		width: 100%;
		padding: 7vw 4.666666666666667vw;
		padding-bottom: 13.333333333333334vw;
}
.haimurubushiArea h3.ttl {
	padding: 0 17vw;
}
.haimurubushiArea > .areaInr > .ttl {
		padding-top: 10.666666666666666vw 17vw;
}
.haimurubushiArea > .areaInr > .lead {
	padding: 8.666666666666666vw 2.3vw;
	color: #fff;
	font-size: 3.7333333333333334vw;
	font-family: 'Noto Sans', sans-serif;
}
.haimurubushiArea > .areaInr > .fig {
		padding-top: 7.2vw;
}
/* onePointArea */
.onePointArea {
		padding: 10.4vw 5.333333333333333vw 0 5.333333333333333vw;
}
.onePointArea.top .subttl {
		margin-top: 10.133333333333333vw;
}
.onePointArea .contInr {
		margin: 0;
		padding: 0;
}
.onePointArea .txt {
		margin-top: 15px;
		font-size: 14px;
}
.onePointArea.fare-area {
		padding-top: 10.666666666666666vw;
}
.onePointArea .caseBox .col {
		background: #f9f3f1;
		position: relative;
		text-align: center;
		margin-top: 15px;
}
/*
.onePointArea .caseBox .col:first-of-type {
		background: #ebf0f6;
}
*/
.onePointArea .caseBox .col .caseTtl {
		background: #cc0000;
		color: #fff;
		padding: 5px 10px;
		font-size: 14px;
}
.onePointArea .caseBox .col:first-of-type .caseTtl {
		background: #0650a0;
}
.onePointArea .caseBox .caseInr {
		padding: 15px 10px;
}
.onePointArea .caseBox .col.col01 .caseInr{background: #ebf0f6;}
.onePointArea .caseBox .col.col02 .caseInr{background: #f9f3f1;}

.onePointArea .caseBox .col + .col {
		background: url(../img/icon_arr_01.png) no-repeat center top;
		padding-top: 30px;
		background-size: 22.5px;
}
.onePointArea .caseBox .case {
		font-size: 13px;
}
.onePointArea .caseBox .price {
		font-size: 21px;
		font-weight: bold;
		margin-top: 10px;
}
.bg_arr02 {
		background: url(../img/icon_arr_02.png) no-repeat center top;
		background-size: contain;
		padding-top: 35px;
		margin-top: 30px;
}
.onePointArea.btm {
		padding-bottom: 50px;
}
.onePointArea.btm .box {
		border: 1px solid #ccc;
		border-top: none;
		padding: 25px 0;
}
.onePointArea.btm .box .txt {
		padding: 0 15px;
}
/* mapArea */
.mapArea {
	background: url(../img/bg_plus1day.jpg) center;
	background-size: cover;
	color: #fff;
	padding: 0 5.333333333333333vw 16.8vw;
}
.mapArea .lead {
	font-size: 3.633vw;
	text-align: center;
	margin-bottom: 6vw;
}
/* serviceArea */
.serviceArea {
		padding:10.666666666666666vw 5.333333333333333vw 0 5.333333333333333vw;
}
.serviceBoxWrap {
}
.serviceBoxWrap .serviceBox {
		padding-bottom: 30px;
}
.serviceBoxWrap .serviceBox .ttl {
		color: #cc0000;
		font-weight: bold;
		margin-top: 20px;
}
.serviceBoxWrap .serviceBox .txt p {
		font-size: 14px;
}
/* cmpArea */
.cmpArea .contInr {
		padding-top: 20px;
}
.cmpArea .qBox {
		margin-top: 30px;
		border: 2px solid #0650a0;
		border-radius: 8px;
		padding: 25px 15px 30px;
}
.movieArea {
		padding: 0 0 15.625% 0;
}
.movieArea .movieTtl {
		font-size: 14px;
		font-weight: 700;
		display: block;
		text-align: center;
		margin-top: 5px;
}
.section-item {
		padding: 0 15px;
}
.caseResult {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		padding-top: 20px;
}
.caseResult em {
		color: #cc0000;
		font-size: 23px;
		font-weight: bold;
}
.caseResult em > span {
		font-size: 16px;
}

.reservationLimitBox{
padding:13.333333333333334vw 5.333333333333333vw 0 5.333333333333333vw;
}

.reservationLimitBox .reservationLimitWrap{
margin-left: 0;
margin-right: 0;
margin-top: 8vw;
}



.presentBox .presentBoxInr{
overflow: hidden;
padding-top:4vw ;
}
.presentBox .presentBoxInr .boxItem{
width: 42.666666666666664vw;
margin-top: 4vw;
float: left;
}
.presentBox .presentBoxInr .boxItem:nth-child(2n){
float: right;
}

.presentBox .presentBoxInr .boxItem .ttlTxt{
font-size: 2.8vw;
letter-spacing: -0.04em;
}
.presentBox .presentBoxInr .boxItem .ttlTxt .subTxt{
font-size:2.2666666666666666vw;
}
.presentBox .presentBoxInr .boxItem .ttlTxt .num{
color:#b93838;
font-weight: bold;
}




.pIcon{
width: 10.8vw;
margin: 0 auto;
margin-top: 5.333333333333333vw;
}
.cakePic{
margin-top: 5.333333333333333vw;
}

.btmCpnBox > .subttl{
font-size: 4.266666666666667vw;
padding-top: 10.666666666666666vw;
text-align: center;
font-weight: bold;
}
.btmCpnBox > .subttl > span{
font-size: 3.7333333333333334vw;
}

.btmCpnBox .qBox{
margin:10.666666666666666vw 5.333333333333333vw 0 5.333333333333333vw;
padding: 4vw;
border-color:#b93838; 
}

.mainBtn{padding: 0 4.6875%;}

.mainBtn a{
	display: block;
	background: #fff;
	border-radius: 50px;
	width:100%;
	height: 40px;
	line-height: 40px;
	font-size: 18px;
	margin: 0 auto;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.mainBtn a::before{
    right: 14px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.mainBtn a:hover{
	text-decoration: none;
}
.linkBnr{padding: 0 4.6875%;}

.arrow{
    position: relative;
    display: inline-block;
    color: #333;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.shurijo-ouen{margin:40px 0;}
.shurijo-ouen > .inr > .ttl {
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	font-weight: 500;
	margin: 0 0 20px 0;
	text-align: center;
}

/* present */
.cmpMv {
	margin-bottom: 7.8vw;
	position: relative;
}
.cmpMv .btn_campaign_mv {
	position: absolute;
	bottom: 4.7vw;
	width: 70vw;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
.presentBox {
	padding: 7vw 5.333333333333333vw 0 5.333333333333333vw;
}
.presentBox .itemPic{
	margin-top: 0;
	}
.presentBoxWrap .inrTtl {
	text-align: center;
	font-size: 4.3vw;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	line-height: 1.65;
}
.presentBoxWrap .inrTtl > span {
	color: #b93838;
	font-size: 6.3vw;
}

.presentBoxWrap .inrTtl > span.bigCap {
	font-size: 5.3vw !important;
}

.presentBox .boxItem .hotelname {
	font-family: "Noto Serif JP", serif;
	font-size: 4.9vw;
	letter-spacing: -0.07rem;
	padding-top: 1vw;
}
.presentBox .boxItem .hotelname::after {
	content: "";
	width: 90px;
	border-bottom: solid #333 1px;
	display: block;
	margin: 0 auto;
	margin-top: 14px;
}
.presentBox .boxItem .prize {
	font-size: 3.5vw;
	padding-top: 3vw;
	font-family: "Noto Sans", sans-serif;
	font-weight: 500;
}
.presentBox .boxItem .pairs {
	color: #cc0000;
	font-size: 4vw;
	padding-top: 3vw;
	padding-bottom: 6vw;
}
.presentBox .ttlTxt {
	text-align: center;
	padding-top: 3vw;
}
.presentBox .icon_flower img {
	width: 12vw;
}

.distributed-trip-wrap{
padding: 40px 0 50px 0;
}
.distributed-trip-wrap > .wrap-inr{
padding: 10px;
background-color: #fff;
display: flex;
align-items: center;
color: #000;
font-size: 12px;
}
.trip-icon{
width: 100px;
flex-shrink: 0;
margin-right: 5px;
}
/* 210622 */
.routeUnit.JS_fare_def,
.routeUnit.JS_fare_rev{
	position: relative;
}
.fareCases .routeUnit dl .JS_link dd > img{
	position: absolute;
	top: 45%;
	right: 8px;
	width: 9px;
}