@charset "utf-8";

/*全体*/
:root {
    --black: #000000;
    --gray: #CBCBCB;
    --white: #ffffff;
    --yellow: #FFB710;
    --yellow-02: #FAF284;
    --blue: #0154A3;
    --blue-02: #BCD0FB;
    --blue-light: #EAF7FF;
    --jr-blue: #004FB2;
    --ms-blue: #B3F5F9;
    --ff-noto-sans: "Noto Sans JP", sans-serif;
    --ff-zenkaku: "Zen Kaku Gothic New", sans-serif;
    --ff-montserrat: "Montserrat", sans-serif;
    --ff-alata: "Alata", sans-serif;
}
.main_wrap ul li {
    list-style: none;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
    padding-bottom: 1px;
    position: relative;
    word-break: break-all;
    overflow-wrap: break-word;
}

.main_wrap a:hover {
    opacity: 0.8;
}

.main_wrap {
    text-align: center;
    font-style: normal;
    line-height: 1.5;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 1.4rem;
    color: #004FB2;
    position: relative;
    display: block;
    width: 100%;
    max-width: 393px !important;
    margin: 0 auto;
    min-height: 100vh;
    background-color: #fff;
    background-image: url("../img/bg_main.jpg");
    background-size: 440px auto;
    background-position: top center;
    background-repeat: repeat;
}

section {
    display: block;
    position: relative;
    padding: 40px 0;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

section img {
    width: 100%;
    height: auto;
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.timediv {
    display: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.js-popup {
    cursor: pointer;
}

/*公開前準備中用*/
.standby {
    width: 100vw;
    min-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    background-color: #FFF;
    text-align: center;
}

.standby span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

/*TOP*/
#top_kv {
    padding-top: 0px;
    margin-bottom: 16px;
    background-color: #FFF;
}

.top_h1 {
    margin: 0;
    padding: 0;
    font-size: 0;
}

/*イントロ*/
#intro {
    padding-top: 0;
    padding-bottom: 16px;
}

.intro_logo_img {
    margin: 0 auto;
    margin-bottom: 16px;
}

.intro_date_img {
    margin-bottom: 16px;
}

.intro_p {
    color: #0D0D0D;
    ;
    text-align: center;
    margin: 4px auto;
    letter-spacing: 1px;
    margin-bottom: 0.7em;
    font-size: 1.6rem;
    font-weight: 700;
}

/*ナビ*/
#navi {
    padding-top: 0px;
}

.navi_flex_div {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.navi_btn_a {
    border-radius: 8px;
    background-color: #0078C9;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #FFF;
    text-decoration: none;
    width: 31%;
    margin: 8px auto;
    min-height: 120px;
    padding: 4px;
    padding-bottom: 8px;
    align-items: stretch;
    aspect-ratio: 8 / 9;
}

.navi_btn_a:hover {
    opacity: 0.8;
}

.navi_btn_a div {
    width: 100%;
    height: 100%;
    text-align: center;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
}

.navi_btn_a img {
    display: block;
    margin: 0 auto;
    width: 32px;
    height: auto;
}

.navi_btn_a {
    color: #FFF;
}

.navi_btn_a p {
    font-weight: 700;
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1.4;
}

.navi_hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/*汎用グリーンセクション*/
.green_sec {
    padding-top: 56px;
}

.green_div {
    position: relative;
    width: 100%;
}

.green_h2_div {
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: -20px;
    width: 100%;
    z-index: 1;
}

.green_h2_div h2 {
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 0;
}

.green_h2_img {
    background-color: #FFF;
}

.green_h2_104per_div {
    width: 104%;
    left: -5px;
    top: -22px;
}

.green_waku_div {
    position: relative;
    border: 4px solid #C2E0F4;
    width: 100%;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #FFF;
    padding: 24px 8px;
}

.green_waku_div_notop {
    border-top: 4px solid #FFF;
}

.green_top_p {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    margin: 0 auto;
    margin-top: 24px;
    margin-bottom: 20px;
    font-weight: 700;
    color: #004FB2;
}

.green_btnflex_div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 6px;
}

.green_btnin_div {
    width: 49%;
}

.green_btnin_div a {
    color: #FFF;
    text-decoration: none;
}

