@charset "UTF-8";
/* ============================================================
   form.css - フォームページ専用スタイル
   --------------------------------------------------------------
   読み込み条件: /form/* のフォームページで読み込み
   役割: 仮申込みフォーム・採用フォーム・確認画面のスタイル

   構成:
     1. 共通スタイル(全デバイス共通)
     2. PC版スタイル(@media min-width: 769px)
     3. スマホ版スタイル(@media max-width: 768px)
     4. その他のメディアクエリ(画面サイズ別の微調整)
     5. アニメーション(@keyframes)

   ルール:
     - font-family / font-size はサイト共通CSS(common.css)で管理
     - 個別フォント指定はアイコン用(FontAwesome等)・装飾用(Roboto等)のみ
     - ブレークポイント: PC ≥ 769px / SP ≤ 768px
   ============================================================ */


/* ============================================================
   1. 共通スタイル
   ============================================================ */


/* --- 入力フィールド(input, select, textarea) --- */


input[type="text"] {
  max-width: none;
}

select {
  height: 40px;
}

#submitBtn input {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 0;
  font-size: 120%;
}

#returnBtn input,
#returnBtn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 0;
  font-size: 120%;
}

.formTbl01 table td.name input {
  margin-right: 10px;
}

.formTbl01 input.txt,
.formTbl01 textarea.txt,
.formTbl01 select {
  background: #fff;
  border: 1px solid;
}

.formTbl01 input[type="text"] {
  width: 67%;
}

.formTbl01 input.txt {
  padding: 5px 2px;
  background-color: #EEE;
  border: none;
  border-radius: 5px;
}

.formTbl01 input[type="text"]:focus,
.formTbl01 input[type="password"]:focus,
.formTbl01 textarea:focus {
  background: #fff5d6;
  border: 1px solid #f19900;
}

.formTbl01 select {
  padding: 5px 2px;
}

span.radioBox input[type="radio"],
span.checkBox input[type="checkbox"] {
  display: none;
}

span.radioBox input[type="radio"]:checked + label,
span.checkBox input[type="checkbox"]:checked + label {
  color: #fff;
}

span.radioBox input[type="radio"]:checked + label,
span.checkBox input[type="checkbox"]:checked + label,
span.radioSelect.dropdown input[type="radio"]:checked + label {
  background-color: #01a0c7;
}

span.radioBox label,
span.checkBox label,
span.radioSelect label,
span.radioSelect.dropdown input[type="radio"]:checked + label,
span.radioSelect label.pageLabel > .pageButton,
#agree.errorRed {
  border-color: #01a0c7;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
  outline-color: #01a0c7;
}

#hopeDate label,
#offer_job_cd label,
#hopeEnglish label,
#englishUnderstand label,
#training label,
#okayamaCp label,
#addPlan label,
#addPlanDetail label,
#selectPlan label,
#yoyakuOption label,
#speedCourse label,
#skillGuarantee label,
#inspectionGuarantee label,
#smoker label,
#smoker_answer label,
#speed_plan_cd label,
#unemployed_flg label,
#high_school_student_flg label,
#other_high_school_student_flg label,
#loan_payment label,
#loan_hope_cd label,
#payer_cd label,
#room_type label,
#movie label,
#get_flg label,
#payment_way label,
#citizen_card label,
#disc_lic_cd label,
#hopeLicense label,
#job_cd label,
#sex label,
#lic_flg label,
#employment_cd label,
#cancel_flg label,
#stop_flg label,
#violation_flg label,
#loss_flg label,
#reissue_flg label,
#time_flg label,
#sick_flg label,
#allergy_flg label,
#tattoo_flg label,
#minors_cd label {
  display: inline-table;
  width: 48%;
  height: 45px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  vertical-align: top;
  border-bottom-style: none;
}

#hopeDate label,
#offer_job_cd label,
#hopeEnglish label,
#englishUnderstand label,
#training label,
#okayamaCp label,
#addPlan label,
#addPlanDetail label,
#selectPlan label,
#yoyakuOption label,
#speedCourse label,
#skillGuarantee label,
#inspectionGuarantee label,
#smoker label,
#smoker_answer label,
#speed_plan_cd label,
#unemployed_flg label,
#high_school_student_flg label,
#other_high_school_student_flg label,
#loan_payment label,
#loan_hope_cd label,
#payer_cd label,
#room_type label,
#movie label,
#get_flg label,
#sex label,
#lic_flg label,
#employment_cd label,
#citizen_card label,
#cancel_flg label,
#stop_flg label,
#violation_flg label,
#loss_flg label,
#reissue_flg label,
#time_flg label,
#sick_flg label,
#allergy_flg label,
#tattoo_flg label,
#minors_cd label {
  border-bottom-style: solid;
  border-right-style: solid;
}

