.elementor-19645 .elementor-element.elementor-element-1d36620{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-5507304 */@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@400;500;600&display=swap");

.inPremiumContactPage {
  --premium-navy: #102943;
  --premium-gold: #c2a878;
  --premium-ivory: #f6f3ec;
  --premium-soft: #fbf8f2;
  --premium-white: #ffffff;
  --premium-text: #596775;
  --premium-muted: rgba(28,53,87,.54);
  --premium-border: rgba(28,53,87,.14);
  --premium-shadow: 0 28px 68px rgba(16,41,67,.12);
  width: 100%;
  margin: 0 !important;
}

.inPremiumContactPage *,
.inPremiumContactPage *::before,
.inPremiumContactPage *::after { box-sizing: border-box; }

.inPremiumContactPage img { display:block; width:100%; max-width:none; margin:0; }
.inPremiumContactPage a { text-decoration:none; }
.inPremiumContact__inner { width:min(1180px,100%); margin:0 auto; }

.inPremiumContact__eyebrow {
  display:flex; flex-wrap:wrap; align-items:center; gap:11px;
  margin:0 0 19px; color:var(--premium-gold);
  font-family:"Noto Serif JP",serif!important;
  font-size:.59rem; letter-spacing:.18em;
}

.inPremiumContact__eyebrowLine { width:36px; height:1px; background:currentColor; }

.inPremiumContact__title {
  margin:0; color:var(--premium-navy);
  font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:clamp(1.76rem,2.9vw,2.42rem);
  font-weight:500!important; line-height:1.58; letter-spacing:.02em;
}

.inPremiumContact__titlePhrase { display:inline-block; white-space:nowrap; }

.inPremiumContactHero {
  padding:30px 32px 50px; overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%,rgba(194,168,120,.14),transparent 29%),
    var(--premium-ivory);
}

.inPremiumContactHero__inner { width:min(1380px,100%); margin:0 auto; }

.inPremiumContactHero__breadcrumb {
  display:flex; align-items:center; gap:10px; margin:0 0 27px;
  overflow:hidden; color:var(--premium-muted);
  font-family:"Noto Serif JP",serif!important;
  font-size:.55rem; letter-spacing:.1em; white-space:nowrap;
}

.inPremiumContactHero__breadcrumb a,
.inPremiumContactHero__breadcrumb a:visited { color:var(--premium-muted)!important; }

.inPremiumContactHero__breadcrumbLine { width:20px; height:1px; background:var(--premium-gold); }

.inPremiumContactHero__frame {
  display:grid; grid-template-columns:minmax(460px,.92fr) minmax(0,1.08fr);
  height:clamp(520px,33vw,600px); overflow:hidden;
  background:var(--premium-navy); box-shadow:var(--premium-shadow);
}

.inPremiumContactHero__copy {
  position:relative; display:flex; flex-direction:column; justify-content:center;
  height:100%; padding:54px clamp(44px,5vw,76px); color:#fff;
}

.inPremiumContactHero__copy::before {
  content:""; position:absolute; top:48px; left:0;
  width:3px; height:92px; background:var(--premium-gold);
}

.inPremiumContactHero__label {
  display:flex; flex-wrap:wrap; gap:9px; margin:0 0 27px;
  color:var(--premium-gold); font-family:"Noto Serif JP",serif!important;
  font-size:.58rem; letter-spacing:.18em;
}

.inPremiumContactHero__title {
  margin:0; color:#fff; font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:clamp(2.14rem,3.48vw,3.54rem); font-weight:500!important;
  line-height:1.44; letter-spacing:.018em;
}

.inPremiumContactHero__titleLine { display:block; white-space:nowrap; }

.inPremiumContactHero__lead {
  margin:27px 0 0; color:rgba(255,255,255,.74);
  font-family:"Noto Sans JP",sans-serif!important;
  font-size:.78rem; line-height:2;
}