.green_btnin_div a p {
    font-size: 1.2rem;
    text-align: center;
    color: #FFF;
    border-radius: 10px;
    font-weight: 700;
    background-color: #0078C9;
    padding: 8px 0;
}

.x_btnin_div a p {
    background-color: #004FB2;
}

.x_btnin_icon_img {
    width: 12.5px;
    height: auto;
    display: inline-block;
    vertical-align: -1px;
    margin-left: 4px;
}

/*汎用グリーン細線セクション*/
.green_thin_div {
    border: 1px solid #DAEDFA;
    background-color: #EAF7FF;
    padding: 12px;
    border-radius: 10px;
    margin: 0 auto;
    margin-bottom: 24px;
}

.green_inwhite_div {
    border-radius: 4px;
    border: 1px solid #DAEDFA;
    background-color: rgba(255, 255, 255, 0.75);
    width: 100%;
    padding: 12px;
}

.green_thin_title_p {
    text-align: left;
    color: #004FB2;
    font-weight: 700;
    font-size: 1.2rem;
    margin: 0 auto;
    line-height: 1.5;
}

.green_thin_main_p {
    text-align: left;
    font-size: 1.4rem;
    margin: 0 auto;
    line-height: 1.5;
}

.green_thin_main_p small {
    font-size: 1.2rem;
}

.green_thin_main_p a {
    color: inherit;
}

.green_step_div {
    text-align: left;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 8px;
}

.green_step_p {
    text-align: left;
    line-height: 2;
    padding: 0 8px;
    padding-bottom: 1px;
    background-color: blue;
    color: #FFF;
    font-weight: 700;
    display: block;
    white-space: nowrap;
}

.green_steptitle_div {
    display: flex;
    align-items: flex-start;
    margin: 0px auto;
    margin-bottom: 10px;
}

.green_thin_centertitle_p {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: #004FB2;
}

.green_btnflex_div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 6px;
}

/*エキタグスタンプラリー*/
#ekitagstamprally {
    margin: 0 auto;
}

.green_h2tomei_img {
    background-color: transparent;
}

.ekitag_eki_article {
    position: relative;
    margin: 8px auto;
    margin-top: 32px;
}

.ekitag_eki_h3 {
    position: absolute;
    width: 90%;
    max-width: 156px;
    left: 0;
    right: 0;
    top: -12px;
    margin: 0 auto;
    width: 100%;
    z-index: 2;
}

.ekitag_inwhite_div {
    padding-top: 8px;
    padding-bottom: 8px;
}

.ekitag_ekiflex_div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 8px auto;
    width: 100%;
    min-width: 277px;
}

.ekitag_ekiko_div {
    width: 33.3%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dotted #E9E9E9;
    border-left: none;
}

.ekitag_ekiko_div p {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    transform: rotateZ(0.03deg);
    font-size: 1.6rem;
    padding: 6px 2px;
    line-height: 1.1;
    white-space: nowrap;
}

.ekitag_ekiko_div p span {
    font-size: 1.3rem;
    padding-left: 1px;
}

.ekitag_eki_noue_div {
    border-top: none;
}

.ekitag_eki_nosita_div {
    border-top: none;
    border-bottom: none;
}

.ekitag_eki_nosita_div p {
    padding-top: 8px;
    padding-bottom: 2px;
}

.ekitag_eki_nomigi_div {
    border-right: none;
}

.ekitag_color_uri_p {
    color: #4D4E50;
}

.ekitag_color_japapa_p {
    color: #52B453;
}

.ekitag_color_donuku_p {
    color: #A9AAAE;
}

.ekitag_color_naokiri_p {
    color: #0073BD
}

.ekitag_color_noa_p {
    color: #EF66A1;
}

.ekitag_color_yuan_p {
    color: #BC2A34;
}

.ekitag_color_tattun_p {
    color: #CEAC2F;
}

.ekitag_color_hiro_p {
    color: #859CB0;
}

.ekitag_color_siva_p {
    color: #6C903F;
}

.ekitag_color_eto_p {
    color: #F68935;
}

.ekitag_color_mofu_p {
    color: #70509B;
}

.ekitag_ekiflex_ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin: 8px auto;
    padding: 0;
    list-style: none;
}

