@charset "UTF-8";
.method_wrap{
    padding-top: min(110px , 15vw);
    padding-bottom: min(110px , 15vw);
}
.method_wrap h2{
    text-align: center;
    font-size: min(30px , 5vw);
    margin-bottom: min(50px , 12vw);
    font-weight: 500;
}

.method__head + p{
    text-align: center;
}
.method__head{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.method__head::after{
    content: "";
    display: block;
    aspect-ratio:1 / 1;
    background: url("../img/top/icon-dial.webp") no-repeat center / contain;
    width: 10%;
    max-width: 50px;
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50% , -50%);    
}

.method__head .method__head__item{
    aspect-ratio: 1 / 1;
    position: relative;
    mix-blend-mode: multiply;
}
.method__head .method__head__item:first-of-type{
    transform: translateX(8%);
}
.method__head .method__head__item:last-of-type{
    transform: translateX(-8%);
}

.method__head .method__head__item > p{
    position: absolute;
    display: flex;
    align-items: center;
    width: max-content;
}

.method__head .method__head__item::before{
    content: "";
    display: block;
    aspect-ratio: 1 / 1;
    position: absolute;
    top:0;
    left: 50%;
    transform: translate(-50% , -35%);
    width: 58%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.method__head .method__head__item:first-of-type::before{
    background-image: url("../img/top/method01.webp");
}
.method__head .method__head__item:last-of-type::before{
    background-image: url("../img/top/method02.webp");
}


.method__head .method__head__item .method__head__item__info{
    border-radius: 50%;
}

.method__head .method__head__item:first-of-type .method__head__item__info{
    background-color: var(--color-light-orange); 
}
.method__head .method__head__item:last-of-type .method__head__item__info{
    background-color: var(--color-light-orange2) ; 
}

.method__head .method__head__item .method__head__item__info{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.method__head .method__head__item .method__head__item__info > p{
    font-family: var(--font-zenoldmincho);
}
.method__head + p{
    font-family: var(--font-zenoldmincho);
}
@media (max-width: 767.9px) {
    .method__head .method__head__item{
        width: 220px;
    }
    .method__head .method__head__item > p{
        gap:3px;
        flex-direction: column;
        bottom:0;
        left: 50%;
        transform:translate(-50% , calc(100% - 25px))
    }
    .method__head .method__head__item > p::before{
        content: "";
        display: block;
        width: 1px;
        height: 50px;
        background-color: var(--color-default);
    } 
    .method__head .method__head__item .method__head__item__info > p{
        font-size:32px;
    }
    .method__head + p{
        margin-top: 80px;
    }
    .method__head + p br.method__spnone{
        display: none;
    }
}
@media (max-width: 489px) {
    .method__head .method__head__item{
        width: 54%;
    }
    .method__head .method__head__item > p{
        gap:.3vw;
        transform:translate(-50% , calc(100% - 6.3vw));
    }
    .method__head .method__head__item > p::before{
        height: 12.6vw;
    } 
    .method__head .method__head__item .method__head__item__info > p{
        font-size:6.8vw;
    }
    .method__head + p{
        margin-top: 20vw;
    }
}

@media (min-width: 768px) {
    .method__head .method__head__item{
        width: 200px;
    }
    .method__head .method__head__item > p{
        gap:6px;
    }
    .method__head .method__head__item:first-of-type > p::after{
        content: "";
        display: block;
        width: 60px;
        height: 1px;
        background-color: var(--color-default);
    }
    .method__head .method__head__item:last-of-type > p::before{
        content: "";
        display: block;
        width: 60px;
        height: 1px;
        background-color: var(--color-default);
    }
    .method__head .method__head__item:first-of-type > p{
        top:50%;
        left: 0;
        transform: translate(calc(30px - 100%), -50%)
    }
    .method__head .method__head__item:last-of-type > p{
        top:50%;
        right: 0;
        transform: translate(calc(100% - 30px), -50%)
    }
    .method__head .method__head__item .method__head__item__info > p{
        font-size:36px;
    }
    .method__head + p{
        margin-top: 25px;
    }
    
}

@media (min-width: 991px) {
    .method__head .method__head__item{
        width: 250px;
    }
    .method__head .method__head__item > p{
        gap:8px;
    }
    .method__head .method__head__item:first-of-type > p::after{
        width: 80px;
    }
    .method__head .method__head__item:last-of-type > p::before{
        width: 80px;
    }
    .method__head .method__head__item:first-of-type > p{
        transform: translate(calc(40px - 100%), -50%)
    }
    .method__head .method__head__item:last-of-type > p{
        transform: translate(calc(100% - 40px), -50%)
    }
    .method__head .method__head__item .method__head__item__info > p{
        font-size:38px;
    }
    .method__head + p{
        margin-top: 30px;
    }
}

.about__section{
    padding-top: min(80px , 13.3vw);
    padding-bottom: min(80px , 13.3vw);   
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.about__head,
.about__section p{
    text-align: center;
}
.about__section p{
     font-family: var(--font-zenoldmincho);
}
.about__head span{
    display: block;
    font-size: min(16px , 4.27vw);
    font-weight: 600;
    margin-bottom: min(80px , 13.3vw);
}
.about__head h2{
    font-size: min(30px , 4.79vw);
    margin-bottom: 1em;
    font-weight: 500;
}
.about__section .button{
    margin-top: min(50px , 8vw);
}


@media (max-width: 767.9px) {
    .about__section{
        background-image: url("../img/default/default-bg-sp.webp");
    }
}
@media (max-width: 480px) {
    .about__head span{
        font-size: 4.8vw;
    }
}
@media (min-width: 490px) {
    .about__head span{
        font-size: 16px;
    }
}
@media (min-width: 768px) {
    .about__section{
        background-image: url("../img/default/default-bg.webp");
    }
}

.service__head span{
    font-weight: 600;
    margin-bottom: min(40px , 6.93vw);
    display: block;
    text-align: center;
}

.service__head figure{
    aspect-ratio: 30 / 7;
    margin-left: auto;
    margin-right: auto;
    
}
.service__head figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.service__section ol li{
    text-align: center;
    border-bottom: 1px solid var(--color-orange);
}

.service__section ol li p,
.service__section ol li a{
    
    letter-spacing: .05em;
    font-weight: 700;
}

@media (max-width: 767.9px) {
    .service__section ol li{
        padding: 16px 0;
    }
    .service__section ol li p,
    .service__section ol li a{
        font-size: 20px;
    }
}
@media (max-width: 489px) {
    .service__head span{
        font-size: 4.8vw; 
    }
    .service__head figure{
        width: 58.9vw;
    }
    .service__section ol li{
        padding: 2vw 0;
    }
    .service__section ol li p,
    .service__section ol li a{    
        font-size: 4vw;
    }
    .service__section .button{
        margin-top: 5vw;
    }
}
@media (min-width: 490px) {
    .service__head span{
        font-size: 16px; 
    }
    .service__head figure{
        width: 221px;
    }
    .service__section .button{
        margin-top: 30px
    }
}

@media (min-width: 768px) {
    .service__section ol{
        margin-top: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap:25px;
    }
    .service__section ol li{
        padding: 15px 0;
        width: calc(50% - 12.5px);
        max-width: 410px;
    }
    .service__section ol li p,
    .service__section ol li a{
        font-size: 16.5px;
    }
}

@media (min-width: 991px) {
    .service__section ol{
        gap:40px;
    }
    .service__section ol li{
        width: calc(50% - 20px);
    }
    .service__section ol li p,
    .service__section ol li a{
        font-size: 20px;
    }
    .service__section .button{
        margin-top: 40px
    }
}

@media (min-width: 1240px) {
    .service__section ol{
        gap:60px;
    }
    .service__section ol li{
        width: calc(50% - 30px);
    }
}


.philosophy__section{
    padding-top: min(80px , 13.3vw);
    padding-bottom: min(80px , 13.3vw);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.philosophy__section::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    background-color:rgba(0,0,0,.35) ;
    z-index: 1;
}
.philosophy{
    position: relative;
    z-index: 2;
}
.philosophy .philosophy__head span{
    display: block;
    text-align: center;
    color:white;
    font-weight: 600;
}
.philosophy .philosophy__head p{
    font-family: var(--font-zenoldmincho);
    color:white;
}

@media (max-width: 489px) {
    .philosophy__section{
        background-image: url("../img/top/philosphy-bg-sp.webp")
    }
    .philosophy .philosophy__head span{
        font-size: 4.8vw; 
        margin-bottom: 8vw;
    }
    /*.philosophy .philosophy__head p{
        font-size: 3vw;
    }*/
    .philosophy .button{
        margin-top: 56vw;
    }

}
@media (min-width: 490px) {
    .philosophy__section{
        background-image: url("../img/top/philosphy-bg.webp")
    }
    .philosophy .philosophy__head span{
        font-size: 16px; 
        margin-bottom: 35px;
    }
    .philosophy .button{
        margin-top: 120px;
    }
}
@media (min-width: 768px) {
    .philosophy .philosophy__head p br.philosophy__spnone{
        display: none;
    }
}
@media (min-width: 991px) {
    .philosophy .philosophy__head span{
        margin-bottom: 45px;
    }
    .philosophy .button{
        margin-top: 210px;
    }
}

.pickup > h2{
    display: block;
    text-align: center;
    font-weight: 600;
    font-family: var(--font-zenkaku);
}
.pickup__slide__wrap{
    position: relative;
    margin-left: auto;
    z-index: 2;
}

.pickup__slide__wrap .pickup__slide__item{
    position: relative;
}
.pickup__slide__wrap .pickup__slide__item::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color:rgba(92,85,85,.7);
    mix-blend-mode: multiply;
    position: absolute;
    left:0;
    top:0;
}
.pickup__slide__wrap .pickup__slide__item .pickup__slide__item__exp{
    position: absolute;
    width: 100%;
    top:50%;
    left: 0;
    text-align: center;
    transform: translate(0 , -50%);
    padding: min(2vw , 10px);
    z-index: 2;
}
.pickup__slide__wrap .pickup__slide__item p{
    line-height: 1.58em;
    text-align: center;
    color: white;
}
.pickup__slide__wrap .pickup__slide__item p.main{
    font-size: min(3.6vw , 16px);
    font-weight: 500;
}
.pickup__slide__wrap .pickup__slide__item p.sub{
    font-size: min(4vw , 20px);
    font-weight: 700;
    margin-top: min(2px , 1vw);
}
.pickup__slide__wrap .pickup__slide__pagination{
    padding-top: 12px;
    transform: translateY(100%);
}
.pickup__slide__wrap .pickup__slide__pagination .swiper-pagination-bullet{
    background:var(--color-light-gray);
    bottom:0;
    
}
.pickup__slide__wrap .pickup__slide__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background:var(--color-gray);
}

.pickup__slide__wrap .pickup__slide__next,
.pickup__slide__wrap .pickup__slide__prev{
    color: white;
}

.pickup__slide .swiper-slide{
    display: block;
    overflow: hidden;
    border-radius: 4px;
}
.pickup__slide .swiper-slide figure{
    aspect-ratio:168 / 123;
    /*background-color: #B7B7B7;*/
}
.pickup__slide .swiper-slide figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pickup__section p.cs{
    text-align: center;
}

@media (max-width: 990px) {
    .pickup__slide__wrap{
        width: 95vw;
    }
}

@media (max-width: 767.9px) {
    .pickup__slide__wrap .pickup__slide__next,
    .pickup__slide__wrap .pickup__slide__prev{
        width: 20px;
    }
}
@media (max-width: 489px) {
    .pickup > h2 {
        font-size: 4.8vw; 
        margin-bottom: 5.4vw;
    }
    .pickup__slide__wrap{
        margin-bottom: 8vw;
    }
    .pickup__slide__wrap .pickup__slide__item p.main{
        font-size: 3.4vw;
    }
    .pickup__slide__wrap .pickup__slide__item p.sub{
        font-size: 3.8vw;
    }
    .pickup__slide__wrap .pickup__slide__next,
    .pickup__slide__wrap .pickup__slide__prev{
        width: 5vw;
    }
}
@media (min-width: 490px) {
    .pickup > h2{
        font-size: 16px; 
        margin-bottom: 50px;
    }
    .pickup__slide__wrap{
        margin-bottom: 80px;
    }
    .pickup__slide__wrap .pickup__slide__item p.main{
        font-size: 16px;
    }
    .pickup__slide__wrap .pickup__slide__item p.sub{
        font-size: 20px;
    }
}

@media (min-width: 991px) {   
    .pickup__slide__wrap{
        width: calc(100% - (50% - 480px));
    }
}
@media (min-width: 1240px) {
    .pickup__slide__wrap{
        width: calc(100% - (50% - 592px));
    }
    
}

.contact__section{
    padding-top: min(72px , 13.3vw);
    padding-bottom: min(120px , 15.47vw);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.contact__head span{
    display: block;
    text-align: center;
    font-weight: 600;
}
.contact__head h2{
    font-size: min(16px , 4.8vw); 
    text-align: center;
    font-weight: 500;
    font-family: var(--font-zenkaku);
}

.contact__list li a{
    aspect-ratio:500 / 143;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0,0,0,.2);
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.contact__list li a::before{
    content: "";
    display: block;
    width: 11.45%;
    height: 1px;
    position: absolute;
    top:50%;
    left: 0;
    z-index: 2;
    background-color: white;
    transform: translate(0 , -50%);
}
.contact__list li a::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    z-index: 1;
    background-color: rgba(92, 85, 85, .6);
    mix-blend-mode: multiply;
}
.contact__list li a p{
    color: white;
    font-weight: 700;
    line-height: 1.45;
    position: relative;
    z-index: 2;
    text-align: center;
}

.contact__list li:first-of-type a{
    background-image: url("../img/default/contact01.webp");
}
.contact__list li:last-of-type a{
    background-image: url("../img/default/contact02.webp");
}

#thankspage{
    min-height: 540px;
    height: 100vh;
    display: flex;
    align-items: center;
    text-align: center;
}
#thankspage h1{
    font-size: min(16px , 3.9vw);
    margin-bottom: min(100px , 16vw);
}
#thankspage p + p{
    margin-top: 1em;
}
@media (max-width: 990px) {
    .contact__list{
        padding-left: 2.5vw;
        padding-right: 2.5vw;
    }
}
@media (max-width: 768px) {
    .contact__list li + li{
        margin-top:12px; 
    }
}
@media (max-width: 489px) {
     .contact__section{
        background-image: url("../img/default/default-bg-sp.webp");
    }
    .contact__head span {
        font-size: 4.8vw; 
        margin-bottom: 5.4vw;
    }
    .contact__list{
        margin-top: 5.33vw;
        padding-left: 0;
        padding-right: 0;
    }
    .contact__list li + li{
        margin-top:3.2vw; 
    }
    .contact__list li a p:first-of-type{
        font-size: 5vw;
    }
    .contact__list li a p:last-of-type{
        font-size: 4vw;
    }
}
@media (min-width: 490px) {
    .contact__section{
        background-image: url("../img/default/default-bg.webp");
    }
    .contact__head span {
        font-size: 16px; 
        margin-bottom: 50px;
    }
    .contact__list{
        margin-top: 60px;
    }
    .contact__list li a p:first-of-type{
        font-size: 24px;
    }
    .contact__list li a p:last-of-type{
        font-size: 20px;
    }
}
@media (min-width: 768px) {
    .contact__list{
        display: flex;
        gap:20px;
    }
    .contact__list li{
        width: calc(50% - 10px);
    }
    .contact__list li a p:first-of-type{
        font-size: 18px;
    }
    .contact__list li a p:last-of-type{
        font-size: 12px;
    }
}

