/* コンテンツ幅 フル */
.contentsInr{width:auto;padding:0px;}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit{padding:0 10px;}
@media all and (min-width:740px){
.contentsInr .contentsUnit{width:950px;padding:0px;margin:0 auto;}
}

/* ぶち抜き 背景色 */
.ctm_contentsFull{background-color:#111111;padding: 40px 0;}
    .ctm_contentsFull.bg02{background-color: #E1F6FF; padding: 40px 0;}
    .ctm_contentsFull.bg03{background-color: #FEF2F2; padding: 40px 0;}
    .ctm_contentsFull.bg06{background-color: #8dce68;}
    
.heroimgWrap .mainHeading {
    z-index: -1;
}
    
.contentsInr .contentsUnit.bg01 {
    background-color: #ffefec;
    padding: 30px 20px;
}

.contentsInr .contentsUnit .bg04 {
    background-color: #ffefec;
    padding: 30px 20px;
}
.contentsInr .contentsUnit .bg05 {
    background-color: #FFF;
    padding: 30px 20px;
}
    
@media all and (min-width:740px){
    .contentsInr .contentsUnit.bg01 {
        padding: 30px;
    }
    .ctm_contentsFull{padding: 40px 0;}
} 
    
/*「スカイメイトとは？」アコーディオン*/
   .acodBlock_skymate .acodBlock.type_static .heading {
        background-color: #CC0000;
        border-color: #CC0000;
    }
    @media all and (min-width:740px){
    .acodBlock_skymate .acodBlock > .content {
        padding: 15px;
        border: 1px solid #D0D0D0;
    }
    }

/* table */
.ctm_tableColor_set.table_typeA th{background-color:#377c2e;color:#fff;font-weight:normal;} 
.ctm_tableColor_set.table_typeA td{background-color:#fff;}

.table_typeA .choice_table table tr th,
.table_typeA .choice_table table tr td{text-align: center;}  
@media all and (max-width:739px){
.table_typeA .choice_table table tr th{font-size: 1.3rem; padding: 10px 5px;}
.table_typeA .choice_table table tr th:first-child{width: 26%;}
.table_typeA .choice_table table tr th:nth-child(2){width: 37%;}
.table_typeA .choice_table table tr th:nth-child(3){width: 37%;}
.table_typeA .choice_table table tr td{font-size: 1.2rem; padding: 10px 5px;}
}

/* fare */
.fsFaresdom strong{font-size:2.4rem;}
@media all and (min-width:740px){
.fsFaresdom strong{font-size:2.8rem;line-height: 3.8rem;}
}

@media all and (min-width:740px){
.clm_2_2col.colWrap .col {
        width: calc(50% - 30px) !important;
    }
}
.bg_gray.ctm_tableColor_set.table_typeA th {
    background-color :#666666 !important;
}
.table_typeA {
    margin-right: 0!important;
}

.heroimgWrap.typeImg.heroimgWrap-titleImg.slide_1pages .mainHeading {
    top: 51%;
}
.heroimgWrap.heroimgWrap-titleImg .mainHeading .mainTtl img {
    width: 100%;
    }
@media all and (min-width:740px){
.heroimgWrap.typeImg.heroimgWrap-titleImg.slide_1pages .mainHeading {
    top: 50%;
    }
.heroimgWrap.heroimgWrap-titleImg .mainHeading {
    width: calc(950 / 1920 * 100vw);
    }
.heroimgWrap.heroimgWrap-titleImg .mainHeading .mainTtl img {
    width: 100%;
    }
}

/*予約モジュールの上部削除対応*/
#JS_underModule .responsivegrid.mgtL.aem-GridColumn.aem-GridColumn--default--12 .linkbtn.btnBox.aem-GridColumn.aem-GridColumn--default--12,
#JS_underModule .responsivegrid.mgtL.aem-GridColumn.aem-GridColumn--default--12 .textlink.mgtS.aem-GridColumn.aem-GridColumn--default--12,
#JS_underModule .responsivegrid.mgtL.aem-GridColumn.aem-GridColumn--default--12 .text.aem-GridColumn.aem-GridColumn--default--12{
    display: none !important;
}
.flight_ticket_search .ticketModule_unit{margin-top: 0 !important;}
#JS_domModule .domBooking p.temporary-note {display: none !important;}
.mgbL{
 margin-bottom:40px;}
.mgbM{
 margin-bottom:30px;}
.mgbS{
 margin-bottom:20px;}
    
.conditions {
    position: relative;
    border: 2px solid #cc0000;
    padding: 20px;
}
.conditions .ctm_iconTxt_RD {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 80%;
}

/*  FixAnc 240315 */
.fixedAnchror{
    width: 100%;
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 99;
}
@media (min-width: 740px){
    .fixedAnchror{
        width: 950px;
        bottom: 30px;
    }
    .fixedAnchror .imgParts{
        width: 110px;
        height: 110px;
        margin-left: auto;
        margin-right: 0;
    }
}

/*  関連情報 */
.ctm_relColor_set.hc01 > .acodBlock > .heading{
        background-color:#377c2e;
} 
.ctm_relColor_set.hc01 > .acodBlock > .heading > .inr{
        color:#fff;
       font-weight: normal;
} 
.acodBlock{
        margin-top: 5px;
    }

/*  MV下背景 250118 */
.heroimgWrap.typeImg {
    padding: 0 !important;
}


.bg_inr{
    background: url(/content/dam/sites/wwwjalcojp/jp/ja/dom/fare/skymate-fare/img_sites/bg_jalnavi_ttl_pc_250118.png) no-repeat center center / contain;
    height: 277px;
    position: relative;
}
    .Ttl_inr_01 {
        width: 779px;
        position: absolute;
        top: -6%;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .Inr_bg_pink_01 {
        background-color: #ffdfe4;
        height: 115px;
        border-radius: 6px;
        position: relative;
    }
    .Inr_bg_pink_02 {
        background-color: #ffdfe4;
        height: 115px;
        border-radius: 6px;
        position: relative;
    }

    .inr_navi_01 {
        width: 250px;
        position: absolute;
        top: -12%;
        left: 50%;
        transform: translateX(-50%);
    }
    .inr_navi_02 {
        width: 337px;
        position: absolute;
        top: -12%;
        left: 50%;
        transform: translateX(-50%);
    }
    .pdt105 {
        padding: 105px 0 0;
    }

    .Btn_inr_01, .Btn_inr_02 {
        padding: 70px 0 0;
    }
    .txt_jalcard {
        width: 347px;
        position: absolute;
        top: 90%;
        left: 50%;
        transform: translateX(-50%);
    }

    /*  MV下背景 250118 */
@media all and (max-width:740px){
    .heroimgWrap.heroimgWrap-titleImg .mainHeading .mainTtl img {
        width: 100% !important;
    }
    .heroimgWrap.typeImg {
        padding: 0 !important;
    }
    .bg_inr{
    background: url(/content/dam/sites/wwwjalcojp/jp/ja/dom/fare/skymate-fare/img_sites/bg_jalnavi_ttl_sp_250118.png) no-repeat center center / contain;
    height: 121.2vw;
    position: relative;
    }
    .Ttl_inr_01 {
        width: 80.667vw;
        position: absolute;
        top: -3%;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .Inr_bg_pink_01 {
        background-color: #ffdfe4;
        width: 74.667vw;
        height: 31.667vw;
        border-radius: 6px;
        position: relative;
        margin: 5vw auto 0;
    }
    .Inr_bg_pink_02 {
        background-color: #ffdfe4;
        width: 74.667vw;
        height: 35.667vw;
        border-radius: 6px;
        position: relative;
        margin: 5vw auto 0;
    }

    .inr_navi_01 {
        width: 61.333vw;
        position: absolute;
        top: -12%;
        left: 50%;
        transform: translateX(-50%);
    }
    .inr_navi_02 {
        width: 65.467vw;
        position: absolute;
        top: -12%;
        left: 50%;
        transform: translateX(-50%);
    }
    .pdt105 {
        padding: 28vw 0 0;
    }

    .Btn_inr_01 {
        padding: 17.333vw 0 0;
    }
    .Btn_inr_02 {
        padding: 23.333vw 0 0;
    }
    .txt_jalcard {
        width: 71.867vw;
        position: absolute;
        top: 94.7%;
        left: 50%;
        transform: translateX(-50%);
    }
}


/*  XF 250118 */
.Cp_bg_border {
    width: 450px;
    height: 125px;
    position: relative;
    border: 6px double #e50112;
    border-radius: 7px;
    margin: 0 auto;
}
.Cp_ttl {
    width: 375px;
    position: absolute;
    top: -17%;
    left: 50%;
    transform: translateX(-50%);
}
.Cp_btn {
    width: 360px;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
}

@media all and (max-width:740px){
    .Cp_bg_border {
        width: 94.667vw;
        height: 40vw;
        position: relative;
        border: 6px double #e50112;
        border-radius: 7px;
    }
    .Cp_ttl {
        width: 90.667vw;
        position: absolute;
        top: -15%;
        left: 50%;
        transform: translateX(-50%);
    }
    .Cp_btn {
        width: 69.333vw;
        position: absolute;
        bottom: 10%;
        left: 50%;
        transform: translateX(-50%);
    }
}

/*おすすめ路線アコーディオン*/
.acodBlock_route .acodBlock.type_static .heading {
    background-color: #1b7013;
    border-color: #1b7013;
}
@media all and (min-width:740px){
.acodBlock_route .acodBlock > .content {
    padding: 15px 0 7px;
    border: 1px solid #707070;
    }
}

.cstmFont {
    font-size: 16px;
}
/*  矢印 */
.icon_arrowDown {
    padding-bottom: 25px;
    position: relative;
    font-size: 16px;
}
.icon_arrowDown::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #1b7013;
    margin:  7px auto ;
    position:absolute ;
    bottom: 0;
    left: 0;
    right: 0;
}

/*  矢印 */
.icon_arrowR {
    position: relative;
    font-size: 16px;
}
.icon_arrowR::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 25px;
    background: #c00;
    clip-path: polygon(0 27.5%, 48.1% 27.5%, 48.1% 0, 90% 50%, 48.1% 100%, 48.1% 72.5%, 0 72.5%);    margin:  7px auto ;
    position:absolute ;
    bottom: 10%;
    left: 0;
    right: 0;
}
@media (max-width: 739px) {
	.icon_arrowDown::before {
    margin: 10px auto 12px;
    }
}

/*  おすすめ路線リンク */
.mv_area {
    position: relative;
}
.route_links {
    position: absolute;
    left: 44%;
}
@media (min-width: 740px){
    .route_links {
        width: calc(584 / 1920* 100vw);
        max-width: 584px;
        bottom: 22px;
    }
}
@media (max-width: 739px){
    .route_links {
        width: calc(670 / 750* 100vw);
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 20px;
    }
.icon_arrowR .fsS {
    font-size: 1.2rem !important;
}
}

.table_typeA td:nth-of-type(2){
    border-left: none !important;
}

/* タイトル */
.ttl_fare .ttlLv1:after,
.ttl_fare .ttlLv2:after,
.ttl_fare_nonb .ttlLv1:after   {
    display: none;
}
.ttl_fare .ttlLv1,
.ttl_fare .ttlLv2{
    border-bottom: 4px dotted #ff5555;
    text-align: center;
    margin: 0 0 15px 0;
}
.ttl_fare .ttlLv1 .heading,
.ttl_fare .ttlLv2 .heading{
    font-size: 2.8rem;
    font-family: "Noto Sans JP", sans-serif;
}
.ttl_fare .ttlLv2 .heading{
    padding-left: 0;
    border: none;
}
.ttl_fare .ttlLv1 .heading span.s,
.ttl_fare .ttlLv2 .heading span.s{
    font-size: 2.3rem;
}
.ttl_fare p{
    font-size: 1.6rem;
    font-weight: bold;
}
@media (max-width: 739px){
.ttl_fare p{
    font-size: 1.5rem;
}
}
.ttl_fare_nonb .ttlLv1{
    border: none;
    text-align: center;
    margin-bottom: 0;
}
.ttl_fare_nonb .ttlLv1 .heading{
    font-size: 2.8rem;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.4;
}
.ttl_fare_nonb p{
    font-size: 2rem;
    font-weight: bold;
}
@media (max-width: 739px){
.ttl_fare_nonb .ttlLv1{
    margin-bottom: 5px;
}
.ttl_fare_nonb .ttlLv1 .heading{
    font-size: 2.3rem;
}
.ttl_fare_nonb p{
    font-size: 1.6rem;
    font-weight: bold;
}
}

.route p{
    border-bottom: 1px solid #d0d0d0;
    padding: 7px 15px;
}

.card_choice {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* 横スクロール完全に無効化 */
}

.scroll-container {
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}

@media (max-width: 739px) {
.scroll-container {
    overflow-y: visible;
}
}

.row_line {
    display: flex;
    border-bottom: 1px solid #d0d0d0;
    background-color: white;
    border-right: 1px solid #d0d0d0;
    border-left: 1px solid #d0d0d0;
}
.card_table_h.row_line {
    border-bottom: none;
}

.cell {
    flex: 1;
    padding: 20px;
    border-right: 1px solid #d0d0d0;
    text-align: center;
    font-weight: bold;
}
.cell:last-child {
    border-right: none;
}

.cell.blue {
    background-color: #f0f5ff;
}
.cell.red {
    background-color: #fff4f0;
}
.cell.green {
    background-color: #f9f9f9;
}
.cell.black {
    color: #fff;
    background-color: #333333;
    padding: 5px 10px;
}
@media (max-width: 739px) {
.cell.black {
    padding: 3px 10px;
}
}
.cell .pic_card {
    margin: 5px auto 25px;
    width: 40%;
}
.cell .point_b,
.cell .point_r,
.cell .point_g{
    color: #fff;
    border-radius: 15px;
    display: inline-block;
    padding: 2px 15px;
    font-size: 1.4rem;
    font-family: "Arial", sans-serif;
}
.cell .point_b{
    background-color: #004ca2;
}
.cell .point_r {
    background-color: #dd3600;
}
.cell .point_g {
    background-color: #007c84;
}
@media (max-width: 739px) {
.cell {
    padding: 10px 5px 20px;
    font-size: 1.4rem;
}
.cell .pic_card {
    margin: 5px auto 15px;
    width: 95%;
}
.cell .point_b,
.cell .point_r,
.cell .point_g{
    padding: 2px 17px;
    font-size: 1.4rem;
    font-family: "Arial", sans-serif;
}
.cell .txtLink{
    font-size: 1.2rem;
}
}
.cell .point_b span,
.cell .point_r span,
.cell .point_g span {
    font-size: 1.6rem;
}
.cell b {
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 700;
}


@media (max-width: 739px) {
.cell b {
    font-size: 2rem;
}
}
/* 1行目（上に固定） */
.card_table_h {
    position: static;
    top: auto;
    z-index: auto;
}
.card_table_h .cell {
    padding: 0;
    border-top: none;
    border-bottom: none;
    border-left: none;
    border-right: 1px solid #d0d0d0;
}

/* 19行目（下に固定） */
.card_table_f {
    background-color: #c00;
    z-index: 10;
}
.card_table_f .cell {
    padding: 0;
}
.card_table_f .cell .btn {
    width: 100%;
    margin: 0;
}
@media (max-width: 739px) {
.card_table_f {
    z-index: auto;
}
.card_table_f .cell .btn {
    padding: 10px 5px 10px 5px;
    font-size: 1.4rem;
}
.card_table_f .cell .btn .btnInr .altIcon {
    display: block;
    position: static;
    transform:translateY(0);
    margin: 5px auto 0;
}
.card_table_f .row_line {
    display: flex;
    align-items: center;
}