@charset "UTF-8";
main{
  margin-top: 5px;
}

.entry-content {
  font-family: initial;
  letter-spacing: normal;
}

.errmsg {
  color: #ff0000;
  font-size: 14px;
  font-weight: bold;
  line-height: 120%;
  padding: 1px 0 8px 0;
}

/* 画面タイトルレイアウト */
.entry-title {
  font-size: 32px;
  font-weight: bold;
  position: relative;
  text-align: center;
}

.entry-title h1 {
    padding: 32px 0px;
}


.entry-title:after {
  -webkit-transform: translateX(-50%);
  background-color: #C4B685;
  content: "";
  display: inline-block;
  height: 4px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 60px;
}


.title-line{
  margin:0 auto;
  margin-bottom: 40px;
  border: 2px solid #BDB76B;
  width: 7%;
  text-align: center;
}

.post-inner {
  padding-top: 0;
  margin-top: 25px;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

li {
  margin-left: 0;
}

/* お知らせ
----------------------------------------------- */
.modal-content .inner{
  overflow-y: auto;
  max-height: 755px;
}
.info-date {
  width: 150px;
  display: flex;
}
.info-title {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .modal-content {
      max-height: 100%;
      text-align: center;
  }
  .modal-content .inner{
      max-height: 100%;
  }
  .info-date {
      max-width: 25%;
      width: 25%;
      display: flex;
  }
  .info-title {
      max-width: 75%;
      width: 75%;
      margin-left: 20px;
  }
}

/* "お問い合わせ種別"セレクトボックスレイアウト */
select {
  padding: 10px;
  position: relative;
  width: 100%;
  cursor: pointer;
}

.select-wrap {
  max-width: 384px;
  position: relative;
  width: 100%;
  font-size: 14px;
}

#input_mail_errmsg,
#last_name_errmsg, 
#first_name_errmsg,
#last_name_kana_errmsg, 
#first_name_kana_errmsg,
#phone_errmsg
{
  font-size: 14px;
  font-weight: bold;
}

/* スマートフォン"お問い合わせ種別"セレクトボックスレイアウト */
@media screen and (max-width: 740px) {
  .select-wrap {
    max-width: initial;
  }
}

@media screen and (max-width: 740px) {
  .entry-title {
    font-size: 25px;
    line-height: 3.6rem;
  }

  .entry-content {
    padding: 0 ;
    width: 100%;
  }
}

/* セクション指定 */
.l-section {
  margin: 0 auto;
  max-width: 960px;
}
@media screen and (max-width: 740px) {
  .l-section {
    padding: 20px;
  }
}

/* お問い合わせ注意レイアウト */

.form-entry-caution {
  background-color: #F8F8F8;
  font-size: 12px;
  margin-bottom: 40px;
  padding: 32px 28px;
}

.form-entry-caution p  li{
  line-height: 3px;
}

.form-entry-caution-title {
  font-weight: bold;
  line-height: 3px;
}

/* フォーム項目別タイトル設定 */
.form-entry-title label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
  cursor: default;
}

.form-not-required {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
}

.form-no-label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
}

/*フォーム項目タイトル必須ボタンレイアウト */
.form-entry-title label::after {
  border: 1px solid #D7584C;
  border-radius: 2px;
  color: #D7584C;
  content: "必須";
  display: inline;
  font-size: 12px;
  margin-left: 12px;
  padding: 4px 6px;
}

.form-not-required label::after {
  border: 1px solid #ffa500;
  border-radius: 2px;
  color: #ffa500;
  content: "任意";
  display: inline;
  font-size: 12px;
  margin-left: 12px;
  padding: 4px 6px;
}

/* 入力フォームレイアウト */
.form-entry-input input,
.form-entry-input textarea {
  font-size: 12px;
  border-radius: 2px;
  padding: 12px;
}

.form-entry-input input {
  font-size: 16px;
  height: 20px;
  margin-left: 0px;
}
/* 入力フォームサイズ設定 */
.input-sizeLL {
  max-width: 942px;
  width: 100%;
}
.Retype-Confirmation{
  font-size: 14px;
}

@media screen and (max-width: 740px) {
.input-sizeLL input {
    max-width: initial;
    text-align: left;
  }
}

.input-sizeL {
  max-width: 540px;
  width: 100%;
}

@media screen and (max-width: 740px) {
.input-sizeL {
    /* max-width: initial; */
    text-align: left;
  }
}

.input-sizeM {
  max-width: 270px;
  width: 100%;
}
@media screen and (max-width: 740px) {
.input-sizeM {
    max-width: initial;
  }
}

.form-entry-input textarea {
  font-size: 14px;
}
.form-entry-input-double {
margin: 0;
width: 20px;
cursor: default;
}


.form-entry-input-mail {
  font-size: 16px;
  height: 20px;
  margin-left: 0px;
}

.form-entry-row {
  align-items: center;
  display: flex;
}
@media screen and (max-width: 740px) {
  .form-entry-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;

  }
}

.form-entry-row input {
  margin-left: 16px;
  max-width: 232px;
  width: 100%;
}
@media screen and (max-width: 740px) {
  .form-entry-row input {
    max-width: initial;
  }
}

.form-entry-row label + input {
  margin-right: 24px;
}
@media screen and (max-width: 740px) {
  .form-entry-row label + input {
    margin-right: auto;
  }
}

