section {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.wrap{
    background-image: none;
    background-color: #f29744;
}
main{
    color: #003366;
    /*text-shadow: 0 1px 1px rgba(0,0,0,0.1);*/
    box-shadow: none;
}

ul li {
    text-align: left;
}

#info {
    padding: 12px 0;
    padding-top: 10px;
}

#top_kv {
    padding-top: 80px;
}

.info_img {
    width: 90%;
    height: auto;
    margin: 10px auto;
    margin-bottom: 4px;
}
.info_date_img{
     width: 90%;
    height: auto;
    margin: 0px auto;   
}
.info_p {
    text-align: center;
    font-size: 19px;
    line-height: 1.5;
    margin: 8px auto;
    margin-top: 0;
    letter-spacing: 0.5px;
    text-indent: -0.5em;
}

#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: #ff951e;
    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;
}

a:hover{
    opacity: 0.8;
}

.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 {
    color: #FFF;
    font-size: 14px;
    line-height: 1.4;
}

/*ボイスドラマ*/
.orange_sec {
    padding-top: 56px;
}

.orange_div {
    position: relative;
    width: 100%;
}

.orange_waku_div {
    position: relative;
    border: 4px solid #ff951e;
    width: 100%;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #FFF;
    padding: 40px 8px;
}

.orenge_waku_div_notop {
    border-top: 4px solid #FFF;
}

.orange_h2_div {
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: -20px;
    width: 100%;
    max-width: 440px;
    z-index: 1;
}

.orange_h2_div img {
    background-color: #FFF;
}

.voicedrama_h2 {
    width: 424px;
    left: -14px;
}

.dorama_top_p {
    text-align: center;
    padding-bottom: 1em;
}

.orange_p {
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
    margin-bottom: 20px;
}

.orange_btnflex_div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 6px;
}

.orange_btnin_div {
    width: 49%;
}

.orange_btnin_div a {
    color: #FFF;
    text-decoration: none;
}

.orange_btnin_div a p {
    font-size: 15px;
    letter-spacing: -0.5px;
    text-align: center;
    color: #FFF;
    border-radius: 10px;
    font-weight: 700;
    background-color: #ec7d00;
    padding: 8px 0;
}

.x_btnin_div a p{
    letter-spacing: 0;
    background-color: #003366;
}

.orange_btn10px_p {
    text-align: center;
    font-size: 10px;
    margin: 4px auto;
}
.drama_2_mat_div{
    margin: 40px auto !important;
    margin-bottom: 20px !important;
}
.goods_p1 {
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
    margin-bottom: 16px;
    letter-spacing: 0.5px;
}

.goods_p2 {
    text-align: left;
    font-size: 14px;
    margin: 0.5em auto;
}

.grade_mat_div {
    position: relative;
    margin: 8px auto;
}

.grade_mat_h3 {
    position: absolute;
    width: 90%;
    max-width: 256px;
    left: 0;
    right: 0;
    top: -20px;
    margin: 0 auto;
    width: 100%;
    z-index: 2;
}

