﻿@charset "UTF-8";

/* ==============================================
   既存のスタイル定義
   ============================================== */
.pc {
    display: block;
}
.sp {
    display: none;
}

#bodyContainer {
    padding-top: unset;
}

/*---------------------------------------*/
#section-special_modal .section-special_modal_bottom {
    padding: 100px auto 50px;
}
#section-special_modal ul {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 20px;
    justify-content: center;
}
#section-special_modal ul li {
    width: 32%;
    margin: 0 2% 10px 0;
}
#section-special_modal ul li:last-child {
    margin: 0 0 10px 0;
}
#section-special_modal ul li .banner {
    background: #fff;
    border: 1px solid var(--color_1);
}
#section-special_modal ul li .banner picture {
    transition: opacity 0.2s;
}
#section-special_modal ul li a {
    opacity: 1;
    transition: none;
}
#section-special_modal ul li p {
    font-size: 16px;
    line-height: 1.4;
    margin: 16px 0 0;
    transition: opacity 0.2s;
    color: #3A3A3A;
}
@media (hover: hover) {
    #section-special_modal ul li a:hover .banner picture {
        opacity: 0.6;
    }
    #section-special_modal ul li a:hover>p {
        opacity: 0.6;
    }
}
@media (hover: none) {
    #section-special_modal ul li a:active .banner picture {
        opacity: 0.6;
    }
    #section-special_modal ul li a:active>p {
        opacity: 0.6;
    }
}
@media screen and (max-width: 750px) {
    #section-special_modal {
        padding: 0px 0 20px;
    }
    #section-special_modal ul {
        display: block;
        margin: 40px 0 0;
    }
    #section-special_modal ul li {
        width: 100%;
        max-width: 540px;
        margin: 30px auto 0;
    }
    #section-special_modal ul li:last-child {
        margin: 30px auto 0;
    }
    .disney-page #section-heading h2 {
        line-height: 1.4;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
@media screen and (max-width: 320px) {
    .disney-page #section-heading h2 {
        line-height: 1.4;
        font-size: 30px;
    }
}

/*---------------------------------------*/
/* ▼▼▼ 変更箇所 1: 親要素の背景・パディングをリセット ▼▼▼
   背景色は子要素(.item01, .item02)で個別に設定するため、
   ここでは透明にし、paddingも0にします。
*/
#wicked2 {
    color: #595757;
    background:#f4e1e4; 
    background-size: cover;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-style: normal;
    padding-top: 50px;
}

#wicked2 img {
    width: 100%;
}

#wicked2 h3 {
    width: 100%;
    margin: 0 auto;
    font-size: 0;
    max-width: 750px;
}
@media screen and (max-width: 750px) {
    #wicked2 h3 {
        padding: 0 9%;
    }
}

#wicked2 .model-box {
    max-width: 1000px;
    padding: 0 30px 100px;
    margin: 0 auto;
}
#wicked2 .model-box .txt {
    font-size: 22px;
    text-align: center;
    letter-spacing: 0.1em;
    margin-top: 10px;
    line-height: 1.8;
}

@media screen and (max-width: 750px) {
    #wicked2 .model-box {
        padding: 0 9% 10%;
        margin: 0 auto;
    }    

    #wicked2 .model-box .txt {
        font-size: 16px;
        margin-top: 20px;
        margin-top: 40px;
    }
}

/*---------------------------------------*/
#wicked2 .point-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1250px;
    margin: 0 auto;
    padding: 100px 30px;
    border-bottom: 0;
    position: relative;
    z-index: 2;
}

#wicked2 .point-box .left {
    width: 33%;
}
#wicked2 .point-box .center {
    width: 26%;
    position: relative;
}
#wicked2 .point-box .right {
    width: 33%;
}
#wicked2 .point-box .point {
    position: relative;
    z-index: 2;
}

#wicked2 .point-box .point .pict {
    width: 100%;
    margin: auto;
}
#wicked2 .point-box .point.point03 {
    margin-top: 170px;
}
#wicked2 .point-box .center .illust01,
#wicked2 .point-box .center .illust02 {
    position: absolute;
    display: block;
}

