@charset "utf-8";

:root {
    --keyColorYellow: #fffd98;
    --colorYellow: #f6e30a;
    --colorYellow2: rgba(245, 244, 124, 0.35);
    --colorGreen: #007c42;

    --pcFontSize23: 2.3rem;
    --pcFontSize160: 16rem;
}

.wrapper1420{
    width: 142rem;
    max-width: calc(100% - 10rem);
    margin: 0 auto;
}
@media only screen and (max-width:1215px){
    .wrapper1420{
        width: 100%;
        max-width: 100%;
    }
    .wrapperFit {
        max-width: 40rem;
        margin: 0 auto;
    }
    .wrapperSp335 {
        width: 89.334%;
        max-width: 100%;
        margin: 0 auto;
    }
}

.secHero{
    position: relative;
    height: 108rem;
}
.secHero .img{
    position: absolute;
    width: 192rem;
    top: 0;
    left: calc(50% - 96rem);
}
.secHero .logoList{
    position: absolute;
    top: 2.35%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 2rem;
    z-index: 2;
}
.secHero .logoList a{
    display: block;
}
.secHero .logoList .logo01{
    width: 23.7rem;
}
.secHero .logoList .logoCross{
    width: 3.8rem;
}
.secHero .logoList .logo02{
    width: 23.2rem;
}
@media only screen and (max-width:1900px){
    .secHero{
        height: auto;
    }
    .secHero .img{
        width: 100%;
        position: static;
    }
}
@media only screen and (max-width:1215px){
    .secHero .logoList{
        top: 14.67vw;
        gap: 0 2.37vw;
    }
    .secHero .logoList .logo01{
        width: 38.13vw;
    }
    .secHero .logoList .logoCross{
        width: 5.87vw;
    }
    .secHero .logoList .logo02{
        width: 37.33vw;
    }
}

.cmnTitGreen{
    font-size: var(--pcFontSize35);
    color: var(--keyColorYellow);
    font-weight: 700;
    text-align: center;
    padding: 2.75rem 0;
    background: var(--colorGreen);
    text-shadow: 0 0 2rem rgba(255, 253, 152, 0.7);
}
@media only screen and (max-width:1215px){
    .cmnTitGreen{
        font-size: var(--spFontSize17);
        line-height: var(--spLineHeight17_26);
        padding: 1.2rem 0;
    }
}