.inPremiumContactHero__scroll,
.inPremiumContactHero__scroll:visited {
  display:flex; width:fit-content; align-items:center; gap:14px;
  margin-top:34px; color:rgba(255,255,255,.72)!important;
  font-family:"Noto Serif JP",serif!important;
  font-size:.53rem; letter-spacing:.17em;
}

.inPremiumContactHero__scrollLine { width:49px; height:1px; background:var(--premium-gold); }

.inPremiumContactHero__visual {
  position:relative; min-width:0; height:100%; margin:0; overflow:hidden; background:#071827;
}

.inPremiumContactHero__visual::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(7,24,39,.28),transparent 31%),
             linear-gradient(180deg,transparent 58%,rgba(7,24,39,.38));
}

.inPremiumContactHero__visual img {
  height:100%!important; object-fit:cover; object-position:center;
  transform:scale(1.055); transition:transform 8s cubic-bezier(.22,1,.36,1);
}

.inPremiumContactHero.is-visible .inPremiumContactHero__visual img { transform:scale(1); }

.inPremiumContactHero__caption {
  position:absolute; right:20px; bottom:18px; z-index:2;
  color:rgba(255,255,255,.72); font-family:"Noto Serif JP",serif!important;
  font-size:.49rem; letter-spacing:.16em;
}

.inPremiumContactHero__summary {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--premium-border); border-top:0; background:#fff;
}

.inPremiumContactHero__summaryItem {
  display:flex; min-height:102px; flex-direction:column; align-items:center;
  justify-content:center; gap:8px; padding:18px 13px; text-align:center;
}

.inPremiumContactHero__summaryItem + .inPremiumContactHero__summaryItem {
  border-left:1px solid var(--premium-border);
}

.inPremiumContactHero__summaryItem span {
  color:var(--premium-gold); font-family:"Noto Serif JP",serif!important;
  font-size:.51rem; letter-spacing:.15em;
}

.inPremiumContactHero__summaryItem strong {
  color:var(--premium-navy); font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:.79rem; font-weight:500; line-height:1.6;
}

.js-enabled .inPremiumContactHero:not(.is-visible) .js-inPremiumContactHeroReveal {
  opacity:0; transform:translateY(24px);
}

.js-enabled .js-inPremiumContactHeroReveal {
  transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1);
}

.inPremiumContactGuide {
  padding:112px 32px 120px; background:#fff;
}

.inPremiumContactGuide__layout {
  display:grid; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);
  gap:clamp(54px,7vw,95px); align-items:start;
}

.inPremiumContactGuide__text {
  color:var(--premium-text); font-family:"Noto Sans JP",sans-serif!important;
  font-size:.88rem; line-height:2.08;
}

.inPremiumContactGuide__text p { margin:0; }
.inPremiumContactGuide__text p + p { margin-top:1.25em; }

.inPremiumContactGuide__cards {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:69px; border-top:1px solid var(--premium-border);
  border-bottom:1px solid var(--premium-border);
}

.inPremiumContactGuide__cards article { padding:29px 27px 34px; }
.inPremiumContactGuide__cards article + article { border-left:1px solid var(--premium-border); }
.inPremiumContactGuide__cards span {
  color:var(--premium-gold); font-family:"Noto Serif JP",serif!important;
  font-size:.52rem; letter-spacing:.14em;
}
.inPremiumContactGuide__cards h3 {
  margin:17px 0 0; color:var(--premium-navy);
  font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:1.06rem; font-weight:500; line-height:1.6;
}
.inPremiumContactGuide__cards p {
  margin:13px 0 0; color:var(--premium-text);
  font-family:"Noto Sans JP",sans-serif!important; font-size:.72rem; line-height:1.88;
}

.inPremiumContactGuide__links {
  display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px;
}
.inPremiumContactGuide__links a,
.inPremiumContactGuide__links a:visited {
  color:var(--premium-muted)!important; font-family:"Noto Sans JP",sans-serif!important;
  font-size:.66rem; text-decoration:underline; text-underline-offset:4px;
}

