@charset "utf-8";
/* -----------------------------
 - common
----------------------------- */
.idc-commonbanner {
    display: none;
}
.main_lead,
.btn_ec_top,
.ac_products_title {
    max-width: 1120px;
    margin: 0 auto;
}
.main_mv {
    max-width: 1920px;
    margin: 0 auto;
}
.dining_fair {
    font-family: "Noto Sans Japanese";
}
.dining_fair .fa-angle-right {
    padding-left: 1rem;
}
@media (max-width: 767px) {
    .main_lead,
    .btn_ec_top {
        padding: 0 0.5rem;
    }
}


/* -----------------------------
 - main_lead
----------------------------- */
.main_lead {
    text-align: center;
    padding: 70px 0 0 0;
}
.main_lead_title {
    font-size: 52px;
    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;
}
.main_lead_text {
    font-size: 19px;
    margin-bottom: 34px;
    color: #222;
}
.main_lead_date {
    font-size: 27px;
    font-weight: bold;
    color: #c94652;
    display: inline-block;
    line-height: 1.5;
    border-bottom: 1px solid;
}
.main_lead_date span {
    font-size: 23px;
}
.main_lead_note {
    
font-size: 14px;
    
color: #565656;
}

@media (max-width: 767px) {
    .main_lead {
        padding: 60px 0 30px 0;
    }
    .main_lead_title {
        font-size: 36px;
        line-height: 1.4;
    }
    .main_lead_text {
        font-size: 18px;
    }
    .main_lead_date {
        font-size: 21px;
        margin-bottom: 0px;
    }
    .main_lead_date span {
        font-size: 18px;
    }
    .main_lead_note {
        margin-top: 1rem;
        font-size: 12px;
    }    
}

/* -----------------------------
 - ac_products_title
 - ac_products_title2
 - ac_products_line
----------------------------- */
.ac_products_title {
    font-size: 15px;
    padding: 70px 0 0;
}

.ac_products_title2 {
    background-color: #eee;
}

.ac_products_title_main {
    font-size: 32px;
    font-weight: normal;
    font-family: serif;
    letter-spacing: 2px;
    color: #222;
    line-height: 1;
    display: flex;
    align-items: center;
}

.ac_products_title_main:after {
    content: "";
    flex-grow: 1;
    border-top: .1rem solid;
}

.ac_products_title_main2{
    text-align: center;
    font-family: serif;
    font-size: 32px;
    font-weight: normal;
    letter-spacing: 2px;
    color: #222;
    line-height: 1;
}


.ac_products_title_sub {
    margin: 6px auto 39px;
    color: #565656;
    /* padding: 0 40px; */
}

.ac_products_title_sub2 {
    margin-bottom: 0;
    padding-bottom: 39px;
    text-align: center;
}

.ac_products_title_sub_off {
    font-weight: bold;
    color: #e30014;
    font-family: serif;
    font-size: 20px;
    letter-spacing: -0.2px;
}

/* ------- 三角背景 ------- */
.triangle{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #eee;
    padding-bottom: 40px;
   }
   .triangle img{
    max-width: 120px;
   }
   
   
@media (max-width: 767px) {
    .ac_products_title {
        font-size: 12px;
        padding: 50px 0 0;
    }
    .ac_products_title_main {
        font-size: 25px;
        padding: 0 1rem 0;
    }
    .ac_products_title_sub {
        color: #575757;
        padding: 0 1rem 0;
    }
    .triangle img{
        max-width: 120px;
    }
}

/* -----------------------------
 - btn_ac_products_1
 - btn_ac_products_2
 - btn_ec_top
----------------------------- */
.btn_ac_products_1 {
    text-align: center;    
}

.btn_ac_products_2{
    text-align: center;
    background-color: #eee;  
}

.btn_ac_products_1 a {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    background-color:#39a2d5;
    padding: 1rem 10rem;
    display: inline-block;
    margin-top: 45px;
}
.btn_ac_products_1 a:hover{
    background-color: #222;
    color:#FFF;
}

.btn_ac_products_2 a {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    background-color:#39a2d5;
    padding: 1rem 10rem;
    margin-bottom: 3rem;
    display: inline-block;
    margin-top: 45px;
}
.btn_ac_products_2 a:hover{
    background-color: #222;
    color:#FFF;
}
.btn_ec_top {
    text-align: center;
    /* text-decoration: underline; */
    margin-top: 30px;
}
.btn_ec_top:hover {
    text-decoration: underline;
  } 

@media (max-width: 767px) {
    .btn_ac_products_1,
    .btn_ac_products_2 {
        padding: 0 1rem 0;
    }
    .btn_ac_products_1 a{
        padding: 0.5rem 1rem;
        width: 95%;
        margin-top: 0px;
    }
    .btn_ac_products_2 a{
        padding: 0.5rem 1rem;
        width: 95%;
        margin-top: 35px;
    }
}

/* -----------------------------
 - image-containr_box2
 - image-containr
 - image-containr_2
 -item
 -caption
----------------------------- */


.image-containr {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: nowrap;
    padding: 0 40px 20px;
}

.image-containr_box2{
    background-color: #eee;
}

.image-containr_2 {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: nowrap;
    padding: 0 40px 20px;
}

.item {
    display: flex;
    flex-direction: column; /* 上下に並べる */
    align-items: center;    /* 中央揃え */
    text-align: center;
}

.imag-thumbnail {
    width: 300px;
    height: auto;
    border:1px solid #ddd
    transition: transform 0.3s ease; 
}

.img-thumbnail:hover {
    transform: scale(1.05); /* ホバー時の拡大効果（任意） */
}
.caption {
    margin-top: 10px;
    font-size: 16px;
    color: #333;
    text-decoration: none;
}

.caption:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .image-containr {
        display: flex;
        gap: 40px;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .image-containr_2 {
        display: flex;
        gap: 40px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item {
        padding: 0 1rem 0;
    }
}