@charset "UTF-8";
/*=============================================================
 04_modules
=============================================================*/
/* inner
================================================ */
/*
#styleguide
mod_inner01

SP:両端パディング15px
PC:1200pxでセンタリング＆border-box

```
<section id="hoge">
	<div class="inner mod_inner01">
		<h2 class="tit">タイトル</h3>
		<p class="txt">テキストが入ります。テキストが入ります。テキストが入ります。</p>
	</div>
</section>
```
*/
.mod_inner01 {padding-right: 20px; padding-left: 20px; }

@media all and (min-width: 600px) {.mod_inner01 {box-sizing: border-box; width: 1200px; margin: 0 auto; padding-right: 0; padding-left: 0; } }

.mod_inner02 {padding-right: 20px; padding-left: 20px; }

@media all and (min-width: 600px) {.mod_inner02 {box-sizing: border-box; width: 960px; margin: 0 auto; padding-right: 0; padding-left: 0; } }

/* button
================================================ */
/*
#styleguide
mod_btn01

斜めのグレー背景ボタン。
PCでhover時にアニメーション。
外部リンクアイコンバージョン有り。
```
<p class="btn mod_btn01"><a href="#"><span>ボタンテキスト</span></a></p>
<br>
<p class="btn mod_btn01"><a href="#" target="_blank" rel="noopener noreferrer"><span>外部リンクテキスト</span></a></p>
```
*/
/* title
================================================ */
.mod_tit01 .en {width: 26%; margin: 0 auto; margin-bottom: 1px; text-align: center; }