@media (min-width: 991px) {
    .contact__list{
        gap:40px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .contact__list li{
        width: calc(50% - 20px);
    }
}

@media (min-width: 1240px) {
    .contact__list{
        padding-left: 48px;
        padding-right: 48px;
    }
    .contact__list li a p:first-of-type{
        font-size: 24px;
    }
    .contact__list li a p:last-of-type{
        font-size: 20px;
    }
}


/*profile*/
.profile{
    margin-left: auto;
    margin-right: auto;
    max-width: 590px;
}
.profile__info figure{
    aspect-ratio:28 / 33;
    margin-left: auto;
    margin-right: auto;
    width: 58.67vw;
    max-width: 280px;
}
.profile__info figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile__info__exp{
    text-align: center;
    margin-top: min(30px , 3.2vw);
}
.profile__info__exp .profile__info__exp__head{
    margin-bottom: min(20px , 2vw);
}

.profile__info__exp .profile__info__exp__head > .profile__info__exp__head__title{
    font-size: min(20px , 4vw);
    font-weight: 500;
    line-height: 2.2;
    font-family: var(--font-zenoldmincho);
}
    
.profile__info__exp .profile__info__exp__head .profile__info__exp__head__name > h2{
    font-size: min(26px , 6.8vw);
    font-family: var(--font-zenoldmincho);
    font-weight: 500;
}
.profile__info__exp .profile__info__exp__head .profile__info__exp__head__name > span{
    color: var(--color-orange);
    display: block;
    font-size: min(14px , 3.6vw);
    line-height: 1;
    font-family: var(--font-zenoldmincho);
    font-weight: 500;
}
.profile__info__exp > p{
    line-height: 1.78em;
    font-weight: 500;
}

.profile__exp{
    margin-top: min(50px , 8vw);
}
.profile__exp > p{
    letter-spacing: .01em;
    
}

.profile__link{
    margin-top: min(40px , 5.33vw);
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
    ;
    font-weight: 500;
    padding: min(28px , 3.2vw) 2px;
    border: 1px solid var(--color-orange);
}
.profile__link > span{
    display: block;
    color: var(--color-orange);
}
@media (min-width: 768px) {
    .profile__link{
        font-size: 3.6vw;
    }
    .profile__link > span{
        font-size: 4vw;
    }
    
}
@media (min-width: 768px) {
    .profile__link{
        font-size: 14px;
    }
    .profile__link > span{
        font-size: 18px;
    }
    .profile__link > span br{
        display: none;
    }
}

.message__section{
    padding-top: min(80px, 21.3vw );
    padding-bottom: min(86px, 21.5vw );
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
        
}
.message__section h2{
    font-weight: 600;
    text-align: center;
    font-family: var(--font-zenoldmincho);
    margin-bottom: min(50px , 8vw );
}
.message__info{
    max-width: 950px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
    padding-top: min(90px , 13.3vw);
    padding-bottom: min(78px , 11.73vw);
}

.message__info__exp{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.message__info__exp > p{
    line-height: 2.3em;
    letter-spacing: .01em;
    font-family: var(--font-zenoldmincho);
}

.message__info__exp > p + p{
    text-align: right;
    margin-top: min(40px , 8vw);
}

@media (max-width: 990px) {
    .message__info__exp {
        padding-left: 5vw;
        padding-right: 5vw;
    }

}
@media (max-width: 489px) {
    .message__section{
        background-image: url("../img/about/message-bg-sp.webp");
    }
    .message__section h2{
        font-size: 4.8vw;
    }
    .message__info__exp > p{
        letter-spacing: .001em;
    }
}
@media (min-width: 490px) {
    .message__section{
        background-image: url("../img/about/message-bg.webp");
    }
    .message__section h2{
        font-size: 16px;
    }
    
}
@media (min-width: 991px) {
    .message__info__exp {
        padding-left: 30px;
        padding-right: 30px;
        max-width: 650px;
    }
}
@media (min-width: 1240px) {
    .message__info__exp {
        padding-left: 48px;
        padding-right: 48px;
        max-width: 686px;
    }
}

/*service*/

.program__section,
.recipe__section{
    position: relative;
    background-color:var(--color-light-gray2);
}
.program__section::after,
.recipe__section::after{
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    top:0;
    left: 0;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.program {
    background-color: white;
    position: relative;
    z-index: 2;
}
.program h2{
    text-align: center;
    font-size: min(24px , 5vw);
    font-family: var(--font-zenkaku);
}
.program h2::after{
    content: "";
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--color-default);
    margin-top: min(20px, 1.4vw);
    width: 1px;
}
.program .program__list .program__list__item + .program__list__item{
    border-top: 1px solid var(--color-default);
}
.program .program__list .program__list__item figure{
    aspect-ratio:3 / 2;
}
.program .program__list .program__list__item figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.program .program__list .program__list__item .program__list__item__exp h3{
    margin-bottom: .5em;
}
.program .program__list .program__list__item .program__list__item__exp p{
    letter-spacing: .01em;
}
@media (max-width: 767.9px) {
    .program__section,
    .recipe__section{
        padding-top: min(75px , 20vw);
        padding-bottom: min(60px , 16vw);
    }
    .program__section::after{
        height: max(150px , 40vw);
        background-image: url("../img/service/program-img-sp.webp");
    }
    .recipe__section::after{
        height: max(150px , 40vw);
        background-image: url("../img/service/recipe-img-sp.webp");
    }
    .program{
        padding: min(5vw , 20px) min(5vw , 20px) min(16vw , 60px);
    }
    .program h2::after{
        height: min(20px , 5.3vw);
    }
    .program .program__list .program__list__item{
        padding-top: min(25px , 6vw);
        padding-bottom: min(25px , 6vw);
    }
    .program .program__list .program__list__item figure{
        width: min(250px , 64vw);
        margin-left: auto;
        margin-right: auto;
    }
    .program .program__list .program__list__item .program__list__item__exp{
        margin-top: min(15px , 3.7vw);
    }
    .program .program__list .program__list__item .program__list__item__exp h3{
        font-size: min(22px , 4.2vw);
        text-align: center;
    }
}
@media (min-width: 768px) {
    .program__section,
    .recipe__section{
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .program__section::after{
        height: 300px;
        background-image: url("../img/service/program-img.webp");
    }
    .recipe__section::after{
        height: 300px;
        background-image: url("../img/service/recipe-img.webp");
    }
    .program{
        width: 100%;
        max-width: 950px;
        margin-left: auto;
        margin-right: auto;
        padding: 60px 45px 40px;
    }
    .program h2::after{
        height: 40px;
    }
    .program .program__list .program__list__item{
        display: flex;
        align-items: center;
        padding-top: 25px;
        padding-bottom: 25px;
        gap:25px;
    }
    .program .program__list .program__list__item figure{
        width: 250px;
    }
    .program .program__list .program__list__item .program__list__item__exp{
        width: calc(100% - 275px);
    }
    .program .program__list .program__list__item .program__list__item__exp h3{
        font-size: 22px;
        
    }
}

@media (min-width: 1240px) {
    .program{
        padding: 60px 110px 40px;
        
    }
    .program .program__list .program__list__item{
        padding-top: 40px;
        padding-bottom: 40px;
        gap:30px;
    }
    .program .program__list .program__list__item .program__list__item__exp{
        width: calc(100% - 280px);
    }
}

.company h2{
    display: block;
    text-align: center;
    font-weight: 600;
}
.company__info{
    border: 1px solid var(--color-default);
}
.company__info h3,
.company__info p{
    line-height: 1.78em; 
    letter-spacing: .01em;
}
.company__info h3{
    font-weight: 600;
}

.company__info .company__info__item + .company__info__item{
    margin-top: min(25px , 5vw);
}
@media (max-width: 767.9px) {
    .company__info{
        padding: min(8vw , 30px) min(5vw , 20px);
    }
}
@media (max-width: 489px) {
    .company h2{
        font-size: 4.8vw;
        margin-bottom: 5.4vw;
    }
    .company__info h3,
    .company__info p{
        font-size: 4vw;
    }
}
@media (min-width: 490px) {
    .company h2{
        font-size: 16px;
        margin-bottom: 50px;
    }
    .company__info h3,
    .company__info p{
        font-size: 16px;
    }
    
}
@media (min-width: 768px) {
    .company{
        width: 100%;
        max-width: 950px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 45px;
        padding-right: 45px;
    }
    .company__info{
        padding: 45px 35px;
    }
    .company__info .company__info__item{
        display: flex;
    }
    
    .company__info .company__info__item h3{
        width: 110px;
    }
    .company__info .company__info__item p{
        width: calc(100% - 110px);
    }
    .company__info .company__info__item p br.company_pcnone{
        display: none;
    }
}
@media (min-width: 1240px) {
    .company{
        padding-left: 110px;
        padding-right: 110px;
    }
    .company__info{
        padding: 70px 79px;
    }
}

/*PHILOSOPHY*/
.philosophy__pagesection{
    position: relative;
    background-color:var(--color-light-gray2);
    padding-bottom: min(90px, 15vw);
}
.philosophy__pagesection::after{
    content: "";
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
    position: absolute;
    top:0;
    left: 0;
}
.philosophy__page__exp{
    position: relative;
    z-index: 2;
}
.philosophy__pagesection h2{
    text-align: center;
    background-color: white;
    font-weight: 500;
    margin-left: auto;
    margin-right: auto;
    font-size: min(30px , 5vw);
    margin-bottom: min(60px , 5vw );
}
.philosophy__pagesection p{
    text-align: center;
    letter-spacing: .05em;
    font-family: var(--font-zenoldmincho);
}


@media (max-width: 767.9px) {
    .philosophy__pagesection{
        padding-top: min(140px , 37.3vw);
    }
    .philosophy__pagesection::after{
        height: min(200px , 53.3vw);
        background-image: url("../img/philosophy/philisophy-img-sp.webp");
    }
    .philosophy__pagesection h2{
        padding-top: min(25px , 6.9vw);
        padding-bottom: min(25px , 6.9vw);
    } 
}
@media (max-width: 489.9px) {
    .philosophy__pagesection p{
        letter-spacing: .001em;
    }
}
@media (min-width: 490px) {
    
    .philosophy__pagesection p br.philosophy_pcnone{
        display: none;
    }
}
@media (min-width: 768px) {
    .philosophy__pagesection{
        padding-top: 300px;
    }
    .philosophy__pagesection::after{
        height: 400px;
        background-image: url("../img/philosophy/philisophy-img.webp");
    }
    .philosophy__pagesection h2{
        max-width: 600px;
        padding-top: 30px;
        padding-bottom: 30px;
    } 
}
@media (min-width: 1240px) {
    .philosophy__pagesection h2{
        padding-top: 50px;
        padding-bottom: 50px;
    } 
}

.method__section{
    padding-top: min(60px , 13.3vw);
}
.method__info{
    margin-bottom: min(30px , 3vw);
}
.method__info figure{
    aspect-ratio:30 / 7;
    width: min(360px , 58.9vw);
    margin-left: auto;
    margin-right: auto;
}
.method__info figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.method__info h2{
    text-align: center;
    font-weight: 500;
    margin-top: min(30px , 3vw);
    font-size: min(30px , 5.3vw);
}
.method__info > p{
    line-height: 2.4rem;
    text-align: center;
    font-family: var(--font-zenoldmincho);
}
.method__info .method__info__diagram{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    max-width: 475px;
    margin-left: auto;
    margin-right: auto;
    margin-top: min(20px , 2.7vw);
    margin-bottom: min(30px , 3.2vw);
}
.method__info .method__info__diagram::after{
    content: "";
    display: block;
    aspect-ratio: 1 / 1;
    width: 10.55%;
    position: absolute;
    top:50%;
    left: 50%;
    transform: translate(-50% , -50%);
    background: url("../img/philosophy/icon-dial-orange.webp") no-repeat center / contain;
}
.method__info .method__info__diagram p{
    aspect-ratio: 1 / 1;
    width: min(200px , 41.8%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(30px , 5.3vw);
    border: 1px solid var(--color-orange);
    border-radius: 50%;
    font-family: var(--font-zenoldmincho);
    font-weight: 500;
}

@media (max-width: 489.9px) {
    .method__info > p{
        letter-spacing: .001em;
    }
}

/*privacy policy*/
.privacy__info{
    padding-bottom: min(150px , 16vw);
    max-width: 832px;
    margin-left: auto;
    margin-right: auto;
}

.privacy__info > .privacy__info__item{
    margin-top: min(45px , 8vw)
}
.privacy__info h2{
    font-size: min(3.6vw , 16px);
    margin-bottom: .5em;
    font-family: var(--font-zenkaku);
}
.privacy__info h2,
.privacy__info p{
    line-height: 2.3em;
    letter-spacing: .01em;
}

.privacy__info > .privacy__info__item__exp{
    margin-top: min(100px ,13.3vw);
    display: flex;
    justify-content: flex-end;
}

/*contact*/
.contact__pagesection{
    padding-bottom: min(150px , 16vw);
}
.contact__wrap{
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
}
.contact__wrap > p{
    letter-spacing: .01em;
}
.contact__form{
    border-top: 1px solid var(--color-gray2);
}

.contact__confirm > p{
    text-align: center;
}


.contact__form dl dt p{
    letter-spacing: .01em;
    font-weight: 600;
}
.contact__form dl dt p,
.contact__form dl dd p,
.contact__form dl dd label,
.contact__form dl dd input,
.contact__form dl dd textarea{
    line-height: 1.78em
}
.contact__form dl:not(.form__checkbox) dd span{
    width: 100%;
}
.contact__form dl:not(.form__checkbox) dd input,
.contact__form dl:not(.form__checkbox) dd textarea{
    background-color: var(--color-light-gray4);
    outline: none;
    border: none;
    caret-color: black;
    width: 100%;
}
.contact__form dl dd span{
    display: inline-block;
}
.contact__form dl dd p{
    white-space: pre-wrap;
}
.contact__form dl.form__checkbox .wpcf7-radio{
    display: flex;
    flex-wrap: wrap;
}
.contact__form dl.form__checkbox .wpcf7-checkbox label{
    font-size: min(16px , 3.8vw);
}
.contact__form dl.form__checkbox label input + span{
    position: relative;
}
.contact__form dl.form__checkbox label input + span::before{
    content: "";
    display: block;
    aspect-ratio:1 / 1;
    border: 1px solid var(--color-gray2);
    border-radius: 50%;
    position: absolute;
    top:50%;
    transform: translate(0 , -50%);
    left:0;
}
.contact__form dl.form__checkbox label input[type = "radio"]{
    display: none;
}
.contact__form dl.form__checkbox label input[type = "radio"]:checked + span::after{
    content: "";
    display: block;
    aspect-ratio:1 / 1;
    background-color:var(--color-light-gray3) ;
    border-radius: 50%;
    position: absolute;
    top:50%;
    transform: translate(0 , -50%);
}

.contact__form .wpcf7-list-item{
    margin-left: 0;
}
.contact__option  a{
    font-size: min(14px , 3.6vw);
    text-align: center;
}
.contact__option  a:hover{
    text-decoration: underline;
}
.contact__option .contact__option__check{
    text-align: center;
}
.contact__option .contact__option__check input{
    display: none;
}
.contact__option .contact__option__check input + span{
    display: inline-block;
    position: relative;
    font-size: min(16px , 3.6vw);
}
.contact__option .contact__option__check input + span::before{
    content: "";
    display: block;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--color-gray2);
    position: absolute;
    top:50%;
    left: 0;
    transform: translate(0 , -50%);
}
.contact__option .contact__option__check input[type = "checkbox"]:checked + span::after{
    content: "\02713";
    display: block;
    aspect-ratio: 1 / 1;
    position: absolute;
    top:50%;
    transform: translate(0 , -50%);
    font-weight: 800;
}
.contact__option .contact__option__submit input,
.contact__option .contact__option__submit button{
    text-align: center;
    display: block;
    width: 190px;
    max-width: 50.67vw;
    font-size: min(3.8vw , 16px);
    background-color: var(--color-default);
    color: white;
    font-weight: 600;
    margin-left: auto;
    margin-right:auto;
    border: none;
    outline: none;
    opacity: 1;
    transition: .2s ease-out;
}
.contact__option .contact__option__submit.re__submit input,
.contact__option .contact__option__submit.re__submit button
{
     background-color: var(--color-orange);
}
.contact__option .contact__option__submit input:hover,
.contact__option .contact__option__submit button:hover{
    opacity: .8;
}

.contact__option .contact__option__submit button.is-disabled{
    opacity: 0.6;
    cursor: not-allowed;
}

.contact-step--confirm {
  display: none;
}

.js-confirm-error {
  display: block;
  margin-top: 8px;
  color: #d00;
  font-size: 14px;
}

.is-confirm-error {
  border-color: #d00 !important;
}
.contact__wrap .wpcf7 form.sent .wpcf7-response-output{
    display: none;
}
@media (max-width: 489px){
    .contact__wrap{
        padding: 8vw 5vw;
    }
    .contact__form{
        margin-top: 5.33vw;
        padding-top: 10.67vw;
    }
    .contact__confirm > p{
        letter-spacing: -0.05em;
    }
    .contact__form dl:not(.form__checkbox){
        margin-top: 4vw;
    }
    .contact__form dl.form__checkbox{
        margin-bottom: 13.3vw;
    }
    .contact__form dl dt{
        padding-top: 3vw;
        margin-bottom: 1vw;
    }
    .contact__form dl:not(.form__checkbox) dd input,
    .contact__form dl:not(.form__checkbox) dd textarea{
        padding: 4vw 3vw;
        font-size: 3.6vw;
    }
    .contact__form dl.form__checkbox{
        margin-bottom: 13.3vw;
    }
    .contact__form dl.form__checkbox .wpcf7-radio{
        gap:3.2vw;
    }
    .contact__form dl.form__checkbox label input + span{
        padding-left: 6vw;
    }
    .contact__form dl.form__checkbox label input + span::before{
        width: 5vw;
        margin-right: 2vw;
    }
    .contact__form dl.form__checkbox label input[type = "radio"]:checked + span::after{
        left:1vw;
        width: 3vw;
    }
    .contact__option{
        margin-top: 10.67vw;
    }
    .contact__option .contact__option__check{
        margin-top: 10.67vw;
    }
    .contact__option .contact__option__check input + span{
        padding-left: 5vw;
    }
    .contact__option .contact__option__check input + span::before{
        width: 4vw;
    }
    .contact__option .contact__option__check input[type = "checkbox"]:checked + span::after{
        font-size: 3.8vw;
        left: .5vw;
    }
    .contact__option .contact__option__submit{
        margin-top: 8vw;
    }
    .contact__option .contact__option__submit input,
    .contact__option .contact__option__submit button{
        padding: 2.7vw;
    }
}

@media (min-width: 490px){
    .contact__wrap{
        padding: 50px 30px;
    }
    .contact__form{
        margin-top: 20px;
        padding-top: 60px;
    }
    .contact__form dl dt{
        padding-top: 8.13px;
    }
    .contact__confirm .contact__form dl dt{
        padding-top: 0;
    }
    .contact__form dl:not(.form__checkbox) dd input,
    .contact__form dl:not(.form__checkbox) dd textarea{
        padding: 8.13px 10px;
    }
    .contact__form dl:not(.form__checkbox){
        margin-top: 10px;
    }
    .contact__form dl.form__checkbox{
        margin-bottom: 45px;
    }
    .contact__form dl.form__checkbox .wpcf7-radio{
        gap:10px 20px;
    }
    .contact__form dl.form__checkbox  label input + span{
        padding-left: 25px;
    }
    .contact__form dl.form__checkbox label input + span::before{
        width: 20px;
        margin-right: 5px;
    }
    .contact__form dl.form__checkbox label input[type = "radio"]:checked + span::after{
        left:4px;
        width: 12px;
    }
    .contact__option{
        margin-top: 70px;
    }
    .contact__option .contact__option__check{
        margin-top: 70px;
    }
    .contact__option .contact__option__check input + span{
        padding-left: 28px;
    }
    .contact__option .contact__option__check input + span::before{
        width: 18px;
    }
    .contact__option .contact__option__check input[type = "checkbox"]:checked + span::after{
        font-size: 16px;
        left: 3px;
    }
    .contact__option .contact__option__submit{
        margin-top: 30px;
    }
    .contact__option .contact__option__submit input,
    .contact__option .contact__option__submit button{
        padding: 10px;
    }
}
@media (min-width: 768px){
    .contact__form dl{
        display: flex;
    }
    .contact__form dl dt{
        width: 188px;
    }
    .contact__form dl dd{
        width: calc(100% - 188px);
    }
    .contact__form dl.form__checkbox dd{
        padding-top: 8.13px;
    }
    
}
@media (min-width: 991px){
    .contact__wrap{
        padding: 60px 50px;
    }
    .contact__form{
        margin-top: 25px;
        padding-top: 80px;
    }
    .contact__form dl:not(.form__checkbox){
        margin-top: 15px;
    }
    .contact__form dl.form__checkbox{
        margin-bottom: 50px;
    }
    .contact__form dl.form__checkbox .wpcf7-radio{
        gap:15px 25px;
    }
    .contact__option{
        margin-top: 80px;
    }
}
@media (min-width: 1240px){
    .contact__wrap{
        padding: 80px 100px;
    }
    .contact__form{
        margin-top: 30px;
        padding-top: 100px;
    }
    .contact__form dl:not(.form__checkbox){
        margin-top: 20px;
    }
    .contact__form dl.form__checkbox{
        margin-bottom: 60px;
    }
    .contact__form dl.form__checkbox .wpcf7-radio{
        gap:15px 30px;
    }
    .contact__option{
        margin-top: 90px;
    }
}


#nonepage{
    padding-top: min(150px , 35vw);
    padding-bottom: min(150px , 35vw);
}
#nonepage p{
    text-align: center;
}
#nonepage p + p{
    margin-top: 1em;
}
