@charset "UTF-8";

body { margin: 0;padding: 0;}
.contents_wrap.entry { background:#B3212B;}
.contents_wrap.entry .contents { background:#fff; padding: 10px 0 50px 0;; margin-top:30px; }
@media screen and (min-width:768px) {
  .contents_wrap.entry .contents { padding-top:0; margin-top:0; }
}
.title_entry { width:100%; text-align:center; color:#fff; }
.title_entry .oswald { font-size:80px; color: rgba(255, 255, 255, 0.3); font-family:"Oswald", sans-serif;font-optical-sizing: auto;font-weight:800;font-style: normal;}
.headline-lg { font-size:18px; margin-bottom:20px; }
.contents_wrap { padding-top:0px; }
@media screen and (min-width:768px) {
  .contents_wrap { padding-top:100px; }
  .title_entry .oswald { font-size:192px; margin-top:-72px; line-height:1.1em; }
  .title_entry h2 { position:relative; top:-120px; }
  .title_entry p { margin-top:-50px; margin-bottom:50px; display:inline-block; }
  .headline-lg { font-size:40px; }
  .contents_wrap.entry .contents {padding: 10px 0 50px 0;}
  
}

@media screen and (min-width:768px) {
  .contents { width:80%; padding:0; margin:0 auto 0 auto; }
  
}
@media screen and (min-width: 1140px){
  .contents { width:1080px; }
}


.contents p { text-align:initial; }
strong.FORM__ERROR { display:block; width:100%; margin:0 0 20px 0; padding:10px 0; border:1px solid #DB262C; color:#DB262C; text-align:center; font-weight:bold; line-height:1.2; }
.FORM__H2 { width:100%; padding:0 0 0 10px; margin-bottom:10px; border-left:3px solid #333; font-weight:bold; font-size:16px; line-height:1.2; }
.FORM__DL { width:100%; }
.FORM__DT { width:100%; padding:10px 0; }
.FORM__DD { width:100%; padding:10px 0; }
.FORM__HORIZONTAL { display:flex; width:100%; margin:0 0 5px 0; }
.FORM__HORIZONTAL select.FORM__L { margin-right:0px; }
.FORM__NE	{ margin:0px 0 0px 10px; /*padding:0px 5px 0px 7px; background:#DB262C; color:#fff; font-size:12px; line-height:1.5em;*/ display:inline-block;}
.FORM__NESS { background:rgba(219, 38, 44, 0.15); }
.FORM__P { width:100%; clear:none; margin:5px 0; line-height:1.5; }
.FORM__P i { margin:0 5px 0 0; font-size:12px; }
.FORM__NAME { width:2.5em; display:block; clear:none; margin:0 10px 0 0; line-height:48px; text-align:left; }
.FORM__ADDRESS { width:7em; display:block; clear:none; margin:0 10px 0 0; line-height:48px; text-align:right; }
.FORM__RADIOLABEL { width:auto; margin-right:2.5%; line-height:20px; }
.FORM__CHECKLABEL { float:left; clear:both; margin:0 0 20px 0; line-height:20px; }
.FORM__CHECKLABEL-OTHER { width:100%; float:left; clear:both; margin-bottom:10px; }
input.FORM__CHECK { width:20px; height:20px; margin:0 5px 0 0; }
input.FORM__RADIO { width:20px; height:20px; margin:0 5px 0 0; }
input.FORM__INT { width:50px; height:48px; margin:5px 5px 0 0; font-size:14px; line-height:2em; }
input.FORM__SS { width:34.5%; height:48px; margin:0 5% 0 0; padding:0 5px; border:1px solid #ccc; background:#fff; font-size:14px; line-height:2em; }
input.FORM__S { width:50%; height:48px; margin:0 5% 0 0; padding:0 5px; border:1px solid #ccc; background:#fff; font-size:14px; line-height:2em; }
input.FORM__M { width:100%; height:48px; margin:0; padding:10px 5px; border:1px solid #ccc; background:#fff; font-size:14px; line-height:2em; }
@media screen and (min-width: 840px) {
  input.FORM__M {width:400px;}
}
input.FORM__L { width:100%; height:48px; margin:0; padding:10px 5px; border:1px solid #ccc; background:#fff; font-size:14px; line-height:2em; }
input.FORM__LL { width:95%; height:48px; margin:0; padding:0 5px; border:1px solid #ccc; background:#fff; font-size:14px; line-height:2em; }
select.FORM__SELECT { width:auto; height:48px; clear:none; margin:0 5px 0 0; padding:0 25px 0 5px; border:1px solid #ccc; background:#fff; font-size:16px; }
textarea.FORM__TEXTAREA { width:100%; height:100px; padding:10px; border:1px solid #ccc; background:#fff; font-size:14px; border-radius:0; }
.FORM__PRIVACY { width:100%; margin:50px auto 0 auto; text-align:center; }
.FORM__PRIVACY a { text-decoration:underline; }
.FORM__PRIVACY a:hover { text-decoration:none; }
.FORM__LABELS { width:100%; margin:0; padding:0; display:block; }
@media screen and (min-width: 840px) {
  .FORM__LABELS { padding:15px;}
}

@media screen and (min-width:320px){
  .FORM__LABEL { display:flex; align-items:center; flex-wrap:wrap;font-size:15px;justify-content: center; }
}
@media screen and (min-width:375px){
  .FORM__LABEL { font-size:16px; }
}

@media screen and (min-width: 840px) {
  .FORM__LABEL { display:flex; align-items:center; text-align:center; margin-top:0; }
  textarea.FORM__TEXTAREA { width:560px; height:150px; }
}
.FORM__LABEL .FORM__NE { margin:0 10px 0 0; white-space:nowrap; }
@media screen and (min-width: 840px) {
  .FORM__LABEL .FORM__NE { margin-top:0; line-height:1; }
}

.FORM__SENT { width:100%; margin:50px 0; text-align:center; }
.FORM__SENDBUTTON { width:60%; height:50px; display:block; font-size:14px; text-align:center; line-height:50px; letter-spacing:0.1em; margin:0 auto 50px auto; background:#FF5800; color:#fff; font-weight:bold; position: relative;z-index: 1; transition: .3s;}
@media screen and (min-width: 840px) {
    .FORM__SENDBUTTON { width:380px; height:65px; line-height:65px; font-size:18px; }
    .FORM__SENDBUTTON:hover { opacity:0.7; }
    .FORM__LABELS { width:auto; display:inline-block; }
  }





input::placeholder { color:#ccc; }
textarea::placeholder { color:#ccc; }


.ENTRYFOOTER_BUTTON { display:none; }
.FORM__SENT { width:100%; text-align:center; display:inline-block; margin:50px 0; }






.TITLE__H1 { background:rgba(237,105,135, 0.8); }



.FORM__SUBMIT-SP { display:none; }
.FORM__SUBMIT.soushin { display:block; width:100%; height:65px; margin:10px auto 50px auto; background:#FF5800; border:none; color:#ffffff; text-align:center; font-weight:bold; font-size:20px; line-height:65px; position:relative; letter-spacing:0.1em; cursor:pointer; }
/*.ENTRY { width:100%; margin:0 auto 100px auto; }*/
.FORM__DT { width:100%; padding:10px 0 0 0; white-space:nowrap; display:flex; align-items:center; font-weight:bold; }
.FORM__DD { width:100%; padding:10px 0; margin-left:0; }

@media screen and (min-width:320px){
  .FORM__NAME { width:30px; text-align:left; display:inline-block; display:block; clear:none; margin:0; line-height:48px; text-align:left; font-size:0.8rem; }

}

@media screen and (min-width:375px){
  .FORM__NAME { width:35px; margin-right:10px; }
}

.SHEET { width:95%; margin:0 auto; padding: 80px 5% 0px 5%; background:rgba(255,255,255,0.9); }
.FORM__P { width:100%; clear:none; margin:5px 0; line-height:1.5; font-size:0.8rem; }

.FORM { width:90%; margin:20px auto; font-weight:bold; display:block; }
.FORM__NE	{ width:40px; }
@media screen and (min-width: 840px){
 .ENTRY { width:100%; margin:100px auto; }
 .FORM { width:810px; margin:40px auto; font-size:16px; }
 .FORM__DL { display:flex; align-items: center;}
 .FORM__DT { width:27%; margin-right:3%; padding:10px 0; display:flex; justify-content: space-between; }
 .FORM__DD { width:70%; padding:10px; }
 .FORM__NE	{ float:right; line-height:18px; display: flex; align-items: center;}
 .FORM__PRIVACY .FORM__NE { float:none; }
 .FORM__CHECKLABEL { margin:0 0 10px 0; }
 input.FORM__SS { width:100px; }
 input.FORM__S { width:150px; margin:0 5% 0 0; }
 input.FORM__M { width:400px; }

 input.FORM__LL { width:600px; }
 .FORM__SUBMIT  { width:400px; height:65px; margin:50px auto 50px auto; font-size:24px; display:block; transition: transform 0.3s ease-out; }
 .FORM__SUBMIT-SP { display:none; }
.FORM__SUBMIT:hover {background:rgb(255, 165, 0);}



}
@media screen and (min-width: 1140px){
  .FORM__ERROR { padding:20px 0; font-size:18px; }

}





@media screen and (min-width:320px){
  .contents p.FORM__PRIVACY-LINK { width:100%; text-align:center; display:inline-block; font-size:15px; }

}

@media screen and (min-width:375px){
  .contents p.FORM__PRIVACY-LINK  { font-size:16px; }
}

.contents .st_kanryo { border:2px solid #ff0000; font-weight:bold; padding:10px 20px; font-size:18px; color:#ff0000; display:block; margin:0 auto; text-align:center; }
.p_message { border-top:1px solid #000; border-bottom:1px solid #000; padding-bottom:10px; }
@media screen and (min-width: 840px){
  .contents .st_kanryo { width:25%; margin:0 auto; display:block; text-align:center; }
  .p_message { width:60%; margin:0 auto; display:block; }
}


@media screen and (min-width: 840px){
.contents p { text-align:center; }
}

.FORM__SUBMIT { width:80%; height:64px; margin:20px auto 50px auto; text-align:center; font-weight:bold; font-size:20px; line-height:54px; position:relative; letter-spacing:0.1em; cursor:pointer; display:block; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.FORM__SUBMIT {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: url('/img/arrow.svg');
  background-position: right 20px center;
  background-size:7px;
  margin:0 auto;
  display:block; 
}
.FORM__SUBMIT:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: url('/img/arrow.svg');
  background-repeat:no-repeat; 
  background-position: right 20px center;
  background-size:7px;
  margin:0 auto;
  display:block; 
 }



@media screen and (min-width: 840px){
  .FORM__SUBMIT { width:350px; margin-top:50px; margin-bottom:100px; }
}

.contents.kanryo { margin-bottom:50px; padding-top:150px; }
.contents .p_entry { margin-top:50px; padding-bottom:30px; }
@media screen and (min-width: 840px){
  .contents.kanryo { margin-bottom:100px; padding-top:initial;}
  .top_wrap { padding-bottom:50px; }
  .contents .p_entry { width:100%; margin:20px auto 50px auto; padding-bottom:initial;display:block; text-align:center; }
}

.button_more.entry { width:90%; height:70px; border-radius:35px; background:#FFFF00; color:#000; margin:50px auto 0 auto; 
  /* ↓ 追加して平坦にする */
  border: none;
  box-shadow: none;
  background-image: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;}
.button_more.entry:hover { background:#5b5300; color:#fff; }
.form-line { width:100%; display:block; justify-content: space-between; align-items: center; margin-bottom:20px; }
@media screen and (min-width: 840px){
  .button_more.entry { width:320px; }
  .form-line {  display: flex;justify-content: space-between;align-items: center;margin-bottom: 12px;}

}
.form-label { width:100%; }
@media screen and (min-width: 840px){
.form-label {flex: 0 0 120px; /* ラベル幅固定 */}
/*.form-input {flex: 1;max-width: 300px;}*/
}

.FORM__DD .h-adr { width:560px; }
.checkbox_group { width:100%; display:block; }
.checkbox_group label { width:100%; margin-right:10px; margin-bottom:10px; align-items: flex-start; font-size:14px; letter-spacing:0; }
@media screen and (min-width: 840px){
  .checkbox_group { display:flex; flex-wrap:wrap; }
  .checkbox_group label { width:auto; align-items: center; font-size:16px; }
}
.FORM { font-family:"Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;font-weight: 400; }
.font-caption { margin-top:10px; display:inline-block; }
.FORM__DL.baseline { align-items: baseline;}

/* 基本のラベル */
/* 基本のラベル */
label {
  font-size: 16px;
  margin-bottom: 10px;
  display: inline-flex;   /* フレックスボックスに変更 */
  align-items: center;    /* チェックボックスとテキストを縦に中央揃え */
  cursor: pointer;
}





/* チェックボックスのスタイル */
input[type="checkbox"] {
  width: 20px;  /* デフォルトのチェックボックスのサイズ */
  height: 20px;
  margin-right: 5px;  /* チェックボックスとテキストの間に5pxのスペース */
  border: 2px solid #ccc;
  border-radius:2px;
  background-color: #fff;
  transition: all 0.3s ease;  /* 変化をスムーズに */
  flex-shrink: 0;
}

/* チェックボックスがチェックされているときのスタイル */
input[type="checkbox"]:checked {
  background-color: #4CAF50;  /* チェックされたときの背景色 */
  border-color: #4CAF50;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

/* スマホでチェックボックスを大きくする */
@media (max-width: 768px) {
  input[type="checkbox"] {
    width:25px;  /* サイズを大きく */
    height:25px; 
  }

  label {
    font-size: 18px;  /* ラベルも少し大きく */
  }
}

.caution { width:100%; margin-top:20px; margin-bottom:0; }
@media (min-width: 768px) {
  .caution { width:560px;  }
}

.hidden_checkbox input[type="checkbox"] {
  display: none;
}

.FORM__DL { border-bottom:1px solid #ccc; padding:20px 0;}




select.FORM__L {
  appearance: none;         /* iOS, Chrome用 */
  -webkit-appearance: none; /* Safari用 */
  -moz-appearance: none;    /* Firefox用 */
  
  padding: 10px 14px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  width: 100%;
  max-width: 120px; /* 好みに応じて調整 */
  box-sizing: border-box;
  
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5"><path fill="gray" d="M0 0l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 5px;
}


.FORM__HORIZONTAL {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;         /* 横並びを維持 */
  justify-content: space-between;
}
@media screen and (min-width:768px) {
  .FORM__HORIZONTAL { justify-content:initial;}

}

.FORM__HORIZONTAL select.FORM__L {
  flex: 1;                    /* 均等に広がる */
  min-width: 0;               /* はみ出し防止 */
  font-size: 16px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  appearance: none;
  background-color: #fff;
  background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="5"><path fill="gray" d="M0 0l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 5px;
}

@media screen and (max-width: 600px) {
  .FORM__HORIZONTAL {
      flex-wrap: nowrap; /* ←ここも横並び維持 */
  }

  .FORM__HORIZONTAL select.FORM__L {
      font-size: 14px;
  }
}


@media screen and (min-width: 768px) {
  .gaiyo { width:90%; max-width:960px; margin:0 auto; padding:16px 0; }
  .gaiyo dt { width: 28%; font-weight:normal; margin-bottom:initial; padding-left:50px; }
  .gaiyo dd { width: 72%; }
  .contents_wrap.top { padding-top:50px; }
}


.btn_back_top { margin-top:50px; text-align:center; }
.btn_back_top .button { display:inline-block; padding: 12px 24px; background: #333; color: #fff; text-decoration: none; border-radius: 4px;}
@media screen and (max-width: 768px) {
  .btn_back_top { margin-top:1000px; }
  .privacy { font-size:14px; }

}

/* TurnStyle */
.turnstile_wrap { display: flex; justify-content: center;}
.cf-turnstile { text-align: center; margin: 10px 0 0 10px;}
p.FORM__ERROR_TXT { width: 100%; font-size: 14px; color: #DB262C; text-align: center;}
.privach_wrap { width:300px; display:flex; align-items:center; }
.privach_wrap input.FORM__CHECK { margin-left:15px; }
@media screen and (max-width: 768px) {
.turnstile_wrap { width:100%; display:block; }
.FORM__NE { display:block; float:left; }

}