.order_num_box input,
.request_num_box input {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

span.radioSelect {
  display: block;
  margin: 5px 0;
  text-align: center;
}

span.radioSelect label {
  display: block;
  position: relative;
  padding: 10px 0;
  border-width: 1px;
  border-style: solid;
  border-radius: 3px;
  line-height: 15px;
  border-right-width: 40px;
  font-size: 16px;
}

span.radioSelect label:after {
  position: absolute;
  right: -30px;
  margin: 2px 0;
  color: #fff;
  content: "\f0d7";
  font-family: 'FontAwesome';
  font-size: 35px;
}

span.radioSelect label.pageLabel {
  display: none;
  padding: 0;
}

span.radioSelect label.pageLabel > .pageButton {
  display: table-cell;
  width: 50%;
  background-color: #CCC;
}

span.radioSelect label.pageLabel > .pageButton + .pageButton {
  border-left-style: solid;
  border-left-width: 1px;
}

span.radioSelect label.pageLabel > .nextPage {
  background-color: #FFF;
}

span.radioSelect label.pageLabel > .nextPage:after {
  color: #00CCFF;
  line-height: 35px;
  content: "\f138";
  font-family: 'FontAwesome';
  font-size: 35px;
}

span.radioSelect label.pageLabel > .prevPage {
  background-color: #FFF;
}

span.radioSelect label.pageLabel > .prevPage:after {
  color: #FF0099;
  line-height: 35px;
  content: "\f137";
  font-family: 'FontAwesome';
  font-size: 35px;
}

span.radioSelect input[type="radio"] {
  display: none;
}

span.radioSelect input[type="radio"]:not(:checked) + label {
  display: none;
}

span.radioSelect.errorRed:not(.dropdown) label {
  background: #fff0f0;
  border-color: #ff6060;
}

span.radioSelect.errorYellow:not(.dropdown) label {
  background: #FFFF99;
}

span.radioSelect:not(.dropdown) input[type="radio"][value=""] + label {
  color: #777;
}

span.radioSelect.dropdown {
  position: absolute;
  left: 5px;
  z-index: 1000;
  width: 95% !important;
}

span.radioSelect.dropdown label {
  width: 100%;
  background-color: #fff;
  color: #000;
  border-width: 1px;
  border-style: solid;
  border-radius: 0;
  border-bottom-style: none;
}

span.radioSelect.dropdown label:after {
  display: none;
}

span.radioSelect.dropdown label:first-of-type {
  border-radius: 3px 3px 0 0;
}

span.radioSelect.dropdown label:last-of-type {
  border-radius: 0 0 3px 3px;
  border-bottom-style: solid;
}

span.radioSelect.dropdown label:only-of-type {
  border-radius: 3px;
  border-bottom-style: solid;
}

span.radioSelect.dropdown label.pageLabel {
  display: table;
  padding: 0;
}

span.radioSelect.dropdown input[type="radio"] + label {
  display: block;
}

span.radioSelect.dropdown input[type="radio"]:checked + label {
  color: #fff;
  border-width: 1px;
  border-style: solid;
}

.form_date .radioSelect label {
  border-style: solid;
  border-right-width: 30px;
}

.form_date .radioSelect label::after {
  right: -25px;
  font-size: 30px;
}

.form_year .radioSelect:not(.dropdown) > input[type="radio"]:checked + label {
  border-radius: 3px 0 0 3px;
}

.form_month .radioSelect:not(.dropdown) > input[type="radio"]:checked + label {
  border-radius: 0;
}

.form_day .radioSelect:not(.dropdown) > input[type="radio"]:checked + label {
  border-radius: 0 3px 3px 0;
}

.form_day .radioSelect input[type="radio"] + label.lastDisplay {
  border-radius: 0 0 3px 3px;
  border-bottom-style: solid;
}

.form_day .radioSelect input[type="radio"] + label.noDisplay {
  display: none;
}

.address select {
  margin: 10px 0;
}

.address input.adSrcBtn {
  margin-left: 2px;
  padding: 3px 8px;
  background: #eaeaea;
  color: #262626;
  border: none;
  border-radius: 4px;
  box-shadow: 0 1px 0 #bbbaba;
  cursor: pointer;
  font-size: 83.4%;
}

.address input.adSrcBtn:hover {
  -moz-box-shadow: 0 2px 0 #bbbaba;
  -webkit-box-shadow: 0 2px 0 #bbbaba;
  box-shadow: 0 1px 0 #bbbaba;
  -moz-opacity: .65;
  opacity: .65;
  -ms-filter: "alpha(opacity=65)";
  filter: alpha(opacity=65);
  -khtml-opacity: .65;
}

input[type="text"].small01,
select.small01 {
  width: 5em;
}

input[type="text"].small02,
select.small02 {
  width: 50px;
}

input[type="text"].medium00,
select.medium00 {
  width: 70px;
}

input[type="text"].medium01,
select.medium01 {
  width: 150px;
}

input[type="text"].medium02,
select.medium02 {
  width: 250px;
}

input[type="text"].medium03,
select.medium03 {
  width: 350px;
}

input[type="text"].medium04,
select.medium04 {
  width: 650px;
}

textarea.large01,
input[type="text"].large01,
select.large01 {
  width: 98%;
}

textarea.large02,
input[type="text"].large02,
select.large02 {
  width: 50%;
}


/* --- 送信ボタン(#submitBtn 等) --- */


#submitBtn {
  position: relative;
  width: 30%;
  margin: auto;
  background-color: #FEAA36;
  background-repeat: no-repeat;
  color: #fff !important;
  border: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -o-transition: background .2s ease;
  -webkit-transition: background .2s ease;
  transition: background .2s ease;
  text-align: center;
  text-decoration: none !important;
  line-height: 1.4615;
  vertical-align: middle;
}