.inPremiumContactForm {
  padding:104px 32px 116px; background:var(--premium-ivory); scroll-margin-top:90px;
}

.inPremiumContactForm__head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:44px;
  margin-bottom:35px; padding-bottom:21px; border-bottom:1px solid var(--premium-border);
}

.inPremiumContactForm__en {
  margin:0 0 8px; color:var(--premium-gold);
  font-family:"Noto Serif JP",serif!important; font-size:.57rem; letter-spacing:.18em;
}

.inPremiumContactForm__head h2 {
  margin:0; color:var(--premium-navy); font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:clamp(1.55rem,2.4vw,2.08rem); font-weight:500; line-height:1.55;
}

.inPremiumContactForm__head > p {
  margin:0; color:var(--premium-text); font-family:"Noto Sans JP",sans-serif!important;
  font-size:.72rem; line-height:1.8;
}

.inPremiumContactForm__head > p span {
  display:inline-flex; margin-right:7px; padding:3px 7px;
  background:var(--premium-navy); color:#fff; font-size:.55rem; line-height:1.3;
}

.inPremiumContactForm__notice {
  display:grid; grid-template-columns:160px minmax(0,1fr);
  gap:25px; margin-bottom:28px; padding:19px 21px;
  border:1px solid var(--premium-border); background:#fff;
}

.inPremiumContactForm__notice strong {
  color:var(--premium-navy); font-family:"Noto Serif JP",serif!important;
  font-size:.76rem; font-weight:500; line-height:1.7;
}

.inPremiumContactForm__notice p {
  margin:0; color:var(--premium-text); font-family:"Noto Sans JP",sans-serif!important;
  font-size:.69rem; line-height:1.85;
}

.inPremiumContactForm__embed {
  padding:clamp(30px,5vw,58px); border:1px solid var(--premium-border);
  background:#fff; box-shadow:var(--premium-shadow);
}

/* CF7 */
.inPremiumContactForm .inPremiumForm {
  width:100%!important; margin:0!important; padding:0!important;
  color:var(--premium-text)!important; font-family:"Noto Sans JP",sans-serif!important;
}

.inPremiumContactForm .inPremiumForm__intro {
  margin:0 0 38px!important; padding:22px 24px!important;
  border-left:3px solid var(--premium-gold)!important; background:var(--premium-soft)!important;
}

.inPremiumContactForm .inPremiumForm__intro p {
  margin:0!important; font-size:.76rem!important; line-height:1.9!important;
}

.inPremiumContactForm .inPremiumForm__intro p + p { margin-top:10px!important; }

.inPremiumContactForm .inPremiumForm__requiredNote span {
  display:inline-flex!important; margin-right:7px!important; padding:3px 7px!important;
  background:var(--premium-navy)!important; color:#fff!important;
  font-size:.52rem!important; line-height:1.3!important;
}

.inPremiumContactForm .inPremiumForm__section {
  margin:0!important; padding:0 0 48px!important; border:0!important;
}

.inPremiumContactForm .inPremiumForm__section + .inPremiumForm__section {
  padding-top:42px!important; border-top:1px solid var(--premium-border)!important;
}

.inPremiumContactForm .inPremiumForm__sectionHead {
  margin:0 0 26px!important; padding:0 0 16px!important;
  border-bottom:1px solid var(--premium-border)!important;
}

.inPremiumContactForm .inPremiumForm__sectionHead p {
  margin:0 0 7px!important; color:var(--premium-gold)!important;
  font-family:"Noto Serif JP",serif!important; font-size:.51rem!important;
  letter-spacing:.16em!important;
}

.inPremiumContactForm .inPremiumForm__sectionHead h2 {
  margin:0!important; color:var(--premium-navy)!important;
  font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:1.34rem!important; font-weight:500!important; line-height:1.55!important;
}