.ekitag_ekiko_li {
    position: relative;
    width: 33.333%;
    max-width: 33.333%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    list-style: none;
    text-indent: 0;
    padding-left: 0;
    padding-top: 10px;
    padding-bottom: 10px;
}

.ekitag_ekiko_li:nth-child(3n+1),
.ekitag_ekiko_li:nth-child(3n+2) {
    border-right: 2px dotted #E9E9E9;
}

.ekitag_ekiko_li:nth-child(-n+3) {
    border-bottom: 2px dotted #E9E9E9;
}

.ekitag_ekiko_li>span {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    transform: rotateZ(0.03deg);
    font-size: 1.6rem;
    line-height: 1.2;
    white-space: nowrap;
    display: inline-block;
}

.ekitag_ekiko_li>span span {
    font-size: 1.3rem;
    padding-left: 0px;
}

.ekitag_ls06 {
    letter-spacing: -0.6px;
}

/*エキタグステップ開設*/
.ekitag_step_article {
    margin: 0 auto;
    max-width: 300px;
    padding: 20px 0;
    padding-bottom: 0;
}

.ekitag_steptitle_div {
    display: flex;
    align-items: flex-start;
    margin: 0px auto;
    margin-bottom: 10px;
}

.ekitag_greenstep_p {
    text-align: left;
    line-height: 2;
    padding: 0 8px;
    padding-bottom: 1px;
    background-color: blue;
    color: #FFF;
    font-weight: 700;
    display: block;
    white-space: nowrap;
}

.ekitag_nomalstep_p {
    text-align: left;
    line-height: 2;
    padding-top: 3px;
    color: #004FB2;
    font-weight: 700;
    display: block;
    white-space: nowrap;
}

.ekitag_greenmoji_p {
    font-size: 1.4rem;
    margin-left: 10px;
    margin-top: 4px;
}

.ekitag_blackmoji_p {
    font-size: 1.4rem;
    margin-left: 10px;
    margin-top: 4px;
    color: #0D0D0D;
}

.ekitag_black_div {
    color: #FFF;
    border-radius: 10px;
    background-color: #000;
    width: 90%;
    max-width: 260px;
    margin: 12px auto;
    margin-top: 4px;
    padding: 12px;
    text-align: center;
}

.ekitag_blacklogo_img {
    width: 77px;
    margin: 0 auto;
    margin-bottom: 4px;
}

.ekitag_black_p1 {
    text-align: center;
    font-weight: 700;
    line-height: 2;
}

.ekitag_black_p2 {
    text-align: left;
    font-weight: 400;
    font-size: 1.2rem;
    word-break: break-all;
    overflow-wrap: break-word;
}

.ekitag_applink_img,
.ekitag_faq_img {
    width: 90%;
    max-width: 220px;
    margin: 8px auto;
}

.ekitag_faq_img {
    max-width: 250px;
    margin: 16px auto;
}

