body{
    color: #341805;
    text-rendering:auto;
}
main{
    position: relative;
}
.top{
    margin-bottom: 0;
}
.top .day{
    top: 81%;
}
.sp_link{
    display: none;
}
.bira{
    z-index: 0;
}

button a p{
    padding: 6px 4.5%;
    font-size: 2.85vw;
}
button a .tag{
    position: absolute;
    top: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    padding: 0 1em;
    width: 22%;
    height: 100%;
    font-size: 1.1vw;
    font-weight: 900;
    line-height: 1.2em;
    border-radius: 0 100px 100px 0;
    color: #fff;
    background-color: #d40439;
    z-index: 1;
    transition: inherit;
}
button a .tag .tag-big{
    display: contents;
    font-size:1.9vw;
    line-height: 1em;
    /* transition: all .3s; */
}
button a:hover .tag{
    color:#d40439;
    background-color: #fff;
}
button a:hover .tag .tag-big{
    color:#d40439;
}

.color-red{
    color:#d40439;
}
.font-big{
    font-size: 1.5em;
    font-weight: 700;
}
.hl-yellow{
    background-color: #ffe142;
}


.banner_line{
    position: absolute;
    top: 0;
    width: 100%;
    background-image: url('../img/top/line-bg.png');
    background-size: 100%;
    /* z-index: 1; */
}
.banner_line-wrap{
    display: flex;
    align-items: end;
    margin: 0 auto;
    padding: 0 20px;
    /* max-width: 1140px; */
    /* width: 100%; */
    width: 83%;
}

.banner_line .banner_line-link{
position: relative;
    margin-top: auto;
    margin-bottom: auto;
    z-index: 1;
    /* margin-bottom: 50px; */
}

.speak .speak_in{
    z-index: 0;
}
.speak .speak_in li:last-child{
    margin-top: -200px;
}

.speak .speak_in li figure{
    width: 60%;
}

.benefits{
    position: relative;
    background-image: none;
}
.benefits::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(255, 255, 255, 0), #fdd600);
    opacity: .2;
}

.benefits_list{
    display: flex;
    flex-wrap: wrap;
    gap: 1.19vw;
    padding: 0 0.257vw 0 1.37vw;
}
.benefits_list_row{
    display: flex;
    gap: 2.084vw;
    width: 100%;
}
.benefits_list-item{
    padding-bottom: 0.833vw;
    width: 50%;
    border: 0.357vw solid transparent;
    border-radius: 1.071vw;
    background-color: #fff;
    filter: drop-shadow(0 0 1.785vw rgba(0,0,0,.1));
}
.benefits_list-item_head{
    position: relative;
    display: flex;
    padding: 0.833vw 0 0 1.458vw;
    font-weight: 900;
}
.benefits_list-item_head .num{
    position: relative;
    font-size: 2.084vw;
    height: fit-content;
}
.benefits_list-item_head .num::before{
    content: '';
    position: absolute;
    top: 50%;
    left: -100%;
    display: block;
    width: 1.845vw;
    height: 1.845vw;
    border-radius: 50%;
    background-color: #ffe142;
    transform: translateY(-50%);
}
.benefits_list-item_head .head-ttl{
    display: flex;
    align-items: center;
    margin-top: -0.3vw;
    padding-left: 0.595vw;
    font-size: 1.31vw;
    line-height:1.5;
}
.benefits_list-item_head .head-ttl.f-column{
    flex-direction: column;
    align-items: start;
    margin-top: 0;
}
.benefits_list-item_head .head-ttl span{
    line-height: 1.5;
}
.benefits_list-item_head .head-ttl .big{
    color: #d40439;
    font-size: 2.381vw;
}
.benefits_list-item_head .icon{
    position: absolute;
    top: 0;
    right: 0;
    width: 7.92vw;
}

.al-center{
    display: flex;
    align-items: center;
}
.benefits_list-item_det{
    padding-left: 4.072vw;
    font-size: 0.893vw;
}
.benefits_list-item_badge{
    display: block;
    margin-top: 0.505vw;
    margin-left: 4.072vw;
    padding: 0.178vw 0.714vw;
    width: fit-content;
    height: fit-content;
    color: #3da745;
    font-size: 0.893vw;
    background-color:#ffe142;
}

.benefits_list-item.line-link{
    border: 0.357vw solid #9ad39e;
    color: #fff;
    background-color: #3da745;
}

.benefits_list-item.line-link .benefits_list-item_head .head-ttl .big{
    color: inherit;
}

.benefits_list_col{
    display: flex;
    flex-wrap: wrap;
    gap: 1.19vw;
    width: 50%;
}
.benefits_list_col .benefits_list-item{
    width: 100%;
}
br.b-pc{
    display: block;
}
br.b-sp{
    display: none;
}