.inPremiumContactForm .inPremiumForm__field {
  width:100%!important; margin:0 0 24px!important;
}

.inPremiumContactForm .inPremiumForm__field label,
.inPremiumContactForm .wpcf7-form-control-wrap {
  display:block!important; width:100%!important;
}

.inPremiumContactForm .inPremiumForm__label {
  display:flex!important; width:100%!important; align-items:center!important;
  gap:8px!important; margin:0 0 8px!important;
  color:var(--premium-navy)!important;
  font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:.82rem!important; font-weight:500!important; line-height:1.6!important;
}

.inPremiumContactForm .inPremiumForm__label::after {
  display:inline-flex!important; min-width:32px!important; height:18px!important;
  align-items:center!important; justify-content:center!important;
  padding:0 6px!important; font-family:"Noto Sans JP",sans-serif!important;
  font-size:.48rem!important; line-height:1!important;
}

.inPremiumContactForm .inPremiumForm__label--required::after {
  content:"必須"!important; border:1px solid var(--premium-navy)!important;
  background:var(--premium-navy)!important; color:#fff!important;
}

.inPremiumContactForm .inPremiumForm__label--optional::after {
  content:"任意"!important; border:1px solid var(--premium-border)!important;
  background:#fff!important; color:var(--premium-muted)!important;
}

.inPremiumContactForm .inPremiumForm input[type="text"],
.inPremiumContactForm .inPremiumForm input[type="email"],
.inPremiumContactForm .inPremiumForm input[type="tel"],
.inPremiumContactForm .inPremiumForm input[type="url"],
.inPremiumContactForm .inPremiumForm select,
.inPremiumContactForm .inPremiumForm textarea {
  display:block!important; width:100%!important; max-width:none!important;
  margin:0!important; padding:15px 16px!important;
  border:1px solid rgba(28,53,87,.22)!important; border-radius:0!important;
  background:#fff!important; box-shadow:none!important;
  color:var(--premium-navy)!important; font-family:"Noto Sans JP",sans-serif!important;
  font-size:.82rem!important; line-height:1.6!important;
  appearance:none!important; -webkit-appearance:none!important;
}

.inPremiumContactForm .inPremiumForm input[type="text"],
.inPremiumContactForm .inPremiumForm input[type="email"],
.inPremiumContactForm .inPremiumForm input[type="tel"],
.inPremiumContactForm .inPremiumForm input[type="url"],
.inPremiumContactForm .inPremiumForm select { min-height:54px!important; }

.inPremiumContactForm .inPremiumForm textarea {
  min-height:150px!important; resize:vertical!important;
}

.inPremiumContactForm .inPremiumForm select {
  padding-right:46px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--premium-gold) 50%),
    linear-gradient(135deg,var(--premium-gold) 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}

.inPremiumContactForm .inPremiumForm input:focus,
.inPremiumContactForm .inPremiumForm select:focus,
.inPremiumContactForm .inPremiumForm textarea:focus {
  border-color:var(--premium-gold)!important;
  box-shadow:0 0 0 3px rgba(194,168,120,.12)!important;
  outline:none!important;
}

.inPremiumContactForm .inPremiumForm .wpcf7-radio {
  display:flex!important; flex-wrap:wrap!important; gap:10px 20px!important;
}

.inPremiumContactForm .inPremiumForm .wpcf7-list-item { margin:0!important; }

.inPremiumContactForm .inPremiumForm .wpcf7-list-item label {
  display:inline-flex!important; align-items:center!important; gap:8px!important;
  color:var(--premium-text)!important; font-size:.76rem!important;
}

.inPremiumContactForm .inPremiumForm input[type="radio"],
.inPremiumContactForm .inPremiumForm input[type="checkbox"] {
  position:relative!important; width:19px!important; height:19px!important;
  margin:0!important; padding:0!important;
  border:1px solid rgba(28,53,87,.3)!important; background:#fff!important;
  appearance:none!important; -webkit-appearance:none!important;
}

