  
/* -----------------------------
 - campaign-page
----------------------------- */
.campaign-page {
    font-family: "Noto Sans Japanese";
}

/* -----------------------------
 - main-visual
----------------------------- */

.main-visual {
    max-width: 1920px;
    margin: 0 auto;
}
.mv-image {
    display: none;
}
.mv-image.active {
    display: block;
}

/* -----------------------------
 - page-intro
----------------------------- */
.page-intro {
    text-align: center;
    padding: 70px 0 0 0;
}
.page-intro__title {
    font-size: 40px;
    font-weight: normal;
    font-family: serif;
    color: #000;
    line-height: 1.2;
    margin-bottom: 0;
    letter-spacing: 3px;
}
.main_lead_title__note {
    margin-bottom: 24px;
    color: #565656;
}
.page-intro__text {
    font-size: 19px;
    margin-bottom: 34px;
    color: #333;
}
.page-intro__date {
    font-size: 27px;
    font-weight: bold;
    color: #e8343d;
    display: inline-block;
    line-height: 1.5;
    border-bottom: 1px solid;
}
.page-intro__date span {
    font-size: 23px;
}
.page-intro__note {
    font-size: 14px;
    color: #565656;
}

@media (max-width: 767px) {
    .page-intro {
        padding: 44px 1rem 34px 1rem;
    }
    .page-intro__text {
        font-size: 17px;
        margin-bottom: 20px;
    }
    .main_lead {
        padding: 50px 1rem 30px;
    }
    .main_lead_title {
        font-size: 25px;
        line-height: 1.4;
    }
    .main_lead_text {
        font-size: 15px;
    }
    .main_lead_date {
        font-size: 21px;
        margin-bottom: 0px;
    }
    .main_lead_date span {
        font-size: 18px;
    }
    .page-intro__date {
        font-size: 22px;
    }
    .main_lead_note {
        margin-top: 1rem;
        font-size: 12px;
        margin-bottom: 4px;
    }   
    .page-intro__note {
        margin-bottom: 10px;
    } 
}

/* -----------------------------
 - campaign-tabs
 - campaign-tabs-bottom
----------------------------- */
.full-width-line-container {
    position: relative;
    width: 100%;
}
/* 画面幅100%の直線 (上タブの下) */
.full-width-line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 10px;
    top: calc(92px + 3.6em);
    z-index: 2;
}

.campaign-tabs {
    display: flex;
    flex-wrap: wrap;
    /* 要素を縦横に並べた際に、折り返しの指定をするためのプロパティ。 wrapを指定すると、横幅がオーバーした場合に、次の行に要素を折り返し */
    width: 1120px;
    margin: 0 auto;
    padding-top: 60px;
}

#tab1:checked ~ #content1,
#tab3:checked ~ #content3 {
  display: block;
}
/* ラジオボタン非表示 */
.campaign-tabs input {
    display: none;
}
/* タブ内のコンテンツを非表示 */
.tab-content {
    display: none;
}
.campaign-tabs > label {
    flex: 1 1;
    order: -1;
    /* Flexboxの並び順を変えるプロパティ。デフォルト（order: 0）より優先されて左側に来る。 */
    min-width: 70px;
    padding: 1.2em 1em 1.2em;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    background-color: #eeeae9;
    color: #535353;
    text-align: center;
    cursor: pointer;
    font-weight: bold;
    position: relative;
    z-index: 1;
}
.campaign-tabs > label:hover {
    opacity: 1;
}
.campaign-tabs > .tab-content {
    display: none;
    width: 100%;
   padding: 70px 1em 0 1rem; 
    background-color: #fff;
}
/* ↓↓選択中のタブスタイル↓↓ */
 .campaign-tabs input:checked + label {
    background-color: #55694d; 
    color: #fff; 
    border-bottom-color: #55694d;
    z-index: 2; 
}  

/* --- 下部タブボタンのスタイル --- */
 .campaign-tabs-bottom {
    display: flex;
    width: 100%;
    margin-top: 20px;
} 