.mekar{
    position: relative;
    background-image: none;
}
.mekar::before{
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 62%;
    background-image: linear-gradient(rgba(255, 255, 255, 0), #fdd600);
    opacity: .2;
}

.radial .radial_in{
    background: url('../img/top/radial_bg.png');
    background-repeat: no-repeat;
    background-size: cover;
}

.goods .goods_in .txt h4{
    color: #042439;
}

.goods-slider{
    padding-bottom: 3% !important;
}
.goods-slider__ui{
    display: flex;
    margin-bottom: 30px;
}
.goods-slider__num{
    position: static !important;
    margin-top: auto;
    margin-right: 35px;
    margin-bottom: auto;
    width: auto !important;
    font-weight: bold;
}
.goods-slider__btn{
    display: flex;
    gap: 10px;
}
.goods-slider__btn-next,
.goods-slider__btn-prev{
    position: static !important;
    margin: 0 !important;
    width: 50px !important;
    height: 50px !important;
    color: #fff !important;
    border-radius: 50%;
    background-color: #341805;
    filter: none;
}
.goods-slider__btn-next::after,
.goods-slider__btn-prev::after{
    font-size: 20px !important;
}
.goods-slider__item{
    padding: 0 1%;
    box-sizing: border-box;
}


/* section{
    position: relative;
    z-index: 1;
} */
.acc{
    padding-bottom: 180px;
}
.acc .acc_in .txt_en{
    margin-bottom: 0;
}

.acc_list{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: 
    'a b'
    'c d'
    'e d'
    'f d'
    'g h'
    'i j'
    'k l';
    gap: 30px;
    margin-bottom: 0 !important;
    max-width: 960px !important;
    width: 100%;
}
.acc_list-item{
    display: flex;
    flex-direction: column;
    width: auto !important;
}
.acc_list-item:nth-of-type(1){
    grid-area: a;
}
.acc_list-item:nth-of-type(2){
    grid-area: b;
}
.acc_list-item:nth-of-type(3){
    grid-area: c;
}
.acc_list-item:nth-of-type(4){
    grid-area: d;
}
.acc_list-item:nth-of-type(5){
    grid-area: e;
}
.acc_list-item:nth-of-type(6){
    grid-area: f;
}
.acc_list-item:nth-of-type(7){
    grid-area: g;
}
.acc_list-item:nth-of-type(8){
    grid-area: h;
}
.acc_list-item:nth-of-type(9){
    grid-area: i;
}
.acc_list-item:nth-of-type(10){
    grid-area: j;
}
.acc_list-item:nth-of-type(11){
    grid-area: k;
}
.acc_list-item:nth-of-type(12){
    grid-area: l;
}
.acc_list-item .lead{
    padding: 8px 24px;
    width: 100%;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    background-color: #341805;
}
.acc_list-item .txt{
    padding: 10px 24px;
    width: 100%;
}
.acc_list-item .list{
    flex-direction: column;
    padding-left: 1em;
    margin: 0 !important;
    width: auto !important;
    list-style: disc;
}
.acc_list-item .map{
    margin-top: auto;
    width: 100%;
    height: 220px;
}
.acc_list-item .map iframe{
    width: 100%;
    height: 100%;
}

.acc_list-item .list li{
    width: auto !important;
}

.con_form{
    background-color: #FEF8D4;
}
.con_form_in{
    position: relative;
    z-index: 1;
}

.con_form .con_form_in button{
    width: 100%;
    display: flex;
    justify-content: center;
}
.con_form .form_button::after{
    right: 4%;
}
.con_form .form_button .form-send{
    position: absolute;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
    clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0 100%, calc(100% - 2px) 50%, 0 0);
    background-color: #fff;
/*    width: 25px;*/
/*    width: 6.66vw;*/
/*    height: 60%;*/
    transition: all .3s;
}
.con_form .form_button .form-back{
    position: absolute;
    top: 50%;
    right: auto;
    left: 8%;
    transform: translateY(-50%) rotate(180deg);
    clip-path: polygon(2px 0, 100% 50%, 2px 100%, 0 100%, calc(100% - 2px) 50%, 0 0);
    background-color: #fff;
    width: 25px;
    height: 60%;
    transition: all .3s;
}


.con_form .form_button:has(>.form-back)::after{
    left: 8%;
    right: auto;
}


.main_site p{
    font-size: 46px;
}


.swiper-button-next:after,
.swiper-button-prev:after{
    position: relative;
    z-index: 5;
}


/*-----------------------
ラジオボタン
------------------------*/
input[type="radio"]{
    display: none;
}

