@charset "utf-8";

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

img {
    width: 100%;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

a {
    transition: opacity 0.25s ease-in-out;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
}

a:hover {
    opacity: 0.75;
}

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

#wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
}

h1, h2, h3, section {
    margin: 0;
    padding: 0;
    border: none;
}

/* カートボタン共通位置調整 */
.btn_1, .btn_2 {
    position: relative;
}

.btn_1 a {
    max-width: 720px;
    position: absolute;
    bottom: 5%;
    width: 90%;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 10;
}

.btn_2 a {
    max-width: 720px;
    position: absolute;
    bottom: 9%;
    width: 90%;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 10;
}

/* btn_teiki（ボタン背景 ＋ ボタン配置） */

.btn_teiki {
    position: relative;
}

.btn_teiki .bg_img {
    width: 100%;
    display: block;
}

/* チェックボックス本体は非表示 */
.accordion_toggle {
    display: none;
}

.btn_accordion_trigger {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;
    cursor: pointer;
    z-index: 10;
    display: block;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.1s ease, filter 0.1s ease;
}

.btn_accordion_trigger:hover {
    filter: brightness(1.05);
}

.btn_accordion_trigger:active {
    transform: translate(-50%, calc(-50% + 2px)) scale(0.97);
    filter: brightness(0.95);
}

/* スライドアニメーション */
.accordion {
    display: grid;
    grid-template-rows: 0fr; /* 初期状態：高さを0 */
    transition: grid-template-rows 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.accordion_inner {
    overflow: hidden;
}

/* 中の画像の位置アニメーション設定 */
.accordion_inner img {
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                opacity 0.3s ease;
}

/* チェックボックスがONの時（開いた状態） */
.btn_teiki:has(.accordion_toggle:checked) + .accordion {
    grid-template-rows: 1fr;
}

.btn_teiki:has(.accordion_toggle:checked) + .accordion .accordion_inner img {
    transform: translateY(0);
    opacity: 1;
}

.btn_info {
    position: relative;
}

.btn_info a {
    max-width: 720px;
    position: absolute;
    bottom: 9.5%;
    width: 90%;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 10;
}


/*  Footer / Manage */
.manage_wrap {
    width: 800px;
    margin: 1em auto 1vh;
}

.lp_manage {
    font-size: 16px;
    text-align: center;
    width: 16vw;
    border: 1px solid;
}

#last {
    width: 100%;
    background-color: #ffe6e9;  
}

#last div {
    max-width: 800px;
    width: 100%;
    margin: 20px auto 10px;
    padding: 20px 15px;
    font-size: 16px;
}

#last div ul:not(:last-child) {
    margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
    .lp_manage {
        font-size: 4vw;
        text-align: center;
        width: 60vw;
        border: 1px solid;
        margin-left: 1vw;
    }
    
    .manage_wrap {
        width: 100%;
    }

    #last{
        background-color: #ffe6e9;		
    }

    #last div{
        width: 100%;
        margin: 20px auto 10px;
        padding: 20px;
        font-size: 16px;
    }

}