@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Spectral&family=Noto+Sans+JP:wght@400&family=Noto+Serif+JP');

/* SPサイズ */
#sale_0101 {
    background-color: #f4e9e7;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "yu-gothic-pr6n", 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif;
    font-weight: 500;
    font-feature-settings: "palt";
}

#sale_0101 .wrap {
    overflow: visible;
}

#sale_0101 .info {
    max-width: 800px;
    margin-inline: auto;
}

#sale_0101 .seasons {
    font-family: "the-seasons", sans-serif;
    font-weight: 400;
    font-style: normal;
}

#sale_0101 .serif {
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif, 'Noto Serif JP', serif;
    font-weight: 400;
}

/* 企画 */

/* カウントダウン */
#sale_0101.sale_lp .countdown_area {
    color: #771c28;
    background-color: transparent;
    padding-block: calc(65*(100vw/800)) calc(30*(100vw/800));
}

#sale_0101.sale_lp .countdown_area .cdt_timer {
    display: flex;
    justify-content: center;
    letter-spacing: 0.08em;
}

/* カウントダウン */


/* メニュー */
#sale_0101.sale_lp .menu_area {
    margin: 0 auto;
}

#sale_0101.sale_lp .top_wrap {
    height: calc(1500*(100vw/800));
    background-image: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/menu__bg.png");
    background-repeat: no-repeat;
    background-size: cover;
}

#sale_0101.sale_lp .newyear_message {
    max-width: 800px;
    margin-inline: auto;
}

#sale_0101.sale_lp .menu_area .menu_list {
    background-color: transparent;
    width: calc(720*(100vw/800));
    height: calc(1120*(100vw/800));
    z-index: 1;
}

#sale_0101.sale_lp .menu_area .menu_list::after {
    content: "";
    width: calc(720*(100vw/800));
    height: calc(1120*(100vw/800));
    background-image: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/menu__button--bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: calc(25*(100vw/800));
    z-index: -1;
}

#sale_0101.sale_lp .menu_area .menu_list .menu_01,
#sale_0101.sale_lp .menu_area .menu_list .menu_02,
#sale_0101.sale_lp .menu_area .menu_list .menu_03,
#sale_0101.sale_lp .menu_area .menu_list .menu_04,
#sale_0101.sale_lp .menu_area .menu_list .menu_05,
#sale_0101.sale_lp .menu_area .menu_list .menu_06 {
    background-color: transparent;
}

#sale_0101.sale_lp .menu_area .menu_list .menu_05,
#sale_0101.sale_lp .menu_area .menu_list .menu_06 {
    width: 50%;
    padding: 0;
    position: relative;
    background-color: #fff;
}

.sale_lp .menu_area .menu_list .menu_00::before {
    height: calc(680 * (100vw / 800));
    background-color: #cbc0b2;
    top: calc(450 * (100vw / 800));
}

#sale_0101.sale_lp .menu_area .menu_list .menu_01::before,
#sale_0101.sale_lp .menu_area .menu_list .menu_02::before {
    background-color: #cbc0b2;
}

#sale_0101.sale_lp .menu_area .menu_list .menu_05::before,
#sale_0101.sale_lp .menu_area .menu_list .menu_06::before {
    content: "";
    position: absolute;
    width: calc(280*(100vw/800));
    height: calc(6*(100vw/800));
    background-color: #cbc0b2;
    z-index: 1;
    top: calc(0*(100vw / 800));
}

#sale_0101.sale_lp .menu_area .menu_list .menu_05::before {
    left: calc(40*(100vw / 800));
}

#sale_0101.sale_lp .menu_area .menu_list .menu_06::before {
    right: calc(40*(100vw / 800));
}

#sale_0101.sale_lp .menu_area .menu_list .menu_01::after,
#sale_0101.sale_lp .menu_area .menu_list .menu_02::after {
    background-color: #cbc0b2;
}

/* メニュー */

#sale_0101.sale_lp .obi {
    width: 100%;
    height: fit-content;
}

#sale_0101.sale_lp .obi_img {
    width: 100%;
    max-width: 800px;
    margin-inline: auto;
}

/* kikaku01 */
#sale_0101.sale_lp .kikaku01 {
    height: calc(3735*(100vw/800));
    background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section01_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}

#sale_0101.sale_lp .kikaku01 .obi {
    padding-top: calc(10*(100vw/800));
    margin-bottom: calc(-30*(100vw/800));
}