.secPoint .topBox{
    padding: 5.4rem 0 13rem;
}
.secPoint .topBox.lazyloaded{
    background: url(../img/autumn_fair2026/bgPoint.jpg) center bottom / cover;
}
.secPoint .topTxt{
    font-size: var(--pcFontSize24);
    line-height: calc(42 / 24);
    font-weight: 700;
    text-align: center;
    color: var(--white);
}
.secPoint .txt{
    font-size: var(--pcFontSize50);
    color: var(--keyColorYellow);
    font-weight: 700;
    text-align: center;
    margin-top: 2.5rem;
    padding-bottom: 5.3rem;
    position: relative;
}
.secPoint .txt::after{
    position: absolute;
    content: "";
    width: 64.9rem;
    height: 3rem;
    bottom: 0;
    left: calc(50% - 32.45rem);
}
.secPoint .topBox.lazyloaded .txt::after{
    background: url(../img/autumn_fair2026/iconTit.png) center center / cover;
}
.secPoint .tit{
    font-size: var(--pcFontSize160);
    color: var(--white);
    font-weight: 900;
    text-align: center;
    margin-top: 2rem;
}
.secPoint .titSmall{
    display: block;
    font-size: var(--pcFontSize70);
    margin-bottom: 2rem;
}
/* boxConsultation */
.secPoint .boxConsultation{
    margin-top: 7.5rem;
}
.secPoint .titConsultatiom{
    font-size: var(--pcFontSize70);
    font-weight: 700;
    text-align: center;
    color: var(--textColor);
    text-align: center;
    position: relative;
}
.secPoint .titConsultatiom::before{
    position: absolute;
    content: "";
    width: 110rem;
    height: 2.6rem;
    background: var(--colorYellow);
    bottom: -1rem;
    left: calc(50% - 56rem);
}
.secPoint .spanLine{
    color: var(--colorGreen);
    margin-top: 3.6rem;
    display: block;
    position: relative;
    z-index: 1;
}
.secPoint .list{
    display: flex;
    gap: 4rem;
    margin-top: 8.2rem;
}
.secPoint .item{
    width: calc((100% - 12rem) / 4);
}
.secPoint .txtConsultation{
    font-size: var(--pcFontSize32);
    font-weight: 700;
    text-align: center;
    color: var(--textColor);
    margin-top: 4rem;
}
.secPoint .txtUnder{
    font-size: var(--pcFontSize60);
    line-height: calc(80 / 60);
    text-align: center;
    color: var(--redColor);
    margin-top: 4rem;
    font-weight: 700;
}
@media only screen and (max-width:1215px){
    .secPoint .topBox{
        padding: 3rem 0 6rem;
    }
    .secPoint .topBox.lazyloaded{
        background: url(../img/autumn_fair2026/bgPoint_sp.jpg) center bottom / cover;
    }
    .secPoint .topTxt{
        font-size: var(--spFontSize13);
        line-height: calc(25 / 13);
    }
    .secPoint .txt{
        font-size: var(--spFontSize22);
        margin-top: 1.5rem;
        padding-bottom: 3rem;
        position: relative;
    }
    .secPoint .txt::after{
        width: 27.6rem;
        height: 1.6rem;
        left: calc(50% - 13.8rem);
    }
    .secPoint .topBox.lazyloaded .txt::after{
        background: url(../img/autumn_fair2026/iconTit_sp.png) center center / cover;
    }
    .secPoint .tit{
        font-size: var(--spFontSize50);
        margin-top: 1.6rem;
    }
    .secPoint .titSmall{
        display: block;
        font-size: var(--spFontSize26);
        margin-bottom: 1rem;
    }
    .secPoint .boxConsultation{
        margin-top: 2rem;
    }
    .secPoint .titConsultatiom{
        font-size: var(--spFontSize26);
        line-height: calc(40 / 26);
    }
    .secPoint .titConsultatiom::before{
        display: none;
    }
    .secPoint .spanLine{
        margin-top: 0;
        display: inline;
        background: linear-gradient(transparent 65%, var(--colorYellow) 65% ,var(--colorYellow) 93%,transparent 93%);
    }
    .secPoint .list{
        display: flex;
        gap: 0.2rem;
        margin-top: 2rem;
    }
    .secPoint .item{
        width: calc((100% - 0.6rem) / 4);
    }
    .secPoint .txtConsultation{
        font-size: var(--spFontSize14);
        margin-top: 1.5rem;
    }
    .secPoint .txtUnder{
        font-size: var(--spFontSize22);
        line-height: calc(36 / 22);
        margin-top: 3.5rem;
    }

}

/* secRecommend */
.secRecommend{
    margin-top: 4rem;
    padding-bottom: 29rem;
}
.secRecommend.lazyloaded{
    background: url(../img/autumn_fair2026/bgRecommendation.jpg) center bottom -5.1rem / 192rem auto no-repeat;
}
.secRecommend .list{
    display: flex;
    gap: 3rem;
}
.secRecommend .item{
    width: calc((100% - 3rem) / 2);
}
@media only screen and (max-width:1215px){
    .secRecommend{
        margin-top: 1rem;
        padding-bottom: 7.8rem;
    }
    .secRecommend.lazyloaded{
        background: url(../img/autumn_fair2026/bgRecommendation_sp.jpg) center bottom / 100% auto no-repeat;
    }
    .secRecommend .list{
        display: block;
        gap: 0;
    }
    .secRecommend .item{
        width: 100%;
    }
    .secRecommend .item:nth-child(2){
        margin-bottom: 2.2rem;
    }
}

/* secBnr */
.secBnr .bnrReserve{
    display: block;
    position: relative;
    height: 95rem;
    z-index: 1;
}
.secBnr .img{
    position: absolute;
    width: 192rem;
    top: 0;
    left: calc(50% - 96rem);
}
.secBnr .btn{
    position: absolute;
    width: 78rem;
    bottom: -6.5rem;
    left: calc(50% - 39rem);
    filter: drop-shadow(0 0 2.5rem rgba(0, 0, 0, 0.25));
}
.secBnr.bnr02{
    margin-top: 12rem;
}
@media only screen and (max-width:1900px){
    .secBnr .bnrReserve{
        height: auto;
    }
    .secBnr .img{
        position: static;
        width: 100%;
    }
}
@media only screen and (max-width:1215px){
    .secBnr .btn{
        position: absolute;
        width: 33.5rem;
        bottom: -6rem;
        left: calc(50% - 16.75rem);
        filter: drop-shadow(0 0 2.5rem rgba(246, 255, 0, 0.25));
    }
    .secBnr .btn img{
        width: 100%;
        height: auto;
    }
    .secBnr.bnr02{
        margin-top: 4.5rem;
    }
}

