@charset "UTF-8";
/*******************************
base.css
*******************************/
:root {
  --text: #393939;
  --gray: #898989;
  --border: #a7a7a7;
  --border2: #e2e2e2;
  --gray00: #fafdfc;
  --gray01: #f4f4f4;
  --gray02: #cccccc;
  --gray03: #737373;
  --gray04: #5a5958;
  --gray05: #898989;
  --gray06: #3c3c3c;
  --gray07: #141414;
  --hover-gray: #c8c8c8;
  --sub-green: #e6fbf6;
  --plus-green: #65b7b7;
  --bg-green: #fafdfc;
  --sub-yellow: #ffeb00;
  --bgc-yellow: #fff68d;
  --yellow: #ffb922;
  --yellow-back: #f8e7c0;
  --orange: #ff8921;
  --orange-back: #fdeecd;
  --green: #72a204;
  --green-back: #dcefcc;
  --red: #f35244;
  --red-back: #fde1cd;
  --body: #ffe9b9;
  --form: #fff8ea;
  --error: #d40000;
}

/* z-index */
:root {
  --z-index-drawer: 1000;
  --z-index-header: 999;
  --z-index-aside: 0;
}

/* cubic-bezier */
:root {
  --cubic-bezier-hover: cubic-bezier(0.61, 0.37, 0.51, 0.91);
  --cubic-bezier-btn: cubic-bezier(0.61, 0.37, 0.51, 0.91);
  --cubic-bezier-btn-arrow: cubic-bezier(0.21, 0.56, 0.55, 1.45);
  --cubic-bezier-btn02: cubic-bezier(0.87, -0.39, 0, 2);
  --cubic-bezier-header: cubic-bezier(0.15, 0.31, 0.43, 1.12);
  --linear-gradient-border: linear-gradient(
    to right,
    var(--gray02),
    var(--gray02) 2px,
    rgba(0, 0, 0, 0) 2px,
    rgba(0, 0, 0, 0) 6px
  );
}

/* font-family */
:root {
  --basefont: "Zen Kaku Gothic New", sans-serif;
  --googlefont-Gsans: "Google Sans Flex", sans-serif;
  --googlefont-ZenKaku: "Zen Kaku Gothic New", sans-serif;
  /* 300/400/Medium500/bold700/900 */
}
/* .profile-name {
  font-size: clamp(
    calc(22 / 16 * 1rem),
    calc(26 / 1440 * 100vw),
    calc(26 / 16 * 1rem)
  );
  font-family: var(--fontplus-TsukushiB);
  letter-spacing: 0.05em;
}
.profile-name .en {
  font-size: clamp(
    calc(12 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-family: var(--googlefont-Instrument);
} */
/* //breakpoint
$vwclamp: 1440; // vwclamp compsize
$comp: 1599.98px; // comp 1600px
$wide: 1399.98px; // wide 1400px
$padpro: 1365.98px; // PC 1366px
$xl: 1199.98px; // PC 1200px
$pc: 1023.98px; // PC 1024px
$lg: 991.98px; // large 992px
$tab: 767.98px; // タブレット768px
$mb: 693.98px; // breakpoint ipad pro split 以下694px
$sm: 575.98px; // small 576px
$sp: 479.98px; // スマホ 480px
$ssp: 369.98px; // スマホ狭 370px */