#submitBtn:after {
  position: absolute;
  top: 0;
  right: 10px;
  margin: 18px auto;
  color: #fff;
  content: "\f054";
  font-family: 'FontAwesome';
  font-size: 24px;
}

#submitBtn:hover {
  background-color: #f27980;
}


/* --- バリデーション・エラー表示 --- */


.formTbl01 table .required span.itemTag,
.formTbl01 table .option span.itemTag {
  display: inline-block;
  margin-left: 10px;
  padding: 2px 8px;
  color: #fff;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
  border-radius: 12px;
  text-align: center;
  line-height: 1.3;
}

.formTbl01 table .required span.itemTag {
  margin-right: 10px;
  background-color: #EF7183;
  border-radius: 4px;
  font-size: 13px;
}

.formTbl01 table .required span.itemTag2 {
  display: inline-block;
  margin-left: 10px;
  padding: 2px 8px;
  color: #fff;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
  border-radius: 12px;
  text-align: center;
  line-height: 1.3;
}

.formTbl01 table .required span.itemTag2 {
  background: #00A0E9;
}

.formTbl01 table .required {
  text-align: left;
}

.errorTxt {
  margin-top: 8px;
  color: #ff0000;
  font-size: 83.4%;
}

div.form_error_box {
  clear: both;
  margin: 10px auto;
  padding: 10px;
  background: #FDF3F5;
  color: #F00;
  border: solid 1px #CE4844;
  border-radius: 3px;
}

div.form_error.none_error {
  display: none;
  margin: 0;
}

#err_inqRadio .formErrorMsg {
  margin-top: -15px;
  text-align: center;
}

.formError {
  display: block;
  padding-bottom: 13px;
}

.formError .formErrorClose {
  display: block;
  position: absolute;
  top: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  background: #333;
  color: #efefef;
  border: solid #252525 2px;
  -moz-border-radius: 9px 9px 9px 9px;
  -webkit-border-radius: 9px 9px 9px 9px;
  border-radius: 9px 9px 9px 9px;
  -moz-box-shadow: 1px -1px 3px #888;
  -webkit-box-shadow: 1px -1px 3px #888;
  box-shadow: 1px -1px 3px #888;
  text-align: center;
  cursor: pointer;
  _z-index: 2;
  font-weight: bold;
}

.formError .formErrorClose:hover {
  background: #666;
}

.fixed .formErrorClose {
  display: none;
}

.formError .formErrorContent {
  position: relative;
  color: #f00;
  _z-index: 1;
}