.mod_tit01 .tit {color: #052e4d; font-weight: bold; font-size: 2.4rem; text-align: center; }

@media screen and (min-width: 600px) {.mod_tit01 .en {width: auto; margin-bottom: -5px; }
  .mod_tit01 .tit {font-size: 3.6rem; } }

/*
#styleguide
mod_tit02


```
<p class="tit mod_tit02">見出しテキスト</p>
```
*/
.mod_tit02 {padding: 9px; background: #3b8ac5; color: #fff; font-weight: 700; font-size: 2.4rem; text-align: center; }

@media all and (min-width: 600px) {.mod_tit02 {padding: 15px; font-size: 3rem; } }

/* form
================================================ */
.mod_form01 {padding: 6px 20px 15px; background: #fff; }

.mod_form01:first-of-type {margin-top: 30px; padding: 20px; border-radius: 20px 20px 0 0; }

.mod_form01:last-of-type {padding: 6px 20px 40px; border-radius: 0 0 20px 20px; }

.mod_form01:first-of-type:last-of-type {padding: 20px 20px 40px; border-radius: 20px; }

.mod_form01 table {table-layout: fixed; }

.mod_form01 th , .mod_form01 td {overflow: hidden; }

.mod_form01 th {position: relative; line-height: 1.67; padding: 18px 0 6px; font-weight: 700; font-size: 1.8rem; }

.mod_form01 th span {display: inline-block; box-sizing: border-box; width: 45px; line-height: 1; margin-left: 15px; padding: 9px 0; border-radius: 5px; color: #49acc7; font-size: 1.2rem; text-align: center; }

.mod_form01 th span.required {background: #ffe35f; }

.mod_form01 th span.free {background: #49acc7; color: #fff; }

.mod_form01 td {padding: 6px 0 25px; border-bottom: 1px dotted #d1d1d1; }

.mod_form01 tr:last-child td {border-bottom: 0; }

.mod_form01 input[type="submit"] , .mod_form01 input[type="text"] , .mod_form01 input[type="tel"] , .mod_form01 input[type="email"] , .mod_form01 select , .mod_form01 textarea , .mod_form01 button {display: block; box-sizing: border-box; width: 100%; height: 60px; padding: 10px 20px; border: 0; border-radius: 5px; background: #eff8fa; background-image: -webkit-gradient(linear, left top, right top, from(#eff8fa), to(#eff8fa)); background-image: linear-gradient(left, #eff8fa, #eff8fa); font-size: 1.6rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.mod_form01 input[type="submit"]::-ms-expand , .mod_form01 input[type="text"]::-ms-expand , .mod_form01 input[type="tel"]::-ms-expand , .mod_form01 input[type="email"]::-ms-expand , .mod_form01 select::-ms-expand , .mod_form01 textarea::-ms-expand , .mod_form01 button::-ms-expand {display: none; }

.mod_form01 input[type="submit"]:-webkit-autofill , .mod_form01 input[type="text"]:-webkit-autofill , .mod_form01 input[type="tel"]:-webkit-autofill , .mod_form01 input[type="email"]:-webkit-autofill , .mod_form01 select:-webkit-autofill , .mod_form01 textarea:-webkit-autofill , .mod_form01 button:-webkit-autofill {box-shadow: 0 0 0 1000px #eff8fa inset; }

.mod_form01 input[type="submit"]:focus , .mod_form01 input[type="text"]:focus , .mod_form01 input[type="tel"]:focus , .mod_form01 input[type="email"]:focus , .mod_form01 select:focus , .mod_form01 textarea:focus , .mod_form01 button:focus {border: 2px solid #49acc7; background: #fff !important; }

.mod_form01 input[type="submit"].mhFormRequired:not(.done) , .mod_form01 input[type="text"].mhFormRequired:not(.done) , .mod_form01 input[type="tel"].mhFormRequired:not(.done) , .mod_form01 input[type="email"].mhFormRequired:not(.done) , .mod_form01 select.mhFormRequired:not(.done) , .mod_form01 textarea.mhFormRequired:not(.done) , .mod_form01 button.mhFormRequired:not(.done) {border: 2px solid #e65555; background: #fdf0f0 !important; }

.mod_form01 textarea {height: 350px; }

@media all and (max-width: 599px) {.mod_form01 table , .mod_form01 tbody , .mod_form01 tr , .mod_form01 th , .mod_form01 td {display: block; } }

@media all and (min-width: 600px) {.mod_form01 {padding: 20px 30px 22px; }
  .mod_form01:first-of-type {margin-top: 26px; padding: 44px 30px 40px; }
  .mod_form01:last-of-type {padding: 0 30px 70px; }
  .mod_form01:first-of-type:last-of-type {padding: 50px 30px 60px; }
  .mod_form01 th {box-sizing: border-box; width: 282px; line-height: 1.5; padding: 35px 40px 35px 30px; border-bottom: 1px dotted #d1d1d1; }
  .mod_form01 th span {float: right; margin-left: 0; }
  .mod_form01 td {padding: 20px 0; }
  .mod_form01 tr:last-child th {border-bottom: 0; }
  .mod_form01 input[type="submit"] , .mod_form01 input[type="text"] , .mod_form01 input[type="tel"] , .mod_form01 input[type="email"] , .mod_form01 select , .mod_form01 textarea , .mod_form01 button {padding: 10px 20px; }
  .mod_form01 textarea {height: 210px; } }

.mod_form01_radio {letter-spacing: -.5em; }

.mod_form01_radio label {display: inline-block; margin: 0 28px 0 0; letter-spacing: 0; }

.mod_form01_radio label + label {margin-top: 15px; }

.mod_form01_radio input {display: none; }

.mod_form01_radio span {display: block; position: relative; line-height: 1.22; padding-left: 30px; font-size: 1.8rem; }

.mod_form01_radio span:before {display: block; position: absolute; top: 1px; left: 0; width: 22px; height: 22px; background: url("../img/common/ico_radio01_n.png") no-repeat center; background-size: contain; content: ""; }

.mod_form01_radio input:checked + span:before {background-image: url("../img/common/ico_radio01_o.png"); }

@media all and (min-width: 600px) {.mod_form01_radio {padding: 19px 0 9px; }
  .mod_form01_radio label {margin: 0 30px 10px 0; }
  .mod_form01_radio label + label {margin-top: 0; } }

.mod_form01_checkbox {margin-bottom: -15px; letter-spacing: -.5em; }

.mod_form01_checkbox label {display: inline-block; margin: 0 28px 15px 0; letter-spacing: 0; }

.mod_form01_checkbox label:last-child {margin-right: 0; }

.mod_form01_checkbox input {display: none; }

.mod_form01_checkbox span {display: block; position: relative; line-height: 1.22; padding-left: 30px; font-size: 1.8rem; }

.mod_form01_checkbox span:before {display: block; position: absolute; top: 1px; left: -1px; width: 22px; height: 22px; background: url("../img/common/ico_checkbox01_n.png") no-repeat center; background-size: contain; content: ""; }

.mod_form01_checkbox input:checked + span:before {background-image: url("../img/common/ico_checkbox01_o.png"); }

@media all and (min-width: 600px) {.mod_form01_checkbox {margin-bottom: 0; padding: 19px 0 9px; }
  .mod_form01_checkbox label {margin: 0 30px 10px 0; } }

.mod_form01_select {position: relative; }

.mod_form01_select:after {display: block; position: absolute; top: 24px; right: 20px; border-width: 8px; border-style: solid; border-color: #052e4d transparent transparent transparent; pointer-events: none; content: ""; }

.mod_form01_select select {min-width: 110px; }

.mod_form01_select select[name*="year"] {min-width: 150px; }

@media all and (min-width: 600px) {.mod_form01_select:after {border-width: 14px 8px; } }

.mod_form01_file + .mod_form01_file {margin-top: 20px; }

.mod_form01_file .mod_form01_file_txt {position: relative; padding-left: 33px; font-size: 1.8rem; }

.mod_form01_file .mod_form01_file_txt:before {display: block; position: absolute; top: 5px; left: -1px; width: 22px; height: 22px; background: url("../img/common/ico_checkbox01_n.png") no-repeat center; background-size: contain; content: ""; }

.mod_form01_file input {margin-top: 12px; cursor: pointer; }

.mod_form01_file.is_cheched .mod_form01_file_txt:before {background-image: url("../img/common/ico_checkbox01_o.png"); }

@media all and (min-width: 600px) {.mod_form01_file .mod_form01_file_txt {padding-left: 30px; } }

.mod_form01_item {display: table; float: left; box-sizing: border-box; }

.mod_form01_item > *[class*="mod_form01"] {display: table-cell; vertical-align: middle; }

@media all and (min-width: 600px) {.mod_form01_year {width: 217px; }
  .mod_form01_year .mod_form01_txt {width: 152px; } }

.mod_form01_month {width: 45%; }

@media all and (max-width: 599px) {.mod_form01_month {clear: both; margin-top: 15px; }
  .mod_form01_month:nth-child(1) {width: 50%; }
  .mod_form01_month select {min-width: 100px; } }

@media all and (min-width: 600px) {.mod_form01_month {width: 175px; }
  .mod_form01_month .mod_form01_select {width: 110px; } }

.mod_form01_day {width: 55%; }

@media all and (max-width: 599px) {.mod_form01_day {margin-top: 15px; }
  .mod_form01_day:nth-child(2) {width: 50%; }
  .mod_form01_day select {min-width: 100px; } }

@media all and (min-width: 600px) {.mod_form01_day {width: 175px; }
  .mod_form01_day .mod_form01_select {width: 110px; } }

@media all and (max-width: 599px) {.mod_form01_tel {width: 71%; } }

@media all and (min-width: 600px) {.mod_form01_tel {width: 300px; } }

.mod_form01_postcode_wrap {width: 100%; }

@media all and (min-width: 600px) {.mod_form01_postcode_wrap {width: 378px; }
  .mod_form01_postcode_wrap .mod_form01_item_prefix {width: 26px; padding-right: 0; } }

.mod_form01_postcode {width: 115px; }

@media all and (min-width: 600px) {.mod_form01_postcode {width: 150px; } }

.mod_form01_zip {padding: 6px 0 6px 15px; }

.mod_form01_zip .mod_form01_zip_btn {box-sizing: border-box; width: 100%; padding: 12px 0; border: 2px solid #e6e6e6; border-radius: 5px; font-size: 1.3rem; text-align: center; cursor: pointer; }

@media all and (min-width: 600px) {.mod_form01_zip {padding: 8px 0 8px 20px; }
  .mod_form01_zip .mod_form01_zip_btn {padding: 8px 0 7px; font-size: 1.5rem; } }

.mod_form01_pref {clear: both; width: 50%; padding-top: 15px; }

@media all and (min-width: 600px) {.mod_form01_pref {width: 150px; padding-top: 18px; } }

.mod_form01_address {clear: both; padding-top: 15px; }

@media all and (max-width: 599px) {.mod_form01_address input {height: 85px; } }

@media all and (min-width: 600px) {.mod_form01_address {padding-top: 18px; } }

.mod_form01_train .mod_form01_txt {width: 89%; }

@media all and (min-width: 600px) {.mod_form01_train .mod_form01_txt {width: 285px; } }

.mod_form01_time .mod_form01_select {width: 150px; }

.mod_form01_work {width: 63%; }

@media all and (min-width: 600px) {.mod_form01_work {width: 184px; } }

.mod_form01_age {width: 110px; }

.mod_form01_item_sufix , .mod_form01_item_prefix {font-size: 1.8rem; }

.mod_form01_item_sufix {padding-left: 15px; }

@media all and (min-width: 600px) {.mod_form01_item_sufix {padding-left: 20px; } }

.mod_form01_item_prefix {padding-right: 15px; }

@media all and (min-width: 600px) {.mod_form01_item_prefix {padding-right: 20px; } }

.mod_form01_attention {clear: both; line-height: 1.75; padding: 5px 0 0 1em; font-size: 1.5rem; text-indent: -1em; }

.mod_form01_date + .mod_form01_date {margin-top: 20px; }

@media all and (min-width: 600px) {.mod_form01_date .mod_form01_txt {width: 240px; } }

.mod_form01_agreement {padding: 26px 0 15px; border-top: 1px dotted #d1d1d1; }

.mod_form01_agreement span {display: inline-block; line-height: 1.75; }

.mod_form01_agreement span:before {top: 4px; }

@media all and (min-width: 600px) {.mod_form01_agreement {padding: 14px 0 15px; text-align: center; }
  .mod_form01_agreement span:before {top: 6px; } }

.mod_form01_area_btn {text-align: center; }

.mod_form01_area_btn .mod_form01_btn input , .mod_form01_area_btn .mod_form01_btn button {display: block; width: 100%; border-radius: 30px; background: #0d6fb8; background-image: -webkit-gradient(linear, left top, left bottom, from(left), color-stop(#0d6fb8), to(#0d6fb8)); background-image: linear-gradient(left, #0d6fb8, #0d6fb8); color: #fff; font-weight: 700; font-size: 1.9rem; cursor: pointer; }

.mod_form01_area_btn .mod_form01_btn #mhFormAdjust {margin-bottom: 20px; background: #333; background-image: -webkit-gradient(linear, left top, right top, from(#333), to(#333)); background-image: linear-gradient(left, #333, #333); }

@media all and (min-width: 600px) {.mod_form01_area_btn .mod_form01_btn input , .mod_form01_area_btn .mod_form01_btn button {display: inline-block; width: 330px; height: 90px; border-radius: 45px; font-size: 2.4rem; -webkit-transition: all .3s ease; transition: all .3s ease; }
  .mod_form01_area_btn .mod_form01_btn input:hover , .mod_form01_area_btn .mod_form01_btn button:hover {background: #49acc7; background-image: -webkit-gradient(linear, left top, left bottom, from(left), color-stop(#49acc7), to(#49acc7)); background-image: linear-gradient(left, #49acc7, #49acc7); }
  .mod_form01_area_btn .mod_form01_btn #mhFormAdjust {margin: 0 20px 0 0; }
  .mod_form01_area_btn .mod_form01_btn #mhFormAdjust:hover {background: #2664a3; background-image: -webkit-gradient(linear, left top, right top, from(#2664a3), to(#2664a3)); background-image: linear-gradient(left, #2664a3, #2664a3); } }

.is_confirm .mod_form01_select:after {display: none !important; }

.is_confirm .mod_form01_zip {display: none !important; }

.is_confirm .mod_form01_radio , .is_confirm .mod_form01_checkbox {letter-spacing: .05em; }

#errorMsg {font-size: 1.8rem; text-align: center; }