.ContactPage {
  background-color: #e3ebf7;
  color: #003c8f;
  padding-bottom: 7.5rem /* 120px (基準16px) */;
}

.s .ContactPage {
  padding-bottom: 5rem /* 80px (基準16px) */;
}

.ContactPage-title {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  padding: 0 1.25rem /* 20px (基準16px) */;
}

.ContactPage-title h1 {
  font-weight: 400;
  font-size: min(6.25rem /* 100px (基準16px) */, 6.944vw /* 100px (基準1440px) */);
}

.s .ContactPage-title h1 {
  font-size: min(3.75rem /* 60px (基準16px) */, 16vw /* 60px (基準375px) */);
}

.ContactPage-title p {
  font-weight: bold;
  font-size: min(1.563rem /* 25px (基準16px) */, 1.736vw /* 25px (基準1440px) */);
}

.s .ContactPage-title p {
  font-size: min(1.125rem /* 18px (基準16px) */, 4.8vw /* 18px (基準375px) */);
}

.ContactPage-sub {
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  margin-top: 1.75rem /* 28px (基準16px) */;
}

.s .ContactPage-sub {
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.ContactPage-sub span {
  font-size: min(0.75rem /* 12px (基準16px) */, 0.833vw /* 12px (基準1440px) */);
}

.s .ContactPage-sub span {
  font-size: min(0.625rem /* 10px (基準16px) */, 2.667vw /* 10px (基準375px) */);
}

.ContactPage-inner {
  width: min(75rem /* 1200px (基準16px) */, 83.333vw /* 1200px (基準1440px) */);
  margin: 0 auto;
  margin-top: 3.75rem /* 60px (基準16px) */;
  background-color: #fff;
  border-radius: 1rem /* 16px (基準16px) */;
  padding: min(5rem /* 80px (基準16px) */, 5.556vw /* 80px (基準1440px) */)
    min(8.333vw /* 120px (基準1440px) */);
}

.s .ContactPage-inner {
  padding: min(2.5rem /* 40px (基準16px) */, 10.667vw /* 40px (基準375px) */)
    min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
}

.ContactPage-inner .ContactForm-Item:not(:first-child) {
  margin-top: 3.5rem /* 56px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-Item:not(:first-child) {
  margin-top: 2rem /* 32px (基準16px) */;
}

.ContactPage-inner .ContactForm-label {
  font-size: min(1.5rem /* 24px (基準16px) */, 1.667vw /* 24px (基準1440px) */);
  font-weight: bold;
  position: relative;
  padding-left: 2.5rem /* 40px (基準16px) */;
  display: flex;
  align-items: center;
  column-gap: 1.25rem /* 20px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-label {
  font-size: min(1.25rem /* 20px (基準16px) */, 5.333vw /* 20px (基準375px) */);
  padding-left: 2rem /* 32px (基準16px) */;
}

.ContactPage-inner .ContactForm-label::before {
  content: '';
  position: absolute;
  width: 1.688rem /* 27px (基準16px) */;
  height: 0.313rem /* 5px (基準16px) */;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../../../assets/common/image/icon-wave-b.svg);
  background-size: contain;
}

.s .ContactPage-inner .ContactForm-label::before {
  width: 1rem /* 16px (基準16px) */;
  height: 0.188rem /* 3px (基準16px) */;
}

.ContactPage-inner .ContactForm-label span {
  color: #fff;
  background-color: #e74242;
  font-weight: normal;
  font-size: min(0.75rem /* 12px (基準16px) */, 0.833vw /* 12px (基準1440px) */);
  padding: min(0.313rem /* 5px (基準16px) */, 0.347vw /* 5px (基準1440px) */)
    min(0.938rem /* 15px (基準16px) */, 1.042vw /* 15px (基準1440px) */);
  border-radius: 0.25rem /* 4px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-label span {
  font-size: min(0.625rem /* 10px (基準16px) */, 2.667vw /* 10px (基準375px) */);
}

.ContactPage-inner .wpcf7-radio {
  margin-top: 1rem /* 16px (基準16px) */;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem /* 20px (基準16px) */;
  color: #000;
}

.s .ContactPage-inner .wpcf7-radio {
  flex-direction: column;
  gap: 1rem /* 16px (基準16px) */;
}

