@charset "UTF-8";
main{background:#fcece9;}
h2{font-size: clamp(2.6rem, calc(2.6rem + (3.0 - 2.6) * ((100vw - 740px) / (1200 - 740))), 3.0rem); color:#d20037;}h2.page{margin-bottom:20px; display:flex; gap:12px; justify-content:center; align-items:center; font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; font-size: clamp(2.7rem, 3vw, 4rem); line-height: 1.2; font-weight: 600; color:#d20037;}

h2.page:before{display:block; content:""; background:url(../lib/title-line.webp) center center no-repeat; width:61px; height:18px; background-size:cover;}
h2.page:after{display:block; content:""; background:url(../lib/title-line.webp) center center no-repeat; width:61px; height:18px; background-size:cover; background-position: center; transform: rotate(180deg); transform-origin: center;}
h3{display:flex; gap:12px; justify-content:start; align-items:center; margin-bottom:8px; font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; font-size: clamp(2.7rem, 3vw, 4rem); line-height: 1.2; font-weight: 600; color:#d20037;}
h3:before{display:block; content:""; background:url(../lib/title-line.webp) center center no-repeat; width:61px; height:18px; background-size:cover;}



#news h3{font-size:1.7rem; margin:0 0 16px;}
#news h3:before{display:none;}
#news a{text-decoration:underline;}
@media only screen and (min-width:740px) {
h3{margin-left:-20px;}
#news h3{font-size:1.9rem; margin:0 0 16px;}
}

#mv{background:#d20037; padding-top:70px;}
@media only screen and (min-width:740px) {
}
#contents{text-align:left; padding:80px 20px 160px;}
#contents table{margin-bottom:20px;}
@media only screen and (max-width:739px) {
#contents table,#contents tbody,#contents tr,#contents td {display: block; width: 100%;}
#contents table{border:1.3px solid #000;}
}

#titles-box{margin-bottom:60px;}
#sec01{text-align:left; padding:0 20px;}
#sec01 .tag{margin:8px 0; font-size:1.3rem; line-height:1;}
#sec01 .tag ul{display:flex; gap:0 8px; flex-wrap:wrap;}
#sec01 .tag ul li{padding:4px 16px; border:1px solid #000; border-radius:50px; letter-spacing:0;}
#sec01 p{margin-bottom:.8rem; font-size:1.5rem; font-weight:600; color:#d20037; line-height:1.6; line-break:strict; text-align:justify; word-break:break-all; text-justify:inter-character; text-justify:inter-character; word-wrap:break-word; overflow-wrap:break-word; line-break:strict;}

#sec02{text-align:left; padding:0 20px;}
#sec02 p{margin-bottom:1rem; font-size:1.4rem; line-break:strict; text-align:justify; word-break:break-all; text-justify:inter-character; text-justify:inter-character; word-wrap:break-word; overflow-wrap:break-word; line-break:strict;}
#sec02 .sec02-01{margin-bottom:20px}
#sec02 .sec02-02 .copy{font-size:1.2rem;}
#sec02 .sec02-02 p{margin-bottom:16px;}
#sec02 .sec02-02 p span{color:#666;}

@media only screen and (min-width:980px) {
#sec02 .box{display:flex; gap:50px;}
#sec02 .box .sec02-01{width:70%;}
#sec02 .box .sec02-02{width:30%;}
}

#story{margin-top:30px;}

#storythumb{margin-top:10px; padding:10px 0;}
#storythumb .box{padding:0 28px; max-width:1000px;}
.slider-story{width:90%; margin:0 20px;}
.slider-story {height:100px; opacity: 0; transition: opacity 0.6s ease;}
.slider-story.slick-initialized {opacity: 1; height:auto;}
.slider-story .slider-img {margin: 0 10px;}
.slider-story li a{position:relative; display:block;}
.slider-story img{border-radius:5px; aspect-ratio:16 / 9; overflow:hidden; object-fit:cover;}
.slider-story .slick-slide {margin-right: 10px;}
.slider-story .slick-arrow:before{display:none;}
.slider-story .slick-arrow img{width:20px; height:20px;}
.fancybox__container img.f-panzoom__content {
  max-width: 800px;
  width: 80%;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
@media only screen and (min-width:740px) {
.slider-story {position: relative; width:95%;}
.slider-story.is-few-slides .slick-track {
  display: flex !important;
  justify-content: center;
  gap:4px;
}
.slider-story.is-few-slides .slick-slide {
	width:25%;
  max-width:380px; 
  flex: 0 0 25%;
}
}

#trailer{margin:30px 0 0; padding:0 20px 30px; text-align:left;}

.moviebox{text-align:center; max-width:660px;}
.moviebox .movie{width: 100%; aspect-ratio: 16 / 9;}
.moviebox .movie iframe{width: 100%; height: 100%;}

.mapbox{text-align:center; max-width:100%;}
.mapbox .map{width: 100%; aspect-ratio: 16 / 9;}
.mapbox .map iframe{width: 100%; height: 100%;}


/*お問い合わせ*/
.privacy-policy {
  margin: 2em auto;
}
.privacy-policybox {
  width: 100%;
  height: 250px;
  border:none;
  padding:20px;
  background: #fff;
  border:1px solid #ccc;
  overflow-y:scroll;
}
.privacy-policy{text-align:left; font-size:1.4rem;}
.privacy-policy h2,.privacy-policy h3{margin-top:16px; margin-left:0; margin-bottom:8px; font-size:1.6rem; color:#000; border:none;}
.privacy-policy h2:before,.privacy-policy h3:before,.privacy-policy h2:after,.privacy-policy h3:after{display:none;}
.privacy-policy .privacy-title{margin:20px 0; font-size:1.6rem; font-weight:600;}


.agree-box {
  margin: 1em 0 2em;
  text-align: left;
}

.agree-box label {
  font-weight: bold;
}
.inputarea{max-width:1000px; margin:0 auto; padding:0;}
form{margin-top:30px;}
form p{margin-bottom:20px;}
form input[type="text"],form input[type="email"],form textarea {
  color: #000;
  border: 1px solid #ccc;
  background:#fff;
  border-radius: 4px;
  padding: 0.4rem 0.6rem;
  font-size: 1.4rem;
  width: 100%;
  box-sizing: border-box;
}
.wpcf7-list-item{margin:0;}
form label{margin-top:20px; font-size:1.6rem; font-weight:600;}
/* === チェックボックスのチェック色を赤に === */
/* ブラウザによって見え方が異なるため、appearance指定で統一 */
form input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid #888;
  border-radius: 3px;
  position: relative;
  cursor: pointer;
  vertical-align: middle;
}

/* チェック時の赤マーク */
form input[type="checkbox"]:checked {
  background-color: #fff; /* 背景白のまま */
  border-color: #c00;    /* 赤枠 */
}

form input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 9px;
  border-right: 2px solid #c00; /* チェックマーク赤 */
  border-bottom: 2px solid #c00;
  transform: rotate(45deg);
}

.submitbox p{text-align:center;}
form input[type="submit"] {
  background-color: #c00; /* 赤背景 */
  color: #fff;            /* 白文字 */
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1.2rem;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
  width:250px; margin:16px auto 0;
  transition: background-color 0.3s ease, transform 0.15s ease;
}
.wpcf7-spinner{display:none;}
/* hover・focus時のアクション */
form input[type="submit"]:hover,
form input[type="submit"]:focus {
  background-color: #e60033; /* 少し明るい赤 */
  outline: none;
  transform: translateY(-1px);
}

.page404{margin:40px auto; max-width:750px; text-align:left;}
.page404 h2,.page404 h3{margin-top:16px; margin-left:0; margin-bottom:8px; font-size:1.8rem; border:none;}
.page404 h2:before,.page404 h3:before,.page404 h2:after,.page404 h3:after{display:none;}
#contents.box404 {display: flex; justify-content: center; align-items: center; min-height: 80vh; text-align: center;}
@media only screen and (min-width:740px) {
.page404{text-align:center;}
}