
/********************************
*** index から移動
*********************************/
@charset "utf-8";

/* slick */
.dpBoxWrap .slidControl{width:950px;text-align:center;transform:translateX(0);background-color:transparent;margin:0 auto;padding:0;line-height:0;}
.dpBoxWrap .slidControl .playControl{display:none;}
.dpBoxWrap .slidControl .slick-dots li{margin:20px 8px 0;}
.dpBoxWrap .slidControl .slick-dots li button::before{border:2px solid #cc0000;width:12px;height:12px;}
.dpBoxWrap .slidControl .slick-dots li.slick-active button::before{background-color:#cc0000;}
.dpBoxWrap .slick-dots > li:first-child:last-child{display:none;}
.dpBoxWrap .slick-dotted.slick-slider{margin:0 auto;}
.dpBoxWrap .slick-slider .slick-prev, .dpBoxWrap .slick-slider .slick-next{height:40px;width:40px;z-index:5;}
.dpBoxWrap .slick-slider .slick-next{right:-40px;padding:8px 5px 8px 15px;}
.dpBoxWrap .slick-slider .slick-prev{left:-40px;padding:8px 15px 8px 5px;}
.dpBoxWrap .slick-disabled{cursor:auto;}
@media (max-width:739px){
    .dpBoxWrap .slidControl{width:100%;}
    .dpBoxWrap .slidControl .slick-dots li{margin:20px 5px 0;}
    .dpBoxWrap .slick-slider .slick-prev, .dpBoxWrap .slick-slider .slick-next{padding:0;width:20px;}
    .dpBoxWrap .slick-slider .slick-next{right:-25px;}
    .dpBoxWrap .slick-slider .slick-prev{left:-25px;}
}

/* dpBox */
.dpBoxWrap{display:block;width:950px;/*margin-left:-20px;*/}
.dpBoxWrap .slick-list{margin-left:-20px;}
/* .dpBoxWrap .dpBox{border:1px solid #dcdcdc;cursor:auto;padding:20px;margin-left:20px;width:465px;} */
.dpBoxWrap .dpBox .dpHead{margin-top:20px;}
.dpBoxWrap .dpBox .dpHead .heading{font-weight:bold;}
.dpBoxWrap .dpBox .dpInr{border-top:1px solid #dcdcdc;padding-top:16px;margin-top:8px;}
.dpBoxWrap .dpBox .dpInr .priceTxt{color:#cc0000;font-size:2rem;font-weight:bold;margin-top:8px;}
.dpBoxWrap .dpBox .dpInr .priceTxt > span{font-size:1.4rem;}
.dpBoxWrap .dpBox .dpInr .priceTxt .class{color:#333;}
.dpBoxWrap .dpBox .dpInr .noteList{margin-top:16px;}
.dpBoxWrap .dpBox .dpInr .noteList > li{font-size:1.2rem;}
.dpBoxWrap .dpBox .dpInr .btnBox{display:block;margin-top:10px;}
@media (min-width:740px){
    .dpBoxWrap .slick-list .slick-track{min-width:100%;}
}
@media (max-width:739px){
    .dpBoxWrap{margin:0;width:100%;}
    .dpBoxWrap .dpBox{margin:0;width:100%;}
    .dpBoxWrap .dpBox .dpInr .btnBox{margin-top:16px;}
    .dpBoxWrap .slick-list{margin:0 auto;}
    /* .dpBoxWrap.js-slick{margin:0 auto;width:calc(100% - 35px);} */
    /*.dpBoxWrap .dpBox .js-eqHeightCols-item, .dpBoxWrap .dpBox .js-eqHeightCols-item-2, .dpBoxWrap .dpBox .js-eqHeightCols-item-3{height:auto !important;}*/
}

/* dp slick オーバーライド */
.dpBoxWrap.dp-slick {
    margin: 0 auto;
    width: calc(100% - 24px);
}
.dpBoxWrap.dp-slick .dpBox {
    border: 1px solid #dcdcdc;
    cursor: auto;
    margin: 0px;
    padding: 10px;
}
@media (min-width: 740px) {
    .dpBoxWrap.dp-slick .dpBox {
        padding: 20px;
        margin-left: 20px;
        /* width: 465px; */
    }
    .dpBoxWrap.dp-slick.slick-slider .slick-prev {
        left: -40px;
        padding: 8px 15px 8px 5px;
    }
    .dpBoxWrap.dp-slick.slick-slider .slick-next {
        right: -40px;
        padding: 8px 5px 8px 15px;
    }
    .dpBoxWrap.dp-slick.slick-slider .slick-prev,
    .dpBoxWrap.dp-slick.slick-slider .slick-next {
        height: 80px;
        width: 40px;
        z-index: 5;
    }
}

.new {
    color: #F00;
}
iframe#bedore-webagent-inner{
    display: block !important;
}

/* :root {
    --main-bg-color: #FFFFFF;
    --primary-color: #0088ff;
    --secondary-color: #eb6b81; 
    --accent-color:#fceb38;
    --red-color:#cc0000;
    --S-grade-color:#caaa49;
    --L-grade-color:#327bf3;;
    --A-grade-color:#f79155;
    --B-grade-color:#efcf02;
    --C-grade-color:#6fddad;
} */

/* ---コンテンツ幅 フル--- */
.contentsInr {width: auto;padding: 0px;}
/* ---コンテンツ幅 950px--- */
.contentsInr .contentsUnit {padding: 0 10px;}

.mgt-L{margin-top: 32px;}
.mgt-M{margin-top: 24px;}
.mgt-S{margin-top: 12px;}

.pdl-s{padding-left: 8px;}
@media all and (min-width:740px) {
    .contentsInr .contentsUnit {width: 950px;padding: 0px;margin: 0 auto;}
    .mgt-L{margin-top: 56px;}
    .mgt-M{margin-top: 32px;}
    .mgt-S{margin-top: 16px;}
}

/* 背景色バリエーション */
.ctm_contentsFull.wrap01 {background-color: #0088ff;}

/* MVまわり */
@media all and (min-width:740px) {
    #MV .ctm_contentsFull {padding: 30px 0;}
}
/* 見出し */
.ctm_pageTtl.hc01{
    background-color: #0088ff;
    color: #fff;
}
.ctm_pageTtl.hc01 .ttlLv2 .heading small{
    font-size: 0.6em;
}
.point__head{
    background-color: #0088ff;
    padding: 8px;
}
.point__head .ctm_pageTtl.hc02{text-align: left;}
.point__head .ctm_pageTtl.hc02 .ttlLv1{
    margin: 0;
    padding: 0;
}
.point__head .ctm_pageTtl.hc02 .ttlLv1 .heading{
    display: flex;
}
.point__head .point__head--txt{
    font-weight: bold;
    color: #fff;
    line-height: 1.3;
    font-size: 2.4rem;
}
span.point__head--img{
    padding-right: 8px;
}
.ctm_pageTtl.hc03{
    background-color:#b60f00; color:#fff;
}
.ctm_pageTtl.hc03 .ttlLv2 .heading small{
    font-size: 0.6em;
}
.point__head .ctm_pageTtl.hc02{
    text-align: left;
}
.point__head .ctm_pageTtl.hc02 .ttlLv1{
    margin: 0;
    padding: 0;
}
.point__head .ctm_pageTtl.hc02 .ttlLv1 .heading{
    display: flex;
}
.point__head .point__head--txt{
    font-weight: bold;
    color: #fff;
    line-height: 1.3;
    font-size: 2.4rem;
}
span.point__head--img{
    padding-right: 8px;
}

@media all and (min-width:740px) {
    .point__head {
        padding: 16px;
    }
    .point__head .ctm_pageTtl.hc02 .ttlLv1 {
        margin: 0;
        padding: 0;
    }
    .point__head .point__head--txt{
        font-size: 2.8rem;
    }
    .point__head .ctm_pageTtl.hc02 .ttlLv1 .heading {
        align-items: flex-start;
    }
    span.point__head--img {
        padding-right: 16px;
        width: 150px;
        display: flex;
    }
}

/* ポイントアンカー */
.point--anc__block{
    background-color: #E5F9FA;
    border-radius: 10px;
    padding: 16px;
}
.point--anc__block .ttlImgLv1 {
    margin-bottom: 20px;
    padding-top: 0px;
}
.point--anc__list{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.point--anc__list .image {
    width: 110px !important;
    margin-bottom: 4px !important;
}
.point--anc__txt {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.point--anc__txt .text {width: 88% !important;}
.point--anc__txt .textlink {width: auto !important;}
@media all and (min-width:740px) {
    .point--anc__block{
        border-radius: 20px;
        padding: 32px;
    }
    .point--anc__block .ttlImgLv1 {
        padding-top: 0px;
    }
    .point--anc__list{
        flex-direction: row;
        align-items: flex-start;
    }
    .point--anc__list .image {
        width: 160px !important;
        margin-right: 4px !important;
        margin-bottom: 0px !important;
    }
    .point--anc__txt .text {
        width: 92% !important;
    }
}

.anc__txt01 {font-weight: bold;}
/* .anc__txt01 .txtLink{
color: #cc0000 !important;
} */
.recommend__box .ttlLv3 {padding-top: 10px;}
.recommend__box--dep {
    background-color: #efedc9;
    border-radius: 4px;
    padding: 8px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 8px;
}
/* .recommend__box--head .ttlLv3 .heading {
font-size: 2.0rem;
} */
.sample-box{margin-top: 16px;}
.sample-box .ctm_pageTtl.hc03 .ttlLv2 .heading{font-size: 1.8rem;}
.sample-box .ctm_pageTtl.hc03 .ttlLv2{margin-top: 0;}
.grade-icon{
    display: inline-block;
    font-size: 1.2rem;
    padding: 2px 6px;
}
/* .icon_colorS {background-color: var(--S-grade-color); vertical-align: top;}
.icon_colorL {background-color: var(--L-grade-color); vertical-align: top;}
.icon_colorA {background-color: var(--A-grade-color); vertical-align: top;}
.icon_colorB {background-color: var(--B-grade-color); vertical-align: top;}
.icon_colorC {background-color: var(--C-grade-color); vertical-align: top;} */
.icon_air-economy{
    background-color: #87dbb2;
    text-align: center;
    font-weight: bold;
    padding: 2px;
    margin: 4px auto;
}
.stay-box {
    border: 1px solid #ccc;
    padding: 10px;
}

/*日付見出し*/
.stay-box02 {
    width: min(700px, 100%);
    margin-left: auto;
    margin-right: auto;
    background-color: #fff6a8;
    padding: 10px;
    border: 5px solid #ef6f23;
}

.hotel-heading {
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: auto !important;
}

.htl__label {
    display: inline-block;
    background-color: #001681;
    padding: 10px;
    color: #fff;
    text-align: center;
    line-height: 9px;
    /* line-height: 23px; */
    position: relative;
    margin-bottom: 6px;
    font-weight: bold;
}
.htl__label::before, .htl__label::after {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    right: -16px;
    /* right: -39px; */
}
.htl__label::before {
    border-width: 15px 0 0 16px;
    /* border-width: 22px 0 0 39px; */
    border-color: transparent transparent transparent #001681;
    top: 0;
}
.htl__label::after {
    border-width: 15px 16px 0 0;
    /* border-width: 22px 39px 0 0; */
    border-color: #001681 transparent transparent transparent;
    bottom: 0;
}
.htl__room{
    border-bottom: 2px solid #0088ff;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: flex-end;
    justify-content: center;
    align-items: flex-end;
}
.htl__room::before {
    content: "＼";
    display: block;
}
.htl__room::after {
    content: "／";
    display: block;
}
.charge-red-box{
    color: #cc0000;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #cc0000;
    padding: 2px;
    text-align: center;
    width: min(240px, 100%);
}
.hotelBox .col {
    position: relative;
    padding-bottom: 20px !important;
}
.hotelBtn {
    position: absolute;
    width: 93%;
    bottom: 10px;
}
.ctm_tableColor_set.table_typeA th {
    background-color: #001681;
    color: #fff;
}
@media all and (min-width:740px) {
    .recommend__box .ttlLv3 {
        padding-top: 10px;
    }
    .recommend__box.ctm_bdrColumn .colWrap .col {
        padding: 24px;
    }
    .recommend__box--txt{
        min-height: 84px;
    }
    .sample-box{
        width: 400px;
        margin: 16px auto 0;
    }
    .sample-box .ctm_pageTtl.hc03 .ttlLv2 .heading{
        font-size: 1.8rem;
    }
    .sample-box .ctm_pageTtl.hc03 .ttlLv2{
        margin-top: 0;
    }
}

/*アンカーボタン*/
.btn_colorO .btn {
    background-color: #C75302;
    font-size: medium;
    font-weight: bolder;
}

/* 出発日テキスト */
.stay-box02 table {
    margin-top: 8px;
}
.stay-box02 table tbody tr td {
    vertical-align: top;
}
.stay-box02 table tbody tr td:first-child {
    table-layout: auto;
    white-space: nowrap;
}
.stay-box02 table tbody tr td:not(:first-child) {
    white-space: normal;
    line-break: loose;
}

/*** 2602 ***********************/
/********************************
*** 背景色
*********************************/
.-bgc-red { background-color: #C00 !important; }

/********************************
*** 文字色
*********************************/
.-fc-white { color: #FFF !important; }

/********************************
*** 余白
*********************************/
.-margin-0 { margin: 0 !important; }
.-mg10 { margin: 10px !important;}
.-padding-0 { padding: 0 !important;}
.-pd10 { padding: 10px !important;}
@media (max-width: 739px) {
    .-mgt5-forSP { margin-top: 5px !important; }
    .-mgt10-forSP { margin-top: 10px !important; }
    .-mgt20-forSP { margin-top: 20px !important; }
    .-mgt30-forSP { margin-top: 30px !important; }
    .-mgt40-forSP { margin-top: 40px !important; }
    .-mgt50-forSP { margin-top: 40px !important; }
    .-mgt60-forSP { margin-top: 60px !important; }
    .-mgt80-forSP { margin-top: 80px !important; }
    .-mgt100-forSP { margin-top: 100px !important; }
    .-mgt120-forSP { margin-top: 120px !important; }
}
@media (min-width: 740px) {
    .-mgt5-forPC { margin-top: 5px !important; }
    .-mgt10-forPC { margin-top: 10px !important; }
    .-mgt20-forPC { margin-top: 20px !important; }
    .-mgt30-forPC { margin-top: 30px !important; }
    .-mgt40-forPC { margin-top: 40px !important; }
    .-mgt50-forPC { margin-top: 40px !important; }
    .-mgt60-forPC { margin-top: 60px !important; }
    .-mgt80-forPC { margin-top: 80px !important; }
    .-mgt100-forPC { margin-top: 100px !important; }
    .-mgt120-forPC { margin-top: 120px !important; }
}

/********************************
*** フォントサイズ
*********************************/
.-fs12 { font-size: 1.2rem !important;}
.-fs14 { font-size: 1.4rem !important;}
.-fs16 { font-size: 1.6rem !important;}
.-fs18 { font-size: 1.8rem !important;}
.-fs20 { font-size: 2.0rem !important;}
.-fs22 { font-size: 2.2rem !important;}
.-fs24 { font-size: 2.4rem !important;}
.-fs26 { font-size: 2.6rem !important;}
.-fs28 { font-size: 2.8rem !important;}
.-fs30 { font-size: 3.0rem !important;}
.-fs32 { font-size: 3.2rem !important;}
.-fs34 { font-size: 3.4rem !important;}
.-fs36 { font-size: 3.6rem !important;}

/********************************
*** ホテルグレード
*********************************/
/* .btn_colorS{display: inline-block; color: #fff; font-size: 1.2rem; padding: 2px 6px; background-color:#caaa49;}
.btn_colorL{display: inline-block; color: #fff; font-size: 1.2rem; padding: 2px 6px; background-color:#327bf3;}
.btn_colorA{display: inline-block; color: #fff; font-size: 1.2rem; padding: 2px 6px; background-color:#f79155;}
.btn_colorB{display: inline-block; color: #fff; font-size: 1.2rem; padding: 2px 6px; background-color:#efcf02;}
.btn_colorC{display: inline-block; color: #fff; font-size: 1.2rem; padding: 2px 6px; background-color:#9b9baa;} */
.grade-icon{display: inline-block; font-size: 1.2rem; padding: 2px 6px;}
.icon_colorS {background-color: #caaa49; vertical-align: top;}
.icon_colorL {background-color: #327bf3; vertical-align: top;}
.icon_colorA {background-color: #f79155; vertical-align: top;}
.icon_colorB {background-color: #efcf02; vertical-align: top;}
.icon_colorC {background-color: #9b9baa; vertical-align: top;}

/********************************
*** テキスト 装飾
*********************************/
/* 001 下線 青色 */
.-text-001 {
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-decoration-style: solid;
    text-decoration-color: #333;
    text-underline-offset: 4px;
}
/* 002 枠 黒色 */
.-text-002 {
    width: fit-content;
    border: 1px solid #333;
    padding: 2px 6px 0px 6px;
    font-size: 1.6rem;
}

/********************************
*** テキストラベル
*********************************/
/* 001 青ラベル 五角形 右トゲ */
.textLabel-001 {
    display: inline-block;
    position: relative;
    background: #001681;
    padding: 5px 24px 5px 8px;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.4;
    vertical-align: top;
    --arrow-size: 20px;
    clip-path: polygon(0 0, calc(100% - var(--arrow-size)) 0, 100% 50%, calc(100% - var(--arrow-size)) 100%, 0 100%);
}

/********************************
*** 見出しタイトル
*********************************/
/* レベル1 */
.ctm_pageTtl.-title-Lv1 {
    background-color: #006a8f;
    color: #FFF;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.ctm_pageTtl.-title-Lv1 .ttlLv1 {
    margin: 0;
    padding: 20px 10px 18px 10px;
    width: min(950px, 100%);
}

/* レベル2 */
.ctm_pageTtl.-title-Lv2 .ttlLv2 {
    margin: 0;
    padding: 15px 10px 13px 10px;
}

/* レベル2 装飾あり 横線 */
.ctm_pageTtl.-title-Lv2.-deco-hLine .ttlLv2 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.ctm_pageTtl.-title-Lv2.-deco-hLine .ttlLv2::before,
.ctm_pageTtl.-title-Lv2.-deco-hLine .ttlLv2::after {
    content: "";
    flex: 1;
    border-bottom: 2px solid #bbb;
}
.ctm_pageTtl.-title-Lv2.-deco-hLine .ttlLv2::before {
    margin-right: 1.2rem;
}
.ctm_pageTtl.-title-Lv2.-deco-hLine .ttlLv2::after {
    margin-left: 1.2rem;
}

/* レベル3 */
.ctm_pageTtl.-title-Lv3 .ttlLv3 {
    margin: 0;
    padding: 10px 6px 8px 6px;
}
.ctm_pageTtl.-title-Lv3 .ttlLv3 .heading {
    padding: 0;
}

/* レベル3 吹き出し */
.ctm_pageTtl.-title-Lv3.-fukidashi-001 {
    position: relative;
    background-color: #c00;
    color: white;
}
.ctm_pageTtl.-title-Lv3.-fukidashi-001::before {
    content: "国内各地から参加可能！";
    display: block;
    position: absolute;
    padding: 4px 4px 4px 8px;
    border: 1px solid #ccc;
    border-bottom: none;
    background-color: #c00;
    top: -36px;
    left: -1px;
    font-size: 1.2rem;
    color: white;
}
.ctm_pageTtl.-title-Lv3.-fukidashi-001::after {
    content: "";
    position: absolute;
    top: -25px;
    left: 20px;
    border-style: solid;
    border-width: 12px 6px 0 6px;
    border-color: #c00 transparent transparent;
    translate: -50% 100%;
}

/********************************
*** その他、汎用スタイル
*********************************/
/* 高さ揃え無効 SPのみ */
@media (max-width: 739px) {
    .eqHeight-unset-forSP [class*="js-eqHeightCols-item"] {
        height: unset !important;
    }
}

/* flexbox */
.-flexbox { display: flex !important; }
.-flexbox::before,
.-flexbox::after { display: none; }
.-flexbox > * { width: fit-content !important; }
.-flexbox.-fb-fd-row { flex-direction: row; }
.-flexbox.-fb-fw-wrap { flex-wrap: wrap; }
.-flexbox.-fb-jc-flexStart { justify-content: flex-start; }
.-flexbox.-fb-ai-flexStart { align-items: flex-start; }
.-flexbox.-fb-gap-8 { gap: 8px; }

/********************************
*** X月に行けるエリアをご紹介！
*********************************/
.column .ai-clm-item {
    border: 1px solid #ccc;
    padding: 10px;
}
.column .ai-clm-item.-selected {
    box-shadow: #006a8f4a 0px 0px 0px 4px;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn {
    display: inline-block;
    width: 100%;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn.-fukidashi {
    position: relative;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn a {
    margin: 0;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn a span {
    font-size: 1.8rem;
    font-weight: bold;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn.-fukidashi::before,
.areaIntro-clm .ai-clm-item .ai-clm-text.-fukidashi::before {
    content: "国内各地から参加可能！";
    display: block;
    position: absolute;
    padding: 4px 4px 4px 8px;   
    border: 1px solid #C00;
    background-color: #FFF;
    top: -47px;
    left: -4px;
    font-size: 1.2rem;
    color: #333;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn.-fukidashi::after,
.areaIntro-clm .ai-clm-item .ai-clm-text.-fukidashi::after {
    content: "";
    position: absolute;
    top: -32px;
    left: 20px;
    border-style: solid;
    border-width: 12px 6px 0 6px;
    border-color: #c00 transparent transparent;
    translate: -50% 100%;
}
.areaIntro-clm .ai-clm-item .ai-clm-linkBtn.-fukidashi.-bold::before,
.areaIntro-clm .ai-clm-item .ai-clm-text.-fukidashi.-bold::before {
    /* 吹き出し、太字 */
    font-weight: bold;
}
.areaIntro-clm .ai-clm-item .ai-clm-text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    background-color: #C00;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: bold;
}
.areaIntro-clm .ai-clm-item .ai-clm-text.-fukidashi {
    position: relative;
}
.areaIntro-clm .ai-clm-item.-selected .ai-clm-linkBtn {
    display: none;
}
.areaIntro-clm .ai-clm-item.-notSelected .ai-clm-text {
    display: none;
}
@media (min-width:740px) {
    .areaIntro-clm .ai-clm-item .ai-clm-linkBtn.-fukidashi::before,
    .areaIntro-clm .ai-clm-item .ai-clm-text.-fukidashi::before {
        left: -15px;
    }
}

/********************************
*** ツアー代金はこちらで検索！
*********************************/
/* #module-wrap #JS_domIntl_searchComponent {
    margin-top: unset;
} */