.grade_matin_div {
    border-radius: 20px;
    background: linear-gradient(110deg, #ffe3e9, #fff7e0);
    padding: 16px;
}

.grade_matin_div a {
    text-decoration: none;
}
.drama_link_div {
    padding: 8px;
    border: 1px solid #ff951e;
    border-radius: 10px;
    background-color: #fffbf8;
    display: flex;    
    align-items: center;
    margin-bottom: 16px;
}

.drama_link_div_green {
    border: 1px solid #299aae;
    background-color: #fbfdf8;
}

.drama_icon_img {
    margin-right: 14px;
    width: 80px;
    height: auto;
}

.drama_menu_b {
    transform: rotateZ(0.03deg);
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    text-align: left;
    font-size: 15px;
    letter-spacing: 0px;
    margin-bottom: 2px;
    text-indent: -0.5em;
}

.drama_menu_p {
    transform: rotateZ(0.03deg);
    color: #999;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 14px;
    text-align: left;
}

.grade_matin_div_green {
    background: linear-gradient(110deg, #f9f6db, #cdf3fb);
}

.grade_matin_div_pink {
    display: block;
    background: linear-gradient(135deg, #d9f6fd, #f9f6db, #fbe7ed);
}

.oragne_thin_div {
    border: 1px solid #ff951e;
    background-color: #fffaf4;
    padding: 8px 0;
    border-radius: 10px;
}

.orange_thin_title_p {
    text-align: center;
    color: #ff951e;
    font-weight: 700;
    font-size: 18px;
    margin: 0 auto;
    margin-bottom: 4px;
}

.orange_step_div {
    text-align: left;
    width: fit-content;
    margin: 0 auto;
}

.orange_step_p {
    text-align: left;
    line-height: 2;
}

.orange_step_p b {
    color: #ff951e;
    font-weight: 700;
}

.drama_btn_img {
    margin-top: 16px;
    margin-bottom: 4px;
    filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.2));
}

.drama_kome_p {
    font-size: 11px;
    padding-left: 1em;
    text-indent: -1em;
    text-align: left;
    width: 100%;
    max-width: 300px;
    margin: 4px auto;
    margin-bottom: 8px;
}

.goods_special_h3 {
    width: 230px;
}
.mat_outline_h3{
    line-height: 1.2;
    font-size: 20px;
    color: #FFF;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 900;
    /* 白フチの設定 */
    -webkit-text-stroke: 8px #003366; /* 2pxのフチなら倍の4pxを指定 */    
    paint-order: stroke fill;    
    stroke-linejoin: round;
}
.mat_outline_h3 span{
    font-size: 15px;
}

.list_mat_div {
    background-color: #fff1e8;
    border-radius: 10px;
    padding: 16px;
}

.list_mat_div ul li {
    padding-bottom: 2px;
    font-size: 12px;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;

    word-break: break-all;
    overflow-wrap: break-word;
}

.accordion_btn_div {
    user-select: none;
    cursor: pointer;
    border-radius: 6px;
    background-color: #ffb056;
    width: 90%;
    max-width: 160px;
    margin: 16px auto;
    margin-bottom: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
}

.accordion_btn_p {
    font-size: 16px;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    transform: rotateZ(0.03deg);
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-shadow: 1px 1px 0 #ec7d00, -1px -1px 0 #ec7d00,
        -1px 1px 0 #ec7d00, 1px -1px 0 #ec7d00,
        0px 1px 0 #ec7d00, 0-1px 0 #ec7d00,
        -1px 0 0 #ec7d00, 1px 0 0 #ec7d00;
    margin-right: 20px;
}

.accordion_en_p {
    font-size: 16px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #FFF;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    box-sizing: border-box;
    font-weight: 900;
    color: #ec7d00;
}

.accordion_in_div {
    height: 110px;
    overflow: hidden;
    position: relative;
}

.accordion_in_div::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(to bottom, transparent, #fff1e8, #fff1e8);
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.is-open {
    height: auto;
}

.is-open::after {
    opacity: 0;
}

/*ライブ総選挙*/
.polls_tw_p {
    text-align: center;
    font-size: 16px;
    margin-top: 16px;
}

.polls_tw_mini_p {
    font-size: 10px;
    color: #666;
    margin-bottom: 0.5em;
}

.polls_tw_div {    
    margin: 4px auto;    
    width: 94%;
    max-width: 236px;
}

.polls_tw_div a {
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #FFF;
    display: block;
}

.polls_tw_div a p {
    border-radius: 8px;
    display: block;
    text-align: center;
    color: #FFF;
    font-weight: 700;
    width: 100%;
    padding: 10px 1em;
    line-height: 1;
    padding: 16px 0;
    background: #003366;
}

.normal_h2 img {
    background-color: transparent;
}

.polls_jacket_img {
    width: 100%;
    margin-bottom: 16px;
}

.orange_white_div {
    border: 1px solid #ffe4c4;
    padding: 8px;
    border-radius: 10px;
    background-color: #fffefc;
    width: 95%;
    margin: 0 auto;
}

.orange_whitein_div {
    width: 96%;
    margin: 0 auto;
}

.orange_white_b {
    text-align: left;
    font-size: 16px;
    color: #ff951e;
    font-weight: 700;
}

.orange_white_p {
    text-align: left;
    font-size: 16px;
}

.orange_white_span1,
.orange_white_span2 {
    font-size: 10.5px;
}

.orange_white_span1 {
    margin-left: 10px;
}

.orange_white_span2 {
    margin-left: 0px;
}

/*乗車特典*/
.special_p1{
    font-size: 19px;
    margin-bottom: 0.5em;
}
.special_h2 {
    top: -32px;
}

.special_h2 img {
    background-color: transparent;
}

.special_ul {
    margin-bottom: 20px;
}

.special_ul li {
    font-size: 11px;
    padding-bottom: 2px;
}
.ride_outline_h3{
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 1px;
}
/*特典*/
.special_h3 {
    top: -40px;
}

.special_image_p {
    font-weight: 400;
    text-align: right;
    font-size: 10px;
    margin-top: 8px;
}

.special_img {
    margin-top: 10px;
    cursor: pointer;
    filter: drop-shadow(0 0 4px rgba(0,0,0,0.3));
}


.josyatokutenheader_img {
    width: 256px;
}

.special_bold_a {
    font-weight: 900;
    color: #ff951e;
    text-decoration: none;
    border-bottom: 2px solid #ff951e;
}

.orenge_wihte_mini {
    font-size: 12px;
}

.orenge_wihte_kome_p {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 12px;
    text-align: left;
    padding-bottom: 4px;
}

/*グッズ*/
.goods_mini_p {
    text-align: left;
    font-size: 14px;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 4px;
    margin-bottom: 16px;
}

.goods_special_p {
    text-align: center;
    font-size: 18px;
    margin-top: 24px;
    font-weight: 900;
    letter-spacing: -0.5px;
}

.goods_special_h3 {
    top: -30px;
}

.goods_ul {
    margin: 0 auto;
    width: 96%;
}

.goods_ul li {
    font-size: 12px;
    text-align: left;
    padding-bottom: 2px;
}
.goods_special_ul{    
    text-align: left;
    margin: auto;
    margin-right: 0;
    margin-top: 4px;
}
.goods_special_ul li{
    font-size: 10px;
    padding-bottom: 0;
}
.in_limit_b {
    font-size: 24px;
    font-weight: 900;
    margin-top: 24px;
}

.in_limit_p1 {
    font-size: 15px;
    text-align: left;
    margin: 0.5em auto;
}

.in_limit_p2 {
    font-size: 16px;
    text-align: left;
    margin-left: 0.2em;
    padding-left: 1em;
    text-indent: -1em;
}

.rally_kome_p {
    font-size: 12px;
    text-align: center;
}

.rally_p1 {
    font-size: 16px;
    margin: 1em auto;
    margin-bottom: 0;
    text-align: left;
}
.rally_flyer_img{
  border: 1px solid transparent; 
  border-image: linear-gradient(135deg, #f0a9c7, #a8def6);
  border-image-slice: 1;
}
.orange_rally_4p {
    margin: 0.5em auto;
    font-size: 12px;
    font-weight: 700;
}

/*footer*/
.footer_rotate a:visited,
.footer_rotate a:focus,
.footer_rotate a:focus-visible,
.footer_rotate a:active {
    opacity: 1 !important;
    background: transparent !important;
    touch-action: auto !important;
}

.footer_jr-central{
    margin-top: 0;
    padding-bottom: 60px;
    background-image: url(bg_grade.webp);
}

.footer_btn_img{
   width: 60px;
   height: auto;
   margin-top: 2px;
}

.footer_li_btn_a{
    background-color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer_li_btn_a span{
    color: #003366;
    font-weight: 900;
    background-color: #FFF;
    padding:2px 1.5em;
    line-height: 1;
}
.footer_totop {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 100px;
}

.footer p,
footer li {
    transform: rotateZ(0.03deg);
    color: #003366;
}
.footer_ul li{
    
    line-height: 1.5;
    margin:1.5em auto;
}

.kashikiri_mini_p {
    text-align: center;
    margin: 4px auto;
    font-size: 10px;
}

.kashikiri_btn_img {
    width: 90%;
    margin: 0 auto;
    margin-top: 8px;
}

.goods_toi_div {
    width: 100%;
    margin-top: 16px;
}

/**/
/* モーダル全体の背景（画面を覆う） */
#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: 16px;
    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: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s;
}

/* 「はい」ボタン（目立たせる） */
#ext_modal_yes {
    background-color: #ff8c00;
    /*background-image: url("bg_grade.webp");*/
    background-size: 100% 100%;
    color: #fff;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
}

#ext_modal_yes:hover {
    opacity: 0.8;
}

/* 「いいえ」ボタン */
#ext_modal_no {
    background-color: #e0e0e0;
    color: #333;

}