.ekitag_howto_div {
    max-width: 280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.ekitag_m_div p {
    font-size: 1.4rem;
    margin-left: 16px;
}

.ekitag_hr_img {
    max-width: 297px;
    margin: 0 auto;
    margin-bottom: 4px;
}

.ekitag_step2_img {
    max-width: 70px;
}

.ekitag_tyui_p {
    max-width: 276px;
    font-size: 1rem;
    text-align: right;
    color: #666;
    margin: 0.5em auto;
}

.ekitag_step3_img {
    max-width: 50px;
}

/*汎用グラデマット*/
.grade_div {
    background: linear-gradient(110deg, rgba(254, 115, 157, 0.15) 0%, rgba(255, 142, 90, 0.15) 44%, rgba(255, 227, 85, 0.15) 63%, rgba(116, 201, 130, 0.15) 82%, rgba(0, 197, 242, 0.15) 100%);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 16px;
}

.grade_outline {
    outline: 1px rgba(1, 61, 117, 0.25) solid;
    outline-offset: -1px;
}

.grade_main_p {
    font-weight: 700;
    text-align: left;
    margin: 1em auto;
    word-break: break-all;
    overflow-wrap: break-word;
}

.grade_image_p {
    font-size: 1.0rem;
    color: #666;
    text-align: right;
    margin: 1em auto;
}

.grade_10px_att_ul li {
    font-size: 1.0rem;
    color: #666;
    position: relative;
    padding-bottom: 1px;
}

.grade_10px_att_ul li::before {
    content: "・";
}

.grade_10px_att_ul li a {
    color: #666;
}

.grade_11px_att_ul li {
    font-size: 1.1rem;
    color: #666;
    position: relative;
    padding-bottom: 1px;
}

.grade_11px_att_ul li::before {
    content: "・";
}

.grade_11px_att_ul li a {
    color: #666;
}

/*エキタグ特典*/
.ekitag_special1_title {
    max-width: 88px;
    margin: 0 auto;
}

.ekitag_special1_sumaho {
    max-width: 126px;
    margin: 16px auto;
}

.ekitag_special2_div {
    background: linear-gradient(92deg, rgba(254, 115, 157, 0.15) 0%, rgba(255, 142, 90, 0.15) 44%, rgba(255, 227, 85, 0.15) 63%, rgba(116, 201, 130, 0.15) 82%, rgba(0, 197, 242, 0.15) 100%);
}

.ekitag_special2_title {
    max-width: 181px;
    margin: 0 auto;
}

.ekitag_special2_comingsoon {
    max-width: 260px;
    margin: 0 auto;
}

.ekitag_special_11px_p {
    font-size: 1.1rem;
    text-align: left;
    color: #666;
    padding-left: 1em;
    text-indent: -1em;
    margin: 0.5em auto;
}

.ekitag_special_att_p {
    text-align: center;
    color: #666;
    font-size: 1.0rem;
    margin: 1em auto;
}

.ekitag_att_green_article {
    background-color: #f8fcf7;
    padding: 8px;
}

/*汎用灰色注意文・11pxと10px*/
.gray11px_p {
    text-align: left;
    font-size: 1.1rem;
    color: #666;
}

.gray11px_ul li {
    font-size: 1.1rem;
    color: #666;
    padding-bottom: 1px;
}

.gray11px_ul li::before {
    content: "※";
}

.gray11px_ul li a {
    color: inherit;
}

.gray11px_p a {
    color: inherit;
}

.gray11px_ul a img {
    filter: grayscale(1);
    width: 11px;
    height: auto;
}

.gray10px_p {
    text-align: left;
    font-size: 1.0rem;
    color: #666;
}

.gray10px_p a {
    color: inherit;
}

.gray10px_ul li {
    font-size: 1.0rem;
    color: #666;
    padding-bottom: 1px;
}

.gray10px_ul li::before {
    content: "※";
}

.gray10px_ul li a {
    color: inherit;
}

/*オリジナルグッズ*/
#goods {
    margin: 0 auto;
}

.goods_pop_img {
    margin: 0 auto;
    margin-bottom: 20px;
}

.goods_inlimit_article {
    margin-bottom: 16px;
}

.goods_inlimit_title_p {
    font-size: 1.8rem;
    text-align: center;
    font-weight: 900;
    margin: 0.5em auto;
}

.goods_inlimit15px_p {
    text-align: left;
    font-size: 1.5rem;
    font-weight: 500;
}

.goods_inlimit15px_p_b {
    text-align: left;
    font-size: 1.5rem;
    font-weight: 900;
    margin-top: 1em;
}

.livepocket_btn {
    margin-top: 16px;
    margin-bottom: 4px;
}

.goods_special_big_p {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    margin: 0 auto;
    font-weight: 900;
}

.goods_plus_img {
    width: 32px;
    margin: 0 auto;
}

.goods_special_title {
    max-width: 133px;
    margin-top: 10px;
}

.goods_special_img {
    margin-top: 12px;
}

.goods_special_ul {
    margin-top: 16px;
}

.goods_special_ul li {
    color: #004FB2;
    font-weight: 700;
}

.goods_graymat_div {
    margin-top: 4px;
    padding: 8px;
    background-color: #ECECEC;
}

.goods_graymat_div p {
    color: #666;
    text-align: left;
    font-size: 1.0rem;
}

.goods_greenmat_div {
    background-color: #EAF7FF;
}

.goods_mogiri_p {
    font-size: 1.2rem;
    padding-left: 1em;
    text-indent: -1em;
}