.fixed .formErrorContent {
  margin-top: .5em;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.formError .formErrorArrow {
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 15px;
  height: 15px;
  _z-index: 0;
}

.fixed .formErrorArrow {
  display: none;
}

.formError .formErrorArrowBottom {
  top: 0;
  margin: -6px;
}

.fixed .formErrorArrowBottom {
  display: none;
}

.formError .formErrorArrow div {
  display: block;
  height: 1px;
  margin: 0 auto;
  background: #252525;
  -moz-box-shadow: 0 2px 3px #888;
  -webkit-box-shadow: 0 2px 3px #888;
  box-shadow: 0 2px 3px #888;
  line-height: 0;
  font-size: 0;
}

.formError .formErrorArrowBottom div {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.formError .formErrorArrow .line10 {
  width: 19px;
}

.formError .formErrorArrow .line9 {
  width: 17px;
}

.formError .formErrorArrow .line8 {
  width: 15px;
}

.formError .formErrorArrow .line7 {
  width: 13px;
}

.formError .formErrorArrow .line6 {
  width: 11px;
}

.formError .formErrorArrow .line5 {
  width: 9px;
}

.formError .formErrorArrow .line4 {
  width: 7px;
}

.formError .formErrorArrow .line3 {
  width: 5px;
}

.formError .formErrorArrow .line2 {
  width: 3px;
}

.formError .formErrorArrow .line1 {
  width: 1px;
}


/* --- その他 --- */


ol,
ul {
  list-style: none;
}

#commonHeader {
  position: static;
  width: 100%;
  height: auto;
  background: #fff;
}

table,
th,
td {
  min-width: auto;
  border: none;
}

#formBox .ftrInqBnr {
  margin: 0;
}

#formBox {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 100px;
}

.form_breadcrumb {
  display: table;
  width: 100%;
  margin: 40px 0;
  table-layout: fixed;
}

.form_breadcrumb li {
  display: table-cell;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px;
  background: #C3E8F8;
  color: #000;
  text-align: center;
  text-decoration: none;
  line-height: 22px;
  font-size: 108%;
}

.form_breadcrumb li.current {
  background: #00A0E9;
  color: #fff;
}

.form_breadcrumb li:after {
  display: block;
  position: absolute;
  top: 0;
  right: -19px;
  z-index: 2;
  width: 0;
  height: 0;
  border-top: 31px solid transparent;
  border-bottom: 31px solid transparent;
  border-left: 19px solid #C3E8F8;
  content: " ";
}

.form_breadcrumb li.current:after {
  border-left: 19px solid #00A0E9;
}

.form_breadcrumb li:before {
  display: block;
  position: absolute;
  top: -8px;
  right: -24px;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 39px solid transparent;
  border-bottom: 39px solid transparent;
  border-left: 24px solid white;
  content: " ";
}

.form_breadcrumb li:last-child:after,
.form_breadcrumb li:last-child:before {
  display: none;
}

#formTelTxt {
  float: left;
  width: 60%;
}

#formTel {
  float: right;
  width: 40%;
}

.ftrInqBnr {
  display: table;
  width: 100%;
  max-width: 1300px;
  margin: 22px auto 0;
  border-collapse: separate;
  border-spacing: 25px 0;
  table-layout: fixed;
}

.ftrInqBnr > p {
  display: table-cell;
  text-align: center;
  vertical-align: top;
}

.formButton {
  width: 30%;
  margin: auto;
  text-align: center;
}

.formButtons {
  margin: 0 auto;
  text-align: center;
}

.formButtons .formButton {
  display: inline-block;
  margin: 0 20px;
}

#returnBtn {
  position: relative;
  background-color: #ebebeb;
  border-radius: 5px;
  -o-transition: background .2s ease;
  -webkit-transition: background .2s ease;
  transition: background .2s ease;
  vertical-align: middle;
}

#returnBtn:before {
  position: absolute;
  left: 10px;
  margin: 18px auto;
  content: "\f053";
  font-family: 'FontAwesome';
  font-size: 24px;
}

#returnBtn:hover {
  background-color: #ccc;
}

#returnBtn a:hover {
  color: #000;
}

#sendingBtn {
  position: relative;
  width: 30%;
  margin: auto;
  background-color: #ebebeb;
  background-repeat: no-repeat;
  color: #000 !important;
  border: none;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -o-transition: background .2s ease;
  -webkit-transition: background .2s ease;
  transition: background .2s ease;
  text-align: center;
  text-decoration: none !important;
  line-height: 1.4615;
  vertical-align: middle;
}

#sendingBtn p {
  display: block;
  width: 100%;
  height: 100%;
  margin-top: 15px;
  padding: 1px 0;
  font-size: 120%;
}

#sendingBtn:after {
  position: absolute;
  top: 0;
  right: 10px;
  margin: 18px auto;
  color: #000;
  content: "\f054";
  font-family: 'FontAwesome';
  font-size: 24px;
}

.formTbl01 {
  width: 100%;
}

.formTbl01.wide {
  width: 980px;
  margin-bottom: 50px;
}

.formTbl01 table {
  width: 100%;
  margin-bottom: 30px;
  table-layout: fixed;
}

