@charset "UTF-8";

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

}

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

}

.main {
    max-width: 1920px;
    padding: 50px 0 100px;
    margin: 0 auto;
    background-image:linear-gradient(90deg,#D9F9F9,#F6EEE6)
}
.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 {
    /* background: rgb(157,205,144);
    background: linear-gradient(-50deg, rgba(157,205,144,0.2) 0%, rgba(255,243,125,0.2) 20%, rgba(239,173,144,0.2) 40%, rgba(239,172,203,0.2) 60%, rgba(161,215,241,0.2) 80%, rgba(227,191,239,0.2) 100%); */
    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:#C2E8E9;position:relative;border-radius:45px 45px 45px 45px;
    font-size: min(3.3vw,30px);
    letter-spacing: 0.1em;
    text-align: center;
    color: #000000;
    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:#C2E8E9;position:relative;border-radius:45px 45px 45px 45px;
    	color: #000000;
        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:linear-gradient(90deg,#83CBEB,#83CBEB);position:relative;border-radius:14px 14px 0 0;
    color: #FFFFFF;
        font-size: min(4vw,30px);
	font-weight: bold;
	padding: 1% 13%;
	text-align: center;
	position: relative;
	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%;
    }
    .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-