/* secWorries */
.secWorries{
    margin-top: 0.1rem;
}
.secWorries .tit{
    position: relative;
    height: 78.9rem;
}
.secWorries .tit img{
    width: 192rem;
    height: auto;
    position: absolute;
    top: 0;
    left: calc(50% - 96rem);
}
@media only screen and (max-width:1900px){
    .secWorries .tit{
        height: auto;
    }
    .secWorries .tit img{
        width: 100%;
        height: auto;
        position: static;
    }
}
.secWorries .txt{
    font-size: var(--pcFontSize40);
    line-height: calc(60 / 40);
    text-align: center;
    color: var(--textColor);
    margin-top: 22rem;
    font-weight: 700;
    position: relative;
}
.secWorries .txt::after{
    position: absolute;
    content: "";
    width: 2rem;
    height: 10rem;
    top: -12rem;
    left: calc(50% - 1rem);
}
.secWorries .txt.lazyloaded::after{
    background: url(../img/autumn_fair2026/iconWorries.png) center center / cover;
}
.secWorries .spanLine{
    position: relative;
    display: inline-block;
    padding: 0 2.5rem;
    background: linear-gradient(transparent 70%, var(--colorYellow) 70% ,var(--colorYellow) 90%,transparent 90%);
}
.secWorries .subTxt{
    font-size: var(--pcFontSize23);
    text-align: center;
    margin-top: 2rem;
}
.secWorries .img{
    position: relative;
    height: 63.8rem;
    margin-top: 4rem;
}
.secWorries .img img{
    width: 192rem;
    height: auto;
    position: absolute;
    top: 0;
    left: calc(50% - 96rem);
}
@media only screen and (max-width:1900px){
    .secWorries .img{
        height: auto;
    }
    .secWorries .img img{
        width: 100%;
        height: auto;
        position: static;
    }
}
@media only screen and (max-width:1215px){
    .secWorries .txt{
        font-size: var(--spFontSize16);
        line-height: calc(30 / 16);
        margin-top: 10rem;
    }
    .secWorries .txt::after{
        width: 0.9rem;
        height: 3.7rem;
        top: -6rem;
        left: calc(50% - 0.45rem);
    }
    .secWorries .txt.lazyloaded::after{
        background: url(../img/autumn_fair2026/iconWorries_sp.png) center center / cover;
    }
    .secWorries .spanLine{
        padding: 0 0.5rem;
        display: inline;
    }
    .secWorries .subTxt{
        font-size: var(--spFontSize15);
        margin-top: 1.6rem;
    }
    .secWorries .img{
        width: 27.8rem;
        margin: 3rem auto 0;
    }
}