/*東北新幹線乗車特典*/
.ride_title1_img {
    max-width: 160px;
    margin-top: 6px;
}

.ride_wave_p {
    line-height: 1.6;
    letter-spacing: 0.4px;
    word-break: break-all;
    overflow-wrap: break-word;
}

.ride_wave_b_span {
    font-weight: 900;
    text-decoration: underline wavy #004FB2;
}

.ride_title2_img {
    max-width: 297px;
    margin-top: 6px;
}

.ride_tyui_p {
    font-weight: 500;
    color: #0D0D0D;
    font-size: 1.0rem;
    text-align: right;
}

.ride_syousai_p {
    font-size: 1.4rem;
    padding-bottom: 1.5em;
}

.ride_syousai_p a {
    color: #0078c9 !important;
}

.ride_syousai_p a:visited {
    color: #0078c9 !important;
}

.ride_syousai_p {
    text-align: center;
    margin: 0.5em auto;
}

.ride_1_p {
    text-align: right;
    font-size: 1.4rem;
}

.ride_entry_img {
    margin: 8px auto;
}

.ride_ekinetlink_img {
    max-width: 200px;
    margin: 0 auto;
}

.ride_white_div {
    padding: 8px;
    background-color: #FFF;
}

.ride_white_p {
    text-align: center;
    font-weight: 700;
    font-size: 1.6rem;
    margin-bottom: 8px;
}

.ride_white_ul li {
    color: #0078c9;
    font-weight: 500;
}

.ride_white_ul li a {
    color: #0078c9;
}

.ride_stiker_ul li {
    font-size: 11px;
    color: #0D0D0D;
    font-weight: 500;
}

.ride_stiker_ul li::before {
    content: "※";
}

.ride_e-ticket_b18 {
    color: red;
    font-weight: 900;
    font-size: 1.8rem;
}

.ride_e-ticket_b16 {
    color: red;
    font-weight: 900;
    font-size: 1.6rem;
}

.ride_e-ticket_b13 {
    color: red;
    font-weight: 900;
    font-size: 1.3rem;
}

.ride_right_p {
    text-align: right;
    font-size: 1.4rem;
    color: #666;
}

.ride_tyusentyuititle_p {
    font-size: 1.3rem;
    margin: 1em auto;
    text-align: center;
}

.ride_center_p {
    font-size: 1.3rem;
}

.ride_pdt {
    padding-top: 88px;
}

/*ラリー*/
.wordrally_flyer_ul {
    margin: 4px auto;
    max-width: 95%;
}

.rally_tyuibluetop_p {
    font-size: 1.0rem;
    color: #0D0D0D;
    font-weight: 700;
    text-align: center;
}

.rally_top_img {
    border: 1px solid #D5D5D5;
}

/*サイネージ*/
.signage_comingsoon_img {
    margin-top: 20px;
    width: 94%;
}

/*貸切*/
.kashikiri_btn_img {
    margin-top: 20px;
}

.kashikiri_div .green_thin_title_p {
    margin-top: 14px;
}

.kashikiri_tyui_p {
    font-size: 10px;
    padding-left: 1em;
    text-indent: -1em;
    margin: 8px auto;
    text-align: left;
    width: fit-content;
}

/*footer*/
.footer_cp {
    position: relative;
    padding-top: 40px;
    padding-bottom: 60px;
    background-image: url(../img/bg_grade.jpg);
    background-size: 100% 100%;
}

.footer_cp_in_div {
    position: relative;
    width: 92%;
    margin: 0 auto;
}

.footer_cp p,
.footer_cp li {
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #003366;
    font-weight: 700;
    text-align: left;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 1.2rem;
    -webkit-text-stroke: 4px white;
    paint-order: stroke fill;
    stroke-linejoin: round;
    transform: rotateZ(0.03deg);
    padding-bottom: 2px;
}

.footer_cp_noindent {
    padding-left: 0 !important;
    text-indent: 0 !important;
}

.footer_cp_kome_ul {
    margin-bottom: 1em;
}

.footer_cp_kome_ul li {
    font-size: 1.0rem;
}

.footer_cp_kome_ul li::before {
    content: "※";
}

.footer_cp_btn_img {
    display: inline;
    margin: 0;
    width: 72px;
    height: auto;
    margin-top: 2px;
    margin-bottom: 4px;
}

