@charset "UTF-8";

/*----------------------------------------
	お問合せ
----------------------------------------*/

/*----------------------------------------
	contactTable
----------------------------------------*/

.contactTable {
  width: 100%;
 /* border-bottom: 1px dashed #ccc;*/
}
.contactTable tr {
  height: 100px; 
/*  border-top: 1px dashed #ccc;*/
}
.contactTable th {
  width: 32.4%;
  padding: 20px 40px 20px 0;
  vertical-align: middle;
  letter-spacing: 0.1em;
}
.contactTable td {
  padding: 10px 0;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contactTable,
  .contactTable tbody,
  .contactTable tr,
  .contactTable th,
  .contactTable td {
    display: block;
  }
  .contactTable tr {
    height: auto;
  }
  .contactTable th {
    width: 100%;
    padding: 20px 0 0 0;
  }
  .contactTable td {
    padding: 10px 0 20px 0;
  }
}

/*----------------------------------------
	Form Parts
----------------------------------------*/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
  -webkit-appearance: none;
  appearance: none; 
  width: 100%;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
  font-family: inherit;

  color: #333;
}
select:has(option[value=""]:checked) { color: #dbdce0; }
select option { color: #333; }
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="url"]::placeholder,
input[type="search"]::placeholder,
textarea::placeholder,
select ::placeholder{
  color: #dbdce0;
}
input[type="number"],
input[type="password"] {
  width: 100%;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
}
/*フォーカス時*/

/*
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus,
input[type="number"],
input[type="password"] {
  outline: none;
  box-shadow: 0 0 5px rgba(55,149,47,0.7);
}
*/

/*エラー時*/
.is-error input[type="text"],
.is-error input[type="email"],
.is-error input[type="tel"],
.is-error input[type="url"],
.is-error input[type="number"],
.is-error input[type="password"],
.is-error textarea,
.is-error select,
.is-error .selectWrap{
  color: #DF5656;
  border-color: #DF5656;
}

/*select
--------------------------*/
.selectWrap{
  position: relative;
}
.selectWrap::after{
  position: absolute;
  right: 20px;
  /*top: 0;*/
    top: 50%;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid;
  border-bottom: 2px solid;
/*  transform: rotate(45deg);*/
  transform: translateY(-50%) rotate(45deg);
}
select::-ms-expand { 
　display: none;
}

/*radio, checkbox
------------------------------------*/
input[type="radio"],
input[type="checkbox"] {
  opacity: 0;
  position: absolute; 
}
/*クリック範囲*/
input[type="radio"]+span,
input[type="checkbox"]+span {
  display: inline-block;
  position: relative;
  margin: 0 2em 0 0;
  padding: 0.3em 0.3em 0.3em 2em;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}
/*フォーカス時*/
input[type="radio"]:focus+span,
input[type="checkbox"]:focus+span {
  outline: none;
  box-shadow: 0 0 5px#9199a4;
}

/*ラジオボタンスタイル*/
input[type="radio"]+span:before {
  /*content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1.375em;
  height: 1.375em;
	border: 1px solid #ccc;
  border-radius: 50%;
  line-height: 1;
  background: #fff;*/

  
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 22px;
  height: 22px;
 /* width: 1.4em;
  height: 1.4em;*/
  border: 1px solid #ccc;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);



}
/*ラジオボタンチェック印（未選択）*/
input[type="radio"]+span:after {
  content: "";
  display: none;
}
/*ラジオボタンチェック印（選択）*/
input[type="radio"]:checked+span:after {
  
/*  content: "";
  position: absolute;
  top: 50%;
  left: 0.35em;
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  background: #808893;
  transform: translateY(-50%);*/

  display: block;
  position: absolute;
  top: 50%;
    transform: translateY(-50%);
  left: 3px;
  width: 16px;
  height: 16px;
/*  width: 1em;
  height: 1em;*/
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: #57697D;
  line-height: 1;
  
}
/*チェックボックススタイル*/
input[type="checkbox"]+span:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #ccc;
  background: #fff;
  line-height: 1;
  vertical-align: middle;
}
/*チェックボックス未チェック時*/
input[type="checkbox"]+span:after {
  content: "";
  display: none;
}
/*チェックボックスチェック時*/
input[type="checkbox"]:checked+span:after {
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0.4em;
  width: 0.5em;
  height: 1em;
  content: "";
  border-bottom: 3px solid #57697D;
  border-right: 3px solid #57697D;
  transform: rotate(45deg);
}