#ext_modal_no:hover {
    opacity: 0.8;
}
.goods_pop{
    margin: 6px auto;
}
/*u-*/
.u-pdt60{    
    padding-top: 40px;
}
.u-pointer{
cursor: pointer;
}
.u-coming_soon_btn,.u-coming_soon_btn:hover{
    opacity: 1 !important;
}
.u-mt40 {
    margin-top: 40px !important;
}
.u-mt50 {
    margin-top: 50px !important;
}

.u-mt60 {
    margin-top: 60px !important;
}

.u-mt16 {
    margin-top: 16px !important;
}

.u-mt8 {
    margin-top: 8px !important;
}

.u-mt2 {
    margin-top: 2px !important;
}

.u-mb8 {
    margin-bottom: 8px !important;
}

.u-underline {
    text-decoration: underline !important;
}

.u-txin05 {
    text-indent: -0.5em !important;
}

.u-flexbetween {
    justify-content: space-between !important;
}

@media (max-width:440px) {
    body{
        background-color: #FFF;
    }
    .orange_white_span1, .orange_white_span2 {
        font-size: 2.5vw;
        letter-spacing: -0.5px;
    }
    .goods_special_h3 {
        width: 220px;
        max-width: 100%;
        top: -24px;
    }

    .orange_rally_4p {
        width: 100%;
        font-size: 2.7vw;
        text-align: center;
    }

    .orange_btnin_div a p {
        font-size: 3.5vw;
        letter-spacing: 0;
    }

    .polls_tw_div a p {
        font-size: 4.5vw;
    }

    .goods_p1 {
        font-size: 3.8vw;
    }

    .orange_p {
        font-size: 3.8vw;
    }

    .dorama_top_p {
        font-size: 4vw;
        padding-bottom: 10px;
    }

    .info_p {
        font-size: 4.2vw;
    }

    .rally_p1 {
        font-size: 4.2vw;
    }

    .navi_btn_a p {
        font-size: 3vw;
        line-height: 1.4;
    }

    .drama_menu_b {
        font-size: 3.8vw;
    }

    .drama_menu_p {
        font-size: 3vw;
    }

    .grade_matin_div {
        padding-left: 2.5vw;
        padding-right: 2.5vw;
    }

    .orenge_wihte_kome_p {
        font-size: 2.6vw;
    }

    .goods_special_p {
        font-size: 4.5vw;
        letter-spacing: 0;
    }

    .orange_white_p {
        font-size: 3.5vw;
    }

    .orenge_wihte_mini {
        font-size: 10px;
    }

    .goods_ul li {
        font-size: 3.2vw;
    }
    .goods_special_ul li{
        font-size: 10px;
    }
    .special_p1{
        font-size: 4vw;
    }
    a :hover,
    .navi_btn_a:hover {
        opacity: 1;
    }

    .accordion_btn_p,
    .accordion_btn_p,
    .drama_menu_p {
        transform: rotateZ(0deg);
    }

    .footer p,
    footer li {
        transform: rotateZ(0deg);
    }

    .rally_kome_p {
        font-size: 10px;
    }
    .in_limit_p2{
        font-size: 3.9vw;
    }
}

@media (max-width:430px) {
    .voicedrama_h2 {
        width: 96vw;
        left: -3vw;
    }
}
@media (max-width:375px) {
    .mat_outline_h3{
        font-size: 18px;
    }
    .ride_outline_h3{
        font-size: 14px;
    }
}


@media (max-width:358px) {

    .list_mat_div ul li {
        font-size: 10px;
    }

    .special_image_p {
        font-size: 10px;
    }

    .polls_tw_p {
        font-size: 4vw;
    }
}
@media (max-width:358px) {
    .orange_white_span1,
    .orange_white_span2 {
        margin-left: 0;
    }
}
@media (max-width:320px) {
    .goods_special_h3 {
        width: 80%;
    }
    .josyatokutenheader_img {
        width: 80%;
    }
    .grade_mat_h3{
        width: 80%;
    }
}