@charset "UTF-8";

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: "Zen Old Mincho", serif;
    font-weight: 300;
    margin: 0;
    overflow-x: hidden;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

li a {
    text-decoration: none;
}

a {
    text-decoration: none;
}


h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}

header, main, footer {
    display: block;
    margin: 0;
    padding: 0;
}

a:hover {
    cursor: pointer;
    opacity: 0.7;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

/* デフォルト: pc-only / sp-only を非表示にし、メディアクエリで切り替え */
.pc-only {
    display: none;
}
.sp-only {
    display: none;
}

/* pc */
@media screen and (min-width: 769px) {

    html {
        font-size: 0.83vw;
        height: auto;
    }
    .pc-only {
        display: block;
    }
    .sp-only {
        display: none;
    }

}

/* sp */
@media screen and (max-width: 768px) {

    html {
        font-size: 2.08vw;
        height: auto;
    }
    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }
}

/* ==================header=============================== */
.news {
    width: 100%;
    height: 3.75rem;
    background-color: #D85E96;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news p {
    width: 15.8125rem;
    height: 2.1875rem;
    color: #FFF;
    font-family: "Noto Sans TC";
    font-size: 1.3125rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.09188rem;
    white-space: nowrap;
    /* transform-origin: bottom center;
    animation: flipNews 4s ease-in-out infinite; */
}

.news a,
.news-sp a {
    display: block;
    width: 100%;
    color: inherit;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
}

/* @keyframes flipNews {
    0%   { transform: rotateX(0deg);   opacity: 1; }
    35%  { transform: rotateX(0deg);   opacity: 1; }
    45%  { transform: rotateX(-90deg); opacity: 0; }
    55%  { transform: rotateX(90deg);  opacity: 0; }
    65%  { transform: rotateX(0deg);   opacity: 1; }
    100% { transform: rotateX(0deg);   opacity: 1; }
} */

