@charset "UTF-8";
section.page-block {
  width: 92%;
  margin: 50rem auto 60rem;
}
section.page-block .hstyle-secondary {
  margin-bottom: 30rem;
}

ul.list-catalog {
  border-top: 1px solid var(--color-black);
}
ul.list-catalog li {
  border-bottom: 1px solid var(--color-black);
}
ul.list-catalog a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15rem 10rem;
  font-size: 12rem;
}
ul.list-catalog a .name {
  margin-right: 30rem;
}

.wrap-privacy .content {
  border-top: 1px solid var(--color-black);
  padding-top: 30rem;
  margin-top: 30rem;
  margin-bottom: 30rem;
  display: -ms-grid;
  display: grid;
  gap: 30rem;
}
.wrap-privacy h2 {
  margin-bottom: 10rem;
}
.wrap-privacy p.link-contact a {
  text-decoration: underline;
}

.wrapper-sitemap {
  border-top: 1px solid var(--color-black);
}
.wrapper-sitemap .box-sitemap {
  border-bottom: 1px solid var(--color-black);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 70rem 10rem 110rem 10rem 1fr;
  grid-template-columns: 70rem 110rem 1fr;
  gap: 10rem;
}
.wrapper-sitemap .box-sitemap a {
  display: block;
  padding: 10rem 15rem;
  font-size: 11rem;
  font-family: var(--font-en);
}
.wrapper-sitemap .box-sitemap .col-1 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
}
.wrapper-sitemap .box-sitemap .col-2 {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
.wrapper-sitemap .box-sitemap .col-3 {
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-column: 3/4;
}

.wpcf7-turnstile {
  text-align: center;
  margin-top: 30px;
}

.contact-flow {
  width: 85%;
  margin: 0 auto 30rem;
}

input,
textarea {
  width: 100%;
  padding: 10rem;
  border: 1px solid #b5b5b6;
  border-radius: 4px;
  font-size: 16px;
}

textarea {
  height: 200rem;
}

input::-webkit-input-placeholder {
  color: #c8c8c8;
}

input::-moz-placeholder {
  color: #c8c8c8;
}

input:-ms-input-placeholder {
  color: #c8c8c8;
}

input::-ms-input-placeholder {
  color: #c8c8c8;
}

input::placeholder {
  color: #c8c8c8;
}

textarea::-webkit-input-placeholder {
  color: #c8c8c8;
}

textarea::-moz-placeholder {
  color: #c8c8c8;
}

textarea:-ms-input-placeholder {
  color: #c8c8c8;
}

textarea::-ms-input-placeholder {
  color: #c8c8c8;
}

textarea::placeholder {
  color: #c8c8c8;
}

p.contact-first {
  margin-bottom: 30rem;
}

table.contact {
  width: 100%;
  background-color: #fff;
  border-top: 2px solid var(--color-black);
  border-bottom: 2px solid var(--color-black);
}
table.contact th {
  margin-bottom: 10rem;
  font-size: 16rem;
}
table.contact th,
table.contact td {
  display: block;
}
table.contact tr {
  display: block;
  padding: 25rem 15rem;
}
table.contact tr:not(:last-child) {
  border-bottom: 1px solid var(--color-black);
}
table.contact .td-inner {
  display: -ms-grid;
  display: grid;
  gap: 15rem;
}
table.contact .item {
  display: -ms-grid;
  display: grid;
  gap: 10rem;
}
table.contact p.notes {
  margin-top: 15rem;
}
table.contact .wrap-input p {
  margin-top: 5rem;
}

.radio-wrap span.wpcf7-radio {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.radio-wrap span.wpcf7-list-item {
  display: block;
}

.radio-wrap label {
  width: 100%;
}

.radio-wrap label input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  width: auto;
}

.radio-wrap label span {
  display: inline-block;
  position: relative;
  padding-left: 36px;
  line-height: 2.2;
  font-size: 15px;
}

.radio-wrap label span::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #c8c8c8;
  background: #fff;
  content: "";
  border-radius: 50%;
}

.radio-wrap label span::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-black);
  content: "";
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.radio-wrap label input:focus + span::before {
  -webkit-box-shadow: 0 0 4px var(--color-black);
          box-shadow: 0 0 4px var(--color-black);
}

