@charset "utf-8";

/* common */

* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    font-family:
    "Noto Serif JP",
    "Noto Sans JP",
    "Inter";
    font-style: normal;
    color: #3F3F3F;
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
}

h3 {
    font-family: "Noto Serif JP";
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}



/* メニュー設定 */
.header {
    width: 100%;
    max-width: 375px;
    position: fixed;

    top: 0;
    left: 50%;
    transform: translateX(-50%);

    z-index: 5;
}

/* メニュー中身 */
.nav {
    width: 200px;
    height: 590px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: -4px 0 4px 0 rgba(0, 0, 0, 0.15);

    display: block;
    margin-left: auto;

    display: none;
}

.nav__btn {
    width: 30px;

    display: block;
    margin-left: auto;
    
    z-index: 4;
}


.nav__list {
    padding: 0 30px;

    display: flex;
    flex-direction: column;
    gap: 30px;
}

.nav__item {
    color: #3F3F3F;
    font-family: "Noto Serif JP";
    font-size: 1.4rem;
    font-weight: 700;

    display: flex;
    align-items: center;

    gap: 5px;
}

.nav__item::before {
    content: "";

    width: 20px;
    height: 1px;

    background-color: #00A1E9;

    display: block;
}


.nav__sns {
    margin-top: auto;
    padding: 0 30px;
    
    display: flex;
    gap: 20px;
    align-items: center;

    transform: translateY(30px);
}

/* OPENボタン */
.header__btn {
    width: 30px;

    display: block;
    margin-left: auto;
    
    z-index: 4;
}





/* ビジュアル */
.spArea {
    max-width: 375px;
    margin: 0 auto;
}

.article__header {
    width: 100%;
    height: 590px;

    background-image: url(../image/main_back1500px.webp);
    background-size: 310% auto;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    position: relative;
}



/* 看板画像 */
.visual {
    width: 100%;
    height: 520px;
    overflow: hidden;

    position: absolute;
    bottom: 0;

    padding-right: 40px;

}

.visual img {
    width: 165px;
    height: auto;

    margin-left: auto;
    display: block;
}



/* 縦並びコピー */
.visual__copy {
    display: flex;

    position: absolute;

    top: 80px;
    left: 30px;
    align-items: flex-start;
}

.visual__copy-line {
    writing-mode: vertical-rl;

    background-color: #fff;

    padding: 12px 3px;
    font-size: 1.5rem;
    font-weight: 300;
    font-family: "Noto Serif JP";
    color: #00A1E9;
    letter-spacing: 0.2em;

    box-shadow: 4px 4px 0 rgba(59, 118, 121, 0.50);
}

.visual__copy-line:nth-child(1) {
    margin-top: 80px;
}

.visual__copy-line:nth-child(2) {
    margin-top: 40px;
    margin-left: 15px;
}

.visual__copy-line:nth-child(3) {
    margin-left: 15px;
}



/* フェアタイトル&日付 */
.visual__info {
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: column;
    align-items: center;

    transform: translateY(325px);
}

.fairTitle01 {
    width: 243px;
}

.fairTitle02 {
    width: 350px;
    transform: translateY(-10px);
}

.fairTitle03 {
    width: 90px;
    transform: translateY(-15px);
}

.fairDate {
    width: 177px;
}





