@charset "UTF-8";
.content { background-color: #faf4ef; }
.content .inner { width: 80%; }

#sec_form .form_top { padding: 6rem 0; }
#sec_form .form_top.hidden { display: none; }
#sec_form .form_top .lead { background-color: #FFF; border: solid 1px #202020; padding: 1em 3em; margin-bottom: 3em; }
#sec_form .form_top .lead a { text-decoration: underline; }
#sec_form .form_top .privacy { font-weight: bold; text-align: center; margin-top: 2em; margin-bottom: 2em; }
#sec_form .form_top .privacy a { text-decoration: underline; }
#sec_form .form_top .btn_confirm { text-align: center; }
#sec_form .form_top .btn_confirm a { display: inline-block; background: url(/common/img/btn_arrow.png) 90% center/1.1em no-repeat; background-color: #d80c24; border-radius: 3em; padding: 1em 0em; width: 16em; color: #FFF; text-align: center; }
#sec_form .form_top .btn_confirm a.return { background: url(/common/img/btn_arrow_reverse.png) 10% center/1.1em no-repeat; background-color: #747474; margin-right: 1em; width: 12em; }
#sec_form .form_top .btn_confirm a.send { width: 12em; }
#sec_form .form_top .form_list { border-bottom: 1px solid #dededd; display: flex; justify-content: space-between; flex-wrap: wrap; }
#sec_form .form_top .form_list input, #sec_form .form_top .form_list textarea { box-sizing: border-box; }
#sec_form .form_top .form_list dt, #sec_form .form_top .form_list dd { padding: 1.5rem 0; border-top: 1px solid #dededd; display: flex; align-items: center; }
#sec_form .form_top .form_list dt:first-of-type, #sec_form .form_top .form_list dd:first-of-type { border-top: none; }
#sec_form .form_top .form_list dt { width: 30%; padding-right: 3%; justify-content: space-between; }
#sec_form .form_top .form_list dd { width: 70%; /*flex-direction: row-reverse;*/ display: block; }
#sec_form .form_top .form_list dt.bt_none, #sec_form .form_top .form_list dd.bt_none { border-top: none; padding-top: 0px; }
#sec_form .form_top .form_list .elem { width: 100%; display: flex; align-items: center; }
#sec_form .form_top .form_list .elem input, #sec_form .form_top .form_list .elem textarea, #sec_form .form_top .form_list .elem select { width: 90%; max-width: 100%; font-size: 1.6rem; padding: 1em; border: 1px solid #dededd; border-radius: 5px; }
#sec_form .form_top .form_list .elem input[type='radio'] { display: none; }
#sec_form .form_top .form_list .elem input[type='radio']:checked + label::after { opacity: 1; }
#sec_form .form_top .form_list .elem.check { flex-wrap: wrap; }
#sec_form .form_top .form_list .elem.check label { display: flex; margin-bottom: 0.5em; }
#sec_form .form_top .form_list .elem.check label input { width: 1em; }
#sec_form .form_top .form_list .elem.check label p { margin-left: 0.5em; margin-right: 3em; }
#sec_form .form_top .form_list .elem.name p { margin-right: 0.5em; margin-left: 1.5em; }
#sec_form .form_top .form_list .elem.name p:first-child { margin-left: 0px; }
#sec_form .form_top .form_list .elem.name input { width: 32%; }
#sec_form .form_top .form_list .elem.age p { margin-left: 0.5em; margin-right: 1.5em; }
#sec_form .form_top .form_list .elem.age input { width: 5em; }
#sec_form .form_top .form_list .elem.address { flex-wrap: wrap; }
#sec_form .form_top .form_list .elem.address p { margin-right: 0.5em; margin-left: 1.5em; }
#sec_form .form_top .form_list .elem.address p:first-child { margin-left: 0px; }
#sec_form .form_top .form_list .elem.address input { width: 7em; }
#sec_form .form_top .form_list .elem.address select { width: 12em; }
#sec_form .form_top .form_list .elem.address2 { margin-top: 1em; }
#sec_form .form_top .form_list .elem.address2 p { white-space: nowrap; margin-right: 0.5em; }
#sec_form .form_top .form_list .elem.radio { flex-wrap: wrap; }
#sec_form .form_top .form_list .elem.radio label { font-size: 1.8rem; padding-left: 1.8em; margin-top: 0.2em; margin-bottom: 0.2em; margin-right: 2em; position: relative; }
#sec_form .form_top .form_list .elem.radio label::before, #sec_form .form_top .form_list .elem.radio label::after { content: ''; width: 1.2em; height: auto; aspect-ratio: 1 / 1; background-color: #fff; border: 1px solid #dededd; border-radius: 50%; transform: translateY(-50%); position: absolute; top: 50%; left: 0; }
#sec_form .form_top .form_list .elem.radio label::after { width: 0.6em; background-color: #07a33e; border-color: #07a33e; left: 0.3em; opacity: 0; }
#sec_form .form_top .form_list .elem.radio.biz label { margin: 0 0 0.2em; display: inline-block; width: 18%; }
#sec_form .form_top .form_list .elem.radio.biz label.wide { width: 27.5%; }
#sec_form .form_top .form_list .elem.radio.biz label.small { width: 13.5%; }
#sec_form .form_top .form_list .elem.radio #otherWrap label { margin-right: 1rem; }
#sec_form .form_top .form_list .elem.postcode input { /*width: calc(100% - 2em);*/ width: 85%; }
#sec_form .form_top .form_list .elem.postcode span { font-size: 1.6rem; font-weight: 600; padding-right: 1em; }
#sec_form .form_top .form_list .elem.postcode .handleYmark { width: 43.6%; }
#sec_form .form_top .form_list .elem.num input { width: 50%; }
#sec_form .form_top .form_list .elem.drop { display: block; }
#sec_form .form_top .form_list .elem.drop select { width: 50%; font-size: 1.6rem; padding: 1em 0.5em; }
#sec_form .form_top .form_list .elem.drop .txt { width: 80%; }
#sec_form .form_top .form_list .elem.drop.num { flex-direction: row; }
#sec_form .form_top .form_list .elem + .note { margin-top: 0.5em; }
#sec_form .form_top .form_list .txt { font-size: 1.6rem; padding-left: 1em; width: 15%; }
#sec_form .form_top .form_list .txt.postcode { width: 60%; }
#sec_form .form_top .form_list .txt.num { width: 50%; }
#sec_form .form_top .form_list .ttl { font-size: 1.8rem; font-weight: 600; padding-left: 1em; position: relative; }
#sec_form .form_top .form_list .ttl::before { content: ''; width: 4px; height: 80%; background-color: #d80c24; border-radius: 4px; transform: translateY(-50%); position: absolute; top: 50%; left: 0; }
#sec_form .form_top .form_list .required { font-size: 1.5rem; color: #fff; background-color: #fb505d; padding: 0 0.2em; }
#sec_form .form_top .form_list.conf dt { padding-right: 2.2%; }
#sec_form .form_top .form_list.conf .txt { width: 100%; }
#sec_form #showButton { text-align: right; padding-bottom: 3em; }
#sec_form #showButton img { cursor: pointer; }
#sec_form .bg_blue { padding-top: 4em; background-color: #f0f3f4; }
#sec_form .bg_blue .form_top .form_list .ttl::before { background-color: #1a3188; }
#sec_form input[type="date"] { position: relative; }
#sec_form input[type="date"]::-webkit-calendar-picker-indicator { background: transparent; color: transparent; cursor: pointer; height: 2em; position: absolute; right: 0.5em; width: 2em; }
#sec_form input[type="date"]::after { content: ''; background-image: url("../img/icon_calendar.png"); background-size: contain; height: 2em; position: absolute; right: 0.5em; top: 50%; transform: translateY(-50%); width: 2em; pointer-events: none; }
#sec_form .form_btm { padding: 6rem 0 7rem; text-align: center; }
#sec_form .form_btm .txt { font-size: 1.6rem; font-weight: 500; line-height: 2; }
#sec_form .form_btm .elem { margin-top: 2em; }
#sec_form .form_btm .elem label { font-size: 1.8rem; font-weight: 600; }
#sec_form .form_btm .elem label span { padding-left: 0.8em; }
#sec_form .form_btm .form_btn { margin: 2em auto 0; width: 26rem; }
#sec_form .form_btm .form_btn input { display: inline-block; width: 100%; padding: 1em 0; color: #fff; font-size: 2rem; font-weight: 500; text-align: center; background: #000 url(/common/img/icon_arrow_wr01.png) no-repeat center right 1em/0.5em; border: none; border-radius: 15px; transition-duration: 0.5s; cursor: pointer; }
#sec_form .form_btm .form_btn input:hover { opacity: 0.7; }
#sec_form .form_btm .return_btn { width: 26rem; }
#sec_form .form_btm .return_btn a, #sec_form .form_btm .return_btn input { display: inline-block; width: 100%; padding: 1em 0; color: #fff; font-size: 2rem; font-weight: 500; text-align: center; background: #8b8a8a url(/common/img/icon_arrow_wl01.png) no-repeat center left 1em/0.5em; border: none; border-radius: 15px; transition-duration: 0.5s; }
#sec_form .form_btm .return_btn a:hover, #sec_form .form_btm .return_btn input:hover { opacity: 0.8; cursor: pointer; }
#sec_form .form_btm .btn_area { margin-top: 2em; display: flex; justify-content: center; }
#sec_form .form_btm .btn_area .form_btn { margin: 0 0 0 1em; }

#confirm #sec_form .form_top .form_list dd { display: flex; }
#confirm .bg_blue { padding-top: 0px; }

.thanks { font-size: 2.8rem; text-align: center; padding: 3em 0; font-weight: bold; }

@media screen and (max-width: 767px) { .content { padding-bottom: 1rem; }
  .content .inner { width: 95%; max-width: 95%; }
  #sec_form { margin-top: 4rem; }
  #sec_form .form_top { padding: 3rem 0; }
  #sec_form .form_top .lead { padding: 1em 1em; }
  #sec_form .form_top .form_list { display: block; }
  #sec_form .form_top .form_list dt { width: 100%; padding-right: 0; padding-bottom: 0; justify-content: flex-start; }
  #sec_form .form_top .form_list dt.bt_none .ttl { display: none; }
  #sec_form .form_top .form_list dd { width: 100%; padding-top: 0; border-top: none; flex-direction: column; }
  #sec_form .form_top .form_list .elem { width: 100%; flex-direction: column-reverse; }
  #sec_form .form_top .form_list .elem input, #sec_form .form_top .form_list .elem textarea { font-size: 4vw; width: 100%; }
  #sec_form .form_top .form_list .elem.check { flex-wrap: wrap; flex-direction: row; }
  #sec_form .form_top .form_list .elem.check label { display: flex; margin-bottom: 0.5em; align-items: center; }
  #sec_form .form_top .form_list .elem.check label input[type="checkbox"] { -webkit-appearance: none; /* ブラウザ標準スタイルを無効化 */ appearance: none; width: 1em !important; /* 幅 */ height: 1em !important; /* 高さ */ max-width: 1em !important; /* 幅 */ max-height: 1em !important; /* 高さ */ border: 2px solid #ccc; border-radius: 50%; position: relative; vertical-align: middle; display: inline-block; background-color: #FFF; }
  @supports (-webkit-touch-callout: none) { #sec_form .form_top .form_list .elem.check label input[type="checkbox"] { -webkit-transform: scale(0.5); /* 物理サイズ調整 */ } }
  #sec_form .form_top .form_list .elem.check label input[type="checkbox"]:checked::before { content: "✔"; font-size: 1.6rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  #sec_form .form_top .form_list .elem.check label p { margin-right: 3em; }
  #sec_form .form_top .form_list .elem.name { flex-direction: row; }
  #sec_form .form_top .form_list .elem.age { flex-direction: row; }
  #sec_form .form_top .form_list .elem.address { flex-direction: row; }
  #sec_form .form_top .form_list .elem.address p:nth-of-type(2) { margin-left: 0px; margin-top: 1em; }
  #sec_form .form_top .form_list .elem.address select { margin-top: 1em; }
  #sec_form .form_top .form_list .elem.address2 { flex-direction: row; }
  #sec_form .form_top .form_list .elem.radio { padding-top: 0.5em; flex-direction: row; }
  #sec_form .form_top .form_list .elem.radio label { font-size: 3.7vw; }
  #sec_form .form_top .form_list .elem.radio.age label { margin: 0 0 0.2em; display: inline-block; width: 32%; }
  #sec_form .form_top .form_list .elem.radio.biz label { width: 24%; }
  #sec_form .form_top .form_list .elem.radio.biz label.wide { width: 40%; }
  #sec_form .form_top .form_list .elem.radio.biz label.small { width: 24%; }
  #sec_form .form_top .form_list .elem.postcode { width: 100%; }
  #sec_form .form_top .form_list .elem.postcode input { width: calc(100% - 2em); }
  #sec_form .form_top .form_list .elem.postcode span { font-size: 3.7vw; }
  #sec_form .form_top .form_list .elem.postcode .handleYmark { width: 100%; }
  #sec_form .form_top .form_list .elem.num { width: 100%; }
  #sec_form .form_top .form_list .elem.num input { width: 100%; }
  #sec_form .form_top .form_list .elem.num input[type="date"] { width: 100%; display: block; -webkit-appearance: none; appearance: none; }
  #sec_form .form_top .form_list .elem.num input[type="date"] + label { margin-top: 0.5em; margin-left: -2em; }
  #sec_form .form_top .form_list .elem.drop { margin-top: 0.5em; }
  #sec_form .form_top .form_list .elem.drop select { width: 60%; font-size: 4vw; padding: 0.5em; }
  #sec_form .form_top .form_list .elem.drop .txt { width: 100%; text-align: left; margin-left: 1em; text-indent: -1em; }
  #sec_form .form_top .form_list .txt { font-size: 3.2vw; text-align: right; padding-left: 0; width: 100%; }
  #sec_form .form_top .form_list .txt.postcode { width: 100%; }
  #sec_form .form_top .form_list .txt.num { width: 100%; }
  #sec_form .form_top .form_list .ttl { font-size: 4.2vw; margin-right: 1em; }
  #sec_form .form_top .form_list .required { font-size: 2.8vw; }
  #sec_form .form_top .form_list.conf dd { padding-top: 1rem; }
  #sec_form .form_top .form_list.conf .txt { font-size: 3.7vw; text-align: left; }
  #sec_form .form_btm { padding: 3rem 0 5rem; }
  #sec_form .form_btm .txt { font-size: 4.2vw; text-align: left; }
  #sec_form .form_btm .elem { margin-top: 1em; }
  #sec_form .form_btm .elem label { font-size: 4.2vw; }
  #sec_form .form_btm .form_btn { margin: 1.5em auto 0; width: 18rem; }
  #sec_form .form_btm .form_btn input { font-size: 3.2vw; }
  #sec_form .form_btm .return_btn { width: 13rem; }
  #sec_form .form_btm .return_btn a, #sec_form .form_btm .return_btn input { font-size: 3.2vw; }
  #sec_form .form_btm .btn_area { margin-top: 1em; }
  #sec_form .form_btm .btn_area .form_btn { width: 13rem; margin: 0 0 0 1em; }
  #sec_form #showButton img { width: 30vw; }
  #confirm #sec_form .form_top .form_list .elem { display: block; margin-top: 1em; } }

/*# sourceMappingURL=form.css.map */