.radio-wrap label input:checked + span::after {
  opacity: 1;
}

.wrap-sendBtn {
  position: relative;
  margin-top: 50rem;
  text-align: center;
}
.wrap-sendBtn .wpcf7-spinner {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0;
  -webkit-transform: translate(-50%, 130%);
          transform: translate(-50%, 130%);
}
.wrap-sendBtn .js-firststep {
  width: 80%;
  margin: 0 auto;
}
.wrap-sendBtn .js-secondstep {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4%;
}
.wrap-sendBtn .js-secondstep .js-return-btn {
  width: 48%;
}
.wrap-sendBtn .js-secondstep .js-submit-btn {
  width: 48%;
}
.wrap-sendBtn .js-return-btn {
  border: 2px solid var(--color-black);
  display: block;
  width: 100%;
  height: 50rem;
  position: relative;
  font-size: 16rem;
}
.wrap-sendBtn .js-return-btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 8rem;
  height: 8rem;
  border-right: 2px solid var(--color-black);
  border-bottom: 2px solid var(--color-black);
  position: absolute;
  top: 50%;
  left: 15rem;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}
.wrap-sendBtn .js-confirm-btn {
  font-size: 16rem;
  background-color: var(--color-black);
  color: #fff;
  display: block;
  width: 100%;
  height: 50rem;
  position: relative;
}
.wrap-sendBtn .js-confirm-btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 8rem;
  height: 8rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 15rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.wrap-sendBtn .js-submit-btn {
  font-size: 16rem;
  background: url("../images/send-arrow.png") no-repeat center right 15rem/contain, #000;
  background-size: 6rem;
  color: #fff;
  border: none;
  border-radius: 0;
}

.btn-top {
  text-align: center;
}

.btn-top-link {
  height: 50rem;
  width: 80%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16rem;
  background: url("../images/send-arrow.png") no-repeat center right 15rem/contain, #000;
  background-size: 6rem;
  color: #fff;
  border: none;
  border-radius: 0;
}