/* 緑背景 */
.bgGroup--house {
    background-image: url(../image/maker_back.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    padding: 30px 0;
}

/* 最新モデルハウス */
.modelHouse__title {
    color: #fff;
    font-size: 2rem;
    font-weight: 500;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 10px;
    margin-bottom: 20px;
}

.modelHouse__title::before,
.modelHouse__title::after {
    content: "";

    width: 50px;
    height: 0.5px;

    background-color: #fff;
    display: block;
}

/* メーカー情報 */
.modelHouse__list {
    display: flex;
    flex-wrap: wrap;

    justify-content: center;

    gap: 15px;
    margin-bottom: 35px;
}

.modelHouse__item {
    width: 160px;
}




/* お得な住宅情報 */
.houseInfo__title {
    color: #fff;
    font-size: 2rem;
    font-weight: 500;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 10px;
    margin-bottom: 20px;
}

.houseInfo__title::before,
.houseInfo__title::after {
    content: "";

    width: 50px;
    height: 0.5px;

    background-color: #fff;
    display: block;
}

.houseInfo__list {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 20px;
}

.houseInfo__item {
    width: 335px;
}



/* 花びら背景 */
.bgGroup--event {
    background-image: url(../image/event_back2000.webp);
    background-size: 375px auto;
    background-repeat: repeat-y;
    background-position: center top;
    
    padding: 30px 0;
}

/* イベント */
.event__title {
    color: #3F3F3F;
    font-size: 2rem;
    font-weight: 500;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 10px;
    margin-bottom: 10px;
}

.event__title::before,
.event__title::after {
    content: "";

    width: 50px;
    height: 0.5px;

    background-color: #3F3F3F;
    display: block;
}

.event__copy {
    color: #3F3F3F;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 20px;
}


.event__list {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 20px;
    margin-bottom: 20px;
}

.event__item {
    width: 335px;
}

/* 似顔絵キーホルダープレゼント */

.event__inner04 {
    position: relative;
}

.event__button--nigaoeBtn img {
    width: 79px;
    height: auto;

    position: absolute;
    bottom: 57px;
    left: 20px;
}

.event__annotation {
    color: #3F3F3F;
    font-family: Inter;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; 

    padding: 0 20px;
    margin-bottom: 20px;
}



/* クリームソーダキャンドル作り */

.event__inner05 {
    position: relative;
}

.event__button--event_creamsodaBtn img {
    width: 79px;
    height: auto;

    position: absolute;
    bottom: 15px;
    left: 20px;
}

.event__annotation {
    color: #3F3F3F;
    font-family: Inter;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; 

    padding: 0 20px;
    margin-bottom: 20px;
}



/* スクイーズキーホルダー作り */
.event__inner06 {
    position: relative;
}

.event__button--squeezeBtn img {
    width: 79px;
    height: auto;

    position: absolute;
    bottom: 15px;
    left: 20px;
}

.event__annotation {
    color: #3F3F3F;
    font-family: Inter;
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; 

    padding: 0 20px;
    margin-bottom: 20px;
}





/* アクセスマップ */
.access__title {
    color: #3F3F3F;
    font-size: 2rem;
    font-weight: 500;

    display: flex;
    justify-content: center;
    align-items: center;

    gap: 10px;
    margin-bottom: 10px;
}

.access__title::before,
.access__title::after {
    content: "";

    width: 50px;
    height: 0.5px;

    background-color: #3F3F3F;
    display: block;
}

.access__copy {
    color: #1D2088;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 20px;

    margin-bottom: 20px;
}

/* 地図 */
.access__map {
    width: 336px;
    height: 250px;

    display: block;

    margin: 0 auto 20px;
}

.access__map iframe {
    width: 100%;
    height: 100%;
}



/* 会場情報 */
.access__footer--infoTel {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 5px;
}

.footer--infoTel__inquiry {
    color: #3F3F3F;
    font-family: Inter;
    font-size: 0.85rem;
    font-weight: 700;
}

.footer--infoTel__number {
    color: #3F3F3F;
    font-family: Inter;
    font-size: 2.15rem;
    font-weight: 700;
}


.access__footer--infoAddressRogo {
    display: flex;
    justify-content: center;
    align-items: center;

    margin-bottom: 20px;
}

.access__Txt {
    display: flex;
    width: 160px;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;

    color: #3F3F3F;
    font-family: Inter;
}

.access__Txt01 {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 15px;
}

.access__Txt02 {
    width: 154px;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 11px;
}

.footer_rogo {
    width: 167px;
}

.access__footer--sns {
    display: flex;
    align-items: center;

    gap: 20px;
    margin-left: 20px;
    margin-bottom: 20px;
}

.access__copyright {
    display: flex;
    justify-content: center;
    align-items: center;

    color: #3F3F3F;
    font-family: Inter;
    font-size: 1rem;
    font-weight: 400;

    margin-bottom: 20px;
}


/* 1200px前後での表示設定 */
.eventMenu--section,
.banner--section {
    display: none;
}





/* メニュー&バナー表示 */
@media screen and (min-width: 1200px) {

    /* 左右バナー共通設定 */
    .eventMenu,
    .banner {
        display: flex;
        width: calc((100% - 375px) / 2);

        height: 100vh;

        flex-shrink: 0;
    }

    .eventMenu--section,
    .banner--section {
        display: block;
    }
    
    /* イベントメニュー_左 */
    .eventMenu {
        height: 100vh;

        position: fixed;

        top: 0;
        left: 0;

        background: rgba(255,255,255,0.5);

        display: flex;
        justify-content: center;
        align-items: center;
    }

    .eventMenu--section {
        width: 375px;
        height: 420px;

        background: linear-gradient(180deg, #FFF 0%, #99D5EB 100%);
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);

        padding: 20px 20px;
    }

    .eventMenu__inner {
        width: 100%;
        height: 100%;

        background: rgba(255,255,255,0.6);

        border-radius: 15px;
    }

    /* タイトル枠 */
    .eventMenu__title {
        display: flex;

        justify-content: center;
        align-items: flex-start;

        gap: 10px;
    }

    /* ガーランド画像 */
    .eventMenu__title img {
        width: 75px;
    }

    .eventMenu__title img:first-child {
        transform: scaleX(-1);
    }

    /* タイトル */
    .eventMenu__title h2 {
        color: #00A2DD;

        font-size: 2.3rem;
        font-weight: 600;

        position: relative;
    }

    .eventMenu__title h2::after {
        content: "";

        width: 100%;
        height: 8px;

        background: rgba(0, 162, 221, 0.20);

        position: absolute;

        bottom: 3px;
        left: 0;

        z-index: 1;
    }



    /* イベント説明 */
    .eventMenu__header p {
        color: #3F3F3F;
        text-align: center;
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 20px;

        margin-bottom: 20px;
    }

    .eventMenu__list ul {
        width: 300px;

        display: flex;
        flex-direction: column;

        margin: 0 auto;
    }

    .eventMenu__item {
        text-align: center;

        padding-bottom: 12px;
        margin-bottom: 12px;

        border-bottom: 1px solid #00A2DD;

        color: #3F3F3F;
        font-family: "Noto Serif JP";
        font-size: 1.5rem;
        font-weight: 600;
    }

    .eventMenu__item:last-child {
        border-bottom: none;

        margin-bottom: 0;
        padding-bottom: 0;
    }



    /* 各バナー_右*/
    .banner {
        height: 100vh;

        position: fixed;

        top: 0;
        right: 0;

        background: rgba(255,255,255,0.5);

        display: flex;
        justify-content: center;
        align-items: center;
    }

    .banner--section {
        width: 375px;

        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* バナー配置など */
    .banner__list {
        display: flex;
        flex-direction: column;

        gap: 30px;
        margin-bottom: 30px;
    }

    .banner__list img {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    }

    /* sns */
    .banner__sns {
        display: flex;
        gap: 50px;
    }

    .banner__sns a {
        width: 70px;
        height: 70px;

        background: #FFF;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        border-radius: 10px;

        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .banner__sns img {
        width: 50px;
        height: 50px;
    }


}

/* ヒーロー背景制御 */
@media screen and (min-width: 376px) {

    body {
        background-image: url(../image/main_back1500px.webp);

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;

        background-attachment: fixed;
    }

}


/* 白背景-再設定 */
@media screen and (min-width: 376px) and (max-width: 1199px) {

    body::before,
    body::after {
        content: "";

        position: fixed;
        top: 0;

        width: calc((100% - 375px) / 2);
        height: 100vh;

        background: rgba(255,255,255,0.5);

        z-index: 1;
    }

    body::before {
        left: 0;
    }

    body::after {
        right: 0;
    }

    .spArea {
        position: relative;
        z-index: 2;
    }

}


@media screen and (min-width: 426px) {

    .article__header {
        background-image: none;
    }

}




/* ボタンの動き */
a {
    transition: 0.3s;
}

a:hover {
    opacity: 0.6;
    transform: translateY(-5px);
}