@charset "utf-8";
/* =====================
  セカンドページ共通
===================== */
.inner {
  width: 1300px;
  padding-inline: 60px;
  margin-inline: auto;
}
/* ==== メイン背景 ==== */
.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.png);
  width: 639px;
  height: 1092px;
  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: 500px;
  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.png');
  width: 222px;
  height: 214px;
  position: absolute;
  bottom: -20px;
  right: 0;
  pointer-events: none;
}
/* ==== H1 ==== */
.main .mv .h1-title {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  padding-top: 183px;
}
.main .mv .h1-title > h1 {
  font-size: 24px;
  font-weight: bold;
  margin-top: 10px;
}
.main .mv .h1-title > span {
  color: var(--yellow);
  font-family: var(--title);
  font-size: 85px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  right: 6px;
}

.main .mv .h1-title {
  transform: translateX(1rem);
  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(1rem);
  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.3em;
  left: 30.2px;
}
.bread ul li {
  display: inline;
  letter-spacing: 0.03em;
}
.bread ul li + li::before {
  content: '>';
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 0.3em;
}
/* =====================
  フォーム
===================== */
/* ==== 背景 ==== */
.form-inner {
  background: var(--white);
  width: 1180px;
  padding-top: 55px;
  padding-bottom: 120px;
  margin-top: 57px;
  margin-inline: auto;
  color: var(--black);
  position: relative;
  z-index: 2;
}
/* ==== プラポリリンク ==== */
.link {
  color: #98cae5;
  text-decoration: underline;
}
/* ==== フォームの説明文 ==== */
.form-inner > p {
  text-align: center;
  line-height: 2.2;
  letter-spacing: 0.02em;
}
/* ==== フォームステップ ==== */
.step {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 660px;
  height: 51px;
  margin-top: 53px;
  margin-inline: auto;
}
/* ==== フォーム全体の設定 ==== */
.form {
  width: 834px;
  margin-inline: auto;
  margin-top: 50px;
}
.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 {
  padding-left: 26px;
}
.form td input,
.form td select,
.form td textarea {
  padding: 1.5em;
  background-color: #f0f0f0;
}
.form th,
.form td {
  color: #111111;
  padding-block: 30px;
}
.form td,
.form textarea {
  width: 600px;
}
.form textarea {
  min-height: 240px;
}
.form .email-2 {
  margin-top: 1em;
}
.form .eg {
  padding-top: 0.3em;
}
/* 郵便番号エリア */
.form .post {
  display: flex;
  align-items: center;
}
.form .post .post-1 {
  width: 106px;
}
.form .post .post-2 {
  width: 160px;
}
.form .post span {
  margin-inline: 5px;
}
.form .post .eg {
  padding-top: 0;
  margin-left: 1em;
}
/* ==== 必須・任意の表示 ==== */
.form th::before {
  content: '任意';
  color: #999999;
  font-size: 14px;
  font-weight: 500;
  background: #ececec;
  padding-block: 5px;
  padding-inline: 10px;
  margin-right: 10px;
  letter-spacing: 0.3em;
}
.form .must th::before {
  content: '必須';
  color: var(--white);
  background: var(--navy);
}
/* ==== プラポリチェック ==== */
.check {
  text-align: center;
}
input[type='checkbox'] {
  appearance: checkbox;
}

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