/*----------------------------------------
	Form Layout
----------------------------------------*/
/*ラベル*/
.inputLabel {
  font-weight: 500;
  font-size: 18px;
}
@media screen and (min-width:768px),print {
  .inputLabel {
   /* display: flex;
    justify-content: space-between;
    align-items: center;*/
  }
}
/*サブラベル*/
.inputSubLabel {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
}

/*必須ラベル*/
.require {
  display: inline-block;
  margin-left: 10px;
  padding: 0 10px;
  background: #37952F;
  color: #fff;
  font-weight: normal;
  font-size: 12px;
  vertical-align: middle;
}

/*注意書き*/
.inputNote {
  margin-top: 0px;
  color: #707070;
  font-size: 14px;
}

/*名前・フリガナ*/
.nameLayout >* + *{
  margin-top: 10px;
}
@media screen and (min-width:768px),print {
  .nameLayout {
    display: flex;
    justify-content: space-between;
  }
  .nameLayout > * {
    width: 48.68%;
  }
  .nameLayout > * + * {
    margin-top: 0;
  }
}

/*法人・個人*/
.radioList_hr {
  display: flex;
  flex-wrap: wrap;
}

/*エラーメッセージ*/
.errorText {
  display: none;
  align-items: center;
  margin-top: 10px;
  color: #df5656;
  font-weight: bold;
  font-size: 14px;
}
.inputField.is-error .errorText {
  display: block;
}
.errorText::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 0.4em;
  background: url(../../img/error.png) center center / contain no-repeat;
  /*vertical-align: middle;*/
  vertical-align: sub;
}


/*----------------------------------------
privacyArea
----------------------------------------*/
.privacyArea {
  margin: 50px 0;
 /* border: 1px solid #ccc;*/
 letter-spacing: 0.2em;
 line-height: 1.8;
}
.privacyArea__check {
  margin-top: 20px;
  text-align: center;
}
@media screen and (min-width:768px),print {
  .privacyArea {
    margin: 70px 0 80px;
    text-align: center;
  }
  .privacyArea__check {
 
  }
}

/*----------------------------------------
	送信ボタン
----------------------------------------*/
.formBtns {
  display: flex;
  justify-content: center;
}
.buttonAction_confirmation,
.buttonAction_close {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 0;
  padding: 15px 10px;
  width: 100%;
  max-width: 216px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.2em;
  transition: opacity 0.3s, color 0.3s;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid;
}
.buttonAction_confirmation:hover,
.buttonAction_close:hover {
  opacity: 0.7;
}