#wicked2 .item01 .point-box .center .illust01 {
    width: 42%;
    top: -10%;
    right: -14%;
}

#wicked2 .item01 .point-box .center .illust02 {
    width: 42%;
    bottom: -10%;
    left: -17%;
}

#wicked2 .item02 .point-box .center .illust01 {
    width: 37%;
    top: -14%;
    right: 66%;
}

#wicked2 .item02 .point-box .center .illust02 {
    width: 34%;
    bottom: -4%;
    left: 79%;
}

@media screen and (max-width: 750px) {
    #wicked2 .point-box {
        display: block;
        margin: 0px 3%;
        padding: 15% 6% 15%;
        position: relative;
        border-bottom: 0;
    }
    #wicked2 .point-box .left,
    #wicked2 .point-box .right {
        width: 100%;
        margin-right: 0;
    }
    #wicked2 .point-box .center {
        width: 50%;
        margin: 0 auto 20%;
        position: relative;
    }
    #wicked2 .point-box .point.point02,
    #wicked2 .point-box .point.point03 {
        margin-top: 15%;
    }
    #wicked2 .item01 .point-box .center .illust01 {
        width: 40%;
        top: -9%;
        right: -11%;
    }
    #wicked2 .item01 .point-box .center .illust02 {
        width: 46%;
        bottom: -11%;
        left: -14%;
    }
    
    #wicked2 .item02 .point-box .center .illust01 {
        width: 32%;
        top: -12%;
        right: 68%;
    }
    
    #wicked2 .item02 .point-box .center .illust02 {
        width: 30%;
        bottom: -7%;
        left: 82%;
    }
}

/*---------------------------------------*/
#wicked2 .more-box {
    margin-top: 130px;
    max-width: 1250px;
    margin: 0 auto;
    padding: 10px 30px 70px;
}
#wicked2 .more-box .item-here {
    width: 378px;
    margin: 30px auto 0;
    position: relative;
}
#wicked2 .more-box .item-here a {
    display: block;
    border: 1px solid #fff;
    padding: 20px 20px;
    background: #fff;
    text-align: center;
    cursor: pointer;
    font-size: 18px;
    text-decoration: none;
}
#wicked2 .more-box .item-here::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 10px;
    border-top: 1px solid #595757;
    border-left: 1px solid #595757;
    transform: rotate(135deg);
    position: absolute;
    top: 40%;
    right: 14px;
}
#wicked2 .more-box .copyright {
    font-size: 18px;
    max-width: 1150px;
    margin: 80px auto 0;
    text-align: right;
    font-weight: 400;
}
@media screen and (max-width: 750px) {
    #wicked2 .more-box {
        margin: 0 3%;
        margin-top: -2px;
        padding: 0px 22px 70px;
    }
    #wicked2 .more-box .item-here {
        width: 100%;
        margin: 20px auto 0;
    }
    #wicked2 .more-box .item-here a {
        padding: 15px 15px;
    }
    #wicked2 .more-box .copyright {
        font-size: 14px;
        width: 85%;
        margin: 40px auto 0;
    }
}

/*---------------------------------------*/
#wicked2 .design {
    display: flex;
    justify-content: center;
    max-width: 1250px;
    margin: 100px auto 0;
}
#wicked2 .design .left {
    width: 40%;
    margin-right: 5%;
}
#wicked2 .design .right {
    width: 40%;
    margin-left: 20px;
}
@media screen and (max-width: 750px) {
    #wicked2 .design {
        display: block;
        width: 100%;
        margin: 15% auto 0;
    }
    #wicked2 .design .left {
        width: 100%;
        margin-right: 0;
    }
    #wicked2 .design .right {
        width: 100%;
        padding-right: 0;
        margin-top: 15%;
        margin-left: 0;
    }
}

