@charset "utf-8";
.noshi_contents {
    
}
.noshi_contents .pc {display: block !important;}
.noshi_contents .sp {display: none !important;}
.section-title-deco {
    font-size: 40px;
}
.header_conts .header_title {
    text-align: center;
    font-size: 35px;
}
.header_conts .header_txt {
    text-align: center;
    font-size: 27px;
    margin: 90px 0 190px;
}
.unit .contents-title {
    font-size: 35px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 1.0em 0 1.4em;
}
.unit .contents-title-tag {
    display: block;
    background-color: #fa5500;
    padding: 0 0.3em;
    color: #fff;
    font-size: 30px;
} 
.unit .notes {
    font-size: 25px;
}
.unit .fnt-c-org {
    color: #fa5500;
}
.caution_list {
}
.caution_list li {
    position: relative;
    padding-left: 1.2em;
    font-size: 20px;
}
.caution_list li::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.unit {
    margin-bottom: 11rem;
}
.unit .sub_cnts {
    margin-top: 130px;
}
.unit .sub_cnts.sub_cnts_slim {
    margin-top: 60px;
}
.unit .sub_cnts .list_title {
    font-size: 25px;
    border-left: 10px solid #000000;
    border-bottom: 3px solid #000000;
    padding: 10px 20px;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 30px;
}
.unit .sub_cnts .img_frame {
    width: 100%;
    margin-bottom: 60px;
}
.unit .sub_cnts .img_frame img {
    width: 100%;
}
.unit .sub_cnts .attention {
    font-size: 23px;
    text-indent: 0;
    padding: 1em;
    background-color: #fff9d4;
    margin-top: 50px;
}

.unit .notes.box_notes {
    background-color: #f8f3ea;
    padding: 2.5% 3% 2.5% 5%;
    font-size: 23px;
}
.unit .notes.box_notes .notes_row {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.unit .notes.box_notes .notes_row .label {
    min-width: 4em;
    text-align: right;
}
.unit .notes.box_notes .notes_row .txt {
    flex: 1;
}
.unit .notes.box_notes .caution_list {
    margin-top: 20px;
}
.unit .sub_cnts .table_conts {
    width: 100%;
    margin-bottom: 40px;
}
.unit .sub_cnts .table_conts th ,
.unit .sub_cnts .table_conts td {
    font-size: 21px;
    padding: 10px;
    text-align: center;
}
.unit .sub_cnts .table_conts th {
    background-color: #d6d1bb;
}

/* customize */
.unit .sub_cnts .img_frame.noshi_img {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    margin-bottom: 60px;
}
.unit .box_naire {
    border: 2px solid #fa5500;
    font-size: 25px;
    padding: 1em 5px;
    margin-top: 40px;
}
.unit .box_naire .ttl {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 10px;
}
.unit .box_naire .subttl {
    text-align: center;
    color: #fa5500;
    text-decoration: underline;
    font-size: 25px;
    margin-bottom: 20px;
}
.unit .box_naire_list {
    width: 85%;
    margin: 0 auto;
}
.unit .box_naire_list li {
    position: relative;
    padding-left: 1.2em;
}
.unit .box_naire_list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.unit .box_naire_sublist {
    counter-reset: naire-counter;
    margin-left: 1.2rem;
}
.unit .box_naire_sublist  li::before {
    
}
.unit .box_naire_sublist  li:nth-child(1):before {content: "①";}
.unit .box_naire_sublist  li:nth-child(2):before {content: "②";}
.unit .box_naire_sublist  li:nth-child(3):before {content: "③";}
.unit .box_naire_sublist  li:nth-child(4):before {content: "④";}
.unit .box_naire_sublist  li:nth-child(5):before {content: "⑤";}

.unit .sub_cnts .scene_list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 35px;
}
.unit .sub_cnts .scene_list li {
    width: calc( ( 100% - 35px ) / 2 );
    background-color: #f8f3ea;
    padding: 20px 20px;
}
.unit .sub_cnts .acc_conts .img_frame {
    max-width: 337px;
    margin: 0 auto;
}
.unit .sub_cnts .acc_ttl {
    font-size: 30px;
    text-align: center;
    padding: 10px 0;
    font-weight: 600;
}
.unit .sub_cnts .acc_box {
    padding-top: 15px;
}
.unit .sub_cnts .acc_box .img_frame {

}
.unit .sub_cnts .acc_box .txt_group {
    display: table;
    margin: 30px auto 10px;
    text-align: left;
}
.unit .sub_cnts .acc_box .txt_group .txt_row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 2px;
    font-size: 19px;
}
.unit .sub_cnts .acc_box .txt_group .txt_row .label {
    flex: 0 0 5em;
    text-align: right;
}
.unit .sub_cnts .acc_box .txt_group .txt_row .label::after {
    content: "\00a0";
    margin-right: 0.5em;
}
.unit .sub_cnts .acc_box .txt_group .txt_row .txt {
    flex: 1;
}

