@charset "utf-8";
/* CSS Document */
.mainAreaWrap {
		background-image: url("../img/main_bg_220106.jpg");
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
		background-color: #000;
		color: #fff;
		padding-bottom: 12.5vw;
    position: relative;
}
.mainAreaWrap > .leadBox {
		padding: 0 4.6875%;
}
.mainAreaWrap > .leadBox .leaTxt01 {
		font-size: 4.375vw;
		padding-top: 9.375vw;
}
.mainAreaWrap > .leadBox .leaTxt02 {
		font-size: 4.375vw;
}
.mainAreaWrap > .leadBox > .hosino_logo {
		margin: 0 auto;
		width: 30.15625vw;
		margin-top: 15vw;
}
.mvArea {
		position: relative;
}
.mainAreaWrap .cpnBtn {
		width: 28.8vw;
		position: absolute;
		top: 86vw;
		right: 3vw
}

.ikouze_btn{
	padding: 7% 4.6875%;
}

.leadBox {
		background: #000;
		color: #fff;
}
.leadBox > .contInr {
		padding: 30px 10px 40px;
}
.leadBox .txt {
		font-size: 14px;
}
.leadBox .fig {
		text-align: center;
		margin: 30px auto;
}
.leadBox .fig > img {
		width: 84.5%;
}
.logoBox-01 {
		margin-top: 35px;
		text-align: center;
		overflow: hidden;
}
.logoBox-01 .day_logo, .logoBox-01 .hosino_logo {
		text-align: center;
		width: 50%;
		float: left;
}
.logoBox-01 .day_logo img {
		width: 48.333%;
}
.logoBox-01 .hosino_logo {
		padding-top: 4%;
}
.logoBox-01 .hosino_logo img {
		width: 64.333%;
}
/* planArea */
.flowList {
		font-size: 0;
}
.flowList > li.hdg1 {
		background: url(../img/bg_flowhdg_01.png) no-repeat bottom 30.1948% left 0;
		background-size: 28.59%;
}
.flowList > li.hdg2 {
		background: url(../img/bg_flowhdg_02.png) no-repeat bottom 13.5476% left 0;
		background-size: contain;
}
.flowList > li.hdg3 {
		background: url(../img/bg_flowhdg_03.png) no-repeat bottom 7.733% left 0;
		background-size: 23.125%;
}
.plus1day {
		background: url(../img/bg_plus1day.jpg) no-repeat;
		background-size: cover;
		color: #fff;
		padding-top: 35px;
}
.plus1day .contInr {
		padding-bottom: 30px;
}
.plus1day .txtBox {
		margin-top: 30px;
		font-size: 14px;
}
.plus1day .txtBox .ttl {
		font-weight: 700;
}
/* accessArea */
.accessArea {
		padding: 40px 0 55px;
		background: #f3f5f8;
}
.accessArea .lead {
		margin-top: 15px;
		font-size: 14px;
}
.accessArea .fig {
		margin-top: 30px;
}
/* hoshinoArea */
.hoshinoArea {
		background: #000;
		padding: 50px 0;
		color: #fff;
}
.hoshinoArea .lead {
		margin-top: 30px;
		font-size: 14px;
}
.hoshinoArea .fig {
		margin-top: 30px;
}
.hoshinoArea .btnBK {
		border: 1px solid #fff;
		background: #000;
}
/* onePointArea */
.onePointArea {
    padding: 10.4vw 5.333333333333333vw 0 5.333333333333333vw;
}
.onePointArea .contInr {
    margin: 0;
    padding: 0;
}
.onePointArea.top .subttl {
    margin-top: 10.133333333333333vw;
}
.onePointArea .txt {
    margin-top: 15px;
    font-size: 14px;
}
.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;
}
.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;
}
.onePointArea.fare-area {
    padding-top: 10.666666666666666vw;
}
.reservationLimitBox {
    padding: 13.333333333333334vw 5.333333333333333vw 0 5.333333333333333vw;
}
.reservationLimitBox .reservationLimitWrap {
    margin-left: 0;
    margin-right: 0;
    margin-top: 8vw;
}


/* mapArea */
.mapArea {
    background: url(../img/bg_plus1day.jpg) center;
    background-size: cover;
    color: #fff;
    padding: 35px 0 38px;
}
.mapArea .lead {
font-size: 14px;
}
/* serviceArea */
.serviceArea {
    padding: 10.666666666666666vw 5.333333333333333vw 0 5.333333333333333vw;
}
/*
.serviceBoxWrap {
		margin-top: 10px;
}
*/
.serviceBoxWrap .serviceBox {
    padding-bottom: 30px;
}
.serviceBoxWrap .serviceBox .ttl {
    color: #cc0000;
    font-weight: bold;
    margin-top: 20px;
}
.serviceBoxWrap .serviceBox .txt p {
    font-size: 14px;
}
/*
.serviceBoxWrap .serviceBox:nth-child(odd) .image {
		text-align: right;
		margin-right: 5px;
}
.serviceBoxWrap .serviceBox:nth-child(even) .image {
		text-align: left;
		margin-left: 5px;
}
*/
/* 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;
}

.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;
}


.mutualLink{
margin: 13.333333333333334vw 5.333333333333333vw 0 5.333333333333333vw
}

/* 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:35px 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;
}
.campWrap{
position:relative;
}
.ancRisonare{
display:block;
width:90vw;
margin:0 auto;
position:absolute;
left:50%;
bottom:30px;
transform:translateX(-50%);
}
/* 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;
}