@charset "utf-8";

/* ==========================================================================
   Common - 基本設定
   ========================================================================== */

html {
    font-size: 62.5%; /* 1rem = 10px */
}

body {
    font-family: 'Noto Sans JP', Arial, sans-serif;
    font-style: normal;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #16160E;
    background-color: #FFFFFF;
}

img {
    max-width: 100%;
    height: auto;
}

.topic {
    max-width: 280px;
    margin: 0 auto 45px;
}

.topic img {
    width: 100%;
    height: auto;
}

/* ==========================================================================
   Header - ヘッダー
   ========================================================================== */

.header {
    display: flex;
    justify-content: space-between;
    max-width: 1440px;
    margin: 0 auto;
    padding: 25px 20px;
}

.main_Topic {
    width: 70px;
}

.nav__header {
    display: none;
}

.nav__list {
    display: flex;
}

.nav__item {
    margin-left: 44px;
    font-weight: 500;
}

.nav__close,
.menu_Btn {
    display: none;
}

/* Header Responsive (iPad/SP) */
@media screen and (max-width: 767px) {
    .header {
        align-items: center;
        padding: 25px 20px 15px;
    }

    .menu_Btn {
        display: block;
        width: 40px;
        cursor: pointer;
    }

    /* ドロワーメニュー */
    .nav {
        position: fixed;
        top: 0;
        left: -100%;
        z-index: 10000;
        width: 100vw;
        height: 100vh;
        padding: 25px 20px;
        background-color: #FFFFF0;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
        transition: all 0.4s;
    }

    .nav.is-active {
        left: 0;
    }

    .nav__list {
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding-top: 30px;
        text-align: center;
    }

    .nav__item {
        margin: 20px 0;
        margin-left: 0;
        font-size: 2rem;
    }

    .nav__close {
        display: flex;
        justify-content: space-between;
        max-width: 1440px;
        margin: auto;
        padding: 25px 20px;
    }

    .close {
        width: 25px;
    }
}

/* ==========================================================================
   Main Visual - メインビジュアル
   ========================================================================== */

.main_Visual {
    margin-bottom: 100px;
}

.main_Visual img {
    width: 100%;
    height: auto;
}

.main_VisualSP {
    display: none;
}

@media screen and (max-width: 767px) {
    .main_Visual {
        margin-bottom: 70px;
    }

    .main_VisualPC {
        display: none;
    }

    .main_VisualSP {
        display: block;
    }
}

/* ==========================================================================
   About - 私たちについて
   ========================================================================== */

.about {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
    max-width: 1065px;
    margin: 0 auto 100px;
    padding: 0 20px;
}

.about_topic {
    margin-bottom: 45px;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}

.about_txt01,
.about_txt02 {
    text-align: center;
}

.about_txt01 {
    margin-bottom: 20px;
}

.photo_box {
    position: relative;
    width: 100%;
    height: 400px;
}

.photo_box img {
    position: absolute;
    width: 60%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.photo_box img:first-child {
    top: 50px;
    left: 0;
    z-index: 1;
}

.photo_box img:last-child {
    right: 0;
    bottom: 50px;
    z-index: 2;
}

/* About Responsive */
@media screen and (max-width: 1024px) {
    .about {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-bottom: 80px;
        text-align: center;
    }

    .photo_box {
        max-width: 500px;
        margin: 0 auto;
    }

    .photo_box img {
        width: 70%;
    }

    .photo_box img:first-child {
        top: 0;
        transform: rotate(-5deg);
    }

    .photo_box img:last-child {
        bottom: 0;
        transform: rotate(5deg);
    }
}

@media screen and (max-width: 767px) {
    .brPC {
        display: none;
    }

    .photo_box {
        max-width: 300px;
        height: 250px;
    }
}

/* ==========================================================================
   Present - プレゼント
   ========================================================================== */

.present {
    padding: 120px 0;
    background-image: url("../img/yellow_back.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.present__box {
    max-width: 1065px;
    margin: 0 auto;
    padding: 0 20px;
}

.present__box img {
    border-radius: 39px;
}

@media screen and (max-width: 767px) {
    .present {
        padding: 70px 0;
    }
}

/* ==========================================================================
   HowTo - 使い方
   ========================================================================== */

.howTo {
    max-width: 1065px;
    margin: 0 auto;
    padding: 120px 20px;
}

.DL_box {
    margin-bottom: 30px;
    text-align: center;
}

.QR_box {
    display: grid;
    grid-template-columns: max-content max-content;
    justify-content: center;
    gap: 30px;
    width: 100%;
    margin-bottom: 45px;
}

.howToSP {
    display: none;
}

@media screen and (max-width: 767px) {
    .howTo {
        padding: 70px 20px;
    }

    .howToPC {
        display: none;
    }

    .howToSP {
        display: block;
        width: 100%;
    }

    .QR_box {
        gap: 45px;
    }
}

/* ==========================================================================
   Store - 店舗情報
   ========================================================================== */

.store {
    padding: 120px 0;
    background-image: url("../img/yellow_back.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.store_box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    max-width: 1065px;
    margin: 0 auto;
    padding: 0 20px;
}

.store_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    text-align: center;
    background-color: #ffffff;
    border-radius: 20px;
}

.store_wrap img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

.store__name {
    padding-top: 10px;
    font-size: 2rem;
    font-weight: bold;
}

.store_detail {
    display: grid;
    grid-template-columns: 3rem 1fr;
    column-gap: 10px;
    row-gap: 10px;
    align-items: baseline;
    width: 100%;
    margin: 0;
    text-align: left;
}

.item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    font-size: 1.6rem;
    color: #ffffff;
    background-color: #FC8895;
    border-radius: 50%;
}

.item__tex {
    margin: 0;
}

@media screen and (max-width: 767px) {
    .store {
        padding: 60px 0;
    }

    .store_box {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ==========================================================================
   Footer - フッター
   ========================================================================== */

.footer {
    max-width: 1440px;
    margin: auto;
    padding: 25px 20px;
}

.footer img {
    width: 70px;
}

.topBtn {
    position: fixed;
    right: 1.4%;
    bottom: 1.4%;
    z-index: 9999;
    display: inline-block;
    padding: 18px;
    color: #FFF;
    border-radius: 50%;
}