.ragio label{
    position: relative;
    /* display: block; */
    padding-left: 30px;
    cursor: pointer;
    /* font-size: 18px; */
}
.ragio label::before{
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    display: block;
    height: 22px;
    width: 22px;
    border: 1px solid #1a1311;
    border-radius: 50%;
    background-color: #fff;
}
.ragio label::after{
    content: '';
    position: absolute;
    top: 10px;
    left: 5px;
    display: none;
    width: 12px;
    height: 12px;
    background: #b40019;
    border-radius: 50%;
}
.ragio label:has(input:checked)::after{
    display: block;
}

@media screen and (max-width: 1200px) {
    .speak .speak_in{
        padding-top: 280px;
    }
    .speak .speak_in li:last-child{
        margin-top: -120px;
    }
}
@media screen and (max-width: 900px){
    .contact_aicon{
        padding: 0;
    }
    .contact_aicon:hover .contact_aicon_in img{
        transform: none;
    }
    .sp_link{
        display: block;
    }
    
    .sp_span{
        display: none;
    }
    .acc{
        padding-bottom: 90px;
    }
    .speak .speak_in{
        padding-top: 230px;
    }
}
@media screen and (max-width: 601px) {
    .top{
/*        margin-bottom: -150px;*/
    }
    .top .day {
        top: 77%;
    }

    .benefits_list{
        gap: 2.67vw;
        padding: 0 4vw 0 6.67vw;
    }
    .benefits_list_row{
        flex-wrap: wrap;
        gap: 2.67vw;
    }
    .benefits_list-item{
        padding-bottom: 4.26vw;
        width: 100%;
        border: 1.6vw solid transparent;
        border-radius: 4.8vw;
    }
    .benefits_list-item_head{
        padding: 2.93vw 0 0 3.28vw;
    }
    .benefits_list-item_head .num{
        position: relative;
        font-size: 8vw;
        height: fit-content;
    }
    .benefits_list-item_head .num::before{
        left: -80%;
        width: 6.13vw;
        height: 6.13vw;
    }
    .benefits_list-item_head .head-ttl{
/*        margin-top: -0.3vw;*/
        padding-left: 1.787vw;
        font-size: 4.27vw;
/*        line-height: 2.551vw;*/
    }
    .benefits_list-item_head .head-ttl.f-column{
        margin-top: 2.66vw;
    }
    .benefits_list-item_head .head-ttl.f-column-sp{
        flex-direction: column;
        align-items: start;
    }
    .benefits_list-item_head .head-ttl .big{
        font-size: 5.87vw;
    }
    .benefits_list-item_head .icon{
        display: none;
    }
    .al-center{
        display: inline;
    }
    .benefits_list-item_det{
        padding-left: 14.93vw;
        font-size: 3.46vw;
    }
    .benefits_list-item_badge{
        margin-top: 1.96vw;
        margin-left: 15.804vw;
        padding: 0.691vw 2.771vw;
/*        font-size: 0.893vw;*/
        font-size: 3.466vw;
        3.88129899
    }
    .benefits_list-item.line-link{
        border: 1.6vw solid #9ad39e;
    }
    
    .benefits_list_col{
        gap: 2.67vw;
        width: 100%;
    }
    .benefits_list_col .benefits_list-item{
        width: 100%;
    }

    br.b-pc{
        display: none;
    }
    br.b-sp{
        display: block;
    }

    .radial .radial_in{
        background: url('../img/top/radial_bg_sp.png');
    }

    .banner_line{
        position: relative;
        margin-bottom: -450px;
    }
    .speak .speak_in{
        padding-top: 480px;
    }
    .speak .speak_in li figure{
        width: 90%;
    }
    .speak .speak_in li:last-of-type{
        margin-top: -70px;
    }
    .main_site p{
        font-size: 6.85vw ;
    }
    .acc{
        padding-bottom: 60px;
    }
    .acc_list{
        display: flex !important;
        margin-bottom: 0 !important;
    }


    .banner_line{
        background-image: url('../img/top/line-bg_sp.png');
        background-size: 100%;
    }

    .banner_line-wrap{
        position: relative;
        flex-direction: column;
        padding-top: 35%;
    }
    .banner_line .banner_line-link{
        position: absolute;
        left: calc(50% - 35%);
        top: auto;
        bottom: 0;
        width: 70%;
    }

    button a{
        display: flex;
        flex-direction: column;
    }
    button a .tag{
        position: static;
        padding: 4px;
        width: 100%;
        border-radius: 0;
        font-size: 14px;
        text-align: center;
        justify-content: center;
    }
    button a .tag br{
        display: none;
    }
    button a .tag .tag-big{
        font-size: 14px;
    }
    button a p{
        padding: 6px 4.5%;
    }

    .con_form .form_button::after{
        width: 20px;
    }
}