.footer_cp_totop_img {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 70px;
    height: auto;
}

/*別ページ遷移時のモーダルウインドウ*/
#ext_modal_wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    /* 背景を少し暗く */
    z-index: 9999;
    /* 一番手前に表示 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.ext_modal_content {
    background-color: #fff;
    padding: 24px;
    border-radius: 8px;
    width: 90%;
    max-width: 320px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.ext_modal_content p {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: #333;
}

.ext_modal_buttons {
    display: flex;
    justify-content: space-around;
    gap: 12px;
}

.ext_modal_buttons button {
    flex: 1;
    padding: 10px 0;
    border: none;
    border-radius: 4px;
    font-size: 1.4rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s;
}

#ext_modal_wrapper_lp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    /* 背景を少し暗く */
    z-index: 9999;
    /* 一番手前に表示 */
    display: flex;
    justify-content: center;
    align-items: center;
}

#ext_modal_no_lp {
    background-color: #666;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 4px;
    font-size: 1.4rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s;
    min-width: 120px;
}

#ext_modal_no_lp:hover {
    background-color: #444;
}

#ext_modal_yes {
    background-color: #0078C9;
    color: #FFF;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

/*汎用ユーティリティ・頭に「u-」*/
.u-semibold {
    font-weight: 500;
}

.u-bold {
    font-weight: 700 !important;
}

.u-boldblack {
    font-weight: 900 !important;
}

.u-colorbl {
    color: #0D0D0D !important;
}

.u-colornavy {
    color: #004FB2 !important;
}

.u-pdt24 {
    padding-top: 24px !important;
}

.u-pdt32 {
    padding-top: 32px !important;
}

.u-pdt36 {
    padding-top: 36px !important;
}

.u-pdt40 {
    padding-top: 40px !important;
}

.u-pointer {
    cursor: pointer;
}

.u-mrt0 {
    margin-top: 0 !important;
}

.u-mrt2 {
    margin-top: 2px !important;
}

.u-mrt4 {
    margin-top: 4px !important;
}

.u-mrt8 {
    margin-top: 8px !important;
}

.u-mrt12 {
    margin-top: 12px !important;
}

.u-mrt16 {
    margin-top: 16px !important;
}

.u-mrt20 {
    margin-top: 20px !important;
}

.u-mrt24 {
    margin-top: 24px !important;
}

.u-mrt30 {
    margin-top: 30px !important;
}

.u-mrt40 {
    margin-top: 40px !important;
}

.u-mrt50 {
    margin-top: 50px !important;
}

.u-mrt60 {
    margin-top: 60px !important;
}

.u-mrb0 {
    margin-bottom: 0 !important;
}

.u-mrb4 {
    margin-bottom: 4px !important;
}

.u-mrb8 {
    margin-bottom: 8px !important;
}

.u-mrb16 {
    margin-bottom: 16px !important;
}

.u-mrl-8 {
    margin-left: 8px !important;
}

.u-mrl-16 {
    margin-left: 16px !important;
}

.u-underline {
    text-decoration: underline !important;
}

.u-pdl1em {
    padding-left: 1em !important;
}

.u-mr0auto {
    margin: 0 auto;
}

.u-txin05 {
    text-indent: -0.5em !important;
}

.u-flexbetween {
    justify-content: space-between !important;
}

.u-ls0 {
    letter-spacing: 0 !important;
}

.u-ls05px {
    letter-spacing: -0.5px !important;
}

.u-ls06px {
    letter-spacing: -0.6px !important;
}

.u-fs10px {
    font-size: 1.0rem !important;
}

.u-fs14px {
    font-size: 1.4rem !important;
}

.u-fs12px {
    font-size: 1.2rem !important;
}

.u-coming_soon_btn,
.u-coming_soon_btn:hover {
    opacity: 1 !important;
}

.u-nohover:hover {
    opacity: 1 !important;
}

.u-flexbetween {
    justify-content: space-between !important;
}

.u-underline {
    text-decoration: underline !important;
}

.u-center {
    text-align: center !important;
}

.u-left {
    text-align: left !important;
}

.u-right {
    text-align: right !important;
}

.u-red {
    color: red;
}