.buttonAction_close{ background-color: #fff; color: #333;}
.buttonAction_confirmation{ background-color: #333; color: #fff;}


/*
Copilot
========================*/
.header {
  display: flex;
  justify-content: space-between;
  padding: 20px;
  background: #fff;
  font-size: 14px;
}

.contact-header {
  text-align: center;
  padding: 60px 20px;
  background: #f0f1f3;
}

.contact-header .en {
  letter-spacing: 2px;
  color: #777;
}

.contact-header h1 {
  font-size: 28px;
  margin: 10px 0;
}

span.red{
  color: #d33;
}
.postal-search{
      white-space: nowrap;
    padding: 11px 20px;
    border: none;
    background: linear-gradient(90deg, #0f1e2e, #1c2f45);
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
    width: 100%;
}

.adressLayout .inputField{width: 60%;}
.adressLayout .searchField{width: 35%;}
.adressLayout{ align-items: flex-start; }
.adressLayout .inputSubLabel{ display: none; }
.adressLayout .postal-search{
  -webkit-appearance: none;
  appearance: none; 
  padding: 10px 20px;
}
.selectWrap select,
.adressLayout01 input{margin-top: 20px; }

.hr_01{
  margin: 30px 0 60px;
}

.hr_02{
  margin: 60px 0 0px;
}

.privacyArea .radioList_hr{justify-content: center;}

.formBtns{gap: 20px;}



.header_wrapper{
    border-bottom: 1px solid #ccc;
    display: block;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.header_inner{
  max-width: 1330px;
    display: block;
    margin: 0 auto;
    padding: 0 20px;
}


.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 15px;
}

.logo {
    width: 50px;
    height: 40px;
}

.company-name {
    font-size: 14px;
    font-weight: bold;
}

/* メイン */
.main {
    text-align: center;
    padding: 75px 20px;
    background-color: #f7f7f7;
}

.contact-small {
    letter-spacing: 2px;
    font-size: 16px;
    margin-bottom: 5px;
}

.title {
    font-size: 36px;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
}

.description {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.required {
    color: red;
}

/* 注意バー */
.notice_wrapper {   background-color: #4a5568;}
.notice_inner {   
  max-width: 1200px;
  margin: 0 auto;
      padding: 10px 25px;
}
.notice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.2em;
}

.notice .left {
    display: flex;
    align-items: center;
}

.notice .icon {
    margin-right: 10px;
}

.notice .close {
    font-size: 20px;
    cursor: pointer;
}

.contactTable th.text-top{ vertical-align: top; }
.contactTable02 th.text-top{ padding-top: 30px; }

input::placeholder{color: #dbdce0;}

.selectWrap select.adjust_mt{ /*margin-top: 0px;*/ }

.contactTable02 .selectWrap select{/* margin-top: 0px;*/ }
.contactTable02 .selectWrap select option:disabled{
  color: #dbdce0;
 }

.contactTable02.contactTable  tr.last-tr{ height: 70px; }

/*.radioList_hr li{ width: 20%;}*/

.privacyArea .inputField{ margin-top: 15px;}
.privacyArea a{ text-decoration: underline; }
.privacyArea .inputField + p{ margin-top: 65px;}
.note_txt{ font-size: 12px; margin-top: 40px; margin-bottom: 110px;}
.sp_only{ display: none;}

@media screen and (max-width: 767px) {
.logo{ width:40px; height: 30px; }
.contact-small {  font-size: 14px; }

.title {
    font-size: 28px;
    margin-bottom: 30px;
}
.description {  font-size: 15px; }
.main{ padding: 40px 20px; }
.notice_inner{padding: 5px 20px;}
.notice{font-size: 12px;  }
.notice .close{font-size: 12px;}
.mainContents{margin-top: 25px;}

.inputLabel{font-size: 18px;}
.nameLayout > * { width: 48.68%; }
.nameLayout{
 display: flex;
 justify-content: space-between;
}
.nameLayout >* + * {  margin-top: 0px; }
input[type="radio"]+span, input[type="checkbox"]+span{
  margin: 0 0.5em 0 0;
}
.contactTable td{ font-size: 14px;}
.privacyArea{font-size: 12px;}
.note_txt{ font-size: 10px; margin-top: 40px; margin-bottom: 40px;}
.buttonAction_confirmation, .buttonAction_close{ font-size: 12px; padding: 8px 10px; font-weight: normal; }
.sp_only{ display: block;}
.privacyArea .inputField + p{margin-top: 35px;}
.privacyArea{margin: 30px 0;}

/*ラジオボタンスタイル*/
input[type="radio"]+span:before {
  width: 19px;
  height: 19px;
}
/*ラジオボタンチェック印（選択）*/
input[type="radio"]:checked+span:after {
  left: 3px;
  width: 13px;
  height: 13px;
  
}

.selectbox_negative_m{ margin-bottom: -20px; }

.hr_01{ margin: 30px 0 30px; }


}/* max-width 767px */

/*
確認画面
===================*/
.confirm .contactTable tr{  height: auto; }
.confirm .contactTable{ table-layout: fixed; }
.confirm .contactTable th{ white-space: nowrap; }
.confirm .contactTable td{
  word-break: break-all;
  overflow-wrap: break-word;
}
.confirm .hr_02{ margin-bottom: 40px; }
.confirm .section{ margin-bottom: 80px; }
.mainContents.confirm{ margin: 0; }
.main.div_confirm{ padding-bottom: 0px; }

@media screen and (max-width: 767px) {
.confirm .contactTable td{ padding: 10px 0 0px 0; }
.confirm .hr_02{  margin: 40px 0 40px; }
.confirm .hr_01{  margin: 40px 0 20px; }
.confirm .section{ margin-bottom: 50px; }

}/* max-width 767px */

/*
完了画面
===================*/

.buttonAction_close_finish {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 80px auto 0;
  padding: 15px 10px;
  width: 100%;
  max-width: 380px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.2em;
  transition: opacity 0.3s, color 0.3s;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid;
}
.buttonAction_close_finish:hover {
  opacity: 0.7;
}

.buttonAction_close_finish{ background-color: #333; color: #fff;}