.secModel{
    margin-top: 32rem;
    padding-bottom: 1rem;
    background: var(--bgColor);
    position: relative;
}
.secModel::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 18rem;
    left: 0;
    top: -18rem;
    background: var(--bgColor);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.secModel .titEng{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_100);
    color: var(--keyColor);
    text-align: center;
    position: relative;
}
.secModel .titEng::after {
    position: absolute;
    content: "";
    width: 3rem;
    height: 0.2rem;
    background: var(--keyColor);
    bottom: -1.5rem;
    left: calc(50% - 1.5rem);
}
.secModel .tit{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_100);
    text-align: center;
    margin-top: 3rem;
}
.secModel .tabList{
    display: flex;
    gap: 4rem;
    margin-top: 6.5rem;
}
.secModel .tabItem{
    width: calc((100% - 4rem) / 2);
    height: 13rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 0 3rem;
    background: var(--white);
    position: relative;
}
.secModel .tabItem.active::before{
    position: absolute;
    content: "";
    width: 4rem;
    height: 2.5rem;
    left: calc(50% - 2rem);
    bottom: -2.5rem;
    background: var(--textColor);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.secModel .tabItem.active{
    background: var(--textColor);
}
.secModel .active .iconOff,.secModel .iconOn{
    display: none;
}
.secModel .active .iconOn,.secModel .iconOff{
    display: block;
}
.secModel .txt{
    font-size: var(--pcFontSize16);
    font-weight: 700;
}
@media only screen and (max-width:1500px){
    .secModel .txt{
        font-size: var(--pcFontSize13);
    }
}
.secModel .active .txt{
    color: var(--white);
}
.secModel .contentList{
    margin-top: 5.5rem;
}
.secModel .list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
}
.secModel .item{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    row-gap: 0;
    min-width: 0;
    box-shadow: 0px 0px 4.9px 0.1px rgba(34, 24, 21, 0.25);
    background: var(--white);
    padding: 3rem 3rem 12.5rem;
    position: relative;
}
.secModel .item > .btnReservation{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1 / span 4;
    row-gap: 0;
    min-width: 0;
    cursor: pointer;
}
.secModel .img{
    padding-top: 100%;
}
.secModel .itemTit{
    font-size: var(--pcFontSize18);
    line-height: calc(28 / 18);
    font-weight: 700;
    text-align: center;
    margin-top: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secModel .txtAddress{
    font-size: var(--pcFontSize12);
    line-height: calc(26 / 12);
    text-align: center;
    margin-top: 1rem;
    color: var(--colorGreen);
    text-decoration: underline;
    position: relative;
    z-index: 2;
}
.secModel .txtAddress::after{
    content: "MAP";
    display: inline-block;
    margin-left: 0.4em;
    padding: 0 0.45em;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--white);
    background: var(--colorGreen);
    border-radius: 0.2rem;
    text-decoration: none;
    vertical-align: middle;
}
.secModel .txtAddress:hover{
    opacity: 0.75;
}
.secModel .itemTxt{
    font-size: var(--pcFontSize13);
    line-height: calc(22 / 13);
    text-align: center;
    margin-top: 1rem;
}
.secModel .btn{
    font-size: var(--pcFontSize16);
    text-align: center;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding: 2.5rem;
    background: var(--colorYellow2);
    color: var(--white);
}
.secModel .bg{
    width: 100%;
    height: 5.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--colorGreen);
}
@media only screen and (max-width:1215px){
    .secModel{
        margin-top: 10rem;
        padding-top: 5rem;
    }
    .secModel::before,.secModel::after{
        position: absolute;
        content: "";
        width: 50%;
        height: 7.5rem;
        background: var(--white);
        top: 0;
        left: 0;
    }
    .secModel::before{
        clip-path: polygon(0 0, 100% 0, 0 100%);
    }
    .secModel::after{
        right: 0;
        left: auto;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
    }
    .secModel .titEng{
        font-size: var(--spFontSize22);
        line-height: calc(30 / 22);
        letter-spacing: normal;
    }
    .secModel .titEng::after{
        width: 2.5rem;
        bottom: -1rem;
        left: calc(50% - 1.25rem);
    }
    .secModel .tit{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_50);
        text-align: center;
        margin-top: 2rem;
    }

    .secModel .tabList{
        display: flex;
        gap: 1.5rem;
        margin-top: 3rem;
    }
    .secModel .tabItem{
        width: calc((100% - 1.5rem) / 2);
        height: 10rem;
        display: block;
        padding: 1.7rem 1rem 1rem;
    }
    .secModel .tabItem.active::before{
        width: 1.5rem;
        height: 1rem;
        left: calc(50% - 0.75rem);
        bottom: -1rem;
    }
    .secModel .txt{
        font-size: var(--spFontSize11);
        line-height: calc(20 / 11);
        margin-top: 1rem;
        text-align: center;
    }
    .secModel .icon{
        width: 11.9rem;
    }
    .secModel .icon img{
        width: 100%;
        height: auto;
    }
    .secModel .tabItem:nth-child(2) .icon{
        width: 11.6rem;
    }
    .secModel .contentList{
        margin-top: 3rem;
    }
    .secModel .list{
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .secModel .item{
        padding: 1rem 1rem 8rem;
    }
    .secModel .itemTit{
        font-size: var(--spFontSize15);
        line-height: calc(24 / 15);
        margin-top: 2rem;
    }
    .secModel .txtAddress{
        font-size: var(--spFontSize12);
        line-height: calc(20 / 12);
        margin-top: 1rem;
    }
    .secModel .txtAddress::after{
        font-size: 0.9rem;
        padding: 0 0.35em;
    }
    .secModel .itemTxt{
        font-size: var(--spFontSize11);
        line-height: calc(20 / 11);
        margin-top: 1rem;
    }
    .secModel .btn{
        font-size: var(--spFontSize13);
        padding: 1.5rem 1rem;
    }
    .secModel .bg{
        height: 3.5rem;
    }

}

.secForm{
    margin-top: 0;
}

/* footerLp */
#footerLp{
    padding: 2rem 0 5rem;
    background: var(--bgColor);
}
#footerLp .iconFooter{
    display: block;
    width: 23.6rem;
    margin: 0 auto;
}
#footerLp .copy{
    font-size: var(--pcFontSize10);
    text-align: center;
    margin-top: 4.5rem;
    color: var(--borderBlack);
    letter-spacing: 0.2em;
    font-weight: 300;
}
@media only screen and (max-width:1215px){
    #footerLp{
        order: 3;
        padding: 2rem 0 11.5rem;
    }
}

/* spNav */
#spNav{
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: 100%;
}
#spNav .bnr{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6.5rem;
    background-color: var(--redColor);
}