.ContactPage-inner .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  width: min(20.5rem /* 328px (基準16px) */, 22.778vw /* 328px (基準1440px) */);
  flex-shrink: 0;
  margin-left: 0;
}

.s .ContactPage-inner .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  width: 100%;
}

.ContactPage-inner .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  column-gap: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
}

.s .ContactPage-inner .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label {
  column-gap: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
}

.ContactPage-inner .wpcf7-radio input[type='radio'] {
  width: min(1.75rem /* 28px (基準16px) */, 1.944vw /* 28px (基準1440px) */);
  height: min(1.75rem /* 28px (基準16px) */, 1.944vw /* 28px (基準1440px) */);
}

.s .ContactPage-inner .wpcf7-radio input[type='radio'] {
  width: min(1.75rem /* 28px (基準16px) */, 7.467vw /* 28px (基準375px) */);
  height: min(1.75rem /* 28px (基準16px) */, 7.467vw /* 28px (基準375px) */);
}

.ContactPage-inner .wpcf7-list-item-label {
  letter-spacing: -0.05em;
  font-size: min(1rem /* 16px (基準16px) */, 1.111vw /* 16px (基準1440px) */);
}

.s .ContactPage-inner .wpcf7-list-item-label {
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.ContactPage-inner .ContactForm-Item input[type='text'],
.ContactPage-inner .ContactForm-Item input[type='tel'],
.ContactPage-inner .ContactForm-Item input[type='email'],
.ContactPage-inner .ContactForm-Item textarea {
  width: 100%;
  padding: 1.25rem /* 20px (基準16px) */ 1rem /* 16px (基準16px) */;
  border-radius: 5px;
  border: 1px solid #ccc;
}

.s .ContactPage-inner .ContactForm-Item input[type='text'],
.s .ContactPage-inner .ContactForm-Item input[type='tel'],
.s .ContactPage-inner .ContactForm-Item input[type='email'],
.s .ContactPage-inner .ContactForm-Item textarea {
  padding: min(0.938rem /* 15px (基準16px) */, 4vw /* 15px (基準375px) */);
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.ContactPage-inner .ContactForm-Item ._sup {
  display: block;
  margin-top: 1rem /* 16px (基準16px) */;
  font-size: min(1rem /* 16px (基準16px) */, 1.111vw /* 16px (基準1440px) */);
}

.s .ContactPage-inner .ContactForm-Item ._sup {
  font-size: min(0.75rem /* 12px (基準16px) */, 3.2vw /* 12px (基準375px) */);
}

.ContactPage-inner .ContactForm-name {
  margin-top: 1rem /* 16px (基準16px) */;
}

.ContactPage-inner .ContactForm-name p {
  display: flex;
  column-gap: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
}

.ContactPage-inner .ContactForm-name input[type='text'] {
  width: min(15.625rem /* 250px (基準16px) */, 17.361vw /* 250px (基準1440px) */);
}

.s .ContactPage-inner .ContactForm-name input[type='text'] {
  width: min(8.75rem /* 140px (基準16px) */, 37.333vw /* 140px (基準375px) */);
}

.ContactPage-inner .ContactForm-sup {
  margin-top: 3.125rem /* 50px (基準16px) */;
  font-size: min(0.875rem /* 14px (基準16px) */, 0.972vw /* 14px (基準1440px) */);
  color: #000;
}

.s .ContactPage-inner .ContactForm-sup {
  margin-top: 2rem /* 32px (基準16px) */;
  font-size: min(0.75rem /* 12px (基準16px) */, 3.2vw /* 12px (基準375px) */);
}

.ContactPage-inner .ContactForm-confirm {
  width: min(21.875rem /* 350px (基準16px) */, 24.306vw /* 350px (基準1440px) */);
  margin: 0 auto;
  margin-top: 5rem /* 80px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-confirm {
  margin-top: 2.5rem /* 40px (基準16px) */;
  width: min(15.625rem /* 250px (基準16px) */, 66.667vw /* 250px (基準375px) */);
}

.ContactPage-inner .ContactForm-confirmButton,
.ContactPage-inner .ContactForm-ConfirmSubmitButton {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 350px;
  width: 100%;
  margin: 0 auto;
  background-image: linear-gradient(43deg, rgba(1, 14, 78, 1) 0%, rgba(48, 148, 223, 1) 100%);
  color: rgba(255, 255, 255, 1);
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50px;
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  padding: min(1.563rem /* 25px (基準16px) */, 1.736vw /* 25px (基準1440px) */) 0;
  box-shadow: 0 31px 43px rgba(0, 0, 0, 0.28);
}

.s .ContactPage-inner .ContactForm-confirmButton {
  font-size: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
  padding: min(1.563rem /* 25px (基準16px) */, 6.667vw /* 25px (基準375px) */);
}

.s .ContactPage-inner .ContactForm-ConfirmSubmitButton {
  padding: 0;
  font-size: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
}

.ContactPage-inner .ContactForm-confirmButton:hover,
.ContactPage-inner .ContactForm-ConfirmSubmitButton:hover {
  opacity: 0.7;
}

.ContactPage-inner .ContactForm-confirmButton::after,
.ContactPage-inner .ContactForm-submitbuttonwrap::after {
  position: absolute;
  content: '';
  width: min(5rem /* 80px (基準16px) */, 5.556vw /* 80px (基準1440px) */);
  height: min(2.25rem /* 36px (基準16px) */, 2.5vw /* 36px (基準1440px) */);
  background: url(../../../assets/common/image/icon-btn-arrow-b-right.png) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
}

.s .ContactPage-inner .ContactForm-confirmButton::after,
.s .ContactPage-inner .ContactForm-submitbuttonwrap::after {
  width: min(3.75rem /* 60px (基準16px) */, 16vw /* 60px (基準375px) */);
  height: min(1.875rem /* 30px (基準16px) */, 8vw /* 30px (基準375px) */);
}

.ContactPage-inner .ContactForm-confirmButton {
  filter: grayscale(50%);
  opacity: 0.5;
  pointer-events: none;
}

.ContactPage-inner .ContactForm-confirmButton._active {
  filter: none;
  opacity: 1;
  pointer-events: auto;
}

/* 確認画面 */

.ContactPage-inner .ContactForm-ConfirmTitle {
  text-align: center;
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
}

.ContactPage-inner .ContactForm-ConfirmTitle p:nth-child(1) {
  font-size: min(2rem /* 32px (基準16px) */, 2.222vw /* 32px (基準1440px) */);
}

.s .ContactPage-inner .ContactForm-ConfirmTitle {
  font-size: min(1.5rem /* 24px (基準16px) */, 6.4vw /* 24px (基準375px) */);
}

.s .ContactPage-inner .ContactForm-ConfirmTitle p:nth-child(1) {
  font-size: min(1.625rem /* 26px (基準16px) */, 6.933vw /* 26px (基準375px) */);
}

.ContactPage-inner .ContactForm-ConfirmContent {
  margin-top: 5rem /* 80px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-ConfirmContent {
  margin-top: 3.75rem /* 60px (基準16px) */;
}

.ContactPage-inner .ContactForm-ConfirmTitle span {
  font-size: min(0.875rem /* 14px (基準16px) */, 0.972vw /* 14px (基準1440px) */);
}

.s .ContactPage-inner .ContactForm-ConfirmTitle span {
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.ContactPage-inner .ContactForm-ConfirmValue {
  margin-top: 1.75rem /* 28px (基準16px) */;
  padding-left: min(2.813rem /* 45px (基準16px) */, 3.125vw /* 45px (基準1440px) */);
  color: #000;
}

.ContactPage-inner .ContactForm-ConfirmItem:not(:first-child) {
  margin-top: 3rem /* 48px (基準16px) */;
}

.s .ContactPage-inner .ContactForm-ConfirmItem:not(:first-child) {
  margin-top: 2rem /* 32px (基準16px) */;
}

.ContactPage-inner .ContactForm-ConfirmButtons {
  margin-top: 5rem /* 80px (基準16px) */;
  padding-top: 5rem /* 80px (基準16px) */;
  border-top: 1px solid #ccc;
}

.s .ContactPage-inner .ContactForm-ConfirmButtons {
  margin-top: 2rem /* 32px (基準16px) */;
  padding-top: 2.5rem /* 40px (基準16px) */;
}

.ContactPage-inner .ContactForm-ConfirmBackButton,
.ContactPage-completeButton {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: min(16.25rem /* 260px (基準16px) */, 18.056vw /* 260px (基準1440px) */);
  margin: 0 auto;
  color: rgba(0, 60, 143, 1);
  background: rgba(0, 60, 143, 0.11);
  border: 1px solid rgba(0, 60, 143, 1);
  border-radius: 50px;
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  padding: min(1.125rem /* 18px (基準16px) */, 1.25vw /* 18px (基準1440px) */);
  box-shadow: 0 18px 25px rgba(0, 0, 0, 0.08);
}

.ContactPage-inner .ContactForm-ConfirmBackButton::after,
.ContactPage-completeButton::after {
  position: absolute;
  content: '';
  width: min(3.125rem /* 50px (基準16px) */, 3.472vw /* 50px (基準1440px) */);
  height: min(1.563rem /* 25px (基準16px) */, 1.736vw /* 25px (基準1440px) */);
  background: url(../../../assets/common/image/icon-sub-arrow-b-right.png) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  margin: auto;
  left: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  transform: rotate(180deg);
  margin: auto;
}

.s .ContactPage-inner .ContactForm-ConfirmBackButton,
.s .ContactPage-completeButton {
  width: min(15.625rem /* 250px (基準16px) */, 66.667vw /* 250px (基準375px) */);
  font-size: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
  padding: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.s .ContactPage-inner .ContactForm-ConfirmBackButton::after,
.s .ContactPage-completeButton::after {
  width: min(2.5rem /* 40px (基準16px) */, 10.667vw /* 40px (基準375px) */);
  height: min(1.25rem /* 20px (基準16px) */, 5.333vw /* 20px (基準375px) */);
}

.ContactPage-inner .ContactForm-submitbuttonwrap {
  margin: 0 auto;
  margin-top: 1.75rem /* 28px (基準16px) */;
  position: relative;
  width: min(21.875rem /* 350px (基準16px) */, 24.306vw /* 350px (基準1440px) */);
  height: min(5rem /* 80px (基準16px) */, 5.556vw /* 80px (基準1440px) */);
}

.s .ContactPage-inner .ContactForm-submitbuttonwrap {
  width: min(15.625rem /* 250px (基準16px) */, 66.667vw /* 250px (基準375px) */);
  height: min(3.75rem /* 60px (基準16px) */, 16vw /* 60px (基準375px) */);
}

.s .ContactPage-inner .ContactForm-submitbuttonwrap p {
  height: 100%;
}
.s .ContactPage-inner .ContactForm-submitbuttonwrap input[type='submit'] {
  height: 100%;
}

/* 完了画面 */

.ContactPage-complete {
  width: min(75rem /* 1200px (基準16px) */, 83.333vw /* 1200px (基準1440px) */);
  margin: 0 auto;
}

.ContactPage-completeTitle {
  text-align: center;
  font-size: min(3.75rem /* 60px (基準16px) */, 4.167vw /* 60px (基準1440px) */);
}

.s .ContactPage-completeTitle {
  font-size: min(2.5rem /* 40px (基準16px) */, 10.667vw /* 40px (基準375px) */);
}

.ContactPage-completeTitle br._sp {
  display: none;
}

.s .ContactPage-completeTitle br._sp {
  display: block;
}

.ContactPage-completeMessage {
  font-size: min(1rem /* 16px (基準16px) */, 1.111vw /* 16px (基準1440px) */);
  text-align: center;
  line-height: 2;
  margin-top: 5rem /* 80px (基準16px) */;
}

.s .ContactPage-completeMessage {
  margin-top: 1.75rem /* 28px (基準16px) */;
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.ContactPage-completeButton._complete {
  display: block;
  margin-top: 6.25rem /* 100px (基準16px) */;
  width: min(20.438rem /* 327px (基準16px) */, 22.708vw /* 327px (基準1440px) */);
}

.s .ContactPage-completeButton._complete {
  margin-top: 2.5rem /* 40px (基準16px) */;
  width: min(18.75rem /* 300px (基準16px) */, 80vw /* 300px (基準375px) */);
}

.ContactPage-completeButton._complete::after {
  left: auto;
  right: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  transform: rotate(0);
}

.wpcf7-spinner {
  display: none !important;
}