.inPremiumContactForm .inPremiumForm input[type="radio"] { border-radius:50%!important; }

.inPremiumContactForm .inPremiumForm input[type="radio"]:checked::after {
  content:""; position:absolute; inset:4px; border-radius:50%;
  background:var(--premium-gold);
}

.inPremiumContactForm .inPremiumForm input[type="checkbox"]:checked::after {
  content:""; position:absolute; top:3px; left:5px; width:6px; height:10px;
  border-right:1px solid var(--premium-gold);
  border-bottom:1px solid var(--premium-gold);
  transform:rotate(45deg);
}

.inPremiumContactForm .inPremiumForm__help {
  margin:10px 0 0!important; color:var(--premium-muted)!important;
  font-size:.67rem!important; line-height:1.8!important;
}

.inPremiumContactForm .inPremiumForm__documentLinks {
  display:flex!important; flex-wrap:wrap!important; gap:9px 20px!important;
  margin:0 0 20px!important; padding:16px 0!important;
  border-top:1px solid var(--premium-border)!important;
  border-bottom:1px solid var(--premium-border)!important;
}

.inPremiumContactForm .inPremiumForm__documentLinks a {
  color:var(--premium-navy)!important; font-size:.68rem!important;
  text-decoration:underline!important; text-underline-offset:4px!important;
}

.inPremiumContactForm .inPremiumForm__consent {
  margin:0 0 12px!important; padding:17px 18px!important;
  border:1px solid var(--premium-border)!important; background:var(--premium-soft)!important;
}

.inPremiumContactForm .inPremiumForm__submit {
  margin:24px 0 0!important; padding:34px 0 0!important;
  border-top:1px solid var(--premium-border)!important; text-align:center!important;
}

.inPremiumContactForm .inPremiumForm__submit input[type="submit"] {
  all:unset!important; box-sizing:border-box!important;
  display:inline-flex!important; width:min(460px,100%)!important; min-height:62px!important;
  align-items:center!important; justify-content:center!important;
  padding:17px 28px!important; border:1px solid var(--premium-navy)!important;
  background:var(--premium-navy)!important; color:#fff!important;
  font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:.84rem!important; font-weight:500!important; letter-spacing:.06em!important;
  cursor:pointer!important;
}

.inPremiumContactForm .inPremiumForm__submit p {
  margin:13px 0 0!important; color:var(--premium-muted)!important;
  font-size:.66rem!important; line-height:1.8!important;
}

.inPremiumContactForm .wpcf7-not-valid { border-color:#9b3f48!important; }
.inPremiumContactForm .wpcf7-not-valid-tip {
  margin-top:7px!important; color:#9b3f48!important; font-size:.65rem!important;
}

.inPremiumContactForm .wpcf7 form .wpcf7-response-output {
  margin:30px 0 0!important; padding:18px 20px!important;
  border:1px solid var(--premium-gold)!important;
  background:var(--premium-soft)!important;
  color:var(--premium-navy)!important; font-size:.72rem!important;
  line-height:1.8!important; text-align:center!important;
}

.inPremiumContactAfter {
  padding:105px 32px 55px; background:#fff;
}

.inPremiumContactAfter__panel {
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:60px; align-items:center; padding:clamp(48px,6vw,74px);
  background:var(--premium-navy); box-shadow:var(--premium-shadow);
}

.inPremiumContactAfter__en {
  margin:0 0 18px; color:var(--premium-gold);
  font-family:"Noto Serif JP",serif!important; font-size:.57rem; letter-spacing:.18em;
}

.inPremiumContactAfter__copy h2 {
  margin:0; color:#fff; font-family:"Noto Serif JP","Yu Mincho",serif!important;
  font-size:clamp(1.7rem,2.8vw,2.35rem); font-weight:500; line-height:1.6;
}

.inPremiumContactAfter__copy > p:last-child {
  margin:23px 0 0; color:rgba(255,255,255,.68);
  font-family:"Noto Sans JP",sans-serif!important; font-size:.74rem; line-height:1.95;
}

.inPremiumContactAfter__steps { display:grid; border-top:1px solid rgba(255,255,255,.15); }

.inPremiumContactAfter__steps > div {
  display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px;
  align-items:center; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.15);
}

