@charset "utf-8";
/* CSS Document */

body {;font-size:16px; font-weight:500;line-height:1.8;font-family: 'Noto Sans JP', sans-serif; margin:0 auto; height:100%; color:#333;}
img {max-width:100%;}
address,em {font-style:normal;}
a {text-decoration:none;}
a:hover,input[type="submit"]:hover,input[type="reset"]:hover{opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )";}
ul {list-style-type:none; margin:0; padding:0; }
figure,dl,dl dt,dl dt {margin:0; padding:0;}
header, main, article, footer, section, aside, nav, cite, figure, figcaption { display: block; }

/*********** class ****************************************/
.inner {width:96%;margin:0 auto;max-width:950px;}
.middle_inner {width:92%; margin:0 auto; max-width:870px; background-color:var(--primary-color1);}
.lower_inner {width:92%; margin:0 auto; max-width:800px;}
.half {width:50%;margin:0 auto;}
.c-both {clear:both;}
.clearfix:after {content: "";clear: both;display: block;}
.left {float:left;}
.right {float:right;}
.center {display:block;	margin-left:auto; margin-right:auto;text-align:center;}
.sp {display:none;}
.flex{display: -webkit-flex;display: -moz-flex;display: -ms-flex;display: -o-flex;display: flex;}
.height {justify-content: space-between;flex-wrap: wrap;align-items: stretch;}
dl.table {display:table;}
dl.table dt,dl.table dd {display:table-cell;}
span.indent {display:block;text-indent:-1em; margin-left:1em;}

/* position */
.position_r {position:relative;}
.position_a {position:absolute;}
/* ttl */
.ttl {font-size:1.625em;}
.ttl1, .ttl4 {color:var(--primary-color1); background-color:var(--primary-color8); padding:0.2em 0.5em; border-radius: 20px;}
.ttl3 {color:var(--primary-color10); margin-top: 3em; margin-bottom: 0.5em;}
.ttl3::before {content:""; width:90px; height:4px; position:absolute; top:-0.4em; left:calc(50% - 45px); background-color:var(--primary-color8);}
.ttl4 {font-weight: 700; width:84%; max-width:540px;}
.ttl2 {width:110px;}
.ttl2_center {z-index:1; left: calc(50% - 55px); top: -8.5em;}

/************************************ color *******************************************/
:root {
--primary-color1: #fff;
--primary-color2: #004EA2; /*青*/
--primary-color3: #000; /*黒*/
--primary-color4: #009944; /*緑*/
--primary-color5: #F3981E; /*オレンジ*/
--primary-color6: #CDCDCD; /*グレー*/
--primary-color7: #F7DDE2; /*薄桃*/
--primary-color8: #e60012; /*赤*/
--primary-color9: #EEBBC4; /*薄桃2*/	
--primary-color10: #B3983C; /*ゴールド*/
--primary-color11: #f9cb95; /*肌色*/
--primary-color12: #F5F5AC; /*薄い黄色*/	
--primary-color13: #fdefd3; /*クリーム*/	
--primary-color14: #cc3012; /*朱色*/	
--primary-color15: #cab362; /*ゴールド*/
--primary-color16: #937C31; /*濃いゴールド*/
}

/*************** header ***********************************************************/
header {width:100%; margin:0; padding:0; border-top:10px solid var(--primary-color2);}

/*************** main *************************************************************/
main {min-height: 90vh; background-color:var(--primary-color13); border: solid 9px var(--primary-color8);}
main.inner {margin:5vh auto 10vh auto; padding: 0 0 2.5em 0;}
section#mv {padding: 0 0 3em 0; background-image: url(../img/bgi.jpg); background-size: 100% auto; background-repeat: no-repeat; background-position: top center;}
section#mv .mv_img {width:100%; max-width:100%;}
section#mv .period {width:87.5%; max-width:700px; margin-top: 2em;}
section#entry {padding:1em 0;}
section#entry .f_coution {font-weight:700; color:var(--primary-color8);}

/* form */
form {margin-top:2em;}
.form_dl {width:100%; font-size:1.0625em;}
.form_dl dt {width:25%; box-sizing: border-box; font-weight:700; color:var(--primary-color3); padding:1.5em 0.5em; border-bottom:2px solid var(--primary-color10); vertical-align: middle;}
.form_dl dt .required,.form_dl dt .any {display:inline-block; color:var(--primary-color1); font-size:0.764em; padding:0.1em 0.3em; margin-left:0.5em;}
.form_dl dt .required {background-color:var(--primary-color8);}
.form_dl dt .any {background-color:var(--primary-color4);}
.form_dl dd {width:75%; box-sizing: border-box; border-bottom:1px solid var(--primary-color6); padding:1.5em 1.25em; vertical-align: middle;}

input[type="text"],input[type="tel"],input[type="email"],textarea {width:85%;max-width: 480px; box-sizing: border-box; padding:0.45em; border: 1px solid #BBBBC3; border-radius:4px; font-size: 1.0625em;}
dd.age input[type="tel"]#age {width:50%;max-width: 220px; margin-right: 0.5em;}
section#entry label {margin-right:1em;}
select {font-size:1.0625em;padding: 0.35em; width:85%;max-width: 480px;}
.txt_comment {font-size:0.882em; display: block; text-indent: -1em; padding-left: 1em; margin-bottom:1em;}
.img_upload {display: block; width:60%; max-width:320px; margin-top:0.75em; padding: 0.5em; box-sizing: border-box; color:var(--primary-color1); background-color:var(--primary-color2); text-align: center; border-radius:4px;}
.img_upload .fa-receipt {font-size:1.235em; margin-right:0.4em;}
span.error {display: block; color: var(--primary-color8); font-size: 0.8125em; }

input[type="submit"] {border:none;background: transparent;}
.btn_container {width:100%; max-width:670px; margin:3em auto; }
.back_btn, .send_btn, .post {display:block; width:48%; max-width:320px; text-align:center;}
.back_btn, .send_btn input[type="submit"], .post {font-size:1.5em; font-weight:700; color:var(--primary-color1);padding:0.35em 0.5em; box-sizing:border-box; border-radius:30px;}
.back_btn {color:var(--primary-color3); background-color:var(--primary-color11);}
.post {background-color:var(--primary-color5);}
.send_btn input[type="submit"] {width:100%; background-color:var(--primary-color8);line-height: 1.8em;cursor: pointer; font-family: 'Noto Sans JP', sans-serif;}
.back_btn i , .send_btn i, .post i {top: calc(50% - 0.45em);}
.back_btn i {left:1em;}
.send_btn i {right:1em; font-size:1.5em; font-weight:700; color:var(--primary-color1);}
.post i {right:1em;}

#img_file { width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1;}
label#img_file_label {display:inline-block; width:53%; background-color:var(--primary-color1); color:var(--primary-color16); padding:0.425em 0.7em; border-radius:1.5em; vertical-align: middle; border:2px solid var(--primary-color10); box-sizing:border-box; text-align:center; font-weight:700;}
label#img_file_label i {margin-right:0.35em;}
button#upload {font-family:'Noto Sans JP', sans-serif; line-height:1.5; display:inline-block; background-color:var(--primary-color2); padding:0.585em 0.3em 0.585em 0.3em; border-radius:1.5em;   border:none; color:var(--primary-color1); letter-spacing:0.1em; cursor:pointer; text-decoration:none; appearance:none; -webkit-appearance:none; width:40%; vertical-align: middle; margin-left:2%; font-size:1.0625em; font-weight:700;}
  
/* complete */
.complete {min-height:85vh;}
/* contact_information */
.contact_information dd {font-size:1.3125em; font-weight:700; color:var(--primary-color10); border:4px solid var(--primary-color8); border-radius:20px;margin-top: -1em; margin-bottom:2em; box-sizing: border-box; padding:1.5em 0.5em 1em 0.5em;} 
a.tel {color:var(--primary-color8);}

/* terms */
.terms {margin-top:3em; padding:6.5em 0 2.5em 0; background-color:var(--primary-color11);}
.terms .terms_container {border:4px solid var(--primary-color10); border-radius: 1em; padding: 0.1em 0.5em; background-color:var(--primary-color1);}
.terms .toggle {display: none;}
.terms .Label {padding: 0.2em 0.5em; display: block; color:var(--primary-color16); font-size:1.625em; font-weight:700; background-color:var(--primary-color1); text-align: center; cursor:pointer;}
.terms .Label::before{content:"\2b"; font-family:"Font Awesome 6 Pro"; position: absolute; top:0.35em; right: 0.5em; }
.terms .Label, .terms .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s;}
.terms .content {height: 0; margin-bottom:10px; padding:0 20px; overflow: hidden;}
.terms .toggle:checked + .Label + .content {height: auto; padding:20px ; transition: all .3s;}
.terms .toggle:checked + .Label::before {transform: rotate(-45deg) !important;}
.terms .content .clause {margin-top:1em;}
.terms .content .clause_top {margin-top:0; margin-bottom:1em;}
.terms .content .clause dt {color:var(--primary-color3); font-size:1.0625em; font-weight:700; margin-left: 1em; text-indent: -1em;}
.terms .content .clause dd {border-bottom:2px solid var(--primary-color10); margin-left:0; padding-bottom:1em; font-size:0.9375em;}
.terms .content .clause_end dd {border-bottom:none;}
.terms .content .clause dd ul {padding-left: 1.5em !important; margin:1em 0 0.5em 0!important;}
.terms .content .clause dd ul li {list-style:disc;}
.terms .content .clause dd ol.indices {padding-left:0.5em; margin:1em 0 0.5em 0;}
.terms .content .clause dd ol.indices li {text-indent:-1em; margin-left:1em; list-style:none;}
.terms .content .clause dd ol.decimal {padding-left:1.5em; margin:1em 0 0.5em 0;}
.terms .content .clause dd ol.decimal li {list-style:decimal;}
.terms .content .clause dd ul.caution {padding-left: 0 !important;}
.terms .content .clause dd ul.caution li {text-indent:-1em; margin-left:1em; list-style:none;}
.terms .content .clause dd a {text-decoration:underline !important; color:var(--primary-color8);}
.terms .content .clause dd span.margin_top {display:block; margin-top:0.5em;}

/*************** footer *************************************************************/
footer {width:100%;}
footer .copy {font-size:0.875em; margin:0; padding:0.75em 0; text-align:center; color:var(--primary-color1); background-color:var(--primary-color2); }