@charset "utf-8";
/* =====================
  セカンドページ共通
===================== */
.inner {
  width: 100vw;
  /* padding-inline: 5.333333333333333vw; */
  margin-inline: auto;
}
.h2-title {
  margin-left: 5.3333vw;
}

/* ==== メイン背景 ==== */
.main {
  background-color: #000;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAIAAABKoV4MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjFiNjVhNzliNCwgMjAyMi8wNi8xMy0yMjowMTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU5RkQ3OUY0QzA5NjExRURCOUY0Q0E5RkQzMkJDMUUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU5RkQ3OUY1QzA5NjExRURCOUY0Q0E5RkQzMkJDMUUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTlGRDc5RjJDMDk2MTFFREI5RjRDQTlGRDMyQkMxRTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTlGRDc5RjNDMDk2MTFFREI5RjRDQTlGRDMyQkMxRTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6L9m1yAAAAXUlEQVR42uzSMQoAMAhDUbGzo97/nE4NHXqBQl2+Q8EsKfhWRHS3nXH3zNT7LbE72qtKvxlI6J64gg12K7HBbiXIRz7y0Yd85KMP+chHH/KRjz7kIx99yH9ItgADALyekyWn14OsAAAAAElFTkSuQmCC');
  background-repeat: repeat;
}
.main::before {
  content: '';
  display: block;
  background-image: url('/assets/image/common/decoration_2x.png');
  width: 67.6vw;
  height: 112.53333333333333vw;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}
/* ==== MV ==== */
.main .mv {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  min-height: 46.666666666666664vw;
  position: relative;
}
.main .mv::after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('/assets/image/common/mv_deco_2x.png');
  width: 16.266666666666666vw;
  height: 15.733333333333333vw;
  position: absolute;
  bottom: -2.2666666666666666vw;
  right: 0;
  pointer-events: none;
}
.main .mv::after {
  width: 16.266666666666666vw !important;
  height: 15.733333333333333vw !important;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22121.415%22%20height%3D%22117.101%22%20viewBox%3D%220%200%20121.415%20117.101%22%3E%3Cg%20transform%3D%22translate(-2420.585%20-261.32)%22%3E%3Cpath%20d%3D%22M1283.3%2C580.236v-70.5L1210%2C580.027Z%22%20transform%3D%22translate(1258.696%20-201.814)%22%20fill%3D%22%23234060%22%20opacity%3D%220.7%22%2F%3E%3Cpath%20d%3D%22M709%2C519.657l-97.915%2C93.563h-23.5L709%2C496.119Z%22%20transform%3D%22translate(1833%20-234.799)%22%20fill%3D%22%23234060%22%20opacity%3D%220.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') !important;
}
/* ==== H1 ==== */
.main .mv .h1-title {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  padding-top: 17.8vw;
  padding-inline: 5.8vw;
}
.main .mv .h1-title > h1 {
  font-size: 3.466666666666667vw;
  font-weight: bold;
}
.main .mv .h1-title > span {
  color: var(--yellow);
  font-family: var(--title);
  font-size: 6.933333333333334vw;
  font-weight: bold;
}
.main .mv .h1-title {
  transform: translateX(0);
  opacity: 0;
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.main .mv .h1-title.on {
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  transition-property: transform, opacity, -webkit-clip-path;
  transition-property: transform, opacity, clip-path;
  transition-property: transform, opacity, clip-path, -webkit-clip-path;
  transform: translateX(0);
  opacity: 1;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.h2-title {
  transform: translateX(0);
  opacity: 0;
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.h2-title.on {
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 300ms;
  transition-property: transform, opacity, -webkit-clip-path;
  transition-property: transform, opacity, clip-path;
  transition-property: transform, opacity, clip-path, -webkit-clip-path;
  transform: translateX(0);
  opacity: 1;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* ==== ブレッド ==== */
.bread {
  position: absolute;
  bottom: -2.2em;
  padding-inline: 5.333333333333333vw;
}
.bread ul li {
  display: inline;
}
.bread ul li + li::before {
  content: '>';
  display: inline-block;
  margin-inline: 0.2em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
/* =====================
  フォーム
===================== */
/* ==== 背景 ==== */
.form-inner {
  background: var(--white);
  padding-top: 8.4vw;
  padding-bottom: 16vw;
  padding-inline: 4vw;
  margin-inline: auto;
  color: var(--black);
  position: relative;
  z-index: 2;
}
/* ==== プラポリリンク ==== */
.link {
  color: #98cae5;
  text-decoration: underline;
}
/* ==== フォームの説明文 ==== */
.form-inner > p {
  text-align: left;
  line-height: 1.8;
  letter-spacing: 0.03em;
  padding-inline: 0.5em;
}
/* ==== フォームステップ ==== */
.step {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 88vw;
  height: 6.8vw;
  margin-top: 8vw;
  margin-inline: auto;
}
/* ==== テーブルリセット ==== */
.form table {
  display: block;
}
.form thead {
  display: block;
}
.form tfoot {
  display: block;
}
.form tbody {
  display: block;
}
.form tr {
  display: block;
}
.form th {
  display: block;
}
.form td {
  display: block;
}
/* ==== フォーム全体の設定 ==== */
.form {
  padding-inline: 4vw;
  margin-inline: auto;
  margin-top: 8.5vw;
}
.form input[type='text'],
.form input[type='tel'],
.form input[type='url'],
.form input[type='email'] {
  width: 100%;
}
.form tr {
  border-bottom: 1px solid #e6e6e6;
}
.form th {
  vertical-align: middle;
  font-weight: bold;
}
.form td input,
.form td select,
.form td textarea {
  padding-block: 1em;
  padding-inline: 0.7em;
  background-color: #f0f0f0;
}
.form td textarea {
  padding-block: 1.9em;
}
.form th,
.form td {
  color: #111111;
}
.form th {
  padding-top: 7.5vw;
}
.form td {
  padding-bottom: 6vw;
  padding-top: 1.8em;
}
.form td,
.form textarea {
  width: 84vw;
}
.form textarea {
  min-height: 60vw;
}
.form .email-2 {
  margin-top: 1em;
}
.form .eg {
  padding-top: 0.3em;
}
/* 郵便番号エリア */
.form .post {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form .post .post-1 {
  width: 25.666666666666668vw;
}
.form .post .post-2 {
  width: 35.266666666666666vw;
}
.form .post .eg {
  padding-top: 0.5em;
}
.pc {
  display: none;
}
/* ==== 必須・任意の表示 ==== */
.form th::before {
  content: '任 意';
  color: #999999;
  font-size: 2.9vw;
  font-weight: 500;
  background: #ececec;
  padding-block: 1vw;
  padding-inline: 2.3vw;
  margin-right: 2vw;
  line-height: 1;
  text-align: center;
  display: inline-block;
}
.form .must th::before {
  content: '必 須';
  color: var(--white);
  background: var(--navy);
}
/* ==== プラポリチェック ==== */
.check {
  text-align: center;
}
input[type='checkbox'] {
  appearance: checkbox;
}
/* ==== ボタン ==== */
.form button {
  display: block;
  margin-inline: auto;
}

table th {
  text-align: left;
}

/* =====================
  入力内容を修正する
===================== */
.form button.form-back {
  font-size: 3.466666666666667vw;
  display: flex !important;
  align-items: center;
  gap: 1em;
  color: var(--blue);
  margin-top: 6.666666666666667vw;
  position: relative;
  left: -7.7vw;
}
.form button.form-back::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('../../image/common/back_2x.png');
  width: 10.8vw;
  height: 8.933333333333334vw;
}