.u-red_error {
    text-align: center !important;
    color: red !important;
    font-weight: 900 !important;
}

.u-opcity0 {
    opacity: 0 !important;
}

.u-lh17 {
    line-height: 1.7 !important;
}

@media screen and (max-width:440px) {

    /*ロールオーバー演出の消去*/
    .main_wrap a:hover,
    .navi_btn_a:hover {
        opacity: 1;
    }

    /*丸ゴシックwindows調整の削除*/
    .ekitag_ekiko_div p {
        transform: rotateZ(0);
    }

    .ekitag_ekiko_li>span {
        transform: rotateZ(0);
    }

    .footer_cp p,
    .footer_cp li {
        transform: rotateZ(0);
    }

    .ekitag_ls06 {
        letter-spacing: 0;
    }

    .ekitag-wbreak {
        word-break: break-all;
        overflow-wrap: break-word;
    }

    .ride_pdt {
        padding-top: 80px;
    }

}

@media screen and (max-width:378px) {
    .intro_p {
        font-size: 1.5rem;
    }

    ..green_btnin_div {
        width: 49.5%;
    }

    .green_btnin_div a p {
        font-size: 1.1rem;
    }

    .x_btnin_icon_img {
        margin-left: 2px;
    }
}

@media screen and (max-width:360px) {
    .green_thin_main_p {
        font-size: 1.3rem;
    }

    .ride_pdt {
        padding-top: 72px;
    }
}

/*common.css上書き*/
img[loading=lazy] {
    opacity: 1;
}

#wrapper_rn {
    position: relative;
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #0078C9;
}

#main_rn::before,
.shift_rn::before {
    background: transparent;
}

@media screen and (max-width:767px) {

    #wrapper_rn {
        margin-top: 6rem;
    }

    #main_rn,
    .shift_rn {
        padding-top: 0;
        padding-bottom: 0;
    }
}

@media screen and (max-width:767px) and (min-width:581px) {
    /*.topicPathWrap ol li span {
        font-size: 1.2rem;
    }*/
    .ride_e-ticket_b18 {
        font-size: 1.4rem;
    }
    .main_wrap,    
    .ride_e-ticket_b16,
    .green_thin_centertitle_p,
    .ekitag_nomalstep_p {
        font-size: 1.2rem;
    }

    .intro_p,.ekitag_greenmoji_p{
        font-size: 1rem;
    }
    .green_top_p,
    .goods_inlimit15px_p,
    .ride_wave_p,
    .green_thin_title_p {
        font-size: 0.9rem;
    }

    
    .green_thin_main_p,
    .goods_special_big_p {
        font-size: 0.8rem;
    }

    .navi_btn_a p,
    .green_btnin_div a p,
    .gray10px_ul li,
    .gray11px_ul li,
    .gray10px_p,
    .grade_11px_att_ul li,
    .footer_cp_kome_ul li,
    .footer_cp p,
    .footer_cp li {
        font-size: 0.7rem;
    }
}
@media screen and (max-width:580px) and (min-width:461px) {
    .ride_e-ticket_b18 {
        font-size: 1.4rem;
    }
    .main_wrap,    
    .ride_e-ticket_b16,
    .green_thin_centertitle_p,
    .ekitag_nomalstep_p {
        font-size: 1.1rem;
    }

    .intro_p,.ekitag_greenmoji_p{
        font-size: 1.1rem;
    }
    .green_top_p,
    .goods_inlimit15px_p,
    .ride_wave_p,
    .green_thin_title_p {
        font-size: 1rem;
    }

    
    .green_thin_main_p,
    .goods_special_big_p {
        font-size: 0.9rem;
    }

    .navi_btn_a p,
    .green_btnin_div a p,
    .gray10px_ul li,
    .gray11px_ul li,
    .gray10px_p,
    .grade_11px_att_ul li,
    .footer_cp_kome_ul li,
    .footer_cp p,
    .footer_cp li {
        font-size: 0.9rem;
    }
}

@media screen and (min-width: 768px),
print {

    #main_rn,
    .shift_rn {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    #main_rn::before,
    .shift_rn::before {
        min-width: 393px;
    }

}
/*パンくずリスト表示用*/
.topicPathWrap {
  background-color: var(--white);
  position: relative;
}
