@charset "UTF-8";

[data-base-color=green02] .footer {
    background-image:linear-gradient(90deg,#E4F7D3, #CEFECE)
}

[data-base-color=green02] .footer__to-top {
    background-image:linear-gradient(90deg,#E4F7D3, #CEFECE)
}

.main {
    max-width: 1920px;
    padding: 50px 0 100px;
    margin: 0 auto;
    background-image:linear-gradient(90deg,#E4F7D3, #CEFECE)
}
.body{font-family:"Noto Sans JP",serif;}

.txtC{text-align: center;}

.kv{
    margin: 0 auto;
    font-size: min(10vw,30px);
    text-align: center; /* 画像を中央に配置するために追加 */
    width: 90%; /* モバイル端末向けのデフォルト */
}
.kv h1{
    width: 100%;
    margin: 0 auto;
    text-align: center; /* 画像を中央に配置するために追加 */
}
.captionBlock{
    text-align: center;
    color: #595959;
    font-weight: bold;
    font-size: 1.4vw;
    padding: 2% 3% 2%;
    line-height: 1.5;
}
.main {
    padding: 0;
}
.main a {
    color: #595959;
}
.pc {display: block;}
.sp {display: none;}
.sp2{display: none;}

.content {
    font-size: min(4vw,36px);
    line-height: 1.5;
}
.contentInner {
    padding: 4.55% 0 0 0;
}

h2{
    font-size: min(4vw,30px);
    font-family:"Noto Sans JP",sans-serif;
    letter-spacing: 0.1em;
    font-weight: bold;
    border-bottom: solid 6px #83CBEB;
    text-align: center;
    line-height: 1.7;
    margin-bottom: 3%;
}

.cont01 p{
    font-size: min(2.25vw,24px);
}
p.caution{
    font-size: 1.2vw;
}

.TextA {
    margin: 0 auto;
    background-image: linear-gradient(90deg, #ffffff, #ffffff);position:relative;border-radius:40px 40px 40px 40px;
    position: relative;
    border-radius: 20px;
    font-size: min(2.6vw, 24px);
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    color: #000000;
    padding: 2% 3%;
    line-height: 1.5;
    width: 90%; /* モバイル端末向けのデフォルト */
}
.TextB{
    margin: 0 auto;
    background-image: linear-gradient(90deg, #ffffff, #ffffff);position:relative;border-radius:40px 40px 40px 40px;
    position: relative;
    border-radius: 20px;
    font-size: min(2.6vw, 24px);
    font-family: "Noto Sans JP", sans-serif;
    color: #000000;
    padding: 2% 3%;
    line-height: 1.5;
    width: 95%; /* モバイル端末向けのデフォルト */
}
.TextC{
    margin:0 auto;
    background-color:#43a834;position:relative;border-radius:45px 45px 45px 45px;
    font-size: min(4vw, 32px);
    letter-spacing: 0.1em;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    padding: 2% 3%;
    line-height: 1.3;
    width: 95%; /* モバイル端末向けのデフォルト */
}
.TextD{
    width: 100%;
    margin:0 auto;
    background-image:linear-gradient(90deg,#FEE6F5,#CEEDFE);position:relative;border-radius:20px 20px 20px 20px;
    font-size: min(2.6vw,24px);
    font-family:"Noto Sans JP",sans-serif;
    text-align: center;
    color: #000000;
    padding: 2% 3% 2%;
    line-height: 1.5;
}
/* PC（画面幅が1200px以上）の場合に幅を1000pxに固定 */
@media screen and (min-width: 1200px) {
    .kv {
        width: 700px;
    }
    .TextA {
        width: 700px;
    }
    .TextB {
        width: 1000px;
    }
    .TextC {
        background-color:#43a834;position:relative;border-radius:45px 45px 45px 45px;
        color: #ffffff;
        padding: 1% 3%;
        width: 1000px;
    }
}
.cont01 {
    font-size: min(2.6vw,22px);
}
p.caution{
    font-size: 1.2vw;
}
.btn {
    text-align: center;
    margin: 3.75% 0 1%;
}
.btn img {
    width: min(60vw,480px);
    margin: 0 auto;
}

.ticket{
    padding-top: 6%;
}
.ticket p {
    padding: 0 0 1rem;
}
.ticket p strong {
    font-weight: bold;
    font-size: 1.57vw;
}
.entry p {
    padding: 0 0 1rem;
}
.entry p strong {
    font-weight: bold;
    font-size: 1.57vw;
}

table{
    width: 100%;
    border-radius: 33px;
    border-spacing: 0;
    border-collapse: separate;
    font-size: min(1.84vw, 26px);
    font-weight: bold;
    border-left: 4px solid #43a834;
}

table th{
    background-color: ;
    color: #ffffff;
    border: none;
    padding: 1% 0 1% 0;
}
table th:nth-child(1){
    border-right: 2px solid #ffffff;
    width: 25.3%;
    border-radius: 30px 0 0 0;
    text-align: center;
}
table th:nth-child(2){
    text-align: center;
    border-radius: 0 30px  0 0;
}
table tr:nth-child(2n-1){
    background-color: #e7f8e5;
}
table tr:nth-child(2n){
    background-color: #ffffff;
}

table tr:last-child td:nth-child(1){
    border-radius: 0 0 0 30px;
    border-bottom: 4px solid #43a834;
}
table tr:last-child td:nth-child(2){
    border-bottom: 4px solid #43a834;
    border-radius: 0 0 30px 0;
}

table td:nth-child(1){
    border-right: 2px solid #43a834;
    padding: 1% 0 1% 3.5%;
}
table td:nth-child(2){
    padding: 1% 0 1% 3.5%;
    border-right: 4px solid #43a834;
    padding: 1% 0 1% 3.5%;
    line-height: 1;
    vertical-align: middle;
}

.fsS{
    font-size: min(1.38vw, 18px);
}
.fsXS{
    font-size: min(1.25vw, 16px);
}
.fsXXS{
    font-size: min(0.9vw,12px);
}
.txtIndent{
    text-indent: -1.0em;
    padding: 0px 0px 0px 1em;
}
.txtIndent02 {
    text-indent: -1.5em;
    padding: 0px 0px 0px 1.5em;
}
.fwB{font-weight: bold;}
.txtRed{color: #cc0033;}
a.txtLink{
    text-decoration: underline;
    color: #252525;
}
a.txtRed{color: #cc0033;}
.info {
      flex: 1;
      background-color: #f9f9f9;
      padding: 20px;
      border-radius: 8px;
    }
.info h3 {
    margin: 0 0 35px 0;
}
.info .info_sub {
    font-size: 20.25vw;
    font-weight: bold;
}
.info p {
    padding: 0 0 1rem;
}
.info p strong {
    font-weight: bold;
    font-size: 1.57vw;
}
.info p .font_small {
    font-size: 1.1vw;
}
.info .info_btn {
    text-align: center;
    margin: 30px 0 0 0;
}
.info .info_btn img {
    width: 30vw;
    margin: 0 auto;
}

.btn02 {
    text-align: center;
    margin: 5.75% 0 9%;
}
.btn02 img {
    width: 33vw;
    margin: 0 auto;
}
.kvBlock{
    margin: 5% auto;
    text-align: center; /* 画像を中央に配置するために追加 */
}

.aboutentry {
    margin: 60px 0;
    padding : 0 5% 120px;
}
.aboutentry h3 {
    margin: 0 0 35px 0;
}
.aboutentry p {
    padding: 0 0 1rem;
}
.aboutentry .aboutentry_capture {
    margin: 30px 0 0 0;
}
.aboutentry .aboutentry_capture img {
    width: 30vw;
    margin: 0 auto;
}

h2.attention {
    text-align: center;
    font-size: 120%;
}

article.attention {
    margin: 60px 0 120px;
    padding : 0 5%;
}
.attention p {
    padding: 0 0 1rem;
}

.entry{
    margin-top: 6%;
}
.entryWrap{
    display: flex;
}
.entryBox {
    align-items: stretch;
    position: relative;
    margin: 0 0 1.5em;
    padding: 1.25em 1em;
    border: solid 3px #43a834;
    border-radius: 20px;
    float: left;
    width: 30%;
    margin-right: 5%;
}
.entryBoxInner{
    text-align: center;
    margin: 0 auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.entryBox.entryBox03 {
    margin-right: 0;
}
.entryBox .box-title {
    position: absolute;
    display: inline-block;
    top: -6%;
    left: 50%;
    padding: 0 9px;
    line-height: 1;
    font-size: 21px;
    background: #FFF;
    color: #43a834;
    font-weight: bold;
    transform: translateX(-50%);
}
.entryBox p {
    margin: 0; 
    padding: 0;
}
.entryBox01::after,
.entryBox02::after{
    content: "";
    background-image: url(images/ico02.png);
    background-repeat: no-repeat;
    position: absolute;
    width: 21px;
    height: 25px;
    top: 45%;
    right: -14%;
}
.entryBox01 img{
    width: 78%;
    margin: 0 auto;
}
.entryBox03 img{
    width: 25%;
    margin: 0 auto;
}

/* アコーディオン*/
.accordion_one {
    width: 90%; /* モバイル端末向けのデフォルト */
    margin: 4.25% auto 0;
}

/* PC（画面幅が1200px以上）の場合に幅を1000pxに固定 */
@media screen and (min-width: 1200px) {
    .accordion_one {
        width: 1000px;
    }
}

.accordion_one .accordion_header {
    background-image: none; /* 水色のグラデーションを解除 */
    background-color: #43a834; /* TextCと同じグリーンに変更！ */
    position: relative;
    border-radius:14px 14px 0 0;
    color: #FFFFFF;
    font-size: min(4vw,30px);
    font-weight: bold;
    padding: 1% 13%;
    text-align: center;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.2s;
}
.accordion_one .accordion_header::after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 29px;
    height: 29px;
    right: 24px;
    background-image: url(images/icon_open.png);
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
}
.accordion_one .accordion_header.open::after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 29px;
    height: 29px;
    right: 24px;
    background-image: url(images/icon_close.png);
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
}
.accordion_one .accordion_inner {
    display: none;
    padding: 30px 30px;
    box-sizing: border-box;
    border-left: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    background-color: #FFFFFF;
}
.accTtl{
    font-weight: bold;
    margin-top: 1em;
}
.mt1em{
    margin-top: 1em;
}
.box_one{
    font-size: min(2.6vw, 20px);
}
.mb1em{
    margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
    .accordion_one .accordion_header {
        font-size: 24px;
        padding: 15px 60px 15px 15px;
    }
}
@media only screen and (max-width: 640px) {
    .accordion_one .accordion_header {
        font-size: 16px;
        padding: 15px 15px 15px 15px;
    }
    .accordion_one .accordion_header.open::after {
        width: 19px;
        height: 19px;
    }
    .accordion_one .accordion_header::after {
        width: 19px;
        height: 19px;
    }
    .accordion_one .accordion_inner {
        padding: 1.2em;
    }
}

@media only screen and (max-width: 1100px) {
    .main {
        max-width: 100%;
        padding: 0 5%;
    }
    .sp2{display: none;}
}

@media only screen and (max-width: 768px) {
    .pc {display: none;}
    .sp {display: block;}
    .sp2{display: none;}
    .main {
        max-width: 100%;
        padding: 0 5%;
    }
    
    .content {
        font-size: 24px;
    }
    h2 {
        font-size: 150%;
    }
    .captionBlock{
        font-size: 150%;
    }
    .fsS{
        font-size: 80%;
    }
    .fsXS{
        font-size: 70%;
    }
    .fsXXS{
        font-size: 65%;
    }
    .box_one{
        font-size: 80%;
    }

    .entryWrap{
        display: block;
        overflow: hidden;
    }

    .entryBox {
        width: 100%;
    }
    .entryBoxInner{
        transform: none;
    }
    .entryBox01,
    .entryBox02{
        margin-top: 3%;
        margin-bottom: 12%;
    }
    .entryBox01::after,
    .entryBox02::after{
        content: "";
        background-image: url(images/ico03.png);
        background-repeat: no-repeat;
        position: absolute;
        width: 40px;
        height: 34px;
        top: 115%;
        left: 50%;
        transform: translateX(-50%);
    }
    .entryBox01 img {
        width: 50%;
        margin: 0 auto;
    }
    .entryBox03 img {
        width: 10%;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 640px) {
    .pc {display: none;}
    .sp {display: block;}
    .sp2{display: block;}
    .main {
        max-width: 100%;
        padding: 0 5%;
    }
    .captionBlock{
        font-size: 16px;
    }
    .content {
        font-size: 16px;
    }

    table {
        border-radius: 10px;
        font-size: 16px;
        border-left: 2px solid #43a834;
    }
    table th:nth-child(1){
        border-right: 2px solid #ffffff;
        width: 9%;
        border-radius: 10px 0 0 0;
    }
    table th:nth-child(2){
        text-align: center;
        border-radius: 0 10px  0 0;
    }
    
    table tr:last-child td:nth-child(1){
        border-radius: 0 0 0 10px;
        border-bottom: 2px solid #43a834;
    }
    table tr:last-child td:nth-child(2){
        border-bottom: 2px solid #43a834;
    }
    table tr:last-child td:nth-child(3){
        border-radius: 0 0 10px 0;
        border-bottom: 2px solid #43a834;
    }
    
    table td:nth-child(1){
        border-right: 2px solid #43a834;
    }
    table td:nth-child(2){
        padding: 1% 0 1% 3.5%;
        width: 22%;
        border-right: 2px solid #43a834;
    }
    table td:nth-child(3){
        border-right: 2px solid #43a834;
        padding: 1% 0 1% 0.5%;
    }
    .fsS{
        font-size: 80%;
    }
    .fsXS{
        font-size: 70%;
    }
    .fsXXS{
        font-size: 65%;
    }
    .entryBox01::after,
    .entryBox02::after{
        content: "";
        background-image: url(images/ico03.png);
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        width: 23px;
        height: 20px;
        top: 115%;
        left: 50%;
        transform: translateX(-50%);
    }
}

.footer{background-image:linear-gradient(90deg,#ffffff,#F9EAD1);position:relative;border-radius:14px 14px 0 0}
@media screen and (min-width:1024px){
.footer{margin-top:-20px}}[data-base-color=red] 
 
.footer{background-color:#9bde2d}[data-base-color=pink] .footer{background-color:#ff9bc5}
.footer__to-top{position:absolute;top:-9.4444444444vw;left:50%;z-index:1;display:flex;justify-content:center;width:31.1111111111vw;height:31.1111111111vw;padding:3.0555555556vw 0 0;color:#fff;border-radius:50%;transform:translate(-50%)}@media screen and (min-width:768px){
.footer__to-top{top:-34px;width:112px;height:112px;padding:11px 0 0}}[data-base-color=red] 
.footer__to-top{background-color:#e8315d}[data-base-color=blue] 
.footer__to-top{background-color:#3251f6}[data-base-color=light-blue] 
.footer__to-top{background-color:#69b7ff}[data-base-color=black] 
.footer__to-top,[data-base-color=white] 
.footer__to-top{background-color:#252525}[data-base-color=yellow] 
.footer__to-top{background-color:#f8cc32}[data-base-color=green] 
.footer__to-top{background-color:#1fcc64}[data-base-color=orange] 
.footer__to-top{background-color:#f63232}[data-base-color=light-yellow] 
.footer__to-top{background-color:#f8cc32}[data-base-color=light-green] 
.footer__to-top{background-color:#9bde2d}[data-base-color=pink] 
.footer__to-top{background-color:#ff9bc5}
.footer__to-top svg{width:3.3333333333vw;height:4.4444444444vw}@media screen and (min-width:768px){
.footer__to-top svg{width:12px;height:16px}}
.footer__upper{position:relative;z-index:10;width:80vw;padding:11.6666666667vw 0 8.8888888889vw;margin:auto}@media screen and (min-width:768px){
.footer__upper{width:780px;padding:40px 0 32px}}
.footer__nav-item+.footer__nav-item{border-top:1px solid #fff}
.footer__nav-item{padding:5.5555555556vw 0}@media screen and (min-width:768px){.footer__nav-item{padding:20px 0}}
.footer__nav-link{position:relative;display:inline-block}
.footer__nav-link p{font-size: min(3.3vw,19px);font-weight:400;line-height:1.6;color:#333;letter-spacing:.07em}@media screen and (min-width:768px){
.footer__nav-link p{font-size: min(3.3vw,19px)}}
.footer__nav-link .icon{position:absolute;top:1.3888888889vw;right:-3.3333333333vw;width:2.2222222222vw;height:2.2222222222vw;color:#fff}@media screen and (min-width:768px){
.footer__nav-link .icon{top:5px;right:-20px;width:13px;height:13px}}.footer__sns{margin:11.1111111111vw 0 0}@media screen and (min-width:768px){.footer__sns{margin:40px 0 0}}
.footer__sns-list{display:flex;flex-wrap:wrap;gap:8.3333333333vw;align-items:center;justify-content:center}@media screen and (min-width:768px){
.footer__sns-list{gap:30px}}
.footer__sns-link{display:block;width:38px;height:38px;padding:10px;background-color:#fff;border-radius:50%}
.footer__lower{padding:0 0 6.6666666667vw;text-align:center}
.footer__lower.footer__lower--ip-top{padding:5.2777777778vw 0 6.6666666667vw}@media screen and (min-width:768px){.footer__lower
.footer__lower--ip-top{padding:19px 0 24px}}@media screen and (min-width:768px){
.footer__lower{padding:19px 0 24px}}.footer__lower--ip-top{background-color:#fff}
.footer__lower-inner{width:80vw;margin:auto}@media screen and (min-width:768px){
.footer__lower-inner{width:96%}}
.footer__lower-info{display:flex;align-items:center;justify-content:center}
.footer__lower--ip-top .footer__lower-info{justify-content:space-between}
.footer__lower-logo{width:20.8333333333vw;color:#fff}
.footer__lower--ip-top 
.footer__lower-logo{color:#000}@media screen and (min-width:768px){
.footer__lower-logo{width:75px}}
.footer__lower-copy{margin:5.5555555556vw auto 0;font-size: min(3.3vw,19px);font-weight:400;color:#fff;text-align:center}
.footer__lower--ip-top .footer__lower-copy{color:#000}@media screen and (min-width:768px){.footer__lower-copy{margin:20px auto 0;font-size:20px}}
.footer__account-link{display:block;height:38px}
.footer__account-image{width:auto;height:100%;-o-object-fit:contain;object-fit:contain}
.footer__account-image img{height:100%}.footer__account-image--pc{display:none}@media screen and (min-width:768px){
.footer__account-image--pc{display:block}}
.footer__account-image--sp{display:block}@media screen and (min-width:768px){
.footer__account-image--sp{display:none}}
.footer__to-top{background-color:#f16f5b}
.footer__to-top:hover{opacity:1}@media screen and (min-width:1024px){
.c-br.-sp{display:none}}
.c-br.-pc{display:none}@media screen and (min-width:1024px){
.c-br.-pc{display:inline-block}}
.c-btn{border-radius:9999px;display:flex;align-items:center;justify-content:center;gap:15px;width:100%;max-width:78.6666666667vw;height:60px;position:relative;margin:0 auto}@media screen and (min-width:1024px){.c-btn{max-width:363px;height:65px}}
.c-btn.-primary:before{background:linear-gradient(90deg,#c70f27 0,#ff6f21 100%);border-radius:9999px;content:"";position:absolute;top:0;left:0;z-index:-1;}

      @import"https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap";.favpark-top-text{padding:16.6666666667vw 0 0}@media screen and (min-width: 768px){.favpark-top-text{padding:80px 0 0}}.favpark-top-text__heading{width:41.6666666667vw;margin:auto}@media screen and (min-width: 768px){.favpark-top-text__heading{width:200px}}.favpark-top-text__bg{position:relative;padding:5vw 0;margin:6.6666666667vw 0 0}@media screen and (min-width: 768px){.favpark-top-text__bg{padding:24px 0;margin:32px 0 0}}.favpark-top-text__bg:before{position:absolute;top:50%;left:50%;z-index:-1;width:100vw;height:100%;content:"";background:linear-gradient(106deg,#f6c26c 0%,#f84c75 50%,#cc0033 100%);transform:translate(-50%,-50%)}.favpark-top-news{padding:13.8888888889vw 0 0}@media screen and (min-width: 768px){.favpark-top-news{padding:50px 0 0}}.favpark-top-news__item{padding:5.5555555556vw 0}@media screen and (min-width: 768px){.favpark-top-news__item{padding:20px 0}}.favpark-top-news__item+.favpark-top-news__item{border-top:1px solid #e5e5e5}.favpark-top-info{padding:16.6666666667vw 0 0}@media screen and (min-width: 768px){.favpark-top-info{padding:60px 0 0}}.favpark-top-info__item{padding:8.3333333333vw 0}@media screen and (min-width: 768px){.favpark-top-info__item{padding:30px 50px}}.favpark-top-info__item+.favpark-top-info__item{border-top:1px solid #e5e5e5}.favpark-top-info__link{color:#e8315d;text-decoration:underline}.favpark-top-info__sub-text{margin:2.7777777778vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__sub-text{margin:10px 0 0}}.favpark-top-info__image{margin:8.3333333333vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__image{margin:20px auto 0}}.favpark-top-info__caption{margin:2.7777777778vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__caption{margin:10px 0 0}}.favpark-top-info__button{margin:8.3333333333vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__button{margin:30px 0 0}}.favpark-top-info__list--special{display:flex;flex-wrap:wrap;gap:5vw 0;justify-content:space-between;padding:11.1111111111vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__list--special{gap:27px 0;padding:40px 0}}.favpark-top-info__card{margin:14.4444444444vw 0 0}@media screen and (min-width: 768px){.favpark-top-info__card{margin:52px 0 0}}.favpark-top-caution{padding:16.6666666667vw 0 0}@media screen and (min-width: 768px){.favpark-top-caution{padding:60px 0 0}}.favpark-top-caution__title{text-align:center}.favpark-top-caution__contents{margin:8.3333333333vw 0 0}@media screen and (min-width: 768px){.favpark-top-caution__contents{margin:30px 0 0}}


/* ==========================================
   ▼ チェックボックス連動ボタン用スタイル ▼
========================================== */
.entry-btn {
  background: linear-gradient(to bottom, #aaaaaa 0%, #959595 20%, #959595 100%);
  box-shadow: inset -10px -12px 6px -7px rgba(13, 13, 13, 0.3);
  border: 0;
  border-left: solid 2px #aaaaaa;
  padding: 10px;
  color: #fff;
  width: 100%;
  max-width: 340px;
  box-sizing: border-box;
  height: 48px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 16px;
  cursor: not-allowed;
  transition: all 0.2s ease;
}
.entry-btn.entry-btnStyle_checked {
  background: linear-gradient(to bottom, #e25169 0%, #cf0f31 18%);
  box-shadow: inset -12px -14px 8px -9px rgba(172,12,41,1);
  border-left: solid 2px #d84a63;
  cursor: pointer;
}
.entry-checkbox-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}
.entry-checkbox-wrap input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: scale(1.3);
  margin-right: 5px;
  cursor: pointer;
}
.entry-checkbox-wrap label {
  margin-left: 8px;
  font-size: 16px;   
  font-weight: bold; 
  cursor: pointer;
}
.accordion_header {
  cursor: pointer;
}

/* ==========================================
   ▼ スマホ用：ボタン・チェックボックス・注釈のサイズ微調整 ▼
========================================== */
@media only screen and (max-width: 768px) {
  /* ① ボタンを少しスリムに */
  .entry-btn {
    height: 42px;       /* 48px → 42px に薄く */
    font-size: 14px;    /* 16px → 14px に小さく */
    padding: 8px;

    /* ▼ 横幅の調整を追加 ▼ */
    width: 85%;          /* スマホ画面の85%の幅に縮める（余白ができる） */
    max-width: 280px;    /* 最大幅も元より小さい280pxに制限する */
    margin: 0 auto 16px; /* 幅を狭くした分、ボタンをしっかり中央に寄せる */
  }

  /* ② チェックボックスの四角を少し小さく */
  .entry-checkbox-wrap input[type="checkbox"] {
    transform: scale(1.1); /* 1.3倍 → 1.1倍へ縮小 */
  }

  /* ③ 「エントリーしてメルマガを登録する」の文字を小さく */
  .entry-checkbox-wrap label {
    font-size: 13px;       /* 16px → 13px へ縮小 */
  }

  /* ④ その下の「※チケット購入には〜」の注釈を小さく */
  .entry-block-wrap p:last-of-type {
    font-size: 11px !important; /* 14px → 11px へ縮小（!importantでHTMLの設定を上書き） */
    line-height: 1.3 !important;
  }
}

/* ==========================================
   ▼ 公演情報などの左余白を1.5emに統一する ▼
========================================== */
.TextB dt {
  margin-left: 1.5em !important; /* ■見出し の位置を1.5emに揃える */
  margin-top: 1.5em;             /* 上に少し隙間を空けて見やすく */
}
.TextB dd {
  margin-left: 1.5em !important; /* 本文 の位置も見出しと揃える */
  margin-bottom: 1.5em;          /* 次の項目との間に隙間を空ける */
}

/* ==========================================
   ▼ 各セクションの余白を縮めて統一する ▼
========================================== */
.contentInner {
  padding-top: 0 !important; /* 二重にかかっていた余分な隙間を消し、アコーディオンと同じ幅に統一 */
}

/* ==========================================
   ▼ スマホのみ：アンカーリンク～KV～公演情報などの余白を縮める ▼
========================================== */
@media only screen and (max-width: 768px) {
  /* ① アンカーリンク（▼ドコモ回線...）の上の余白を詰める */
  .TextA {
    margin-top: 1em !important; 
  }
  
  /* ② KV画像の上下の余白を詰める */
  section.kv {
    margin-top: 1em !important;
    margin-bottom: 1.5em !important;
  }

/* ==========================================
   ▼ フッターのリンクをスッキリした箇条書きにする ▼
========================================== */
.footer__nav-item {
  padding: 0.5em 0 !important; /* 上下の余白を狭くしてリストっぽくする */
}
.footer__nav-item + .footer__nav-item {
  border-top: none !important; /* 項目と項目の間の白い区切り線を消す */
}