.formTbl01 table th,
.formTbl01 table td {
  padding: 13px 15px;
  background-color: #fff;
  vertical-align: middle;
}

.formTbl01 table th {
  width: 360px;
  min-width: 360px;
  padding: 20px 20px 20px 0;
  background-color: #fff;
  color: #4e4e4e;
  vertical-align: top;
  font-weight: normal;
}

.formTbl01 table .option span.itemTag {
  background: #a6a6a6;
}

.formTbl01 table .option {
  background: #f5f5f5;
}

.formTbl01 table th.inTH {
  background-color: #fbfaf6;
  vertical-align: middle;
}

.formTbl01 table td li {
  float: left;
  margin-right: 10px;
}

.formTbl01 .form_row {
  margin: 1px auto;
}

span.radioBox,
span.checkBox {
  display: table;
  width: 95%;
  margin: 5px 0;
}

span.radioBox label,
span.checkBox label {
  display: table-cell;
  padding: 10px 0;
  border: solid 1px;
  border-left: solid 1px;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  text-align: center;
  line-height: 45px;
  border-right-style: none;
}

span.radioBox label:first-of-type,
span.checkBox label:first-of-type {
  border-radius: 3px 0 0 3px;
}

span.radioBox label:last-of-type,
span.checkBox label:last-of-type {
  border-radius: 0 3px 3px 0;
  border-right-style: solid;
}

span.radioBox label:only-of-type,
span.checkBox label:only-of-type {
  border-radius: 3px;
  border-right-style: solid;
}

#payment_way label:nth-of-type(1),
#disc_lic_cd label:nth-of-type(1),
#hopeLicense label:nth-of-type(1),
#job_cd label:nth-of-type(1),
#time_flg label:nth-of-type(1) {
  border-top-left-radius: 3px;
}

#payment_way label:nth-of-type(2),
#disc_lic_cd label:nth-of-type(2),
#hopeLicense label:nth-of-type(2),
#job_cd label:nth-of-type(2),
#time_flg label:nth-of-type(2) {
  border-top-right-radius: 3px;
}

#payment_way label:nth-last-of-type(1),
#disc_lic_cd label:nth-last-of-type(1),
#hopeLicense label:nth-last-of-type(1),
#job_cd label:nth-last-of-type(1),
#time_flg label:nth-last-of-type(1) {
  border-bottom-right-radius: 3px;
  border-bottom-style: solid;
}

#payment_way label:nth-last-of-type(2),
#disc_lic_cd label:nth-last-of-type(2),
#hopeLicense label:nth-last-of-type(2),
#job_cd label:nth-last-of-type(2),
#time_flg label:nth-last-of-type(2) {
  border-bottom-left-radius: 3px;
  border-bottom-style: solid;
}

#payment_way label:nth-of-type(even),
#disc_lic_cd label:nth-of-type(even),
#hopeLicense label:nth-of-type(even),
#job_cd label:nth-of-type(even),
#time_flg label:nth-of-type(even) {
  border-right-style: solid;
}

#payment_way label span.table-cell,
#disc_lic_cd label span.table-cell,
#hopeLicense label span.table-cell,
#job_cd label span.table-cell,
#time_flg label span.table-cell {
  display: table-cell;
  height: inherit;
  text-align: center;
  vertical-align: middle;
}

.order_num_box,
.request_num_box {
  display: inline-block;
  width: 48%;
  white-space: nowrap;
}

.order_num_box label {
  display: block;
  text-align: center;
}

.order_num_box #order_num_man_label {
  color: #00CCFF;
}

.order_num_box #order_num_woman_label {
  color: #FF0099;
}

.order_num_box .num_sub:after,
.request_num_box .num_sub:after {
  position: absolute;
  z-index: 1;
  margin: 2px 10px;
  padding: 5px 0;
  color: #00CCFF;
  content: "\f056";
  font-family: 'FontAwesome';
  font-size: 30px;
}

.order_num_box .num_add:after,
.request_num_box .num_add:after {
  position: absolute;
  z-index: 1;
  margin: 2px -35px;
  padding: 5px 0;
  color: #FF0099;
  content: "\f055";
  font-family: 'FontAwesome';
  font-size: 30px;
}

.form_date {
  font-size: 0px;
}

.form_year,
.form_month,
.form_day {
  display: inline-block;
  box-sizing: border-box;
  font-size: 0.8rem;
}

.form_year {
  width: 50%;
}

.form_month {
  width: 25%;
}

.form_day {
  width: 25%;
}

.address table th {
  width: 28%;
  vertical-align: inherit;
}