/* resset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
/* html:focus-within {
  scroll-behavior: smooth;
} */
html {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  font-family: sans-serif;
}
body {
  font-size: 1em;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
main {
  display: block;
}
a {
  color: #fff;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}
svg {
  max-width: 100%;
  display: block;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}
ul {
  padding-inline-start: 0;
}
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
dl,
menu,
ol,
ul {
  margin: 0 0;
}
dd {
  margin: 0 0 0 0px;
}
li {
  list-style: none;
}
address {
  font-style: normal;
}
/*******************************
module
*******************************/
::selection {
  background: var(--bgc-yellow);
}
::-moz-selection {
  background: var(--bgc-yellow);
}
body {
  color: var(--text);
  font-family: var(--basefont);
  overflow-x: hidden;
  min-height: 100vh;
}
html,
body {
  background: linear-gradient(to bottom, #ffb922, #ff8921);
}
/*******************************
main
*******************************/
#wrapper {
  scroll-behavior: smooth;
  font-feature-settings: "palt";
}
#main {
  width: 100%;
  margin: 0 auto 0;
}
/*******************************
container
*******************************/
.l-container {
  width: min(84.444444%, 1216px);
  margin: 0 auto;
}
@media (max-width: 767.98px) {
  .l-container {
    width: 90%;
  }
}
@media (max-width: 479.98px) {
  .l-container {
    width: 87.2%;
  }
  .l-container.-spnone {
    width: 100%;
  }
}
/*******************************
utility
*******************************/
.sp-only {
  display: none;
}
.pc-only {
  display: block;
}
.txt-center {
  text-align: center;
}
.googlemap iframe {
  vertical-align: bottom;
}
@media (max-width: 575.98px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}
/*******************************
header
*******************************/
.header {
  margin-top: 2.5rem;
  margin-left: 5%;
}
.header-sitelogo a {
  display: inline-block;
}

/* ------------------------- */
/* @media (max-width: 768px) {
  .header .header_inner {
    height: 60px;
    background-color: transparent;
  }
} */

/*******************************
footer
*******************************/
#footer {
  padding-top: clamp(3.25rem, (1vw * 64 / 1440 * 100), 4rem);
  padding-bottom: clamp(4.5rem, (1vw * 80 / 1440 * 100), 5rem);
  overflow: hidden;
}
.footer-inner {
  margin: 0 auto;
  width: 87.2%;
  /* max-width: 1216px; */
  display: flex;
  flex-wrap: wrap;
}
.footer-copyright {
  display: block;
  width: 100%;
  color: #fff;
  font-family: var(--googlefont-Gsans);
  font-weight: 500;
  text-align: right;
}
/* ---------------------------- */
@media (max-width: 1023.98px) {
  .footer-sns {
    margin-top: 3.5rem;
    width: 100%;
  }
  .footer-copyright {
    margin-top: 2.75rem;
  }
}
@media (max-width: 767.98px) {
  #footer {
    padding-left: 0;
    padding-right: 0;
  }
}