.unit .sub_cnts .season_info {
    margin-top: 40px;
}
.unit .sub_cnts .season_info_row {
    margin-bottom: 45px;
}
.unit .sub_cnts .season_info_row dt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5em 1.5em;
    padding: 5px 10px;
    margin-bottom: 15px;
}
.unit .sub_cnts .season_info_ttl {
    font-size: 26px;
    line-height: 1.2;
}
.unit .sub_cnts .season_date {
    font-size: 26px;
    line-height: 1.2;
}
.unit .sub_cnts .season_caution {
    font-size: 18px;
    padding-top: 0.3em;
}
.unit .sub_cnts .season_info_row dd {

}
.unit .sub_cnts .season_info_detail {
    font-size: 21px;
    padding-left: 1.5em;
}
.unit .notes a.link_ul {
    text-decoration: underline;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .unit .sub_cnts .acc_ttl {
        font-size: clamp(18px, 2.9vw, 30px);
    }
    .unit .sub_cnts .acc_box .txt_group .txt_row {
        font-size: clamp(16px, 2.3vw, 19px);
    }
}
@media screen and (max-width: 640px) {
    .noshi_contents {
    
    }
    .noshi_contents .pc {display: none !important;}
    .noshi_contents .sp {display: block !important;}

    .section-title-deco {
        font-size: 25px;
    }
    .notes {
        margin-bottom: 1rem;
    }
    section {
        margin-top: 3rem;
    }
    .header_conts .header_title {
        font-size: 18px;
    }
    .main-contents h2 {
        margin: 20px auto 60px;
    }
    .header_conts .header_txt {
        font-size: 14px;
        margin: 25px 0 75px;
    }
    .unit {
        margin-bottom: 4rem;
    }
    .unit.etc_unit {
        margin-bottom: 1rem;
    }
    .unit .contents-title {
        font-size: 18px;
        margin: 30px 0 25px;
    }
    .unit .contents-title-tag {
        font-size: 15px;
        padding: 0 0.5em;
    }
    .unit .notes {
        font-size: 13px;
    }
    .unit .notes.box_notes {
        font-size: 12px;
        padding: 15px 10px;
    }
    .unit .notes.box_notes .caution_list {
        margin-top: 10px;
    }
    .caution_list li {
        font-size: 11px;
    }
    .unit .sub_cnts {
        margin-top: 45px;
    }
    .unit .sub_cnts.sub_cnts_slim {
        margin-top: 20px;
    }
    .unit .sub_cnts .list_title {
        font-size: 15px;
        border-left: 6px solid #000000;
        border-bottom: 2px solid #000000;
        padding: 3px 8px;
        letter-spacing: 1px;
    }
    .unit .sub_cnts .img_frame {
        margin-bottom: 20px;
    }
    .unit .sub_cnts .img_frame.noshi_img {
        width: 90%;
        max-width: 610px;
        margin-bottom: 30px;
    }
    .unit .sub_cnts .attention {
        font-size: 12px;
        padding: 0.7em;
        margin-top: 15x;
    }
    .unit table {
        margin-top: 2em;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(1) {
        width: 30%;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(2) {
        width: 40%;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(3) {
        width: 30%;
    }
    .unit .sub_cnts .table_conts {
        margin-bottom: 20px;
    }
    .unit .sub_cnts .table_conts th,
    .unit .sub_cnts .table_conts td {
        padding: 3px;
        font-size: 11px;
    }
    .unit .sub_cnts .table_conts td {
        text-align: left;
    }
    .unit .box_naire {
        font-size: 13px;
        padding: 1em;
        margin-top: 20px;
    }
    .unit .box_naire .ttl {
        font-size: 15px;
    }
    .unit .box_naire .subttl {
        font-size: 13px;
        text-align: left;
        margin-bottom: 10px;
    }
    .unit .box_naire_list {
        width: 100%;
    }
    .unit .box_naire_list li {
        font-size: 12px;
    }
    .unit .sub_cnts .scene_list {
        gap: 15px;
    }
    .unit .sub_cnts .scene_list li {
        width: 100%;
        padding: 5px 15px;
    }
    .unit .sub_cnts .acc_ttl {
        font-size: 15px;
        text-align: left;
        position: relative;
        cursor: pointer;
    }
    /* acc */
    .unit .sub_cnts .acc_ttl::after {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        transform: rotate( 45deg ) translateY( -50% ) translateX( -50% );
        border-right: 2px solid #000000;
        border-bottom: 2px solid #000000;
        position: absolute;
        top: calc( 50% - 0px );
        right: 10px;
    }
    .unit .sub_cnts .acc_ttl.open::after {
        transform: rotate( -135deg ) translateY( -50% ) translateX( -50% );
        top: calc( 50% - 10px );
        right: 10px;
    }
    .unit .sub_cnts .acc_box {

    }
    .unit .sub_cnts .acc_box .txt_group .txt_row {
        font-size: 14px;
        line-height: 1.2;
    }
    .unit .sub_cnts .acc_box .img_frame {
        width: 55%;
        max-width: 337px;
    }
    .unit .sub_cnts .season_info_row dt {
        gap: 10px 3px;
        margin-bottom: 5px;
        padding: 0;
    }
    .unit .sub_cnts .season_info_ttl {
        width: 100%;
        font-size: 15px;
    }
    .unit .sub_cnts .season_date {
        font-size: 14px;
        margin-left: 0.5em;
        letter-spacing: -1px;
    }
    .unit .sub_cnts .season_caution {
        font-size: 10px;
    }
    .unit .sub_cnts .season_info_detail {
        font-size: 12px;
        padding-left: 1em;
    }
    .unit .box_naire_sublist {
        margin-left: 1em;
    }
    .unit .sub_cnts .acc_box .txt_group {
        margin: 20px auto 15px;
    }
    .unit .sub_cnts .season_info {
        margin-top: 15px;
    }
    .unit .sub_cnts .season_info_row {
        margin-bottom: 25px;
    }
}

/* ========================================
   noshi_new.css の上書き（差分のみ）
   ※ 2025/03 追記：フォントサイズ・レイアウト調整
   ======================================== */
.main-contents h2 {
    font-size: 1.7rem;
    margin: 88px auto;
}
.section-title-deco {
    font-size: 1.7rem;
}
.header_conts .header_title {
    font-size: 1.5rem;
}
.header_conts .header_txt {
    font-size: 1rem;
    margin: 40px 0 80px;
}
.unit .contents-title {
    font-size: 1.5rem;
}
.unit .contents-title-tag {
    font-size: 1.2rem;
}
.unit .notes {
    font-size: 1rem;
}
.caution_list {
    text-align: left;
}
.caution_list li {
    font-size: 0.85rem;
}
.caution_list li::before {
    content: "\203B";
}
.unit {
    margin-bottom: 5rem;
}
.unit .sub_cnts {
    margin-top: 60px;
}
.unit .sub_cnts.sub_cnts_slim {
    margin-top: 30px;
}
.unit .sub_cnts .list_title {
    font-size: 1.5rem;
}
.unit .sub_cnts .attention {
    font-size: 0.95rem;
    text-align: center;
}
.unit .notes.box_notes {
    font-size: 0.95rem;
    width: 80% !important;
    margin: 0 auto !important;
    text-align: left !important;
}
.unit .notes.box_notes .notes_row {
    width: 60%;
    margin: 0 auto;
}
.unit .notes.box_notes .caution_list {
    width: 60%;
    margin: 0 auto;
    margin-top: 20px;
}
.unit .sub_cnts .table_conts th,
.unit .sub_cnts .table_conts td {
    font-size: 0.9rem;
}
.unit .box_naire {
    font-size: 1rem;
    width: 80% !important;
    margin: 40px auto 0 !important;
    text-align: left !important;
}
.unit .box_naire .ttl {
    font-size: 1.2rem;
}
.unit .box_naire .subttl {
    font-size: 1rem;
}
.unit .box_naire_list {
    width: 67%;
}
.unit .box_naire_list li::before {
    content: "\30FB";
}
.unit .sub_cnts .acc_ttl {
    font-size: 1.2rem;
}
.unit .sub_cnts .acc_box .txt_group .txt_row {
    font-size: 0.85rem;
}
.unit .sub_cnts .season_info_ttl {
    font-size: 1.1rem;
}
.unit .sub_cnts .season_date {
    font-size: 1rem;
}
.unit .sub_cnts .season_caution {
    font-size: 0.8rem;
}
.unit .sub_cnts .season_info_detail {
    font-size: 0.9rem;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .unit .sub_cnts .acc_ttl {
        font-size: clamp(0.9rem, 2vw, 1.2rem);
    }
    .unit .sub_cnts .acc_box .txt_group .txt_row {
        font-size: clamp(0.75rem, 1.6vw, 0.85rem);
    }
}
@media screen and (max-width: 640px) {
    .main-contents h2 {
        margin: 20px auto 60px;
        font-size: 1.4rem;
    }
    .section-title-deco {
        font-size: 1.4rem;
    }
    .notes {
        margin-bottom: 1rem;
    }
    .header_conts .header_title {
        font-size: 1.1rem;
    }
    .header_conts .header_txt {
        font-size: 0.85rem;
        margin: 25px 0 50px;
    }
    .unit {
        margin-bottom: 4rem;
    }
    .unit.etc_unit {
        margin-bottom: 1rem;
    }
    .unit .contents-title {
        font-size: 1.1rem;
        margin: 30px 0 25px;
    }
    .unit .contents-title-tag {
        font-size: 0.9rem;
        padding: 0 0.5em;
    }
    .unit .notes {
        font-size: 0.8rem;
    }
    .unit .notes.box_notes {
        font-size: 0.75rem;
        padding: 15px 10px;
        width: 96% !important;
    }
    .unit .notes.box_notes .notes_row {
        width: 90%;
    }
    .unit .notes.box_notes .caution_list {
        margin-top: 10px;
    }
    .caution_list li {
        font-size: 0.7rem;
    }
    .unit .sub_cnts {
        margin-top: 45px;
    }
    .unit .sub_cnts.sub_cnts_slim {
        margin-top: 20px;
    }
    .unit .sub_cnts .list_title {
        font-size: 0.9rem;
        border-left: 6px solid #000000;
        border-bottom: 2px solid #000000;
        padding: 3px 8px;
        letter-spacing: 1px;
    }
    .unit .sub_cnts .img_frame {
        margin-bottom: 20px;
    }
    .unit .sub_cnts .img_frame.noshi_img {
        width: 90%;
        max-width: 610px;
        margin-bottom: 30px;
    }
    .unit .sub_cnts .attention {
        font-size: 0.75rem;
        padding: 0.7em;
        margin-top: 15px;
    }
    .unit table {
        margin-top: 2em;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(1) {
        width: 30%;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(2) {
        width: 40%;
    }
    .unit .sub_cnts .table_conts th:nth-of-type(3) {
        width: 30%;
    }
    .unit .sub_cnts .table_conts {
        margin-bottom: 20px;
    }
    .unit .sub_cnts .table_conts th,
    .unit .sub_cnts .table_conts td {
        padding: 3px;
        font-size: 0.7rem;
    }
    .unit .sub_cnts .table_conts td {
        text-align: left;
    }
    .unit .box_naire {
        font-size: 0.8rem;
        padding: 1em;
        margin-top: 20px;
    }
    .unit .box_naire .ttl {
        font-size: 0.9rem;
    }
    .unit .box_naire .subttl {
        font-size: 0.8rem;
        text-align: left;
        margin-bottom: 10px;
    }
    .unit .box_naire_list {
        width: 100%;
    }
    .unit .box_naire_list li {
        font-size: 0.75rem;
    }
    .unit .sub_cnts .scene_list {
        gap: 15px;
    }
    .unit .sub_cnts .scene_list li {
        width: 100%;
        padding: 5px 15px;
    }
    .unit .sub_cnts .acc_ttl {
        font-size: 0.9rem;
    }
    .unit .sub_cnts .acc_box .txt_group .txt_row {
        font-size: 0.85rem;
        line-height: 1.2;
    }
    .unit .sub_cnts .acc_box .img_frame {
        width: 55%;
        max-width: 337px;
    }
    .unit .sub_cnts .season_info_row dt {
        gap: 10px 3px;
        margin-bottom: 5px;
        padding: 0;
    }
    .unit .sub_cnts .season_info_ttl {
        width: 100%;
        font-size: 0.9rem;
    }
    .unit .sub_cnts .season_date {
        font-size: 0.85rem;
        margin-left: 0.5em;
        letter-spacing: -1px;
    }
    .unit .sub_cnts .season_caution {
        font-size: 0.65rem;
    }
    .unit .sub_cnts .season_info_detail {
        font-size: 0.75rem;
        padding-left: 1em;
    }
    .unit .box_naire_sublist {
        margin-left: 1em;
    }
    .unit .sub_cnts .acc_box .txt_group {
        margin: 20px auto 15px;
    }
    .unit .sub_cnts .season_info {
        margin-top: 15px;
    }
    .unit .sub_cnts .season_info_row {
        margin-bottom: 25px;
    }
}