.brand-nav {
    width: 100%;
    height: 7.8125rem;
    background-color: #f7e8dc;
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.sakura-logo {
    width: 30.4375rem;
    height: 4.5rem;
    margin-left: 6.12rem;
}

.header_right {
    display: flex;
    align-items: center;
    padding-right: 5.39rem;
}

.login {
    width: 9.75rem;
    height: 2.5rem;
    margin-right: 1.5rem;
}

.cart {
    width: 8.5rem;
    height: 2.5rem;
    margin-right: 2rem;
}

.tel {
    width: 16.42219rem;
    height: 4.94594rem;
    flex-shrink: 0;
}

.header-ul {
    width: 100%;
    height: 4.375rem;
    background-color: #3EA34A;
    display: flex;
    justify-content: center;
    gap: 7.44rem;
    align-items: center;
}

.header-ul li a {
    color: #FFF;
    font-family: "Noto Sans TC";
    font-size: 1.5625rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
/* ==================header-sp=============================== */
.news-sp {
    width: 100%;
    height: 3.4375rem;
    background-color: #D85E96;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news-sp p {
    display: flex;
    width: 17.625rem;
    height: 2.1875rem;
    flex-direction: column;
    justify-content: center;
    color: #FFF;
    font-family: "Noto Sans TC";
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.0875rem;
    align-items: center;
}

.brand-nav-sp {
    display: flex;
    height: 8.75rem;
    align-items: stretch;
}

.header-left-sp {
    display: flex;
    width: 38.875rem;
    height: 8.75rem;
    align-items: center;
    background-color: #F7E8DC;
}

.sakura-logo-sp {
    width: 14.5rem;
    height: 4.9375rem;
    flex-shrink: 0;
    aspect-ratio: 232/79;
    margin: 2.31rem 7.26rem 1.5rem 1.06rem;
}

.login-sp {
    width: 5.40144rem;
    height: 6.6875rem;
    margin-right: 2.12rem;
}

.cart-sp {
    width: 5.40144rem;
    height: 6.6875rem;
    margin-right: 3rem;
}

.header-right-sp {
    width: 9.25rem;
    height: 9.4375rem;
    aspect-ratio: 99/101;
}
/* ==================footer=============================== */
.footer-gray {
    width: 100%;
    height: 5.3125rem;
    background-color: #D9D9D9;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-gray p {
    color: #FFF;
    font-family: "Noto Sans TC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.12rem;
}

.footer-gray img {
    width: 3.1875rem;
    height: 3.1875rem;
    aspect-ratio: 1/1;
    margin-left: 2.5rem;
}

.footer-ul {
    width: 100%;
    height: 5.0625rem;
    background-color: #F6E7DB;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1.87rem 24.75rem 1.37rem 25.88rem;
}

.footer-ul li  a {
    color: #000;
    font-family: "Noto Sans TC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.12rem;
}

.about {
    color: #282828;
    font-family: "Noto Sans TC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.045rem;
    margin: 2.5rem 75.88rem 5.19rem 3.81rem; 
    white-space: nowrap;
}
/* ==================footer-sp=============================== */
.footer-top {
    margin: 0 1.31rem 2.56rem 1.5rem;
    padding: 0.88rem 1.25rem 0.88rem 0.88rem;
    background: #F4F5CE;
}

.footer-content__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-inline-start: 0px;
}

.footer-content-list {
    padding: 2rem 1.81rem 2rem 1.81rem;
    background-color: #F4F5CE;
}

.footer-content-list:nth-child(1) {
    border-bottom: 1px dotted #4D4D4D;
    border-right: 1px dotted #4D4D4D;
}

.footer-content-list:nth-child(2) {
    border-bottom: 1px dotted #4D4D4D;
}

.footer-content-list:nth-child(3) {
    border-right: 1px dotted #4D4D4D;
}

.footer-content-list:nth-child(4) {
    padding-top: 2.06rem;
    padding-bottom: 2rem;
}

.footer-content__icon {
    display: flex;
    align-items: center;
}

.footer-nav {
    display: flex;
    align-items: center;
    padding-right: 1.37rem;
}

.footer-nav img {
    width: 5.5625rem;
    height: 5.5625rem;
}

.footer-nav-text {
    color: #4D4D4D;
    font-family: "Noto Sans TC";
    font-size: 1.9375rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.375rem; /* 122.581% */
    letter-spacing: 0.155rem;
    white-space: nowrap;
}


.footer-arrow-icon {
    width: 1.625rem;
    height: 2.8125rem;
    aspect-ratio: 26/45;
}

.legal-links {
    display: flex;
    align-items: center;
    border: 1px dotted #4D4D4D;
    margin: 0 1.31rem 0 1.5rem;
}

.legal-links a {
    color: #4D4D4D;
    font-family: "Noto Sans TC";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.375rem; /* 158.333% */
    letter-spacing: 0.12rem;
    white-space: nowrap;
}

.legal-links a:first-child {
    padding: 1.06rem 4.88rem 1rem 4.69rem;
    border-right: 1px dotted #4D4D4D;
}

.legal-links a:last-child {
    padding: 1.06rem 4.06rem 1rem 4.19rem;
}

.company-info {
    margin-top: 3.06rem;
}

.company-info p {
    color: #000;
    font-family: "Noto Sans TC";
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 0; /* 0% */
    letter-spacing: 0.07rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.company-info p:first-child {
    padding-bottom: 1.25rem;
}

.back-to-top {
    width: 41.375rem;
    height: 7.875rem;
    margin: 3.81rem 3.19rem 8.69rem 3.44rem;
}
/* =================オーバーレイデザイン=======================*/
.sp-menu-overlay,
.overlay-menu {
    display: none;
}

.sp-menu-overlay.is-open {
    display: flex;
    position: fixed;
    top: 3.4375rem;
    left: 0;
    width: 100%;
    z-index: 1000;
}

.overlay-menu.is-open {
    display: block;
    position: fixed;
    top: 12.1875rem;
    left: 0;
    width: 100%;
    z-index: 1000;
}

.overlay-left {
    display: flex;
    width: 38.875rem;
    height: 8.75rem;
    align-items: center;
    background-color: #F7E8DC;
}

.overlay-right {
    width: 9.125rem;
    height: 8.75rem;
    aspect-ratio: 97/95;
}

.overlay-menu {
    width: 48rem;
    height: auto;
    background-color: #F4FFD5;
}

.overlay-menu-wrapper {
    padding: 6.75rem 4.25rem 7.75rem 4.38rem;
}

.overlay-menu-item {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ov-item-name {
    width: 22.75rem;
    color: #3B3A3A;
    font-family: "Noto Sans TC";
    font-size: 3.0625rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.21438rem;
}

.ov-item-img {
    width: 2.4375rem;
    height: 3.3125rem;
    aspect-ratio: 39/53;
}

.ov-line {
    width: 39.375rem;
    height: 0.125rem;
    margin-top: 3.06rem;
    margin-bottom: 3.06rem;
}

.ov-line:last-child {
    margin-bottom: 0;
}


/* ============================================================ */