.lead {
  margin-bottom: 20px;
}

.formTbl01 .note01 {
  margin-top: 5px;
  margin-left: 10px;
  color: #715e5e;
  font-size: 83.4%;
}

th span.errMsg,
td span.errMsg {
  display: block;
  margin-left: 1em;
  padding-bottom: 1px;
  color: #f00;
  text-indent: -.9em;
  font-size: 83.4%;
}

.fixed {
  padding-bottom: 0;
}

.fadeOut {
  opacity: .2;
  filter: alpha(opacity=20);
}

.formTbl01 table td:after,
.flow:after,
td ul.contactList01:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  line-height: 0;
  content: ".";
}

.formTbl01 table td,
.flow,
td ul.contactList01 {
  *zoom: 1;
}

.textTel {
  padding: 0 8px 0 0;
  color: #E65886;
  font-size: 150%;
  font-weight: 500;
}

.pledge-list {
  margin: 0;
  padding: 0;
  list-style: decimal;
}

.header-title {
  margin: 0 0 30px;
  padding: 8px 17px 9px;
  color: #333;
  border-left: 4px solid #39A1CF;
  letter-spacing: .03em;
  font-size: 24px;
  font-weight: 500;
}

.accordion-toggle {
  display: block;
  margin-bottom: 10px;
  padding: 15px 20px;
  background-color: #00A3E0;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
}

.accordion-toggle-icon {
  display: inline-block;
  margin-right: 10px;
}

.accordion-toggle-icon:before {
  display: inline-block;
  margin-right: 10px;
  content: '▼';
}

.accordion {
  display: none;
  padding-top: 10px;
}

.accordion:target {
  display: block;
}

.radioItem {
  display: inline-block;
  margin-right: 10px;
}

.checkboxItem {
  display: inline-block;
  margin-right: 10px;
}

.lecture_time {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}

.lecture_time .lecture_time-item {
  flex: 0 0 calc(25% - 8px);
  min-width: 0;
  box-sizing: border-box;
  margin-bottom: 0;
}


/* ============================================================
   2. PC版スタイル(画面幅 769px 以上)
   ============================================================ */


