@charset "UTF-8";

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

html {
  font-size: 16px;
}

body {
  -webkit-font-smoothing: antialiased;
  /* Webkit系ブラウザで適用 */
  -moz-osx-font-smoothing: grayscale;
  /* macOSで適用 */
  color: #333333;
  font-family: "Hina Mincho", "Noto Serif JP", serif;
  font-weight: 400;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}

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

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ol,
ul,
li {
  margin: 0;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/*-------------------------------------------------------要確認*/
/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type="radio"] {
  opacity: 0;
  position: absolute;
  width: 20px;
  height: 20px;
  margin: 0;
  z-index: -1;
}

input[type="checkbox"] {
  opacity: 0; /* 見た目は非表示 */
  position: absolute; /* スクリーン外には飛ばさない */
  width: 20px; /* 実サイズ確保 */
  height: 20px;
  margin: 0;
  z-index: 1; /* フォーカス可能に */
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  position: absolute;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.p-inquiry {
  padding-bottom: 2rem;
}

.p-inquiry__inner {
  padding-top: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-size: 1.125rem;
  gap: 1.25rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
  width: min(100%, 70.625rem);
}

.l-inner-large {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  width: 100%;
}

.l-inner-medium {
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  width: 100%;
}

.l-inner-small {
  margin-left: auto;
  margin-right: auto;
  max-width: 67.5rem;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  width: 100%;
}

.l-sec {
  padding: 3.75rem 0 5rem;
}

.l-sec01 {
  padding: 3.5rem 0 6.875rem;
}

.c-btn {
  background-color: transparent;
  background-image: url("../img/");
  background-position: center right 1.5em;
  background-repeat: no-repeat;
  background-size: 1.5rem 1.5rem;
  border: 1px solid #c7c7c7;
  color: #000;
  line-height: 1.2;
  max-width: 100%;
  min-height: 3.75rem;
  padding: 0 0.625rem;
  transition: 0.3s all;
  width: 13.75rem;
}

.c-btn span {
  display: block;
  font-size: 0.75rem;
}

.c-link {
  line-height: 1;
  position: relative;
}

.c-link::after {
  background: url(../img/common/link.svg) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: -0.9375rem;
  top: 0.3em;
  width: 0.625rem;
}

.p-contact {
  background-color: rgba(238, 252, 229, 0.5);
  padding-bottom: 6.875rem;
  padding-top: 5rem;
}

.p-contact__inner {
  margin-inline: auto;
  padding-inline: 1.5625rem;
  width: min(100%, 61.25rem);
}

.p-contact__title {
  color: #a87d49;
  font-size: 3.25rem;
  font-weight: 400;
  line-height: 1.3076923077;
  text-align: center;
}

.p-contact__form {
  margin-top: 3.25rem;
}

.p-contact__section--profile {
  margin-top: 1.25rem;
}

.p-contact__section--report {
  border-bottom: 1px solid #707070;
  padding-bottom: 2.0625rem;
}

.p-contact__content--flex {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.p-contact__heading {
  font-size: 1.25rem;
  line-height: 2;
}

.p-contact__img {
  width: 130px;
  margin: 0 auto;
  padding-top: 20px;
}

.p-contact__note {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  padding-left: 1em;
  text-indent: -1em;
}

.p-contact__list {
  margin-top: 1.75rem;
}

.p-contact__list-test {
  align-items: center;
  display: flex;
  font-size: 1.0625rem;
}

.p-contact__required {
  align-items: center;
  background-color: #da6a6a;
  border-radius: 0.1875rem;
  color: #fff;
  display: flex;
  font-size: 1.0625rem;
  height: 1.6875rem;
  justify-content: center;
  width: 3.125rem;
}

.p-contact__wrap {
  align-items: center;
  display: flex;
}

.p-contact__wrap:not(:first-child) {
  margin-top: 1.75rem;
}

.p-contact__label {
  display: flex;
  font-size: 1.1875rem;
  gap: 0.48125rem;
  width: 32%;
}

.p-contact__input-wrap {
  background-color: #c7c7c7;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  padding: 0.3125rem 0.8125rem;
  position: relative;
  width: 68%;
}

.p-contact__select,
.p-contact__input {
  width: 100%;
}

.p-contact__input-wrap--triangle::after {
  -webkit-transform: translateY(-50%);
  border-color: #ffcd58 transparent transparent transparent;
  border-style: solid;
  border-width: 13.9px 8px 0 8px;
  content: "";
  position: absolute;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
}

.p-contact__input-wrap--age {
  align-items: center;
  display: flex;
  width: 10%;
}

.p-contact__input-wrap--age input {
  width: 60%;
}

.p-contact__input-wrap--couple {
  align-items: center;
  display: flex;
  gap: 0.9375rem;
  width: 28%;
}

.p-contact__input-wrap--couple input {
  width: 42%;
}

.p-contact__input::-webkit-input-placeholder {
  color: #fff;
  font-family: "Hina Mincho", "Noto Serif JP", serif;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.p-contact__input:-ms-input-placeholder {
  color: #fff;
  font-family: "Hina Mincho", "Noto Serif JP", serif;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.p-contact__input::-ms-input-placeholder {
  color: #fff;
  font-family: "Hina Mincho", "Noto Serif JP", serif;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.p-contact__input::placeholder {
  color: #fff;
  font-family: "Hina Mincho", "Noto Serif JP", serif;
  font-size: 1.125rem;
  line-height: 1.3333333333;
}

.p-contact__radio {
  display: flex;
  gap: 0.9375rem;
}

.p-contact__radio input + span {
  cursor: pointer;
  display: block;
  font-size: 1.125rem;
  line-height: 2.0555555556;
  padding-left: 1.5625rem;
  position: relative;
}

.p-contact__radio input + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.9375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.9375rem;
}

.p-contact__radio input + span::after {
  -webkit-transform: translateY(-50%);
  background: #000;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 0.4375rem;
  left: 0.25rem;
  opacity: 0;
  padding: 0.125rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  width: 0.4375rem;
}

.p-contact__radio input:checked + span::after {
  opacity: 1;
}

.p-contact__textarea {
  height: auto;
  min-height: 10.9375rem;
  width: 100%;
}

.p-contact__wrap--textarea {
  align-items: start;
}

.p-contact__textarea::-webkit-input-placeholder {
  color: #fff;
  font-size: 1.125rem;
}

.p-contact__textarea:-ms-input-placeholder {
  color: #fff;
  font-size: 1.125rem;
}

.p-contact__textarea::-ms-input-placeholder {
  color: #fff;
  font-size: 1.125rem;
}

.p-contact__textarea::placeholder {
  color: #fff;
  font-size: 1.125rem;
}

.p-contact__rules {
  margin-top: 2.0625rem;
}

.p-contact__rules-content {
  background-color: #fff;
  border: 1px solid #707070;
  font-size: 1.0625rem;
  height: 10.9375rem;
  line-height: 2.1764705882;
  overflow: auto;
  padding: 0.75rem 0.9375rem;
}

.p-contact__agreement {
  margin-top: 2.75rem;
  position: relative;
  text-align: center;
}

.p-contact__agreement input + label {
  cursor: pointer;
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.85;
  padding-left: 1.875rem;
  position: relative;
}

.p-contact__agreement input + label::before {
  background: #dfdfdf;
  border: 1px solid #fff;
  content: "";
  display: block;
  height: 1.25rem;
  left: 0;
  position: absolute;
  top: 0.625rem;
  width: 1.25rem;
}

.p-contact__agreement input + label::after {
  -webkit-transform: rotate(-45deg);
  border-bottom: 0.1875rem solid #000;
  border-left: 0.1875rem solid #000;
  content: "";
  display: block;
  height: 0.5rem;
  left: 0.1875rem;
  margin-top: -0.125rem;
  opacity: 0;
  position: absolute;
  top: 1rem;
  transform: rotate(-45deg);
  transition: 0.3s;
  width: 0.875rem;
}

.p-contact__agreement input:checked + label::after {
  opacity: 1;
}

.p-contact__submit {
  margin-top: 1.375rem;
  text-align: center;
}

.p-contact__button {
  background-color: #7b9f8f;
  border-radius: 3.25rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 1.5rem;
  height: 3.6875rem;
  line-height: 1.2916666667;
  width: 21.75rem;
}

.p-marriage-step {
  background-color: rgba(238, 252, 229, 0.5);
  padding-top: 3.75rem;
}

.p-marriage-step__inner {
  margin-inline: auto;
  padding-inline: 1.5625rem;
  width: min(100%, 58.125rem);
}

.p-marriage-step__title {
  color: #a87d49;
  font-size: 3rem;
  line-height: 1.3076923077;
  text-align: center;
}

.p-marriage-step__list {
  margin-inline: auto;
  margin-top: 3.75rem;
  width: min(100%, 53.75rem);
}

.p-marriage-step__item {
  border: 1px solid #a87d49;
  padding: 1.5625rem 2.5rem 1.5625rem 2.5rem;
  position: relative;
  background: #fff;
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
}

.p-marriage-step__item:not(:first-child) {
  margin-top: 2.5rem;
}

.p-marriage-step__item:not(:last-child)::before {
  -webkit-transform: translateX(-50%);
  border-color: #5fbcf9 transparent transparent transparent;
  border-style: solid;
  border-width: 1.25rem 1.25rem 0 1.25rem;
  bottom: -30px;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.p-marriage-step__number {
  -webkit-transform: translate(-50%, -50%);
  background-color: #5fbcf9;
  border: 1px solid #5fbcf9;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: 1.25rem;
  height: 3.75rem;
  left: 0;
  place-content: center;
  position: absolute;
  text-align: center;
  top: 0;
  transform: translate(-50%, -50%);
  width: 3.75rem;
}

.p-marriage-step__text {
  font-size: 1.1875rem;
  line-height: 1.9473684211;
}

.p-marriage-step__note {
  font-size: 1.125rem;
  line-height: 2;
  padding-left: 1em;
  text-indent: -1em;
}

.p-marriage-step__privacy {
  margin-top: 1.25rem;
}

.p-marriage-step__privacy-title {
  font-size: 1.125rem;
  line-height: 2;
}

.p-marriage-step__privacy-text {
  font-size: 1.125rem;
  line-height: 2;
}

.p-mv {
  aspect-ratio: 1280/800;
  background: url(../img/top/mv-img.jpg) center center/cover no-repeat;
  height: auto;
  position: relative;
  width: 100%;
  height: 100vh;
}

.p-mv__inner {
  height: 100%;
  width: 100%;
}

.p-mv__content {
  -webkit-transform: translate(-50%, -50%);
  align-items: center;
  backdrop-filter: blur(28px);
  background: rgba(255, 255, 255, 0.38);
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 50%;
  padding-bottom: 1.0625rem;
  padding-top: 1.4375rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(100%, 70rem);
}

.p-mv__logo img {
  height: 5rem;
  width: min(100%, 41.25rem);
}

.p-mv__title {
  color: #1a2f63;
  display: block;
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1.2181818182;
}

.p-mv__text {
  font-size: 1.5rem;
  line-height: 1.2916666667;
  margin-top: 1.25rem;
}

.p-modal {
  background: rgba(255, 255, 255, 0.7);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.p-modal__block {
  -webkit-transform: translate(-50%, -50%);
  background-color: #feaebb;
  border-radius: 0.625rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 27.5rem;
}

.p-modal__wrap {
  padding: 3.75rem 0 2.5rem;
  position: relative;
}

.p-pageTop {
  bottom: 1.875rem;
  cursor: pointer;
  position: fixed;
  right: 1.875rem;
  z-index: 50;
}

.p-pageTop__wrap {
  position: relative;
}

.p-pageTop__wrap img {
  width: 3.125rem;
}

.p-pageTop__wrap img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}

.p-slider {
  height: 100%;
  width: 100%;
}

.p-slider .swiper-slide {
  overflow: hidden;
}

.p-slider .slide-img {
  height: 100%;
}

.p-slider .slide-img img {
  width: 100%;
}

.p-slider img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

.p-slider .swiper-slide-active .slide-img,
.p-slider .swiper-slide-duplicate-active .slide-img,
.p-slider .swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both;
}

.p-slider .slide-img img {
  display: block;
}

.p-reviews {
  background-color: rgba(238, 252, 229, 0.5);
  overflow: hidden;
  padding-bottom: 12.6875rem;
  padding-top: 5rem;
  position: relative;
}

.p-reviews::before {
  -webkit-transform: rotate(45deg);
  background: url(../img/top/flower-icon01.png) center center/contain no-repeat;
  content: "";
  height: 27.875rem;
  left: -7%;
  position: absolute;
  top: 0.625rem;
  transform: rotate(45deg);
  width: 36.796875%;
  z-index: 0;
  opacity: 0.6;
}

.p-reviews::after {
  -webkit-transform: scaleX(-1) rotate(112deg);
  background: url(../img/top/flower-icon02.png) center center/contain no-repeat;
  bottom: 3%;
  content: "";
  height: 24.1875rem;
  position: absolute;
  right: -7%;
  transform: scaleX(-1) rotate(112deg);
  width: 37.03125%;
  z-index: 0;
  opacity: 0.6;
}

.p-reviews__inner {
  margin-inline: auto;
  padding-inline: 1.5625rem;
  width: min(100%, 71rem);
}

.p-reviews__message {
  text-align: center;
}

.p-reviews__heading {
  color: #a87d49;
  font-size: 3.25rem;
  font-weight: 400;
  line-height: 1.3076923077;
  z-index: 100;
  position: relative;
}

.p-reviews__list {
  margin-inline: auto;
  margin-top: 5rem;
  width: min(100%, 67.5rem);
}

.p-reviews__item {
  background: #fff;
  border: 1px dotted #a87d49;
  border-radius: 8px;
  box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  position: relative;
  z-index: 1;
}

/* タイトルやトグル関連（上） */
.p-reviews__toggle {
  align-items: center;
  cursor: pointer;
  display: flex;
  padding-right: 1.875rem;
  position: relative;
  width: 100%;
}

/* アイコンの共通スタイル +と- */
.p-reviews__toggle::before,
.p-reviews__toggle::after {
  -webkit-transform: translateY(-50%);
  background: #a87d49;
  content: "";
  height: 0.1875rem;
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
  width: 1.25rem;
}

/* 縦線（＋の形にする） */
.p-reviews__toggle::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

/* アコーディオン開閉時のアイコン変更 */
.p-reviews__item.is-open .p-reviews__toggle::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
}

.p-reviews__title-wrap {
  align-items: center;
  display: flex;
  width: 100%;
}

.p-reviews__info {
  display: flex;
  flex-direction: column;
  width: 36%;
}

.p-reviews__user {
  font-size: 1.25rem;
}

.p-reviews__date {
  font-size: 1.125rem;
}

.p-reviews__title {
  font-size: 1.375rem;
}

/* アイコンとテキスト（下） */
.p-reviews__content {
  margin-top: 1.875rem;
}

.p-reviews__body {
  border-top: 1px solid #a87d49;
  display: flex;
  gap: 1.25rem;
  padding-top: 1.875rem;
}

.p-reviews__img {
  display: flex;
  flex-shrink: 0;
  gap: 0.625rem;
}

.p-reviews__body img {
  -o-object-fit: cover;
  border-radius: 50%;
  height: 6.25rem;
  object-fit: cover;
  width: 6.25rem;
}

.p-reviews__text {
  font-size: 0.9375rem;
  line-height: 2.2;
}

.p-reviews__button {
  margin-top: 3.8125rem;
  position: relative;
  text-align: center;
  z-index: 2;
}

.p-reviews__btn {
  background-color: #7b9f8f;
  border-radius: 3.25rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.2916666667;
  padding-bottom: 0.75rem;
  padding-top: 0.75rem;
  transition: background-color 0.3s;
  width: min(100%, 21.75rem);
}

/* 並び替えボタンのレイアウト */
.p-reviews__sort {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  margin-bottom: 7.5rem;
  margin-top: 3.75rem;
  position: relative;
  z-index: 1;
}

.p-reviews__sort-title {
  font-size: 1.25rem;
}

.p-reviews__sort-wrap {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

/* ドロップダウンボタン */
.p-reviews__dropBtn {
  background-color: #96c3af;
  border: 1px solid #fff;
  border-radius: 0.375rem;
  color: #fff;
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  transition: background-color 0.2s ease;
}

/* ホバー時 */
.p-reviews__dropBtn:hover {
  background-color: #fff;
  border-color: #7b9f8f;
  color: #7b9f8f;
}

/* ドロップダウンメニューのスタイル */
.p-reviews__dropdown-content {
  background-color: #fff;
  border-radius: 0.375rem;
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.15);
  display: none;
  overflow: hidden;
  position: absolute;
  z-index: 10;
}

/* ドロップダウンのボタン */
.p-reviews__dropdown-content button {
  color: #000;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.5rem 0.625rem;
  text-align: left;
  transition: background-color 0.2s ease;
  width: 100%;
}

/* ホバー時 */
.p-reviews__dropdown-content button:hover {
  background-color: #f1f1f1;
}

/* ホバー時にドロップダウン表示 */
.p-reviews__dropdown:hover .p-reviews__dropdown-content {
  display: block;
}

.u-sp {
  display: none;
}

@media screen and (max-width: 1300px) {
  html {
    font-size: 1.2307692308vw;
  }
}

@media screen and (max-width: 1080px) {
  .p-marriage-step__item:not(:last-child)::before {
    bottom: -20px;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }

  a[href^="tel:"] {
    pointer-events: all;
  }

  .p-inquiry {
    padding-block: 2.5rem;
  }

  .p-inquiry__inner {
    font-size: 0.875rem;
  }

  .l-inner-large {
    max-width: 1330px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .l-inner-medium {
    max-width: 1330px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .l-inner-small {
    max-width: 1330px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .l-sec {
    padding: 5rem 0 6.25rem;
  }

  .l-sec01 {
    padding: 4.5rem 0 5.75rem;
  }

  .p-contact {
    padding-block: 3.75rem;
    padding-top: 2.5rem;
  }

  .p-contact__inner {
    padding-inline: 1.25rem;
    width: min(100%, 40rem);
  }

  .p-contact__title {
    font-size: 1.75rem;
    line-height: 1.5714285714;
  }

  .p-contact__form {
    margin-top: 2.625rem;
  }

  .p-contact__section--profile {
    margin-top: 2.0625rem;
  }

  .p-contact__content--flex {
    align-items: start;
    flex-direction: column;
  }

  .p-contact__list {
    margin-top: 1.25rem;
  }

  .p-contact__required {
    font-size: 0.875rem;
    height: 1.5625rem;
    line-height: 2.6428571429;
    width: 2.5rem;
  }

  .p-contact__wrap {
    align-items: start;
    flex-direction: column;
    margin-top: initial;
  }

  .p-contact__wrap:not(:first-child) {
    margin-top: 0.9375rem;
  }

  .p-contact__label {
    font-size: 1.125rem;
    gap: 0.25rem;
    width: 100%;
  }

  .p-contact__input-wrap {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.3125rem;
    width: 100%;
  }

  .p-contact__input-wrap--age {
    width: 23%;
  }

  .p-contact__input-wrap--couple {
    width: 66%;
  }

  .p-contact__input::-webkit-input-placeholder {
    font-size: 1rem;
    line-height: 1.5;
  }

  .p-contact__input:-ms-input-placeholder {
    font-size: 1rem;
    line-height: 1.5;
  }

  .p-contact__input::-ms-input-placeholder {
    font-size: 1rem;
    line-height: 1.5;
  }

  .p-contact__input::placeholder {
    font-size: 1rem;
    line-height: 1.5;
  }

  .p-contact__radio {
    margin-top: 0.6875rem;
  }

  .p-contact__radio--column {
    flex-direction: column;
    gap: 0.625rem;
  }

  .p-contact__radio input + span {
    display: inline-block;
    font-size: 1rem;
    line-height: 2;
  }

  .p-contact__textarea {
    min-height: 18.625rem;
  }

  .p-contact__rules {
    margin-top: 1.375rem;
  }

  .p-contact__rules-content {
    font-size: 0.875rem;
    line-height: 1.9285714286;
    margin-top: 0.875rem;
    padding: 0.625rem 0.4375rem;
  }

  .p-contact__agreement {
    margin-top: 2.4375rem;
  }

  .p-contact__agreement input + label {
    font-size: 1rem;
    line-height: 2.3125;
  }

  .p-contact__button {
    width: 20.9375rem;
  }

  .p-marriage-step {
    padding-top: 1.875rem;
  }

  .p-marriage-step__inner {
    padding-inline: 1.25rem;
    width: min(100%, 40rem);
  }

  .p-marriage-step__title {
    font-size: 1.5625rem;
    line-height: 1.6;
  }

  .p-marriage-step__list {
    width: min(100%, 40rem);
  }

  .p-marriage-step__item {
    padding: 0.625rem 0.625rem 0.625rem 2.1875rem;
  }

  .p-marriage-step__item:not(:last-child)::before {
    bottom: -35px;
  }

  .p-marriage-step__number {
    font-size: 1.375rem;
    height: 3.125rem;
    left: 2%;
    top: -6%;
    width: 3.125rem;
  }

  .p-marriage-step__text {
    font-size: 1.125rem;
    line-height: 2;
  }

  .p-marriage-step__note {
    font-size: 1rem;
    line-height: 2;
  }

  .p-marriage-step__privacy-title {
    font-size: 1rem;
    line-height: 2;
  }

  .p-marriage-step__privacy-text {
    font-size: 1rem;
    line-height: 2;
  }

  .p-mv {
    height: 80vh;
  }

  .p-mv__content {
    width: 85%;
  }

  .p-mv__logo img {
    height: 2.0625rem;
    width: min(100%, 17.125rem);
  }

  .p-mv__title {
    font-size: 3rem;
    line-height: 1.2;
    margin-top: 0.4375rem;
  }

  .p-mv__text {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    margin-top: 0.4375rem;
    text-align: center;
  }

  .p-modal__block {
    width: 80%;
  }

  .p-modal__wrap {
    padding: 2.5rem 0 1.875rem;
  }

  .p-pageTop {
    bottom: 1.25rem;
    right: 1.5625rem;
  }

  .p-reviews {
    padding-bottom: 5.1875rem;
    padding-top: 2.1875rem;
  }

  .p-reviews::before {
    -webkit-transform: rotate(-5deg);
    background: url(../img/top/flower-icon-sp01.png) center center/contain
      no-repeat;
    height: 10.25rem;
    left: initial;
    right: -2%;
    top: 0.6%;
    transform: rotate(-5deg);
    width: 31.2%;
  }

  .p-reviews::after {
    -webkit-transform: scaleX(1) rotate(100deg);
    background: url(../img/top/flower-icon-sp02.png) center center/contain
      no-repeat;
    bottom: 0.2%;
    height: 9.25rem;
    left: -13%;
    right: initial;
    transform: scaleX(1) rotate(100deg);
    width: 42.9333333333%;
  }

  .p-reviews__inner {
    padding-inline: 1.25rem;
    width: min(100%, 37.5rem);
  }

  .p-reviews__heading {
    font-size: 1.75rem;
    line-height: 1.5357142857;
  }

  .p-reviews__list {
    margin-top: 4.375rem;
  }

  .p-reviews__item {
    padding: 1.75rem 0.625rem 1.5625rem;
  }

  .p-reviews__toggle::before,
  .p-reviews__toggle::after {
    height: 0.1875rem;
    width: 1rem;
  }

  .p-reviews__title-wrap {
    flex-direction: column;
    width: 100%;
  }

  .p-reviews__info {
    width: 100%;
  }

  .p-reviews__user {
    font-size: 1rem;
  }

  .p-reviews__date {
    font-size: 0.875rem;
  }

  .p-reviews__title {
    font-size: 1rem;
    margin-top: 0.625rem;
  }

  .p-reviews__content {
    margin-top: 0.625rem;
  }

  .p-reviews__body {
    align-items: center;
    flex-direction: column;
    gap: 0.625rem;
    padding-top: 1.25rem;
  }

  .p-reviews__body img {
    height: 5rem;
    width: 5rem;
  }

  .p-reviews__text {
    font-size: 0.6875rem;
    line-height: 2;
  }

  .p-reviews__button {
    margin-top: 2.03125rem;
  }

  .p-reviews__btn {
    font-size: 0.9375rem;
    line-height: 1.2;
    padding-bottom: 0.625rem;
    padding-top: 0.625rem;
    width: min(100%, 13.8125rem);
  }

  .p-reviews__sort {
    flex-direction: column;
    margin-bottom: initial;
    margin-top: 2.5rem;
  }

  .p-reviews__sort-title {
    font-size: 1.125rem;
  }

  .p-reviews__sort-wrap {
    flex-direction: column;
    gap: 0.3125rem;
    width: min(100%, 9.375rem);
  }

  .p-reviews__dropBtn {
    font-size: 0.875rem;
    width: 100%;
  }

  .p-reviews__dropdown {
    width: 100%;
  }

  .p-reviews__dropdown-content button {
    font-size: 0.875rem;
    padding: 0.375rem 0.5rem;
  }

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }
}

@media screen and (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

@media (any-hover: hover) {
  .c-btn:hover {
    color: #fff;
    transition: 0.3s all;
  }

  .p-pageTop__wrap:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }

  .p-pageTop__wrap:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }

  .p-reviews__btn:hover {
    background-color: #96c3af;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.br-sp {
  display: none;
}

nav ul {
  width: 20%;
  text-align: center;
  margin-left: auto;
}

.nav_logo {
  width: 100%;
}

.nav_logo:hover {
  opacity: 0.5;
}

.nav_touroku {
  padding: 20px;
  background-color: #7b9f8f;
  color: #fff;
}

/*登録ボタンホバー
.nav_touroku:hover {
  opacity: 0.5;
}
*/
.p-tokyopoint {
  text-decoration: underline;
  color: #1a2f63;
}

@media (max-width: 600px) {
  .nav_menu {
    width: 100%;
  }

  .nav_touroku {
    font-size: 0.7rem;
    padding: 8px;
  }

  .br-sp {
    display: block;
  }

  nav ul {
    margin: auto;
    width: 100%;
  }

  nav ul li {
    display: table-cell;
    min-width: 30px;
  }

  nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
  }

  nav ul {
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    text-align: center;
    margin-left: auto;
  }

  nav ul li {
    display: table-cell;
    min-width: 120px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.thanks_pege {
  text-align: center;
}

.thanks_btn {
  border: 1px solid #ccc;
  padding: 4px;
}

/* 0331追記 */
.p-reviews__title_0331 {
  font-size: 2.5rem;
  margin: 0 auto;
}

@media (max-width: 600px) {
  .p-reviews__title_0331 {
    font-size: 2rem;
    margin: 0 auto;
  }
}

/*# sourceMappingURL=sourcemaps/style.css.map */