/*---------------------------------------*/
#wicked2 .itme-detail {
    position: relative;
    padding: 150px 0 0;
}
#wicked2 .itme-detail .bg {
    position: absolute;
    width: 484px;
    right: 0;
    top: -100px;
}
#wicked2 .itme-detail h4 {
    text-align: center;
    width: 50%;
    margin: 0 auto;
    padding: 20px 0;
}
#wicked2 .itme-detail .inner {
    max-width: 650px;
    margin: 30px auto 0;
    display: flex;
    align-items: center;
}
#wicked2 .itme-detail .pict {
    width: 30%;
    margin-right: 8%;
}
#wicked2 .itme-detail .txt-box {
    width: 58%;
    color: #fff;
}
#wicked2 .itme-detail .body-copy {
    font-size: 24px;
}
#wicked2 .itme-detail .no {
    font-size: 36px;
    margin-top: 10px;
}
#wicked2 .itme-detail .price {
    font-size: 24px;
    margin-top: 10px;
}
#wicked2 .itme-detail .price span {
    font-size: 18px;
    margin-top: 10px;
}
#wicked2 .itme-detail .day {
    font-size: 18px;
    margin-top: 10px;
}
#wicked2 .itme-detail .item-here2 {
    width: 378px;
    margin-top: 50px;
    position: relative;
}
#wicked2 .itme-detail .item-here2 a {
    display: block;
    border: 1px solid #fff;
    padding: 20px 20px;
    background: #fff;
    text-align: center;
    cursor: pointer;
    font-size: 18px;
    color: #3A3A3A;
}
#wicked2 .itme-detail .item-here2::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 10px;
    border-top: 1px solid #595757;
    border-left: 1px solid #595757;
    transform: rotate(135deg);
    position: absolute;
    top: 40%;
    right: 14px;
}
#wicked2 .itme-detail .copyright2 {
    font-size: 12px;
    max-width: 1150px;
    margin: 30px auto 0;
    font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 750px) {
    #wicked2 .itme-detail {
        padding: 40px 0 0;
        margin-top: 15%;
    }
    #wicked2 .itme-detail .bg {
        display: none;
    }
    #wicked2 .itme-detail h4 {
        width: 80%;
    }
    #wicked2 .itme-detail .inner {
        margin: 30px auto 0;
        display: block;
    }
    #wicked2 .itme-detail .pict {
        width: 45%;
        margin: 0 auto;
    }
    #wicked2 .itme-detail .txt-box {
        width: 85%;
        margin: 30px auto 0;
        text-align: center;
    }
    #wicked2 .itme-detail .body-copy {
        font-size: 18px;
    }
    #wicked2 .itme-detail .no {
        font-size: 28px;
        margin-top: 5px;
    }
    #wicked2 .itme-detail .price {
        font-size: 20px;
        margin-top: 5px;
    }
    #wicked2 .itme-detail .price span {
        font-size: 16px;
        margin-top: 5px;
    }
    #wicked2 .itme-detail .day {
        font-size: 14px;
        margin-top: 5px;
    }
    #wicked2 .itme-detail .item-here2 {
        width: 100%;
        margin: 20px auto 0;
    }
    #wicked2 .itme-detail .item-here2 a {
        padding: 15px 15px;
    }
    #wicked2 .itme-detail .copyright2 {
        font-size: 10px;
        width: 85%;
        margin: 20px auto 0;
    }
}