#sale_0101.sale_lp .kikaku01 .kikaku01_message {
    width: calc(768*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(40*(100vw/800));
}

#sale_0101.sale_lp .kikaku01 .kikaku01_happybag-title {
    width: calc(682*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(30*(100vw/800));
}

#sale_0101.sale_lp .kikaku01 .kikaku01_happybag-list {
    display: grid;
    width: calc(732*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(50*(100vw/800));
    gap: calc(25*(100vw/800));
}

/* kikaku01 */


/* kikaku02 */
#sale_0101.sale_lp .kikaku02 {
    height: calc(1030*(100vw/800));
    background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section02_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}

#sale_0101.sale_lp .kikaku02 .obi {
    margin-bottom: calc(100*(100vw/800));
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket {
    width: calc(696*(100vw/800));
    margin-inline: auto;
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-bottom: calc(75*(100vw/800));
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket-img {
    width: calc(447*(100vw/800));
    position: absolute;
    left: calc(-50*(100vw/800));
    top: 50%;
    translate: 0 -50%;
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text {
    width: calc(324 * (100vw / 800));
    text-align: center;
    position: relative;
    z-index: 1;
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .name {
    font-size: calc(34*(100vw/800));
    color: #000;
    line-height: 1.2352;
    margin-bottom: calc(10*(100vw/800));
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .price {
    font-size: calc(80*(100vw/800));
    color: #8a2825;
    letter-spacing: 0.12em;
    line-height: 1;
    margin-bottom: calc(10*(100vw/800));
}

#sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .price .yen_mark {
    font-size: calc(56*(100vw/800));
}

#sale_0101.sale_lp .kikaku02 .attention {
    display: flex;
    width: calc(500*(100vw/800));
    margin-inline: auto;
    font-size: calc(16*(100vw/800));
    text-align: left;
    line-height: 1.4375;
    margin-bottom: calc(10*(100vw/800));
    letter-spacing: 0.08em;
}

#sale_0101.sale_lp .kikaku02 .attention {
    display: flex;
    font-size: calc(16*(100vw/800));
    text-align: left;
    line-height: 1.4375;
    margin-bottom: calc(10*(100vw/800));
}

/* kikaku02 */


/* kikaku03 */
#sale_0101.sale_lp .kikaku03 {
    padding-top: calc(26*(100vw/800));
    height: calc(3250*(100vw/800));
    background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_text {
    position: relative;
    width: calc(800*(100vw/800));
    height: calc(354*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_text img {
    position: absolute;
    width: calc(800*(100vw/800));
    height: calc(595*(100vw/800));
    top: calc(-120*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_title {
    width: calc(540*(100vw/800));
    margin-inline: auto;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_button {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    overflow: hidden;
    padding-top: calc(150 * (100vw / 800));
    padding-bottom: calc(60 * (100vw / 800));
    row-gap: calc(50*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_button li {
    width: calc(240*(100vw/800));
    height: calc(240*(100vw/800));
    position: relative;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_button li img {
    scale: 1.4;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_button li::before {
    content: "";
    position: absolute;
    width: calc(288 * (100vw / 800));
    height: calc(360 * (100vw / 800));
    background: url(https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_button-select.png);
    background-repeat: no-repeat;
    background-size: cover;
    top: calc(-90 * (100vw / 800));
    left: 50%;
    translate: -50% 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 500ms;

}

#sale_0101.sale_lp .kikaku03 .kikaku03_button li.is-active::before {
    opacity: 1;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_contents {
    width: calc(767*(100vw/800));
    height: calc(1365*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(40*(100vw/800));
    background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_item-bg.png") no-repeat;
    background-size: cover;
    position: relative;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content {
    width: 100%;
    position: absolute;
    top: calc(77*(100vw/800));
    left: 50%;
    translate: -50% 0;
    opacity: 0;
    transition: opacity 500ms;
    pointer-events: none;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content.is-active {
    pointer-events: all;
    opacity: 11;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .color {
    width: calc(320*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(45*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .text {
    font-size: calc(24*(100vw/800));
    letter-spacing: 0.08em;
    line-height: 1.7916;
    color: #505050;
    text-align: center;
    margin-bottom: calc(40*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .image {
    width: calc(384*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(45*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .name {
    font-size: calc(30*(100vw/800));
    letter-spacing: 0.08em;
    line-height: 1.433;
    color: #505050;
    text-align: center;
    margin-bottom: calc(20*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .price {
    width: fit-content;
    height: calc(148*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(32*(100vw/800));
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .price img {
    width: auto;
    height: 100%;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_content .button_list {
    display: grid;
    gap: calc(12*(100vw/800));
    width: calc(384*(100vw/800));
    margin-inline: auto;
}

#sale_0101.sale_lp .kikaku03 .kikaku03_color-button {
    width: calc(385*(100vw/800));
    margin-inline: auto;
}

/* kikaku03 */


/* kikaku04 */
#sale_0101.sale_lp .kikaku04 {
    height: calc(2313*(100vw/800));
    background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section04_bg.png");
    background-size: cover;
    background-repeat: no-repeat;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_title {
    margin-bottom: calc(-100*(100vw/800));
}

#sale_0101.sale_lp .kikaku04 .kikaku04_sub-title {
    width: calc(480*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(40*(100vw/800));
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji {
    width: calc(182*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(30*(100vw/800));
    cursor: pointer;
    transition: transform 0.2s;
}

/* 揺れるアニメーション */
@keyframes shake {
    0% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(-5deg);
    }

    50% {
        transform: rotate(5deg);
    }

    75% {
        transform: rotate(-5deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-info {
    width: 100%;
    margin-bottom: calc(40*(100vw/800));
}

#sale_0101.sale_lp .kikaku04 .kikaku04_date {
    font-size: calc(24*(100vw/800));
    text-align: center;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #424242;
    margin-bottom: calc(40*(100vw/800));
}

#sale_0101.sale_lp .kikaku04 .regist-button {
    display: block;
    width: calc(458*(100vw/800));
    margin-inline: auto;
    margin-bottom: calc(60*(100vw/800));
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-flow {
    width: calc(680*(100vw/800));
    margin-inline: auto;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents {
    display: grid;
    place-content: center;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    pointer-events: none;
}

/* 閉じボタンのデザイン */
#sale_0101.sale_lp .kikaku04 .kuji-close-btn {
    display: none;
    position: absolute;
    top: calc(-20*(100vw/800));
    right: calc(-20*(100vw/800));
    width: calc(60*(100vw/800));
    height: calc(60*(100vw/800));
    background: #fff;
    border-radius: 100vw;
    place-content: center;
    cursor: pointer;
    z-index: 10001;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents.is-open .kuji-close-btn {
    display: grid;
}

#sale_0101.sale_lp .kikaku04 .kuji-close-btn .close {
    font-size: calc(40*(100vw/800));
    color: #000;
    line-height: 0.5;
    font-weight: bold;
    width: fit-content;
    height: fit-content;
}

#sale_0101.sale_lp .kikaku04 .kuji-close-btn:hover {
    background: #eee;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents.is-open::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: all;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content {
    display: none;
    width: fit-content;
    height: 90vh;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.5s ease-in;
    pointer-events: all;
    position: relative;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content img {
    width: auto;
    height: 100%;
}

#sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content.is-active {
    display: block;
    opacity: 1;
}


/* kikaku05 */
#sale_0101.sale_lp .kikaku05 {
    background-color: #e1d6d7;
    padding-bottom: calc(70*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .obi {
    margin-bottom: calc(20*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-list {
    display: grid;
    gap: calc(80*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content {
    display: flex;
    position: relative;
    width: calc(725*(100vw/800));
    margin-inline: auto;
    padding: calc(50*(100vw/800)) calc(33*(100vw/800));
    background-color: #fff;
    box-shadow: 0 0 calc(17*(100vw/800)) 0 rgba(91, 78, 57, 0.45);
    justify-content: space-between;
    align-items: center;
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .icon {
    position: absolute;
    width: calc(150*(100vw/800));
    left: calc(-20*(100vw/800));
    top: calc(-50*(100vw/800));
    z-index: 1;
    pointer-events: none;
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .image {
    width: calc(312*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info {
    width: calc(312*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .name {
    font-size: calc(24*(100vw/800));
    text-align: center;
    color: #000;
    line-height: 1.541;
    letter-spacing: 0.05em;
    margin-bottom: calc(10*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .price {
    width: fit-content;
    height: calc(93*(100vw/800));
    margin-left: calc(-5*(100vw/800));
    margin-bottom: calc(30*(100vw/800));
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .price img {
    width: auto;
    height: 100%;
}

#sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .buttons {
    display: grid;
    gap: calc(15*(100vw/800));
}

/* kikaku05 */

/* kikaku06 */
#sale_0101.sale_lp .content_box_05 {
    background-color: #fff;
}

#sale_0101.sale_lp .content_box_05 .line_img {
    width: calc(690*(100vw/800));
    max-width: 690px;
    margin-inline: auto;
}

/* kikaku06 */

/* anime */
.smooth {
    clip-path: inset(0 100% 0 0);
    transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
}

.smooth.tate {
    clip-path: inset(0 0 100% 0);
}

.smooth._delay {
    transition-delay: 0.5s;
}

.smooth.is-active {
    clip-path: inset(0);
    transition-delay: 0.5s;
}

.fade,
.fade_bg {
    opacity: 0;
}

.fade._delay {
    animation-delay: 1.5s;
    opacity: 0;
}

.fade._delay_02 {
    animation-delay: 3s;
    opacity: 0;
}

.fade.is-active {
    animation-name: fade_anim;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

.fade_bg.is-active {
    animation-name: fade_anim;
    animation-duration: 0s;
    animation-fill-mode: forwards;
}

@keyframes fade_anim {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fade-out {
    opacity: 1;
}

.fade-out.is-active {
    animation-name: fade-out_anim;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes fade-out_anim {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.6;
    }
}

.fade._zoom {
    transform: scale(1.2);
}

.fade._zoom.is-active {
    animation-name: zoom_anim;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes zoom_anim {
    from {
        opacity: 0;
        transform: scale(1.2);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.fade._blur.is-active {
    animation-name: blur_anim;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes blur_anim {
    from {
        opacity: 0;
        filter: blur(5px);
    }

    to {
        opacity: 1;
        filter: blur(0);
    }
}

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* anime */

/* PCサイズ */
@media screen and (min-width: 768px) {

    /* 企画 */
    /* カウントダウン */
    /* カウントダウン */
    #sale_0101.sale_lp .countdown_area {
        color: #771c28;
        background-color: transparent;
        padding-block: 65px 30px;
    }

    #sale_0101.sale_lp .countdown_area .cdt_timer {
        display: flex;
        justify-content: center;
        letter-spacing: 0.08em;
    }

    /* カウントダウン */


    /* メニュー */
    #sale_0101.sale_lp .menu_area {
        margin: 0 auto;
    }

    #sale_0101.sale_lp .top_wrap {
        height: 1500px;
        background-image: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/menu__bg.png");
        background-repeat: no-repeat;
        background-size: cover;
    }

    #sale_0101.sale_lp .menu_area .menu_list {
        width: 720px;
        height: 1120px;
        z-index: 1;
    }

    #sale_0101.sale_lp .menu_area .menu_list::after {
        content: "";
        width: 720px;
        height: 1120px;
        background-image: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/menu__button--bg.png");
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 25px;
        z-index: -1;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_01,
    #sale_0101.sale_lp .menu_area .menu_list .menu_02,
    #sale_0101.sale_lp .menu_area .menu_list .menu_03,
    #sale_0101.sale_lp .menu_area .menu_list .menu_04,
    #sale_0101.sale_lp .menu_area .menu_list .menu_05,
    #sale_0101.sale_lp .menu_area .menu_list .menu_06 {
        background-color: transparent;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_05,
    #sale_0101.sale_lp .menu_area .menu_list .menu_06 {
        width: 50%;
        padding: 0;
        position: relative;
        background-color: #fff;
    }

    .sale_lp .menu_area .menu_list .menu_00::before {
        height: 680px;
        background-color: #cbc0b2;
        top: 450px;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_01::before,
    #sale_0101.sale_lp .menu_area .menu_list .menu_02::before {
        background-color: #cbc0b2;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_05::before,
    #sale_0101.sale_lp .menu_area .menu_list .menu_06::before {
        content: "";
        position: absolute;
        width: 280px;
        height: 6px;
        background-color: #cbc0b2;
        z-index: 1;
        top: 0px;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_05::before {
        left: 40px;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_06::before {
        right: 40px;
    }

    #sale_0101.sale_lp .menu_area .menu_list .menu_01::after,
    #sale_0101.sale_lp .menu_area .menu_list .menu_02::after {
        background-color: #cbc0b2;
    }

    /* メニュー */

    #sale_0101.sale_lp .obi {
        width: 100%;
        height: fit-content;
    }

    #sale_0101.sale_lp .obi_img {
        width: 100%;
        max-width: 800px;
        margin-inline: auto;
    }

    /* kikaku01 */
    #sale_0101.sale_lp .kikaku01 {
        height: 3735px;
        background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section01_bg.png");
        background-size: contain;
        background-repeat: repeat-x;
    }

    #sale_0101.sale_lp .kikaku01 .obi {
        padding-top: 10px;
        margin-bottom: -30px;
    }

    #sale_0101.sale_lp .kikaku01 .kikaku01_message {
        width: 768px;
        margin-inline: auto;
        margin-bottom: 40px;
    }

    #sale_0101.sale_lp .kikaku01 .kikaku01_happybag-title {
        width: 682px;
        margin-inline: auto;
        margin-bottom: 30px;
    }

    #sale_0101.sale_lp .kikaku01 .kikaku01_happybag-list {
        display: grid;
        width: 732px;
        margin-inline: auto;
        margin-bottom: 50px;
        gap: 25px;
    }

    /* kikaku01 */


    /* kikaku02 */
    #sale_0101.sale_lp .kikaku02 {
        height: 1030px;
        background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section02_bg.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: center;
        background-color: #f6f4ed;
    }

    #sale_0101.sale_lp .kikaku02 .obi {
        margin-bottom: 100px;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket {
        width: 696px;
        margin-inline: auto;
        position: relative;
        display: flex;
        justify-content: flex-end;
        margin-bottom: 75px;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket-img {
        width: 447px;
        position: absolute;
        left: -50px;
        top: 50%;
        translate: 0 -50%;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text {
        width: 324px;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .name {
        font-size: 34px;
        color: #000;
        line-height: 1.2352;
        margin-bottom: 10px;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .price {
        font-size: 80px;
        color: #8a2825;
        letter-spacing: 0.12em;
        line-height: 1;
        margin-bottom: 10px;
    }

    #sale_0101.sale_lp .kikaku02 .kikaku02_ticket-text .price .yen_mark {
        font-size: 56px;
    }

    #sale_0101.sale_lp .kikaku02 .attention {
        display: flex;
        width: 500px;
        margin-inline: auto;
        font-size: 16px;
        text-align: left;
        line-height: 1.4375;
        margin-bottom: 10px;
        letter-spacing: 0.08em;
    }

    #sale_0101.sale_lp .kikaku02 .attention {
        display: flex;
        font-size: 16px;
        text-align: left;
        line-height: 1.4375;
        margin-bottom: 10px;
    }

    /* kikaku02 */


    /* kikaku03 */
    #sale_0101.sale_lp .kikaku03 {
        padding-top: 26px;
        height: 3250px;
        background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_bg.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: center;
        background-color: #ebdfc2;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_text {
        position: relative;
        width: 800px;
        height: 354px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_text img {
        position: absolute;
        width: 800px;
        height: 595px;
        top: -120px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_title {
        width: 540px;
        margin-inline: auto;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_button {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        overflow: hidden;
        padding-top: 150px;
        padding-bottom: 60px;
        row-gap: 50px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_button li {
        width: 240px;
        height: 240px;
        position: relative;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_button li img {
        scale: 1.4;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_button li::before {
        content: "";
        position: absolute;
        width: 288px;
        height: 360px;
        background: url(https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_button-select.png);
        background-repeat: no-repeat;
        background-size: cover;
        top: -90px;
        left: 50%;
        translate: -50% 0;
        z-index: 1;
        pointer-events: none;
        opacity: 0;
        transition: opacity 500ms;

    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_button li.is-active::before {
        opacity: 1;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_contents {
        width: 767px;
        height: 1365px;
        margin-inline: auto;
        margin-bottom: 40px;
        background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section03_item-bg.png") no-repeat;
        background-size: cover;
        position: relative;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content {
        width: 100%;
        position: absolute;
        top: 77px;
        left: 50%;
        translate: -50% 0;
        opacity: 0;
        transition: opacity 500ms;
        pointer-events: none;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content.is-active {
        pointer-events: all;
        opacity: 11;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .color {
        width: 320px;
        margin-inline: auto;
        margin-bottom: 45px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .text {
        font-size: 24px;
        letter-spacing: 0.08em;
        line-height: 1.7916;
        color: #505050;
        text-align: center;
        margin-bottom: 40px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .image {
        width: 384px;
        margin-inline: auto;
        margin-bottom: 45px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .name {
        font-size: 30px;
        letter-spacing: 0.08em;
        line-height: 1.433;
        color: #505050;
        text-align: center;
        margin-bottom: 20px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .price {
        width: fit-content;
        height: 148px;
        margin-inline: auto;
        margin-bottom: 32px;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .price img {
        width: auto;
        height: 100%;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_content .button_list {
        display: grid;
        gap: 12px;
        width: 384px;
        margin-inline: auto;
    }

    #sale_0101.sale_lp .kikaku03 .kikaku03_color-button {
        width: 385px;
        margin-inline: auto;
    }

    /* kikaku03 */


    /* kikaku04 */
    #sale_0101.sale_lp .kikaku04 {
        height: 2313px;
        background: url("https://www.tu-hacci.co.jp/img/salepage/202601/0101-12/section04_bg.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position-x: center;
        background-color: #f7f2ea;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_title {
        margin-bottom: -100px;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_sub-title {
        width: 480px;
        margin-inline: auto;
        margin-bottom: 40px;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji {
        width: 182px;
        margin-inline: auto;
        margin-bottom: 30px;
        cursor: pointer;
        transition: transform 0.2s;
    }

    /* 揺れるアニメーション */
    @keyframes shake {
        0% {
            transform: rotate(0deg);
        }

        25% {
            transform: rotate(-5deg);
        }

        50% {
            transform: rotate(5deg);
        }

        75% {
            transform: rotate(-5deg);
        }

        100% {
            transform: rotate(0deg);
        }
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-info {
        width: 100%;
        margin-bottom: 40px;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_date {
        font-size: 24px;
        text-align: center;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #424242;
        margin-bottom: 40px;
    }

    #sale_0101.sale_lp .kikaku04 .regist-button {
        display: block;
        width: 458px;
        margin-inline: auto;
        margin-bottom: 60px;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-flow {
        width: 680px;
        margin-inline: auto;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents {
        display: grid;
        place-content: center;
        width: 100vw;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
        pointer-events: none;
    }

    /* 閉じボタンのデザイン */
    #sale_0101.sale_lp .kikaku04 .kuji-close-btn {
        display: none;
        position: absolute;
        top: -20px;
        right: -20px;
        width: 40px;
        height: 40px;
        background: #fff;
        border-radius: 100vw;
        place-content: center;
        cursor: pointer;
        z-index: 10001;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents.is-open .kuji-close-btn {
        display: grid;
    }

    #sale_0101.sale_lp .kikaku04 .kuji-close-btn .close {
        font-size: 20px;
        color: #000;
        line-height: 0.5;
        font-weight: bold;
        width: fit-content;
        height: fit-content;
    }

    #sale_0101.sale_lp .kikaku04 .kuji-close-btn:hover {
        background: #eee;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-contents.is-open::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3);
        top: 0;
        left: 0;
        z-index: -1;
        pointer-events: all;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content {
        display: none;
        width: fit-content;
        height: 90vh;
        z-index: 1;
        opacity: 0;
        transition: opacity 0.5s ease-in;
        pointer-events: all;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content img {
        width: auto;
        height: 100%;
    }

    #sale_0101.sale_lp .kikaku04 .kikaku04_kuji-content.is-active {
        display: block;
        opacity: 1;
    }


    /* kikaku05 */
    #sale_0101.sale_lp .kikaku05 {
        background-color: #e1d6d7;
        padding-bottom: 70px;
    }

    #sale_0101.sale_lp .kikaku05 .obi {
        margin-bottom: 20px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-list {
        display: grid;
        gap: 80px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content {
        display: flex;
        position: relative;
        width: 725px;
        margin-inline: auto;
        padding: 50px 33px;
        background-color: #fff;
        box-shadow: 0 0 17px 0 rgba(91, 78, 57, 0.45);
        justify-content: space-between;
        align-items: center;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .icon {
        position: absolute;
        width: 150px;
        left: -20px;
        top: -50px;
        z-index: 1;
        pointer-events: none;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .image {
        width: 312px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info {
        width: 312px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .name {
        font-size: 24px;
        text-align: center;
        color: #000;
        line-height: 1.541;
        letter-spacing: 0.05em;
        margin-bottom: 10px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .price {
        width: fit-content;
        height: 93px;
        margin-left: -5px;
        margin-bottom: 30px;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .price img {
        width: auto;
        height: 100%;
    }

    #sale_0101.sale_lp .kikaku05 .kikaku05_item-content .info .buttons {
        display: grid;
        gap: 15px;
    }

    /* kikaku05 */

    /* kikaku06 */
    #sale_0101.sale_lp .content_box_05 {
        background-color: #fff;
    }

    #sale_0101.sale_lp .content_box_05 .line_img {
        width: 690px;
        max-width: 690px;
        margin-inline: auto;
    }

    /* kikaku06 */

}