.inPremiumContactAfter__steps span {
  color:var(--premium-gold); font-family:"Noto Serif JP",serif!important;
  font-size:.55rem; letter-spacing:.12em;
}

.inPremiumContactAfter__steps p {
  margin:0; color:rgba(255,255,255,.8);
  font-family:"Noto Sans JP",sans-serif!important; font-size:.72rem; line-height:1.7;
}

.inPremiumContactAfter__note {
  margin:24px 0 0; color:var(--premium-muted);
  font-family:"Noto Sans JP",sans-serif!important; font-size:.66rem;
  line-height:1.85; text-align:center;
}

@media screen and (max-width:1024px) {
  .inPremiumContactHero__frame {
    grid-template-columns:minmax(390px,.95fr) minmax(0,1.05fr);
    height:530px;
  }

  .inPremiumContactHero__summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inPremiumContactHero__summaryItem:nth-child(3) { border-top:1px solid var(--premium-border); border-left:0; }
  .inPremiumContactHero__summaryItem:nth-child(4) { border-top:1px solid var(--premium-border); }
}

@media screen and (max-width:900px) {
  .inPremiumContactGuide__layout,
  .inPremiumContactAfter__panel { grid-template-columns:1fr; }
}

@media screen and (max-width:767px) {
  .inPremiumContact__title {
    font-size:clamp(1.5rem,6.4vw,1.84rem); line-height:1.62;
  }

  .inPremiumContact__titlePhrase { display:inline; white-space:normal; }

  .inPremiumContactHero { padding:19px 16px 30px; }
  .inPremiumContactHero__frame { display:flex; height:auto; flex-direction:column; }
  .inPremiumContactHero__copy { min-height:440px; padding:50px 22px 42px; }
  .inPremiumContactHero__title { font-size:clamp(1.9rem,9vw,2.46rem); line-height:1.48; }
  .inPremiumContactHero__titleLine { white-space:normal; }
  .inPremiumContactHero__pcBreak { display:none; }
  .inPremiumContactHero__visual { height:auto; aspect-ratio:4/3; }
  .inPremiumContactHero__summary { grid-template-columns:1fr; }

  .inPremiumContactHero__summaryItem + .inPremiumContactHero__summaryItem,
  .inPremiumContactHero__summaryItem:nth-child(3),
  .inPremiumContactHero__summaryItem:nth-child(4) {
    border-top:1px solid var(--premium-border); border-left:0;
  }

  .inPremiumContactGuide,
  .inPremiumContactForm { padding:78px 17px 86px; }

  .inPremiumContactGuide__cards { grid-template-columns:1fr; }
  .inPremiumContactGuide__cards article + article {
    border-top:1px solid var(--premium-border); border-left:0;
  }

  .inPremiumContactForm__head { display:block; }
  .inPremiumContactForm__head > p { margin-top:15px; }

  .inPremiumContactForm__notice { grid-template-columns:1fr; gap:7px; }
  .inPremiumContactForm__embed { padding:28px 17px; }

  .inPremiumContactAfter { padding:72px 17px 39px; }
  .inPremiumContactAfter__panel { padding:42px 22px; }
}

.elementor-widget-html:has(.inPremiumContactPage) { margin:0!important; }
.elementor-element:has(> .elementor-widget-html .inPremiumContactPage) {
  margin:0!important; padding:0!important;
}/* End custom CSS */