@charset "utf-8";
/*===============================================
 *	下層タイトル
===============================================*/
#second-visualcontents h1 span::before {width: 70%;}
@media only screen and (max-width: 568px) {
#second-visualcontents h1 span::before {width: 86%;}
}
/*===============================================
 *	見出し
===============================================*/
.basic-hdttl {font-size: 28px;text-align: center;margin: 0 0 1em 0;padding: .6em 1em;}
@media only screen and (max-width: 768px) {
.basic-hdttl {font-size: 26px;}
}
@media only screen and (max-width: 568px) {
.basic-hdttl {font-size: 20px;}
}
/*===============================================
 *	CV
===============================================*/
.cv-underlayer-wrap {padding: 3vw 0;margin-bottom: 2vw;}
@media only screen and (max-width: 1024px) {
img.cv-human {max-width: 297px;}
}
@media only screen and (max-width: 768px) {
.cv-underlayer_box {margin: 0;padding: 0 0 20px;}
img.cv-human {max-width: 207px;}
img.icon-cv_free {max-width: 85px;}
}
@media only screen and (max-width: 568px) {
.cv-underlayer-wrap {margin-bottom: 4vw;}
.cv-underlayer_subhdttl {font-size: 16px;}
img.cv-human {max-width: 140px;}
img.icon-cv_free {max-width: 65px;}
}
/*===============================================
 *	Inquiry
===============================================*/
.inquiry-wrap{margin-bottom: 6vw;}
/*===============================================
 *	Checkbox
===============================================*/
/*.chk-listbox{display: flex;justify-content: space-between;flex-wrap: wrap;}
.chk-listbox li{width: calc(90%/3);}
li:nth-child(-n + 3) {margin-bottom: .5em;}
.chk-listbox label input {display: none;}
.chk-listbox label span {display: block;font-size: 15px;border: #333 1px solid;border-radius: 20px;text-align: center;padding: 5px 0;cursor: pointer;}
.chk-listbox label span:hover {background: #e9f3f4;}
.chk-listbox label input:checked + span {color: #fff;background: #17a5d3;border: #0f9ecc 1px solid;}
*/
label.checklabel03 {margin-bottom: 1%;width: 44%;}
label.checklabel04 {margin-bottom: 1%;width: 20%;}
label.base_label {display: inline-block;color: #333;height: 35px;line-height: 35px;background: #e9f3f4;border: #17a5d3 1px solid;padding: 0 2%;cursor: pointer;}
#contact_form input, #contact_form select, #contact_form textarea {padding: 5px;font-size: 16px;}
#contact_form select {margin-bottom: 5px;width: 150px;padding: 7px 5px;}
@media only screen and (max-width: 768px) {
#contact_form input, #contact_form select, #contact_form textarea {font-size: 16px;}
}
@media only screen and (max-width: 568px) {
#contact_form select[name='pref'] {margin: 0 0 5px 0;width: 150px;}
}
/*===============================================
 *	Submit
===============================================*/
#contact_form .btn_wrap {
  margin: 0 auto;max-width: 410px;width: 100%;
}
#contact_form .btn_submit {
  font-size: 24px;
  width: 100%;
  display: block;
  background: url(../img/arrow-link.png) 95% center no-repeat #17a5d3;
  background-size: 20px;
  color: #fff;
  padding: 0.5em 1em;
  border-bottom: solid 4px #002655;
  border-radius: 6px;
  cursor: pointer;
}
#contact_form .btn_submit[disabled] {
  background-color: #ccc;
  border-bottom: solid 4px #9e9e9e;
  cursor: not-allowed;
}
@media only screen and (max-width: 568px) {
  #contact_form .btn_wrap {margin: 0 auto 40px;}
  #contact_form .btn_submit {background-size: 15px;font-size: 16px;padding: 0.7em 1em;}
}
/*===============================================
 *	任意、必須
===============================================*/
.must,.any {color: #fff;width: 44px;font-size: 12px;padding: 4px 0 3px;border-radius: 2px;display: inline-block;float: right;position: absolute;text-align: center;top: 50%;right: 3%;transform: translateY(-50%);}
.must {background: #fa8d00;}
.any {background: #a7a7a7;}
/*===============================================
 *	form見出し
===============================================*/
.form-ttl {background: #17a5d3;font-size: 18px;line-height: 1;color: #fff;text-align: center;padding: 16px 0 15px;}
/*===============================================
 *	テーブル
===============================================*/
.basic-tbl,.basic-tbl > dt,.basic-tbl > dd {box-sizing: border-box;}
.basic-tbl > dt,.basic-tbl > dd {padding: 1em;margin: 0px;}
.basic-tbl > dt em{
  font-size:13px;
  display: block;
  color: #218295;
}
.basic-tbl > dt {background-color: #e9f3f4;font-weight: bold;position: relative;}
.basic-tbl > dd {background-color: #fff;}
.basic-tbl > dd textarea {height: 130px;padding: 6px 8px;line-height: 1.4;width: 96%;}
@media screen and (max-width: 767px) {
.basic-tbl {border-top: #17a5d3 1px solid;}
.basic-tbl > dd {border: #17a5d3 1px solid;border-top: none;}
.basic-tbl > dt {border-right: #17a5d3 1px solid;border-bottom: #17a5d3 1px solid;border-left: #17a5d3 1px solid;}
.basic-tbl > dd > ul {text-align: left;}
}
@media print, (min-width: 768px) {
.basic-tbl {display: flex;flex-wrap: wrap;border-bottom: #17a5d3 1px solid;}
.basic-tbl > dt,.basic-tbl > dd {border-top: #17a5d3 1px solid;}
.basic-tbl > dt {width: 30%;border-left: #17a5d3 1px solid;}
.basic-tbl > dd {width: 70%;border-right: #17a5d3 1px solid;border-left: #17a5d3 1px solid;}
}

/*-----------------------------------------------
 *	text style
-----------------------------------------------*/
.time-choice {margin-bottom: 15px;max-width: 500px;justify-content: space-between;align-items: center;}
.row {display: flex;flex-direction: row;}
.date-select {width: 250px;}
.time-choice input, .time-choice select {width: 100%;}
.basic-tbl input[type='text'], table td select {height: 32px;font-size: 16px;}
.basic-tbl input[type='text'], table td input[type='tel'], table td input[type='email'], table td textarea {appearance: none;box-sizing: border-box;border: 1px solid #bbb;border-radius: 2px;font-size: 13px;padding: 0 10px;}
.basic-tbl .input {max-width: 500px;width: 100%;}
#zip {max-width: 200px;}
.pref-address {display: block;margin: 10px 0 5px 0;}
.pref-address select[name='pref'] {width: 150px;font-size: 16px;padding: 0 10px;height: 32px;font-weight: bold;}

.addr-box {display: flex;justify-content: flex-start;}
.addr-box input[name='city'] {width: 50%;margin-right: 10px;height: 32px;font-size: 16px;pointer-events: none;background: #C6C6C6;color: #888;font-weight: bold;}
.addr-box input[name='addr'] {width: 40%;height: 32px;font-size: 16px;}
@media only screen and (max-width: 1024px) {
.basic-tbl .input {max-width: 470px;}
}
@media only screen and (max-width: 768px) {
.basic-tbl .input {max-width: 330px;}
#zip{max-width: 160px;}
}
@media only screen and (max-width: 568px) {
.time-choice {flex-direction: column;align-items: flex-start;width: 100%;}
.date-select {margin-bottom: 10px;}
.date-select,.time-select {width: 100%;}
.pref-address {margin-top: 8px;}
#addr {margin-top: 4px;}
.basic-tbl input[type='text'], table td select {height: auto;}
.pref-address select[name='pref'] {height: auto;}

.addr-box {display: block;}
.addr-box input:first-of-type {width: 100%;}
.addr-box input[name='city'] {height: auto;width: 100%;}
.addr-box input[name='addr'] {height: auto;width: 100%;margin-top: 10px;}
}
/*===============================================
 *	送信完了
===============================================*/
.bg-sentbox {background: #e9f3f4;border-top: #17a5d3 6px solid;border-right: #17a5d3 1px solid;border-bottom: #17a5d3 1px solid;border-left: #17a5d3 1px solid;padding: 2.5%;margin-bottom: 2vw;}
/*===============================================
 *	[ハイフンなしで入力！]を非表示
===============================================*/
#autozip {
  display: none !important;
}
/*===============================================
 *	メールマガジン チェックボックス
===============================================*/
.basic-tbl .magazine p {
  text-align: center;
}
.basic-tbl .magazine input[type=checkbox] {
  width: 22px;
  height: 22px;
  margin-right: 12px;
}
.basic-tbl .magazine label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 10px;
  /* background: #f5f5f5; */
  border: 1px solid #bbb;
  padding: 15px 0;
}
@media only screen and (max-width: 568px) {
  .basic-tbl .magazine p {
    text-align: left;
  }
  .basic-tbl .magazine input[type=checkbox] {
    width: 20px;
    height: 20px;
    margin-right: 10px;
  }
}
/*===============================================
 *	プライバシーポリシーのスクロールボックス
===============================================*/
.policy_top {
  margin: 50px 0 20px;
}
.policy_top input[type=checkbox] {
  width: 22px;
  height: 22px;
  margin-top: 3px;
  margin-right: 12px;
}
.policy_top label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.policy_box {
  height: 185px;
  background: #fff;
  border: 1px solid #ccc;
  overflow-y: scroll;
  padding: 25px 30px;
  margin: 0 auto;
}
.policy_box ul {
  margin-top: 20px;
}
.policy_box li {
  margin-bottom: 20px;
}
.policy_box h3 {
  margin-bottom: 10px;
}
.policy_box p {
  font-size: 15px;
}
.policy_box a {
  word-break: break-word;
}
@media only screen and (max-width: 960px) {
  .policy_box p {
    font-size: 13px;
  }
}
@media only screen and (max-width: 568px) {
  .policy_top {
    margin: 30px 0 20px;
  }
  .policy_top input[type=checkbox] {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    margin-right: 10px;
  }
  .policy_box {
    margin: 0 5.3vw;
    padding: 15px 20px;
  }
  .policy_box h3 {
    margin-bottom: 5px;
  }
}
/***********************************
* 2025.02.05 add
************************************/
.form_txt {margin: 30px 0 10px;color: #999;font-size: 14px;text-align: center;}
.form_txt a {color: #999;border-bottom: #999 1px solid;padding-bottom: 3px;}
.pref-address select {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
.pref-address select::-ms-expand {display: none;}
@media only screen and (max-width: 568px) {
.form_txt {margin: 15px 0 10px;}
}

/***********************************
* 2025.06.24 add
************************************/
.caution-address{
  border: #f5cf9f solid 2px;
  border-radius: 100px;
  background: #fdfaf5;
  padding: .25em 0;
  margin-top: 10px;
  width: 100%;
  text-align: center;
  font-size: 14px;
}

