.form-entry-double_wrap {
  align-items: center;
  display: flex;
}
@media screen and (max-width: 740px) {
  .form-entry-double_wrap {
    width: 100%;
    padding-left: 10px;
  }
}
/* 個人情報取り扱いタイトルレイアウト */
.form-entry-policy-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (max-width: 740px) {
  .form-entry-policy-title {
    margin-left: 0;
  }
}
/* 個人情報取り扱いレイアウト */
.form-entry-policy-detail {
  background-color: #F8F8F8;
  border: 1px solid #DEDEDE;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 80px;
  padding: 12px;
}
@media screen and (max-width: 740px) {
  .form-entry-policy-detail {
    font-size: 12px;
    width: 100%;
    margin-left: 0;
  }
}
/* チェックボックス、同意レイアウト */
.form-entry-next {
  background-color: #F8F8F8;
  padding: 48px 0;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 740px) {
  .form-entry-next {
    padding: 12px;
    margin:0 auto;
  }
}
/* チェックボックスレイアウト */
.form-entry-agree {
  margin-bottom: 32px;
}
@media screen and (max-width: 740px) {
  .form-entry-agree {
    margin-bottom: 16px;
  }
}

/* チェックボックスレイアウト */

input[type=checkbox]:checked::before {
  background: #9B0F0B;
  border-radius: 2px;
  height: 15px;
  width: 15px;
}

input[name=submitConfirm].form-button {
  background-color: #9B0F0B;
  color: #fff;
  display: block;
  font-size: 24px;
  margin: 0 auto;
  padding: 21px 0;
  text-decoration: none;
  width: 580px;
}
@media screen and (max-width: 740px) {
  input[name=submitConfirm].form-button {
    font-size: 18px;
    padding: 16px 0;
    width: 100%;
  }
}

.contact_form_input .c-btn_inner {
  margin: 0 auto;
  position: relative;
  width: 580px;
}
@media screen and (max-width: 740px) {
  .contact_form_input .c-btn_inner {
    width: 100%;
  }
}
.contact_form_input .c-btn_inner::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -webkit-transform: translateY(-50%) rotate(-225deg);
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  content: "";
  height: 12px;
  pointer-events: none;
  position: absolute;
  right: 16px;
  top: 36px;
  transform: translateY(-50%) rotate(-225deg);
  width: 12px;
}
@media screen and (max-width: 740px) {
  .contact_form_input .c-btn_inner::after {
    top: 27px;
  }
}

.form-button:disabled {
  background-color: #DEE2E6 !important;
  color: #fff !important;
}
#AuthKey {
  max-width: 220px;
  width: 100%;
  margin:auto;
  text-align: center;
}

/*-------------------------------------------------- ポップアップ --------------------------------------------------*/
/* ポップアップ */
alert-content {
  position: fixed;
  /* display: none; */
  z-index: 2147483647;
  margin: auto;
  padding: 1.5em;
  border-radius: 1.06em;
  background: #fff;
  text-align: center;
  /* max-width: 900px;
  height: 600px;
  overflow-y: auto; */
}
alert-footer {
  display: block;
  margin: 2em -1.5em -1.5em -1.5em;
}
alert-overlay{
  z-index: 2147483646;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*for old Safari*/
  height: 100vh;
  background-color: #00000080;
}
alert-message{
  margin: 1em 0;
  display: inline-block;
  text-align: center;
  max-width: 30em;
  max-height: 20em;
  overflow-y: auto;
  color: #000000;
  font-size: 95%;
}

alert-message img{
  width: auto;
  max-height: 70vh;
}

confirm-content img,
alert-content img,
loading-content img {
  width: 5em;
  margin: 1em auto;
}
button.alert-close {
  cursor: pointer;
  background-color: #3B4D55;
  color: #fff;
  font-size: 100%;
  border-radius: 0.5em;
  font-weight: 100;
  text-decoration: none !important;
}
.confirmatory-statement {
  font-size: 24px;
  font-weight: bold;
}
.not_received {
  text-align: left;
}
.not_received_title{
  font-size: 18px;
}
.not_received_element{
  font-size: 16px;
}

#tryauth {
  max-width:220px;
  width: 100%;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  background-color: #ff9429;
  border: solid 1px #ea8a2a;
  color: #fff;
}

#tryauth:hover {
  background-color: #ea8a2a;
}

@media (max-width: 1600px) and (max-height: 700px) {
  #mailalert{
      width: 70%;
      height: 95%; 
      overflow-y: auto;
      white-space: normal;
  }
}
@media (max-width: 767px) {
  #mailalert{
      text-align: left;
      width: 90%; /* スマートフォンの場合、画面幅の90%に設定 */
      height: 90%; /* スマートフォンの場合、画面高さの90%に設定 */
      max-width: none; /* 最大幅の解除 */
      max-height: none; /* 最大高さの解除 */
      overflow-y: auto;
      white-space: normal;
  }
  .confirmatory-statement{
      text-align: left;
      font-size: 24px;
  }
  /* .confirmatory-statement-element{
      text-align: center;
  } */
  alert-overlay {
      z-index: 2147483646;
      display: none;
      position: fixed; /* fixed から absolute に変更 */
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      /*for old Safari*/
      height: 100vh;
      background-color: #00000080;
  }


  button.confirm-no {
      font-size: 90%;
  }


  #mailalert.alert-close {
      position: fixed;
      bottom: 5%;
      width: 90%;
  }
  .X {
      position: fixed;
      top: 5%; 
      right: 1%;
      width: 90%;
  }
  .alert-X {
      position: fixed;
      top: 8%;
      right: 7%;
      width: 9%;
  }
  button.alert-close {
      border-radius: 0 0 1em 1em !important;
      padding: 1em;
  }
  alert-content img {
      width: 3.5em;
      margin: 0.2em auto;
  }
  .input_authkey_area{
      text-align: center;
  }
}
@media (max-width: 740px) {
    .form-entry-caution-contents p {
        display: inline;
    }
}