@media screen and (min-width: 769px) {
  .modal-area {
    overflow: hidden;
    padding: 15px 0;
  }

  .modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    justify-content: center;
    align-items: center;
    width: 130px;
    height: 40px;
    background: #ed6363;
    border-radius: 3.5vw;
    cursor: pointer;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
  }

  .modal .btn-text {
    margin-right: 6%;
    color: #fff;
    font-size: 24px;
  }

  .modal .btn-image {
    width: 25px;
  }

  .detail {
    display: none;
  }

  .modaal-container {
    width: 600px !important;
  }

  .modaal-container .modaal-content-container {
    padding: 0;
  }

  .modaal-container .modaal-content-container .detail-plan .title-plan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    padding: 2% 0;
    background: #0550a1;
    color: #fff;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    font-size: 36px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-plan .title-plan .title-plan-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 30%;
    left: 5%;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    padding-bottom: 0.5%;
    background: #fff;
    color: #0550a1;
    border-radius: 20px;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    font-size: 24px;
  }

  .modaal-container .modaal-content-container .detail-plan {
    padding: 1% 4% 5%;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-price {
    border-bottom: 1px solid #0550a1;
    text-align: center;
    font-size: 38px;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-price .large {
    font-size: 45px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-price .small {
    font-size: 26px;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4% auto 3%;
    color: #0550a1;
    line-height: 1.6;
    font-size: 32px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-text>p {
    margin: 0;
    padding: 0;
    font-size: 32px;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-text .small {
    font-size: 24px;
  }

  .modaal-container .modaal-content-container .detail-plan .detail-plan-box {
    margin-bottom: 4%;
    padding: 1% 0;
    background: #93c9ec;
    color: #fff;
    text-align: center;
    font-size: 26px;
    font-weight: 700;
  }

  .modaal-container .modaal-content-container .detail-plan p {
    padding: 0 3%;
    font-size: 16px;
  }

  .modaal-container .modaal-content-container .detail-box {
    padding: 5% 4% 5%;
  }

  .modaal-container .modaal-content-container .detail-box .detail-list li {
    margin-bottom: 10%;
  }

  .modaal-container .modaal-content-container .detail-box .detail-list li .detail-image {
    margin-top: 6%;
  }

  .modaal-container .modaal-content-container .detail-box .detail-list li:last-child {
    margin-bottom: 0;
  }

  .modaal-container .modaal-content-container .detail-box .title {
    margin-bottom: 2%;
    background: #0550a1;
    color: #fff;
    text-align: center;
    font-size: 34px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-box p {
    font-size: 16px;
  }

  .modaal-container .modaal-content-container .detail-box p.large {
    padding: 6% 3%;
    font-size: 16px;
  }

  .modaal-container .modaal-content-container .detail-box .detail-price {
    margin-bottom: 3%;
    border-bottom: 1px solid #0550a1;
    text-align: center;
    font-size: 35px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-box .detail-price .small {
    font-size: 32px;
  }

  .modaal-container .modaal-content-container .detail-box .detail-price .smaller {
    font-size: 26px;
    font-weight: 400;
  }

  .modaal-container .modaal-content-container .detail-box .blue {
    margin-top: 4%;
    color: #0550a1;
    font-size: 18px;
    font-weight: 500;
  }

  .modaal-container .modaal-content-container .detail-box .blue.center {
    margin-bottom: 4%;
    font-size: 18px;
  }

  .modaal-container .modaal-content-container .detail-box .blue.large {
    margin-top: 1%;
    padding: 0 3%;
  }

  .modaal-container .modaal-content-container .detail-box .note {
    margin-top: 3%;
    font-size: 13px;
  }

  .modaal-container .modaal-content-container .detail-box .note.fourth {
    margin-top: 3%;
    margin-bottom: 5%;
  }

  .modaal-container .modaal-content-container .detail-box .note.right {
    margin: 0 0 3%;
    text-align: right;
    font-size: 18px;
  }

  .modaal-container .modaal-content-container .detail-box.bike {
    padding: 7% 4% 0;
  }

  .modaal-container .modaal-content-container .detail-box.bike .detail-list li {
    margin-bottom: 0;
  }

  .modaal-container .modaal-content-container .detail-box .recommend {
    padding: 0 3%;
    color: #0550a1;
    line-height: 1.6;
    font-size: 30px;
    font-weight: 500;
  }
}


/* ============================================================
   3. スマホ版スタイル(画面幅 768px 以下)
   ============================================================ */


@media screen and (max-width: 768px) {
  #content {
    margin-top: 20px;
  }

  .form_breadcrumb {
    display: block;
    width: 100%;
    margin: 20px 0;
  }

  .form_breadcrumb li {
    display: list-item;
    margin-bottom: 5px;
    padding: 5px 0;
    list-style: decimal inside;
    font-size: 90%;
    font-weight: bold;
  }

  .form_breadcrumb li:before,
  .form_breadcrumb li:after {
    display: none;
  }

  #formTelTxt {
    float: none;
    width: 100%;
  }

  #formTel {
    float: none;
    width: 100%;
  }

  .ftrInqBnr {
    display: block;
    width: auto;
    max-width: inherit;
    margin: 10px 15px 0;
  }

  .ftrInqBnr > p {
    display: block;
    max-width: 400px;
    margin: 15px auto 0;
  }

  .ftrTel {
    display: block;
    width: auto;
    padding: 9px 28px 6px;
  }

  .formButtons .formButton {
    display: block;
    width: 100%;
    margin: 10px 0;
    font-size: 1.25em;
  }

  #returnBtn,
  #submitBtn,
  #sendingBtn {
    width: 100%;
  }

  #form {
    width: 100%;
  }

  .formTbl01 {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
  }

  .formTbl01.wide {
    width: 100%;
    margin-bottom: 15px;
  }

  .formTbl01 table th {
    width: auto;
  }

  .formTbl01 table th,
  .formTbl01 table td {
    display: block;
  }

  .formTbl01 table td li {
    float: none;
  }

  .formTbl01 table td.name li:first-child {
    margin-bottom: 10px;
  }

  .address table th {
    width: 100%;
    vertical-align: inherit;
  }

  .formTbl01 .note01 {
    margin-left: 0;
    font-size: 89.4%;
  }

  input[type="text"].medium02,
  select.medium02 {
    width: 100%;
  }

  input[type="text"].medium03,
  select.medium03 {
    width: 100%;
  }

  input[type="text"].medium04,
  select.medium04 {
    width: 100%;
  }

  .modal-area {
    overflow: hidden;
    padding: 15px 0;
  }

  .modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    justify-content: center;
    align-items: center;
    width: 25%;
    height: 7vw;
    background: #ed6363;
    border-radius: 3.5vw;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
  }

  .modal .btn-text {
    margin-right: 6%;
    color: #fff;
    font-size: 3.8vw;
  }

  .modal .btn-image {
    width: 18%;
  }

  .modal .btn-image>img {
    vertical-align: middle;
  }

  .detail {
    display: none;
  }

  .modaal-content-container {
    padding: 0;
  }

  .modaal-content-container .detail-plan .title-plan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    padding: 3% 0;
    background: #0550a1;
    color: #fff;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    font-size: 5.4vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-plan .title-plan .title-plan-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 30%;
    left: 8%;
    justify-content: center;
    align-items: center;
    width: 6vw;
    height: 6vw;
    padding-bottom: 0.5%;
    background: #fff;
    color: #0550a1;
    border-radius: 3vw;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    font-size: 4.2vw;
  }

  .modaal-content-container .detail-plan .detail-price {
    border-bottom: 1px solid #0550a1;
    text-align: center;
    font-size: 5.4vw;
  }

  .modaal-content-container .detail-plan .detail-price .large {
    font-size: 6.4vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-plan .detail-price .small {
    font-size: 3.8vw;
  }

  .modaal-content-container .detail-plan .detail-text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5% auto 3%;
    color: #0550a1;
    line-height: 1.6;
    font-size: 4.8vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-plan .detail-text>p {
    margin: 0;
    font-size: 4.4vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-plan .detail-text .small {
    font-size: 3.8vw;
  }

  .modaal-content-container .detail-plan .detail-plan-box {
    margin-bottom: 4%;
    padding: 1% 0;
    background: #93c9ec;
    color: #fff;
    text-align: center;
    font-size: 4vw;
    font-weight: 700;
  }

  .modaal-content-container .detail-plan p {
    padding: 0 3%;
    font-size: 3.4vw;
  }

  .modaal-content-container .detail-box .detail-list li {
    margin-bottom: 10%;
  }

  .modaal-content-container .detail-box .detail-list li .detail-image {
    margin-top: 6%;
  }

  .modaal-content-container .detail-box .detail-list li:last-child {
    margin-bottom: 0;
  }

  .modaal-content-container .detail-box .title {
    margin-bottom: 3%;
    background: #0550a1;
    color: #fff;
    text-align: center;
    font-size: 5.4vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-box p {
    font-size: 3.4vw;
  }

  .modaal-content-container .detail-box p.large {
    padding: 6% 3%;
    font-size: 3.0vw;
  }

  .modaal-content-container .detail-box .detail-price {
    margin-bottom: 5%;
    border-bottom: 1px solid #0550a1;
    text-align: center;
    font-size: 4.8vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-box .detail-price .small {
    font-size: 4.8vw;
  }

  .modaal-content-container .detail-box .detail-price .smaller {
    font-size: 3.8vw;
    font-weight: 400;
  }

  .modaal-content-container .detail-box .blue {
    margin-top: 2%;
    color: #0550a1;
    font-size: 3.8vw;
    font-weight: 500;
  }

  .modaal-content-container .detail-box .blue.center {
    margin-bottom: 4%;
    font-size: 4.0vw;
  }

  .modaal-content-container .detail-box .blue.large {
    width: 100%;
    margin: auto;
    margin-top: 2%;
  }

  .modaal-content-container .detail-box .blue.first {
    width: 100%;
  }

  .modaal-content-container .detail-box .note {
    margin-top: 4%;
    font-size: 3vw;
  }

  .modaal-content-container .detail-box .note.fourth {
    margin-top: 6%;
    margin-bottom: 5%;
  }

  .modaal-content-container .detail-box .note.right {
    margin: -8% 0 8%;
    text-align: right;
    font-size: 3.8vw;
  }

  .modaal-content-container .detail-box.bike {
    padding: 7% 4% 0;
  }

  .modaal-content-container .detail-box.bike .detail-list li {
    margin-bottom: 0;
  }

  .modaal-content-container .detail-box .recommend {
    color: #0550a1;
    line-height: 1.6;
    font-size: 5.4vw;
    font-weight: 500;
  }

  .lecture_time .lecture_time-item {
    flex: 0 0 calc(25% - 8px);
  }
}


/* ============================================================
   4. その他のメディアクエリ
   ============================================================ */


@media screen and (max-width: 640px) {
  span.radioSelect label {
    font-size: 0.8rem;
  }
}

@media (max-width: 900px) {
  .lecture_time .lecture_time-item {
    flex: 0 0 calc(33.333% - 8px);
  }
}

@media screen and (max-width: 500px) {
  .lecture_time .lecture_time-item {
    flex: 0 0 calc(33.333% - 8px);
  }
}

@media screen and (max-width: 400px) {
  .lecture_time .lecture_time-item {
    flex: 0 0 calc(50% - 8px);
  }
}