.wrap-sendBtn > * {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.wrap-sendBtn > [aria-hidden=true] {
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

/*
 * radioなど、readonlyが使えない要素
 */
.js-readonly {
  pointer-events: none;
}

.wpcf7-form.is-confirm .radio-wrap .wpcf7-list-item:has(input[type=radio]:not(:checked)) {
  display: none;
}
.wpcf7-form.is-confirm .confirm-hide {
  display: none;
}

/*
 * 確認画面
 */
.wpcf7-form.is-confirm input[readonly],
.wpcf7-form.is-confirm textarea[readonly] {
  border-color: transparent;
  background-color: transparent;
  outline: none;
  cursor: default;
}
.wpcf7-form.is-confirm textarea[readonly] {
  resize: none;
}
.wpcf7-form.is-confirm input[readonly]::-webkit-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm input[readonly]::-moz-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm input[readonly]:-ms-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm input[readonly]::-ms-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm input[readonly]::placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm textarea[readonly]::-webkit-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm textarea[readonly]::-moz-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm textarea[readonly]:-ms-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm textarea[readonly]::-ms-input-placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm textarea[readonly]::placeholder {
  color: transparent;
}
.wpcf7-form.is-confirm {
  /*
   * 未選択のラジオ項目を確認画面で隠したい場合
   */
}
.wpcf7-form.is-confirm input[type=radio].js-readonly:not(:checked) + .wpcf7-list-item-label {
  display: none;
}

/*
 * JavaScript側のエラー
 */
.js-invalid {
  border-color: #d63638 !important;
}

.wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  color: #d63638;
  font-size: 14px;
  line-height: 1.5;
}

/*
 * 送信中
 */
.js-submit-btn.is-sending {
  opacity: 0.6;
  pointer-events: none;
}

/*
 * スクリーンリーダー用
 */
.sr-only {
  position: absolute !important;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  white-space: nowrap;
}

/**********************************************************************

 * Media Query For PC

 ***********************************************************************/
@media print, screen and (min-width: 768px) {
  section.page-block {
    max-width: 1200px;
    margin: clamp(54.6133333333px, 5.33vw, 80px) auto clamp(81.92px, 8vw, 120px);
  }
  section.page-block .hstyle-secondary {
    margin-bottom: clamp(40.96px, 4vw, 60px);
  }
  ul.list-catalog {
    width: clamp(546.1333333333px, 53.33vw, 800px);
    margin: 0 auto;
  }
  ul.list-catalog a {
    padding: clamp(17.0666666667px, 1.67vw, 25px) clamp(13.6533333333px, 1.33vw, 20px) clamp(17.0666666667px, 1.67vw, 25px) clamp(27.3066666667px, 2.67vw, 40px);
    font-size: clamp(10.9226666667px, 1.07vw, 16px);
  }
  ul.list-catalog a:hover {
    opacity: 0.6;
  }
  ul.list-catalog a .name {
    margin-right: clamp(20.48px, 2vw, 30px);
    letter-spacing: 0.05em;
  }
  ul.list-catalog a .download {
    letter-spacing: 0.08em;
  }
  .wrap-privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .wrap-privacy h1 {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .wrap-privacy .box-privacy {
    width: clamp(471.04px, 46vw, 690px);
  }
  .wrap-privacy .content {
    padding-top: clamp(30.72px, 3vw, 45px);
    margin-top: clamp(30.72px, 3vw, 45px);
    margin-bottom: clamp(30.72px, 3vw, 45px);
    display: -ms-grid;
    display: grid;
    gap: clamp(30.72px, 3vw, 45px);
  }
  .wrap-privacy h2 {
    margin-bottom: clamp(6.8266666667px, 0.67vw, 10px);
  }
  .wrap-privacy p.link-contact a:hover {
    text-decoration: none;
  }
  .wrapper-sitemap {
    width: max(314.0266666667px, 30.67vw);
    margin: 0 auto;
  }
  .wrapper-sitemap .box-sitemap {
    -ms-grid-columns: max(61.44px, 6vw) max(6.8266666667px, 0.67vw) 1fr max(6.8266666667px, 0.67vw) 1fr;
    grid-template-columns: max(61.44px, 6vw) 1fr 1fr;
    gap: max(6.8266666667px, 0.67vw);
  }
  .wrapper-sitemap .box-sitemap a {
    padding: max(6.8266666667px, 0.67vw) max(10.24px, 1vw);
    font-size: clamp(10.9226666667px, 1.07vw, 16px);
    letter-spacing: 0.1em;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .wrapper-sitemap .box-sitemap a:hover {
    opacity: 0.6;
  }
  .wpcf7-not-valid-tip {
    font-size: clamp(10.24px, 1vw, 15px) !important;
  }
  .area-name .wpcf7-form-control-wrap {
    position: relative;
    display: block;
  }
  .area-name .wpcf7-not-valid-tip {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    margin: 0;
  }
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output,
  .wpcf7 form.payment-required .wpcf7-response-output {
    border: none;
    background: #ffe8e8;
    color: #d63638;
  }
  .contact-flow {
    width: clamp(335.1893333333px, 32.73vw, 491px);
    margin: 0 auto clamp(34.1333333333px, 3.33vw, 50px);
  }
  .wrapper-contact {
    max-width: 960px;
    width: 90%;
    margin: 0 auto;
  }
  input,
  textarea {
    padding: clamp(6.8266666667px, 0.67vw, 10px);
    border-radius: 4px;
    font-size: clamp(10.9226666667px, 1.07vw, 16px);
  }
  textarea {
    height: clamp(92.8426666667px, 9.07vw, 136px);
  }
  p.contact-first {
    margin-bottom: clamp(20.48px, 2vw, 30px);
  }
  table.contact th {
    width: clamp(157.0133333333px, 15.33vw, 230px);
    margin-bottom: 0;
    font-size: clamp(12.288px, 1.2vw, 18px);
  }
  table.contact td {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    padding: clamp(6.8266666667px, 0.67vw, 10px) 0 clamp(6.8266666667px, 0.67vw, 10px) clamp(13.6533333333px, 1.33vw, 20px);
  }
  table.contact td::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: var(--color-black);
  }
  table.contact tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: clamp(13.6533333333px, 1.33vw, 20px) clamp(23.8933333333px, 2.33vw, 35px) clamp(13.6533333333px, 1.33vw, 20px) clamp(13.6533333333px, 1.33vw, 20px);
  }
  table.contact tr:not(:last-child) {
    border-bottom: 1px solid var(--color-black);
  }
  table.contact .td-inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(10.24px, 1vw, 15px) 1fr;
    grid-template-columns: 1fr 1fr;
    gap: clamp(10.24px, 1vw, 15px);
  }
  table.contact .item {
    display: -ms-grid;
    display: grid;
    gap: clamp(3.4133333333px, 0.33vw, 5px);
  }
  table.contact .item p {
    font-size: clamp(10.24px, 1vw, 15px);
  }
  table.contact .item-label {
    font-size: clamp(10.9226666667px, 1.07vw, 16px);
  }
  table.contact p.notes {
    margin-top: clamp(6.8266666667px, 0.67vw, 10px);
    font-size: clamp(10.24px, 1vw, 15px);
  }
  table.contact .wrap-input {
    position: relative;
  }
  table.contact .wrap-input p {
    margin-top: 0;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(110%, -50%);
            transform: translate(110%, -50%);
  }
  .radio-wrap span.wpcf7-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(20.48px, 2vw, 30px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .radio-wrap span.wpcf7-list-item {
    display: block;
  }
  .radio-wrap label {
    width: 100%;
  }
  .radio-wrap label span {
    display: inline-block;
    position: relative;
    padding-left: 36px;
    line-height: 2.2;
    font-size: clamp(12.288px, 1.2vw, 18px);
  }
  .radio-wrap label span::before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #c8c8c8;
    background: #fff;
    content: "";
    border-radius: 50%;
  }
  .radio-wrap label span::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-black);
    content: "";
    opacity: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .radio-wrap label input:focus + span::before {
    -webkit-box-shadow: 0 0 4px var(--color-black);
            box-shadow: 0 0 4px var(--color-black);
  }
  .radio-wrap label input:checked + span::after {
    opacity: 1;
  }
  .wrap-sendBtn {
    margin: clamp(54.6133333333px, 5.33vw, 80px) auto 0;
    max-width: 710px;
  }
  .wrap-sendBtn .js-firststep {
    width: 48%;
  }
  .wrap-sendBtn .js-secondstep {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .wrap-sendBtn .js-return-btn {
    font-size: clamp(13.6533333333px, 1.33vw, 20px);
    height: clamp(34.1333333333px, 3.33vw, 50px);
  }
  .wrap-sendBtn .js-return-btn:hover {
    opacity: 0.5;
  }
  .wrap-sendBtn .js-return-btn::after {
    width: clamp(6.8266666667px, 0.67vw, 10px);
    height: clamp(6.8266666667px, 0.67vw, 10px);
    left: clamp(10.24px, 1vw, 15px);
  }
  .wrap-sendBtn .js-confirm-btn {
    font-size: clamp(13.6533333333px, 1.33vw, 20px);
    height: clamp(34.1333333333px, 3.33vw, 50px);
  }
  .wrap-sendBtn .js-confirm-btn:hover {
    opacity: 0.7;
  }
  .wrap-sendBtn .js-confirm-btn::after {
    width: clamp(6.8266666667px, 0.67vw, 10px);
    height: clamp(6.8266666667px, 0.67vw, 10px);
    right: clamp(10.24px, 1vw, 15px);
  }
  .wrap-sendBtn .js-submit-btn {
    width: clamp(235.52px, 23vw, 345px);
    font-size: clamp(13.6533333333px, 1.33vw, 20px);
    background: url("../images/send-arrow.png") no-repeat center right clamp(10.24px, 1vw, 15px)/contain, #000;
    background-size: clamp(6.8266666667px, 0.67vw, 10px);
    border: none;
    border-radius: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .wrap-sendBtn .js-submit-btn:hover {
    opacity: 0.7;
  }
  .btn-top {
    margin-top: clamp(68.2666666667px, 6.67vw, 100px);
  }
  .btn-top-link {
    height: clamp(34.1333333333px, 3.33vw, 50px);
    width: clamp(235.52px, 23vw, 345px);
    font-size: clamp(13.6533333333px, 1.33vw, 20px);
    background: url("../images/send-arrow.png") no-repeat center right clamp(10.24px, 1vw, 15px)/contain, #000;
    background-size: clamp(6.8266666667px, 0.67vw, 10px);
  }
  .btn-top-link:hover {
    opacity: 0.7;
  }
}
/*# sourceMappingURL=pages.css.map */