/*******************************
c-btn_more
*******************************/
.section-name {
  padding-bottom: clamp(1.5rem, (1vw * 48 / 1440 * 100), 4rem);
  text-align: center;
}
.section-name .ja {
  display: block;
  font-size: clamp((24/16 * 1rem), (1vw * 36 / 1440 * 100), (36/16 * 1rem));
  font-weight: 700;
  line-height: 1;
}
.section-name .en {
  margin-top: clamp(0.75rem, (1vw * 20 / 1440 * 100), 1.25rem);
  display: block;
  color: #fff;
  font-size: clamp((13/16 * 1rem), (1vw * 18 / 1440 * 100), (18/16 * 1rem));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/*******************************
c-btn_more
*******************************/
.c-btn_more a {
  margin: 2rem auto 0;
  padding: 0 36px;
  position: relative;
  display: block;
  width: 80%;
  max-width: 330px;
  height: 80px;
  color: var(--orange);
  font-size: calc(18 / 16 * 1rem);
  font-weight: 600;
  line-height: 80px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 3rem;
  background-color: #fff;
}
/*******************************
section
*******************************/
section.page-contact {
  padding-top: 2.5rem;
  margin-right: auto;
  margin-left: auto;
  width: 90%;
  max-width: 700px;
}
.formpage-copy {
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-weight: 600;
  line-height: 1.8;
}
/*******************************
bl_formConfirm
*******************************/
.bl_formConfirm,
.wpcf7-response-output,
.bl_formConfirm .wpcf7-spinner {
  display: none;
}
.bl_confirm_message,
.bl_confirm_estimation {
  white-space: pre-wrap;
}
/* 見た目だけ無効風にする */
.bl_form_confirm.is-disabled {
  cursor: not-allowed;
}
/*******************************
contactform
*******************************/
/* デフォルトのcss */
.wpcf7-list-item {
  margin: 0 0 0 0 !important;
}
.l-contact-form {
  margin-top: clamp(0.5rem, (1vw * 10 / 1440 * 100), 1rem);
  max-width: 700px;
}
/* form_inputarea */
.l-contact-form_inputarea {
  margin-top: 4.25rem;
  font-feature-settings: normal;
}
.contact-form_dl + .contact-form_dl {
  margin-top: clamp(1.5rem, (1vw * 30 / 1440 * 100), 1.875rem);
}
.contact-form-title {
  padding-bottom: clamp(0.5rem, (1vw * 16 / 1440 * 100), 1rem);
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-weight: 600;
  line-height: 1;
}
/* wpcf7-not-valid-tip */
.wpcf7-not-valid-tip,
.bl_form_error {
  margin-top: 7px;
  display: flex !important;
  align-items: center;
  color: var(--error) !important;
  font-size: calc(14 / 16 * 1rem) !important;
  font-weight: 500;
  line-height: 1.2;
}
.wpcf7-not-valid-tip::before,
.bl_form_error::before {
  content: "";
  display: inline-block;
  margin-right: 7px;
  width: 22px;
  height: 22px;
  background-image: url(../images/icon-error.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* .errortext.is-active {
  display: flex;
} */
/* ----------- */
/* form_input */
.wpcf7-form-control-wrap input {
  display: block;
  padding: 18px 16px 17px;
  width: 100%;
  color: var(--text);
  font-size: clamp(
    calc(16 / 16 * 1rem),
    calc(17 / 1440 * 100vw),
    calc(17 / 16 * 1rem)
  );
  font-family: var(--fontplus-TsukushiM);
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
  box-sizing: border-box;
}
.wpcf7-form-control-wrap input::placeholder {
  color: var(--gray02);
  font-family: var(--fontplus-TsukushiM);
}
.contact-form-label {
  display: grid;
  gap: 15px;
}
.contact-form-label:has(.wpcf7-form-control-wrap:only-child) {
  grid-template-columns: 1fr;
}
.contact-form-label:has(.wpcf7-form-control-wrap:nth-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.contact-form-label:has(.wpcf7-form-control-wrap:nth-child(3)) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
input:-internal-autofill-selected {
  background-color: #fff !important;
}
/* textarea */
.contact-form-label textarea {
  padding: 20px 16px 22px;
  width: 100%;
  color: var(--text);
  font-size: calc(16 / 16 * 1rem);
  font-family: var(--fontplus-TsukushiM);
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
  box-sizing: border-box;
}
.contact-form-label textarea#estimation {
  background-color: var(--body);
  border: 1px solid var(--body);
}
.contact-form-label textarea::placeholder {
  color: var(--gray02);
  font-family: var(--fontplus-TsukushiM);
}
/* form-select */
.contact-form-select-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}
.contact-form-select-wrap select {
  padding: 18px 40px 17px 16px;
  appearance: none; /* デフォルトの矢印を消す */
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  color: var(--text);
  font-size: clamp(
    calc(16 / 16 * 1rem),
    calc(17 / 1440 * 100vw),
    calc(17 / 16 * 1rem)
  );
  cursor: pointer;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
}
.select-icon_plus {
  position: absolute;
  right: 22px;
  top: 45%;
  transform: translateY(-50%);
  pointer-events: none;
}
.select-icon_plus::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.contact-form-select-wrap:focus-within .select-icon_plus::before {
  transform: rotate(-135deg);
}
/* option の文字色・背景色 */
.contact-form-select-wrap selectoption {
  color: var(--text);
  background-color: #fff;
}
/* hover  */
.contact-form-select-wrap selectoption:hover {
  background-color: #e6f0ff;
  color: var(--text);
}
/* contactform-btn-group */
.contactform-btn-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
}
/* check box -------------------------- */
.contactform-check-label .wpcf7-checkbox {
  display: flex;
  gap: 0 3rem;
}
.contactform-check-label .wpcf7-list-item {
  position: relative;
  order: 3;
  width: 100%;
}
.contactform-check-label .wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  inset: 0; /* 親全体をクリック領域に */
  opacity: 0;
  margin: 0;
  z-index: 2;
  cursor: pointer;
}
.wpcf7-list-item-label {
  position: relative;
  width: fit-content;
  display: flex;
  align-items: center;
}
.contactform-check-icon .wpcf7-list-item {
  position: relative;
  z-index: 10;
}
.contactform-check-icon .wpcf7-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 100%;
  background-color: #fff;
  vertical-align: middle;
  z-index: -2;
  transition: 0.2s ease-in-out;
}
.contactform-check-icon .wpcf7-list-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  background-image: url(../images/icon-radio.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: -1;
}
.contactform-check-icon
  .wpcf7-list-item:has(input[type="checkbox"]:checked)::before {
  background-color: var(--error);
}
.contactform-check-label .wpcf7-list-item-label {
  padding-left: 36px;
  padding-bottom: 6px;
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-weight: 600;
}
/* acceptance-check -------------------- */
.contactform-acceptancecheck-label {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.wpcf7-acceptance {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.wpcf7-acceptance input[name="acceptance-check"] {
  appearance: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  border: none;
  opacity: 0;
  z-index: 10;
  cursor: pointer;
}
.wpcf7-acceptance .wpcf7-list-item-label {
  display: block;
}
.contactform-acceptancecheck-icon {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 100%;
  background-color: #fff;
  vertical-align: middle;
  transition: 0.2s ease-in-out;
}
.contactform-acceptancecheck-icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/icon-radio.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.wpcf7-acceptance
  input[name="acceptance-check"]:checked
  + .wpcf7-list-item-label
  .contactform-acceptancecheck-icon {
  background: #c00;
}
.wpcf7-acceptance
  input[name="acceptance-check"]:checked
  + .wpcf7-list-item-label
  .contactform-acceptancecheck-icon::after {
  background-image: url(../images/icon-radio_w.svg);
}
.contactform-acceptancecheck-label .bl_form_error {
  width: 100%;
  justify-content: center;
}
/* radio icon -------------------------------------- */
.contactform-radio-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
}
/* アイコン/テキストは上段 */
.contactform-radio-icon {
  order: 1;
}
.contactform-radio-text {
  order: 2;
}
.contactform-radio-label .wpcf7-form-control-wrap {
  position: relative;
  order: 3;
  width: 100%;
}
.contactform-radio-label .wpcf7-list-item-label {
  padding-left: 36px;
  padding-bottom: 6px;
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-weight: 600;
}
.contactform-radio-label .wpcf7-not-valid-tip {
  display: block;
  position: static !important;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.3;
  color: #c00;
}
/* （前回のクリック領域拡張） */
.contactform-radio-label input[type="radio"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  margin: 0;
  z-index: 2;
  cursor: pointer;
}
/* --- */
.contactform-radio-label {
  position: relative;
  width: fit-content;
  display: flex;
  align-items: center;
}
.contactform-radio-label + .contactform-radio-label {
  margin-top: 6px;
}
.contactform-radio-label .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 0.5rem 3rem;
}
.contactform-radio-input {
  display: none;
}
.contactform-radio-icon .wpcf7-list-item {
  position: relative;
}
.contactform-radio-icon .wpcf7-list-item::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -2px;
  width: 28px;
  height: 28px;
  border-radius: 100%;
  vertical-align: middle;
  background-color: #fff;
  transition: 0.2s ease-in-out;
}
.contactform-radio-icon .wpcf7-list-item::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 12px;
  width: 14px;
  height: 14px;
  border-radius: 100%;
  background-color: var(--error);
  transform: translateX(-50%) translateY(-50%);
  opacity: 0;
}
.contactform-radio-icon
  .wpcf7-list-item:has(input[type="radio"]:checked)::after {
  opacity: 1;
}
/* form_policy --------------------- */
.l-contact-form_policy {
  margin-top: 2.625rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--gray06);
}
.contactform-policy-consent {
  display: flex;
  justify-content: center;
}
.contactform-policy-text {
  padding-left: 12px;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 600;
  font-feature-settings: "palt";
}
.contactform-policy-text a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 1px;
}
/* .contactform-policy-required {} */
.contactform-policy-copy {
  margin-top: 2.125rem;
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  font-weight: 600;
  line-height: 1.8;
  font-feature-settings: normal;
}
/* form_buttons ------------------- */
.l-contact-form_buttons {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
.contact-form_button {
  position: relative;
}
.contact-form_button input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  width: 238px;
  height: 56px;
  font-size: calc(15 / 16 * 1rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  border: 1px solid #fff;
  background-color: #fff;
  cursor: pointer;
}
.contact-form_button input {
  color: var(--orange);
  background-color: #fff;
  border: 1px solid #fff;
}
.contact-form_button input[type="button"] {
  cursor: pointer;
}
.contact-form_button input[type="button"]:disabled {
  cursor: not-allowed;
}
.wpcf7-submit {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  width: 238px;
  height: 56px;
  color: var(--orange);
  font-size: calc(15 / 16 * 1rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  cursor: pointer;
}
.bl_form_back {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 16px 0 24px;
  position: relative;
  width: 238px;
  height: 56px;
  color: #fff;
  font-size: calc(15 / 16 * 1rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  border-radius: 6px;
  background-color: var(--text);
  border: 1px solid var(--text);
  cursor: pointer;
}
@media (hover: hover) {
  .contact-form_button:hover {
    opacity: 0.6;
  }
}
@media (hover: none) {
  .contact-form_button:hover {
    opacity: 0.6;
  }
}
/*contactform-confirm-wrap
-------------------------------*/
.contactform-confirm-wrap {
  margin-top: 6.75rem;
}
.l-contactform-confirm_inputarea .contact-form_dl {
  padding-bottom: clamp(1.375rem, (1vw * 24 / 1440 * 100), 1.5rem);
  display: flex;
  border-bottom: 1px solid var(--gray06);
}
.l-contactform-confirm_inputarea .contact-form_dl + .contact-form_dl {
  margin-top: 1.5rem;
}
.l-contactform-confirm_inputarea .contact-form_dl dt {
  flex: 0 1 26%;
}
.l-contactform-confirm_inputarea .contact-form_dl dd {
  flex: 0 1 74%;
}
.l-contactform-confirm_inputarea .contact-form-title {
  padding-bottom: 0;
  color: var(--text);
  font-size: calc(14 / 16 * 1rem);
  font-weight: 400;
}
.l-contactform-confirm_inputarea .contact-form_dl dd p {
  margin-top: -5px;
}
.contact-form-answer {
  font-size: calc(16 / 16 * 1rem);
  font-weight: 500;
  line-height: 1.8;
}
.l-contactform-confirm_buttons {
  margin-top: clamp(2rem, (1vw * 56 / 1440 * 100), 3.5rem);
  display: flex;
  justify-content: center;
  gap: 0 8px;
}
/* --------------- */
@media (max-width: 768px) {
  /* contactform */
  .l-contact-form_inputarea {
    margin-top: 3.25rem;
  }
  .wpcf7-not-valid-tip {
    margin-top: 12px;
  }
  .contact-form-label:has(.contact-form_input:nth-child(2)) {
    grid-template-columns: 1fr;
  }
  .contact-form-label:has(.contact-form_input:nth-child(3)) {
    grid-template-columns: 1fr;
  }
  /* --------------- */
  .contact-form-select-wrap select {
    padding: 15px 40px 15px 16px;
  }
  /* form_policy --------------------- */
  .l-contact-form_policy {
    padding-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "policy1"
      "policy2"
      "policy3";
  }
  .contactform-policy-consent {
    margin-top: 1rem;
    grid-area: policy1;
  }
  /* .contactform-policy-required */
  .contactform-policy-copy {
    margin-top: 2.5rem;
    grid-area: policy3;
  }
  /* form_buttons ------------------- */
  .l-contact-form_buttons {
    margin-top: 2rem;
    grid-area: policy2;
  }
  /* form-confirm */
  .contactform-confirm-wrap {
    margin-top: 7rem;
  }
  .l-contactform-confirm_inputarea .contact-form_dl {
    display: block;
  }
  .l-contactform-confirm_inputarea .contact-form-title {
    padding-bottom: 14px;
  }
  .l-contactform-confirm_buttons {
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
  }
}
/* reCAPTCHA badge ------------------- */
.grecaptcha-badge {
  visibility: hidden !important;
}
/*thankspage
-------------------------------*/
section.page-thanks {
  padding-top: clamp(6.5rem, (1vw * 192 / 1440 * 100), 12rem);
  padding-bottom: 6rem;
}
.thankspage-title {
  font-size: clamp(
    calc(28 / 16 * 1rem),
    calc(32 / 1440 * 100vw),
    calc(32 / 16 * 1rem)
  );
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  text-align: center;
  font-feature-settings: normal;
}
.thankspage-copy {
  padding-top: 2rem;
  font-size: clamp(
    calc(14 / 16 * 1rem),
    calc(16 / 1440 * 100vw),
    calc(16 / 16 * 1rem)
  );
  line-height: 1.8;
  text-align: center;
  font-feature-settings: normal;
}
.thankspage-title span,
.thankspage-copy span {
  display: inline-block;
}
@media (max-width: 767.98px) {
  .thankspage-copy span {
    display: block;
  }
}
/*policy-contents
-------------------------------*/
section.page-policy {
  padding-top: 6rem;
  padding-bottom: 4rem;
}
.policy-contents h1 {
  padding-bottom: 3rem;
  font-size: calc(32 / 16 * 1rem);
  font-weight: 600;
}
.policy-contents h2 {
  font-size: calc(24 / 16 * 1rem);
  font-weight: 600;
}
.policy-contents p {
  margin-top: 0.25rem;
  padding-bottom: 2.5rem;
  font-size: calc(18 / 16 * 1rem);
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .policy-contents h1 {
    font-size: calc(24 / 16 * 1rem);
  }
  .policy-contents h2 {
    font-size: calc(20 / 16 * 1rem);
  }
  .policy-contents p {
    padding-bottom: 2rem;
    font-size: calc(16 / 16 * 1rem);
  }
}