.campaign-tabs-bottom label {
    flex: 1 1;
    text-align: center;
    padding: 1.2em 1em 1.2em;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    background-color: #eeeae9;
    color: #535353;
    transition: background-color 0.3s, color 0.3s;
    border-right: 1px solid #ddd;
    border-bottom: 3px solid transparent; /* 初期の下線 */
    font-weight: bold;
    box-sizing: border-box;
    position: relative; /* z-indexを適用するために必要 */
    z-index: 1;   
}



.campaign-tabs-bottom label:last-child {
    border-right: none;
}

.campaign-tabs-bottom label:hover {
    background-color: #e0e0e0;
}

/* アクティブな下部タブのスタイル */
 #tab1:checked ~ .campaign-tabs-bottom label[for="tab1"],
#tab3:checked ~ .campaign-tabs-bottom label[for="tab3"] {
     background-color: #55694d; 
     color: #fff;
     border-bottom-color: #55694d; /*アクティブな下線 */
} 


.full-width-line-bottom-container{
    position: relative;
    width: 100%;
}
.full-width-line-bottom {
    position: absolute;
    left: 0;
    width: 100%;
    height: 10px;
    /* background-color: #55694d; */
    z-index: 2;
    top:-98px
}


@media (max-width: 767px) {
    .full-width-line {
        top: calc(22px + 3.6em); 
        height: 7px;
    }
    .campaign-tabs {
        width: 100%;
        padding-top: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .campaign-tabs > label {
        margin-bottom: 0;
        padding: 0.8em 0.5em 0.1em;
        line-height: 1.4;
    }
    .campaign-tabs > .tab-content {
        padding: 30px 0 0 0;
    }
    .full-width-line-bottom {
        top: -76px;
        height: 7px;
    }
    .campaign-tabs-bottom label {
        line-height: 1.4;
        margin-bottom: 0;
    }
}

/* -----------------------------
 - campaign-section
 - campaign-section-intro
 - campaign-section-intro2
 - box4
----------------------------- */

.campaign-section {
    font-family: "Noto Sans Japanese";
}

.fa-angle-right  {
    padding-left: 1rem;
}
.fa-angle-down{
    padding-right: 5px;
}
.campaign-section-intro{
    text-align: center;
    padding-top: 30px;
}
.campaign-section-intro .page-intro__text{
    font-size: 18px;
    margin-bottom: 15px;
    color: #333;
}


@media (max-width: 767px) {
    .campaign-section-intro{
        padding: 25px 0 0 0;
    }
    .campaign-section-intro .page-intro__text{
        font-size: 17px;
        margin-bottom: 13px;
    }

}

/* -----------------------------
 - section-header 
 - ac_products_title2
 - ac_products_line
 - idcAMSContent01_2
----------------------------- */

.ac_products_title_2 {
    font-size: 15px;
}

.ac_products_title_main {
    font-size: 24px;
    padding-top: 30px;
    border-top: 1px solid #eee;
    margin-top: 50px;
    font-family: "Noto Sans Japanese";
    color: #333;
    text-align: center;
}

.ac_products_title_main_2 {
    font-size: 30px;
    font-family: serif;
    text-align: center;
    padding-top: 30px;
}

.ac_products_title_sub {
    margin: initial;
    color: #565656;
    text-align: center;
    font-size: 19px;
    line-height: 1.2;
}


.ac_products_title_sub_off {
    font-weight: bold;
    color: #e30014;
    font-family: system-ui;
    font-size: 27px;
    letter-spacing: -0.2px;
}
.idcAMSContent01_2{
    margin-bottom: 70px;
}

   
   
@media (max-width: 767px) {
    .section-header {
        /* padding-top: 60px; */
    }
    .title_2_bg{
        padding: 60px 0 60px;
    }
    .ac_products_title_main {
        font-size: 18px;
        padding: 0 1rem 0;
        padding-top: 25px;
        margin-top: 30px;
        
    }
    .ac_products_title_main_2 {
        font-size: 25px;
    }
    .ac_products_title_sub {
        color: #575757;
        padding: 0 1rem 0;
        font-size: 16px;
    }
    .idcAMSContent01_2{
        margin-bottom: 0;
    }
    
}


/* -----------------------------
 - ac_products_item
 - ac_products_item_box
 - ac_products_item_icon
----------------------------- */

/* .ac_products_item_box{
    padding-bottom: 70px;
} */


 .ac_products_item {
    max-width: 1120px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    justify-content: space-evenly;
} 

.ac_products_item_icon {
    width: calc(100% / 7);
    padding: 20px 8px;   
} 

.ac_products_item_icon a:hover{
    opacity: .5;
 }

.ac_products_item_icon .ac_item_text{
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
}


@media (max-width: 767px) {
    .ac_products_item {
        display: flex;
        justify-content: flex-start;
        margin-top: 10px;
    }
    .ac_products_item_icon {
        width: calc(100% / 3);
        padding: 8px;
    }

    .ac_products_item_icon .ac_item_text{
        font-size: 10px;
    }
}


/* -----------------------------
 - ac_products_btn
 - ac_products_footerbtn_box
 - ac_products_footerbtn
 - c_products_btn_top
----------------------------- */
.ac_products_footerbtn_box {
    /* background-color: #e9f0f6; */
    padding-bottom: 90px;
    padding-top: 40px;
}

.ac_products_btn,
.ac_products_footerbtn {
    text-align: center; 
}
.ac_products_btn a {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    background-color:#6c1214;
    padding: 1rem 4rem;
    margin-bottom: 70px;
    display: inline-block;
}

.ac_products_footerbtn a {
    font-size: 13px;
    color: #fff;
    background-color:#aaaaaa;
    padding: 1rem 5rem;
    display: inline-block;
    margin-top: 70px;
    /* border-radius: 28px; */
}

.ac_products_btn a:hover {
    background-color: #222;
    color:#FFF;
}
.ac_products_footerbtn a:hover {
    background-color: #222;
    color:#FFF;
}
.ac_products_btn_top{
    text-align: center;
    margin-top: 30px;
}


@media (max-width: 767px) {
    .ac_products_footerbtn_box {
        padding-bottom: 30px;
        padding-top: 0;
    }

    .ac_products_btn {
        padding: 0 1rem 0;
    }
    .ac_products_btn a{
        padding: 1.2rem 1rem;
        width: 71%;
        margin-bottom: 43px;
    }
    .ac_products_footerbtn {
        padding: 0 1rem 0;
    }
    .ac_products_footerbtn a{
        padding: 1.2rem 1rem;
        width: 70%;
        margin-top: 82px;
        margin-bottom: 0;
    }
    .ac_products_btn_top{
        text-align: center;
        margin-top: 30px;
    }
}

/* -----------------------------
 - 上部タブのアクティブ色切り替え
----------------------------- */

/* Japan Quality（tab1）の場合 */
#tab1:checked + label {
    background-color: #b88985;
    color: #fff;
    border-bottom-color: #b88985;
    z-index: 2;
}

/* 秋の夜長の安眠フェア（tab3）の場合 */
#tab3:checked + label {
    background-color: #55694d;
    color: #fff;
    border-bottom-color: #55694d;
    z-index: 2;
}


/* -----------------------------
 - 下部タブのアクティブ色切り替え
----------------------------- */
#tab1:checked ~ .campaign-tabs-bottom label[for="tab1"] {
    background-color: #b88985;
    color: #fff;
    border-bottom-color: #b88985;
}

#tab3:checked ~ .campaign-tabs-bottom label[for="tab3"] {
    background-color: #55694d;
    color: #fff;
    border-bottom-color: #55694d;
}

/* -----------------------------
 - ラインカラー切り替え
----------------------------- */

/* 上ライン */
#tab1:checked ~ .full-width-line-container .full-width-line {
    background-color: #b88985;
}
#tab3:checked ~ .full-width-line-container .full-width-line {
    background-color: #55694d;
}

/* 下ライン */
#tab1:checked ~ .full-width-line-bottom-container .full-width-line-bottom {
    background-color: #b88985;
}
#tab3:checked ~ .full-width-line-bottom-container .full-width-line-bottom {
    background-color: #55694d;
}