@charset "utf-8";

/* CSS Document */



/* ------------------------------------------
  common
--------------------------------------------- */
html{
    scroll-behavior: smooth;
}

body {
    color: #312304;
}

.bg-beige {
    background: url(../images/bg-beige.webp) repeat;
}

.bg-beige-dark {
    background: url(../images/bg-beige-dark.webp) repeat;
}

.bg-washi {
    background: url(../images/bg-washi.webp) repeat;
}

.sec-merikomi {
    position: relative;
    padding-top: 165px;
    /* ベージュ部分の高さを確保 */
    margin-top: -165px;
    /* 上にめり込ませる */
}

@media screen and (max-width: 768px) {
    .sec-merikomi {
        position: relative;
        padding-top: 0;
        margin-top: 0;
    }

    .chooseGift {
        margin: 0;
        padding: 0;
    }
}

.noto-serif {
    font-family: "Noto Serif JP", serif;
}

a:hover {
    opacity: inherit !important;
}

.section-title-en {
    font-family: "Noto Serif JP", serif;
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 500;
    color: #756639;
    padding-bottom: 1.25rem;
    text-align: center;
}

.section-title {
    font-size: 1.75rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
    .section-title-en {
        font-size: 0.85rem;
        padding-bottom: 0.75rem;
    }

    .section-title {
        font-size: 1.5rem;
        line-height: 1.3;
    }

}

.text-lightRed {
    color: #DB5353;
}

.bg-lightRed {
    background: #DB5353;
}

.bg-salmon-pink {
    background: #e58d8d;
}

.bg-gold {
    background: #92845A;
}

.bg-lavender {
    background: #c788d1;
}


.text-gold {
    color: #756639;
}

.maker {
    background: linear-gradient(transparent 60%, #FFEB3B 0%);
}

/* ------------------------------------------
  mv
--------------------------------------------- */
.mv {
    max-width: 1536px;
    height: 560px;
    position: relative;
    background: url(../images/mv-bg.webp) no-repeat center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.mv h1{
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: -2px;
}

.mv-sp{
    width: 100%;
    height: 100vw;
    position: relative;
    background: url(../images/kv_sp.webp) no-repeat center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mv-sp h1{
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 2.6rem;
    line-height: 1.1;    
}


.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

/* ------------------------------------------
  cv
--------------------------------------------- */
.cv {
    background: url(../images/cv-bg.webp) no-repeat center top;
    width: 56rem;
    height: 260px;
    max-width: 100%;
    background-size: cover;
}

.cv-btn {
    position: relative;
    top: 0;
    background: #bf4949;
    width: 576px;
    max-width: 100%;
    box-shadow: 0 8px #9a3737;
    transition: .2s ease-in-out;
}

.cv-btn:hover {
    top: 8px;
    box-shadow: 0 0 #781919;
}

@media screen and (max-width: 768px) {
    .cv {
        height: auto;
        background: url(../images/cv-bg-sp.webp) no-repeat center top;
        background-size: cover;
    }

    .cv-btn {
        width: 100%;
        box-shadow: 0 4px #9a3737;
    }
}


/* ------------------------------------------
  fadein
--------------------------------------------- */
/*fadein*/
.fadein {
    opacity: 0;
    transform: translate(0, 50px);
    transition: all 1500ms;
}

.fadein-active {
    opacity: 1;
    transform: translate(0, 0);
}

/* ------------------------------------------
  slick
--------------------------------------------- */
.slider01:not(.slick-initialized) > li:not(:first-child) {
    display: none;
}
.slider01:not(.slick-initialized) > li:first-child {
    width: 22%; /* slidesToShow: 4.4 に近い幅 */
}
@media (max-width: 1279px) {
    .slider01:not(.slick-initialized) > li:first-child { width: 29%; } /* 3.4枚 */
}
@media (max-width: 767px) {
    .slider01:not(.slick-initialized) > li:first-child { width: 100%; }
}

/* ------------------------------------------
  fade-loop
--------------------------------------------- */
/* 2枚の画像をフェードで切り替えて繰り返す */
.fade-loop img {
    animation: fadeLoop 8s infinite;   /* 2枚で1周する時間 */
}
.fade-loop img:nth-child(2) {
    animation-delay: -4s;              /* 周期の半分だけずらす */
}

@keyframes fadeLoop {
    0%, 40%  { opacity: 1; }
    50%, 90% { opacity: 0; }
    100%     { opacity: 1; }
}

/* 動きを減らす設定の人には1枚目だけ表示 */
@media (prefers-reduced-motion: reduce) {
    .fade-loop img { animation: none; }
    .fade-loop img:nth-child(2) { display: none; }
}

/* ========================================================
   for SP
===========================================================*/

@media screen and (max-width: 768px) {}