/*---------------------------------------*/
/* アコーディオンのスタイル */
#wicked2 .accordion__head {
    position: relative;
    width: 378px;
    margin: 0 auto;
    border: 1px solid #fff;
    padding: 20px 20px;
    color: #fff;
    text-align: center;
    cursor: pointer;
    font-size: 18px;
    height: 70px;
}
@media screen and (max-width: 750px) {
    #wicked2 .accordion__head {
        width: 100%;
        padding: 15px 15px;
        height: 60px;
    }
}
#wicked2 .accordion__head::before {
    content: "もっと見る";
    display: inline-block;
    position: absolute;
    top: 20px;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 18px;
}
#wicked2 .accordion__item.active .accordion__head::before {
    content: "閉じる";
    display: inline-block;
    position: absolute;
    top: 20px;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 18px;
}
@media screen and (max-width: 750px) {
    #wicked2 .accordion__head::before {
        top: 14px;
    }
    #wicked2 .accordion__item.active .accordion__head::before {
        top: 14px;
    }
}
#wicked2 .accordion__head::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 10px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: rotate(225deg);
    position: absolute;
    top: 40%;
    right: 10px;
    transition: all .25s ease;
}
#wicked2 .accordion__item.active .accordion__head::after {
    transform: rotate(45deg);
    top: 45%;
}
@media screen and (max-width: 750px) {
    #wicked2 .accordion__head::after {
        top: 30%;
    }
    #wicked2 .accordion__item.active .accordion__head::after {
        top: 44%;
    }
}
#wicked2 .accordion__body {
    overflow: hidden;
    width: 100%;
    height: 0;
    transition: all .25s ease;
}
#wicked2 .accordion__item.active .accordion__body {
    height: auto;
}
#wicked2 .accordion__item.active .item-here,
#wicked2 .accordion__item.active .copyright {
    display: none;
}

#wicked2 .accordion__item .item-here {
    color: #323232;
}

/* ==============================================
   ▼▼▼ 変更箇所 2: アイテム別のグラデーション追加 ▼▼▼
   ============================================== */

/* --- ITEM 01: ピンク〜紫系 --- */
#wicked2 .item01 {
    /* ベースカラー */
    background-color: #c4bfdb;
    
    /* 背景画像の重ね合わせ */
    background-image: 
        /* [画像A: 下部用] 分かれ目のグラデーション */
        linear-gradient(to bottom, 
            rgba(196,191,219,0) 0%, 
            #c4bfdb 23%,            
            #6f8d8a 58%,            
            #044d24 97%
        ),
        /* [画像B: 上部用] メインのグラデーション 
           変更点: ピンクの開始を長く、変化をなだらかに
        */
        linear-gradient(to bottom, 
            #af7aab 0%, 
            #af7aab 20%, /* 20%地点までピンクを維持 */
            #c4bfdb 100%
        );

    /* 配置とサイズ */
    background-position: bottom, top;
    background-repeat: no-repeat;
    /* 変更点: 上部グラデーションの高さを 1200px -> 2500px に大幅拡張し、なだらかにする */
    background-size: 100% 300px, 100% 1900px; 
    
    /* 元の #wicked2 にあった余白をここに適用 */
    padding-top: 100px;
    padding-bottom: 200px;
}

/* --- ITEM 02: 緑系 --- */
#wicked2 .item02 {
    /* ベースカラー：最下部の色に合わせて設定 */
    background-color: #259248;
    color: #fff; 
    
    /* item01と同様の構造に変更 */
    background-image: 
        /* [下部用] 必要に応じて最下部に向かってさらに濃くする場合などはここで調整 */
        linear-gradient(to bottom, 
            rgba(4, 77, 36, 0) 0%, 
            #259248 100%
        ),
        /* [上部用] メインのグラデーション 
           色の開始位置を固定し、高さをpx指定することで伸びを防止します
        */
        linear-gradient(to bottom, 
            #044d24 0%, 
            #044d24 20%, /* 20%地点まで濃い緑を維持 */
            #259248 100%
        );

    /* 配置とサイズ */
    background-position: bottom, top;
    background-repeat: no-repeat;
    
    /* 重要：ここをitem01と同じく固定値(1900px等)にします。
       これにより、アコーディオンが開いてもグラデーションの「幅」が変わりません。
    */
    background-size: 100% 300px, 100% 1900px; 
    
    /* 余白 */
    padding-top: 50px;
    padding-bottom: 50px;
}

/* --- ITEM 02 の内部テキスト色調整 --- */
#wicked2 .item02 h3,
#wicked2 .item02 p,
#wicked2 .item02 .txt,
#wicked2 .item02 .copyright,
#wicked2 .item02 .day {
    color: #fff;
}