@charset "utf-8";

div#content01 { margin-top:90px; overflow: hidden; }
div#content01 div#parallax01 div.parallax-img img { height: 260px; object-fit: cover; }
@media screen and (max-width:900px) {
    div#content01 { margin-top:70px; }
    div#content01 div#parallax01 div.parallax-img img { width:100%; height:180px; }
}

div#contact_block { padding-bottom:120px; }
div#contact_block h2 { font-size:36px; font-weight: normal; line-height: 1.3; letter-spacing: 4px; margin-top:50px; margin-bottom:50px; position:relative; }
div#contact_block h2::before { content: ""; width:460px; height:32px; background:url('../img/line01.png'); background-size: contain; background-repeat: no-repeat; position:absolute; top:58%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); z-index: -1; }
div#contact_block h2 > span { display: block; font-size:20px; font-weight: normal; font-family: 'Lora', serif; }

@media screen and (max-width:900px) {
    div#contact_block h2 { font-size:24px; letter-spacing: 2px; margin-top:40px; margin-bottom:30px; }
    div#contact_block h2::before { width:280px; height: 26px; }
    div#contact_block h2 > span { font-size:15px; }
}

div#contact_content { width:80%; max-width:700px; margin:auto; }
div#contact_content > p { font-size:15px; margin-top:10px; text-align:left; letter-spacing: 1px; }
div#contact_content > p > a { color:#dd1111; position:relative; }
div#contact_content > p > a::after { content: ""; bottom:-3px; left:0; width:100%; height: 1px; background-color:#dd1111; position:absolute; transition: ease 0.5s; transform: scale(0,1); }
div#contact_content > p > a:hover::after { transform: scale(1,1); }
@media screen and (max-width:900px) {
    div#contact_content > p { font-size:13px; }
}

div#contact_form { width:80%; max-width:700px; margin:auto; margin-top:60px; margin-bottom:40px; }
div#contact_form dl.form_flex { display: flex; flex-flow: row wrap; align-items: center; border-bottom:dotted 1px #e2c6c6; padding-top:15px; padding-bottom:15px; }
div#contact_form dl.form_flex * { font-size:15px; letter-spacing: 1px; }
div#contact_form dl.form_flex:nth-child(1) { border-top:dotted 1px #e2c6c6; }
div#contact_form dl.form_flex > dt { width:14em; text-align:left; padding-left:2em; }
div#contact_form dl.form_flex > dd { width:calc(100% - 14em); text-align:left; }

div#contact_form dl.form_flex input[type="text"], div#contact_form dl.form_flex input[type="email"] { width:440px; border-radius: 2px; outline: 0; border:solid 1px transparent; padding:6px 12px; box-sizing: border-box; color:#333; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", YakuHanJP, "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif; }
div#contact_form dl.form_flex input[type="text"]:focus, div#contact_form dl.form_flex input[type="email"]:focus { border:solid 1px #8bbf35; border-radius: 2px; outline: 0; box-sizing: border-box; }
div#contact_form dl.form_flex textarea { width:440px; border:none; padding:6px 12px; border:solid 1px transparent; color:#333; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", YakuHanJP, "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif; }
div#contact_form dl.form_flex textarea:focus { border:solid 1px #8bbf35; border-radius: 2px; outline: 0; box-sizing: border-box; }
div#contact_form input[type="submit"] { margin-top:40px; width:80%; line-height: 2.2; border-radius: 2px;; font-size:20px; letter-spacing: 0.2em; border:none; color:#fefefe; background-color:#8bbf35; font-family: YakuHanMP_Noto, 'Sawarabi Mincho', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif; }
div#contact_form input[type="submit"]:hover { cursor: pointer; position:relative; top:1px; background-color:#6b9f15; }
@media screen and (max-width:900px) {
    div#contact_form { margin-top:30px; margin-bottom:30px; }
    div#contact_form dl.form_flex { flex-direction: column; }
    div#contact_form dl.form_flex > dt { width:100%; padding-left:0; }
    div#contact_form dl.form_flex > dd { width:100%; }
    div#contact_form dl.form_flex > dd#form_choice { line-height: 1.2; padding-bottom:10px; }

    div#contact_form dl.form_flex input { width:100%; }
    div#contact_form dl.form_flex input[type="text"], div#contact_form dl.form_flex input[type="email"] { width:100%; }
    div#contact_form dl.form_flex textarea { width:100%; }

    div#contact_form input[type="submit"] { width:100%; line-height: 2; font-size:16px; }
}


.form_flex input.visually-hidden { position: absolute; white-space: nowrap; width: 1px; height: 1px; overflow: hidden; border: 0; padding: 0; clip: rect(0 0 0 0); clip-path: inset(50%); margin: -1px; }
.form_flex label { cursor: pointer; padding-left: 30px; position: relative; margin-right:15px; }
.form_flex label::before, label::after { content: ""; display: block; border-radius: 50%; position: absolute; transform: translateY(-50%); top: 50%; }
.form_flex label::before { background-color: #fff; border: 1px solid #8bbf35; height: 18px; width: 18px; left: 6px; }
.form_flex label::after { background-color: #8bbf35; opacity: 0; height: 12px; width: 12px; left: 9px; transition: all 0.3s; }
.form_flex input:checked + label::after { opacity: 1; }
@media screen and (max-width:900px) {
    .form_flex input.visually-hidden { position:relative; }
}




/* 確認画面 */
div#confirm_block { margin:10px auto; width:80%; max-width: 700px; }
div#confirm_block p#confirm_txt { font-size:21px; letter-spacing: 3px; margin-bottom:30px; background-color:rgba(240,240,240,0.5); }

div#confirm_block dl.confirm_flex { display: flex; justify-content: center; margin-bottom:20px; }
div#confirm_block dl.confirm_flex > dt { width:25%; text-align:right; position:relative; letter-spacing: 1px; }
div#confirm_block dl.confirm_flex > dt::after { margin-left:7%; content:""; width:1px; height:100%; background-color:#020202; position:absolute; }
div#confirm_block dl.confirm_flex > dd { width:70%; text-align:left; padding-left:5%; letter-spacing: 1px; }
@media screen and (max-width:900px) {
    div#confirm_block dl.confirm_flex { display: block; margin-bottom:15px; }
    div#confirm_block dl.confirm_flex > dt { width:100%; text-align:left; background-color:rgba(240,240,240,0.5); padding-left:0.5em; }
    div#confirm_block dl.confirm_flex > dt::after { display: none; }
    div#confirm_block dl.confirm_flex > dd { width:100%; padding-left:0.5em; padding-top:5px; padding-bottom:10px; }
}


div#confirm_button { margin:60px auto 30px; }
div#confirm_button input[type="submit"] { width:30%; margin:auto 10px; line-height: 2.2; border-radius: 2px;; font-size:20px; letter-spacing: 0.2em; border:none; color:#fefefe; background-color:#8bbf35; font-family: YakuHanMP_Noto, 'Sawarabi Mincho', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif; }
div#confirm_button input[type="submit"]:hover { cursor: pointer; position:relative; top:1px; background-color:#6b9f15; }
div.thanks_txt { margin:30px auto; }
div.thanks_txt > p { font-size:18px; letter-spacing: 1px; }
@media screen and (max-width:900px) {
    div#confirm_button { margin:30px auto 30px; }
    div#confirm_button input[type="submit"] { width:100%; line-height: 2; font-size:16px; margin:5px auto; }
    div.thanks_txt > p { font-size:15px; }
}



