@charset "UTF-8";
:root {
 --color_how-to-purchase: #d94c6e;
 --color_how-to-purchase_arrow: var(--color_how-to-purchase);
 --color_cta_emphasis: #da4068;
 --color_cta: #0c9c00;
 --space_layout_large: var(--space_2xl);
 --space_layout_small: var(--space_default);
}
@media screen and (min-width: 768px) {
 :root {
  --space_layout_large: var(--space_5xl);
  --space_layout_small: var(--space_default);
 }
}

body {
 color: #323232;
 font-family: "YuGothic", "游ゴシック", "Helvetica", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
 -webkit-font-smoothing: auto;
}

@media screen and (min-width: 768px) {
 main {
  background: #f4f6f9 url(../image/background.webp) center 146px repeat-y;
 }
}

.cta-unit__heading {
 display: none;
 --cta-unit_heading_tel: var(--color_cta_emphasis);
 --cta-unit_heading_mail: var(--color_cta);
}

.cta-button {
 --cta-button_background: var(--color_cta);
 --cta-button_background_emphasis: #da4068;
 --cta-button_color: #fff;
}

.global-navigation {
 --global-navigation_border-color: #323232;
 --global-navigation_background: #fcf2f5;
 --global-navigation_icon-color: #d94c6e;
 --global-navigation_hamburger-button_border: 1px solid #323232;
}
:where(.global-navigation--modal) .global-navigation-main--many {
 --_column: 3;
}

.footer {
 --footer_background: #d94c6e;
}

.section {
 padding-bottom: var(--space_layout_large);
 background-color: #f4f6f9;
}
@media screen and (min-width: 768px) {
 .section {
  background: unset;
 }
}
.section__inner {
 margin-inline: auto;
 max-width: 1000px;
}
.section__title {
 margin-bottom: var(--space_sm);
 font-size: min(6.5vw, 1.75em);
 font-weight: bold;
 line-height: 1.3;
}
@media print, screen and (min-width: 992px) {
 .section__title {
  font-size: 2em;
 }
}
.section__title-text--small {
 font-size: 0.66em;
}
.section__overview, .section__overview--center {
 margin-bottom: var(--space_sm);
}
@media print, screen and (min-width: 768px) {
 .section__overview, .section__overview--center {
  margin-bottom: var(--space_md);
 }
}
.section__overview--center {
 text-align: center;
}
.section__overview-unit + .section__overview-unit {
 margin-top: 1em;
}

.contact {
 --contact_border: unset;
 --contact_background: #fff;
 --contact_title_color: #323232;
}
.contact__main {
 padding-top: var(--space_xs);
 position: relative;
 border: 2px solid #d94c6e;
 border-radius: unset;
}
.contact__inner {
 margin-top: var(--space_md);
}
.contact__title {
 position: absolute;
 top: -0.8em;
 left: 50%;
 transform: translateX(-50%);
 width: max-content;
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-weight: 600;
 font-feature-settings: normal;
 letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
 .contact__title {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.contact__title--strong {
 padding-inline: var(--space_2xs);
 background: linear-gradient(0deg, #fff 0%, #f4f6f9 100%);
}
.contact__title--small {
 padding-top: 2px;
 font-size: var(--font-size_md);
}
@media screen and (min-width: 768px) {
 .contact__title--small {
  font-size: var(--font-size_3lg);
 }
}
.contact__campaign {
 text-align: center;
 font-size: clamp(1rem, 0.732rem + 1.19vw, 1.625rem);
}

.contact-top {
 --contact-top_background: #faf7ef;
}
@media screen and (min-width: 768px) {
 .contact-top {
  padding-block: var(--space_lg);
 }
}
.contact-top__contents-affiliate {
 padding-top: unset !important;
}
@media screen and (min-width: 768px) {
 .contact-top__contents .contact-section {
  padding: var(--space_4xl) var(--space_sm) var(--space_xl);
 }
}

.contact-section {
 padding-top: var(--space_2xl);
}
@media screen and (min-width: 768px) {
 .contact-section {
  padding-top: 72px;
 }
}
.contact-section .cta-button--emphasis {
 position: relative;
 overflow: hidden;
 animation: fuwafuwa 3s ease-in-out infinite;
 scale: 1;
}
@keyframes fuwafuwa {
 0% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(-10px);
 }
 100% {
  transform: translateY(0);
 }
}
.contact-section .cta-button--emphasis::after {
 content: "";
 animation: 3.5s 0s shine linear infinite;
 background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
 height: 100%;
 left: -100%;
 position: absolute;
 top: 0;
 transform: skewX(-25deg);
 width: 50%;
}
@keyframes shine {
 20% {
  left: 160%;
 }
 100% {
  left: 160%;
 }
}
.contact-section__banner-area {
 margin-top: var(--space_sm);
}

.categories-modal {
 --categories-modal_main-color: #d94c6e;
 --categories-modal_sub-color: #fcf2f5;
}

.main-visual-a {
 width: 100%;
 position: relative;
 background: url(../../assets/image/mv-pct-bg.webp) repeat-x top center/auto 110%;
}
@media screen and (min-width: 768px) {
 .main-visual-a {
  background: url(../../assets/image/mv-pct-bg.webp) repeat-x top center/auto 100%;
 }
}
.main-visual-a__unit {
 margin-inline: auto;
 max-width: 1200px;
}
@media screen and (min-width: 768px) {
 .main-visual-a__unit {
  position: relative;
 }
}
.main-visual-a__text img {
 display: block;
 width: 100%;
 object-fit: cover;
 position: relative;
 z-index: 1;
}
.main-visual-a__human {
 width: 100%;
 height: 50%;
 position: absolute;
 bottom: 6%;
 left: 0;
 overflow: hidden;
 box-sizing: border-box;
}
@media screen and (min-width: 768px) {
 .main-visual-a__human {
  height: 84%;
  bottom: 11.5%;
  right: 0%;
  overflow: hidden;
  box-sizing: border-box;
 }
}
.main-visual-a__human picture {
 display: inline;
}
.main-visual-a__human img {
 position: absolute;
 display: block;
 object-fit: cover;
 width: auto;
 height: 120%;
 left: 0;
 top: 0%;
 z-index: 0;
 filter: drop-shadow(-2px 0px 5px rgba(160, 160, 160, 0.3));
}
@media screen and (min-width: 768px) {
 .main-visual-a__human img {
  height: 115%;
  right: 10%;
  left: unset;
 }
}

.main-visual-b__text img {
 width: 100%;
 height: auto;
}

.worries {
 padding-top: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .worries {
  padding-top: var(--space_lg);
 }
}
.worries__inner {
 display: grid;
 gap: var(--space_xs);
 text-align: center;
}
@media screen and (min-width: 768px) {
 .worries__inner {
  gap: var(--space_sm);
 }
}
.worries__title-text {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-size: clamp(1.438rem, 1.382rem + 0.25vw, 1.5rem);
}
@media screen and (max-width: 374.98px) {
 .worries__title-text {
  font-size: var(--font-size_3md);
 }
}
@media screen and (min-width: 768px) {
 .worries__title-text {
  font-size: var(--font-size_xl);
 }
}
.worries__title-text--strong {
 font-size: 1.2em;
}
.worries__list {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .worries__list {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space_sm);
 }
}
.worries__item {
 background: #e2ebf3;
 padding: var(--space_xs);
}
.worries__item-text {
 padding-bottom: var(--space_2xs);
 font-size: var(--font-size_sm);
 line-height: 1.2;
 font-weight: bold;
}
@media screen and (min-width: 992px) {
 .worries__item-text {
  padding-bottom: var(--space_xs);
  font-size: var(--font-size_2md);
 }
}
.worries__text-unit {
 display: grid;
 gap: var(--space_xs);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-feature-settings: normal;
 letter-spacing: -0.08em;
}
@media screen and (min-width: 768px) {
 .worries__text-unit {
  gap: var(--space_xs);
 }
}
.worries__text {
 display: flex;
 justify-content: center;
 align-items: end;
 letter-spacing: -0.1em;
 line-height: 1;
}
.worries__text--high-price {
 font-size: clamp(1.5rem, -0.231rem + 7.69vw, 1.813rem);
 letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
 .worries__text--high-price {
  font-size: calc(var(--font-size_xl) * 1.2);
 }
}
.worries__text--consult-box {
 margin-block: var(--space_2xs);
}
.worries__text--consult-box, .worries__text--reason-box {
 position: relative;
 width: auto;
 margin-inline: auto;
 font-size: var(--font-size_4md);
}
@media screen and (min-width: 768px) {
 .worries__text--consult-box, .worries__text--reason-box {
  font-size: var(--font-size_xl);
 }
}
.worries__text--now {
 position: absolute;
 top: -2.5em;
 left: -2.5em;
 padding: 7px 8px 8px;
 font-size: var(--font-size_md);
}
@media screen and (min-width: 768px) {
 .worries__text--now {
  font-size: var(--font-size_4md);
  padding: 9px 10px 12px;
 }
}
.worries__text--to-you, .worries__text--because {
 font-family: "YuGothic", "游ゴシック", "Helvetica", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
 font-feature-settings: "palt" on;
}
.worries__text--logo {
 color: #d94c6e;
 background: linear-gradient(transparent 60%, #fffb9b 50%);
 font-size: 1.5em;
}
@media screen and (max-width: 374.98px) {
 .worries__text--logo {
  font-size: 1.2em;
 }
}
.worries__text--big {
 font-size: 1.5em;
}
@media screen and (max-width: 374.98px) {
 .worries__text--big {
  font-size: 1.2em;
 }
}
.worries__text--fukuchan {
 position: absolute;
 line-height: 1;
 left: -1.5em;
 top: -2.5em;
 padding: 12px 8px 10px;
 font-size: var(--font-size_md);
}
@media screen and (min-width: 768px) {
 .worries__text--fukuchan {
  font-size: var(--font-size_3md);
  left: -4.5em;
  top: -1.5em;
  padding: 16px 10px 14px;
 }
}

.result {
 padding-block: unset;
 margin-bottom: -40px;
}
.result__inner {
 display: grid;
 gap: var(--space_sm);
}
@media screen and (min-width: 768px) {
 .result__inner {
  gap: var(--space_lg);
 }
}
.result__unit {
 background-color: #fff;
}
.result__unit-inner {
 padding: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .result__unit-inner {
  padding: var(--space_md);
 }
}
.result__title {
 background: url(../../assets/image/result_background.webp) repeat-x top center/auto 100%;
 color: #fff;
 text-align: center;
 font-weight: bold;
 padding: var(--space_2xs) var(--space_xs);
 font-size: var(--font-size_3lg);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 line-height: 1.4;
}
@media screen and (min-width: 768px) {
 .result__title {
  font-size: calc(var(--font-size_2md) * 2);
  padding: var(--space_xs);
 }
}

.result-reason__list {
 display: grid;
 gap: var(--space_xs);
 background-color: #fcf2f5;
 padding: var(--space_md) var(--space_xs);
}
@media screen and (min-width: 992px) {
 .result-reason__list {
  grid-template-columns: repeat(3, auto);
 }
}
.result-reason__list li:nth-child(2)::before {
 content: "02";
}
.result-reason__list li:nth-child(3)::before {
 content: "03";
}
.result-reason__item {
 display: flex;
 align-items: center;
 gap: var(--space_2xs);
}
.result-reason__item::before {
 --_height: 34px;
 content: "01";
 display: block;
 width: auto;
 height: var(--_height);
 aspect-ratio: 1;
 clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
 background-color: #d94c6e;
 color: #fff;
 text-align: center;
 line-height: var(--_height);
 font-feature-settings: "ital" on;
 font-family: YuMincho;
 font-size: var(--font-size_sm);
}
@media screen and (min-width: 768px) {
 .result-reason__item::before {
  --_height: 44px;
  font-size: var(--font-size_2md);
 }
}
.result-reason__item-text {
 font-size: clamp(1.25rem, -0.135rem + 6.15vw, 1.5rem);
 font-weight: bold;
 line-height: 1.3;
}
.result-reason__item-text--annotation {
 margin-top: 4px;
 font-size: var(--font-size_xs);
 font-weight: normal;
}
.result-reason__item-text--annotation br {
 display: none;
}
@media screen and (min-width: 768px) {
 .result-reason__item-text--annotation br {
  display: block;
 }
}
.result-reason__overview {
 margin-top: var(--space_xs);
 font-size: clamp(0.9rem, 0.346rem + 2.46vw, 1rem);
 font-weight: bold;
 text-align: center;
}
@media screen and (min-width: 768px) {
 .result-reason__overview {
  font-size: var(--font-size_3md);
 }
}

.result-list__list {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .result-list__list {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space_sm);
 }
}
.result-list__item {
 display: grid;
 grid-template: "image" auto "info" 1fr/100%;
 gap: var(--space_2xs);
}
.result-list__item-image {
 grid-area: image;
 width: 100%;
 height: auto;
 aspect-ratio: 80/63;
}
.result-list__item-info {
 grid-area: info;
 display: flex;
 flex-direction: column;
 gap: var(--space_2xs);
}
.result-list__description {
 display: grid;
 gap: var(--space_2xs);
 justify-items: center;
 font-size: 13px;
 line-height: 1.4;
}
@media screen and (min-width: 992px) {
 .result-list__description {
  font-size: var(--font-size_md);
  min-height: 7em;
 }
}
.result-list__description::after {
 content: "";
 display: block;
 width: 2rem;
 height: 1rem;
 clip-path: polygon(50% 70%, 0 0, 100% 0);
 background-color: #d94c6e;
}
@media screen and (min-width: 768px) {
 .result-list__description::after {
  margin-top: auto;
 }
}
.result-list__item-price-area {
 margin-top: auto;
 margin-bottom: 0;
 line-height: 1.1;
}
.result-list__item-price-text {
 font-size: var(--font-size_xs);
 font-weight: bold;
}
.result-list__item-price {
 font-size: var(--font-size_3md);
 color: #d94c6e;
}
.result-list__item-price--big {
 font-size: clamp(2rem, 0.615rem + 6.15vw, 2.25rem);
 font-weight: bold;
 font-family: "din-2014", sans-serif;
}
@media screen and (max-width: 374.98px) {
 .result-list__item-price--big {
  font-size: var(--font-size_2lg);
 }
}
@media screen and (min-width: 992px) {
 .result-list__item-price--big {
  font-size: 42px;
 }
}
.result-list__annotation {
 font-size: var(--font-size_xs);
 color: #d94c6e;
 text-align: center;
 margin-top: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .result-list__annotation {
  margin-top: var(--space_sm);
 }
}

.result-point__title {
 font-size: clamp(1.375rem, 0.337rem + 4.62vw, 1.563rem);
}
@media screen and (min-width: 768px) {
 .result-point__title {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.result-point__list li:last-child {
 margin-bottom: unset;
}
@media screen and (min-width: 768px) {
 .result-point__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space_sm);
 }
}
.result-point__item {
 display: flex;
 gap: var(--space_xs);
 margin-bottom: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .result-point__item {
  flex-direction: column;
 }
}
.result-point__item img {
 width: 45%;
 height: auto;
 aspect-ratio: 200/139;
}
@media screen and (min-width: 768px) {
 .result-point__item img {
  width: 100%;
 }
}
.result-point__item-title {
 font-weight: bold;
 font-size: var(--font-size_2md);
 color: #d94c6e;
}
@media screen and (min-width: 768px) {
 .result-point__item-title {
  font-size: var(--font-size_lg);
 }
}
.result-point__item-text {
 font-size: var(--font-size_sm);
 line-height: 1.4;
}
@media screen and (min-width: 768px) {
 .result-point__item-text {
  font-size: var(--font-size_md);
  margin-top: var(--space_2xs);
 }
}
.result-point__text-bottom {
 margin-top: var(--space_xs);
 text-align: center;
 font-size: min(5.4vw, 1.75em);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.interview {
 padding-bottom: var(--space_md);
}
.interview__head-text {
 font-weight: bold;
 text-align: center;
 margin-top: var(--space_sm);
}
@media screen and (min-width: 768px) {
 .interview__head-text {
  font-size: var(--font-size_4md);
 }
}
.interview__title {
 font-size: var(--font-size_4md);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 text-align: center;
 font-weight: bold;
}
@media screen and (min-width: 768px) {
 .interview__title {
  line-height: 1.3;
  margin-top: var(--space_2xs);
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.interview__title-text--strong {
 font-size: var(--font-size_3lg);
}
@media screen and (min-width: 768px) {
 .interview__title-text--strong {
  font-size: 1.2em;
 }
}
.interview__contents {
 background: #fff;
 margin-top: var(--space_xs);
 border-top: 5px solid #c2ab3e;
}
@media screen and (min-width: 768px) {
 .interview__contents {
  margin-top: var(--space_sm);
 }
}
.interview__contents-top {
 display: flex;
 align-items: center;
 padding-top: var(--space_2xs);
}
@media screen and (min-width: 768px) {
 .interview__contents-top {
  gap: var(--space_lg);
  justify-content: center;
 }
}
.interview__contents-top-headline, .interview__contents-top img {
 width: 50%;
}
@media screen and (min-width: 768px) {
 .interview__contents-top-headline, .interview__contents-top img {
  width: 300px;
 }
}
.interview__contents-top-headline {
 text-align: center;
}
.interview__contents-title {
 line-height: 1.2;
}
.interview__contents-title-text--en {
 font-size: var(--font-size_3lg);
}
@media screen and (min-width: 768px) {
 .interview__contents-title-text--en {
  font-size: var(--font-size_xl);
 }
}
.interview__contents-title-text--jp {
 font-size: var(--font-size_xs);
}
@media screen and (min-width: 768px) {
 .interview__contents-title-text--jp {
  font-size: var(--font-size_md);
 }
}
@media screen and (min-width: 768px) {
 .interview__contents-name-box {
  margin-top: var(--space_xs);
 }
}
.interview__contents-name {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-size: var(--font-size_2lg);
}
@media screen and (min-width: 768px) {
 .interview__contents-name {
  font-size: var(--font-size_xl);
 }
}
.interview__contents-name--small {
 font-size: 0.7em;
}
.interview__cross {
 width: 2em;
 display: block;
 position: relative;
 aspect-ratio: 1;
 margin-inline: auto;
}
.interview__cross-line {
 position: absolute;
 top: 50%;
 display: block;
 width: 100%;
 height: 1px;
 transform: rotate(45deg);
 background-color: #323232;
}
.interview__cross-line:nth-child(2) {
 transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
 .interview__unit {
  padding: 0 var(--space_md) var(--space_md);
 }
}
.interview__unit-title {
 background-color: #c2ab3e;
 color: #fff;
 padding: var(--space_xs);
 line-height: 1.4;
 font-weight: bold;
}
@media screen and (min-width: 768px) {
 .interview__unit-title {
  font-size: var(--font-size_2md);
 }
}
.interview__unit-inner {
 padding: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .interview__unit-name {
  font-size: var(--font-size_md);
 }
}
.interview__unit-text {
 font-size: var(--font-size_sm);
 background: linear-gradient(0deg, #dedede 0%, #dedede 1.1px, transparent 1.2px, transparent 100%) left top/auto 2em;
 line-height: 2;
}
@media screen and (min-width: 768px) {
 .interview__unit-text {
  font-size: var(--font-size_2md);
 }
}
.interview__unit-annotation {
 font-size: var(--font-size_xs);
 margin-block: var(--space_2xs);
}

.flow-step__title {
 width: fit-content;
 margin-inline: auto;
 position: relative;
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-size: var(--font-size_4md);
 text-align: center;
 line-height: 1.2;
}
@media screen and (min-width: 768px) {
 .flow-step__title {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.flow-step__title--deco {
 position: absolute;
 line-height: 1;
 left: -0.5em;
 top: -2em;
 padding: 10px 8px 8px;
 font-size: var(--font-size_md);
}
@media screen and (min-width: 768px) {
 .flow-step__title--deco {
  left: 2em;
 }
}
@media screen and (min-width: 992px) {
 .flow-step__title--deco {
  left: -4.5em;
  padding: 16px 14px 12px;
  font-size: var(--font-size_3md);
 }
}
.flow-step__title-text--strong {
 margin-right: 0.1em;
 font-size: var(--font-size_3lg);
}
@media screen and (min-width: 768px) {
 .flow-step__title-text--strong {
  font-size: 1.2em;
 }
}
.flow-step__comment {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: var(--font-size_2md);
 font-weight: bold;
 margin-top: var(--space_sm);
}
@media screen and (min-width: 768px) {
 .flow-step__comment {
  font-size: var(--font-size_4md);
 }
}
.flow-step__comment::before, .flow-step__comment::after {
 content: "";
 display: block;
 height: 1.6rem;
 width: 1px;
 background-color: #323232;
}
.flow-step__comment::before {
 transform: rotate(-30deg);
 margin-right: 1em;
}
.flow-step__comment::after {
 transform: rotate(30deg);
 margin-left: 1em;
}
@media screen and (min-width: 768px) {
 .flow-step__overview-unit {
  display: flex;
  align-items: end;
  justify-content: center;
 }
}
.flow-step__overview-box {
 display: flex;
 justify-content: center;
 align-items: end;
 gap: 4px;
 font-weight: bold;
 margin-top: var(--space_2xs);
}
@media screen and (min-width: 768px) {
 .flow-step__overview-box {
  min-height: 60px;
 }
}
.flow-step__overview-item {
 min-height: 2em;
 line-height: 2;
 margin-right: 0.5em;
 padding-inline: var(--space_sm);
 background-color: #d94c6e;
 color: #fff;
 padding-inline: var(--space_2xs);
 position: relative;
}
@media screen and (min-width: 768px) {
 .flow-step__overview-item {
  font-size: var(--font-size_lg);
  padding-inline: var(--space_sm);
 }
}
.flow-step__overview-item::after {
 content: "";
 display: block;
 position: absolute;
 right: -2em;
 top: 0;
 width: 2em;
 height: 2em;
 background-color: #d94c6e;
 clip-path: polygon(35% 50%, 0 0, 0 100%);
}
.flow-step__overview-item:nth-child(3) {
 margin-right: unset;
}
.flow-step__overview-item:nth-child(3)::after {
 display: none;
}
@media screen and (min-width: 768px) {
 .flow-step__overview-item--particle {
  font-size: var(--font-size_lg);
 }
}
.flow-step__overview-item--number {
 font-size: 3em;
 line-height: 1;
}
@media screen and (min-width: 768px) {
 .flow-step__overview-item--number {
  font-size: 4.5em;
  line-height: 0.8;
 }
}
.flow-step__overview-item--step {
 font-size: var(--font-size_3md);
}
@media screen and (min-width: 768px) {
 .flow-step__overview-item--step {
  font-size: var(--font-size_lg);
 }
}
.flow-step__list {
 display: grid;
 gap: var(--space_md);
 margin-top: var(--space_sm);
}
@media screen and (min-width: 768px) {
 .flow-step__list {
  grid-template-columns: repeat(3, 1fr);
 }
}
.flow-step__item {
 position: relative;
 background-color: #fff;
 display: flex;
 align-items: center;
 gap: var(--space_xs);
 padding: var(--space_xs);
 line-height: 1.5;
}
@media screen and (min-width: 768px) {
 .flow-step__item {
  flex-direction: column;
  background-color: unset;
 }
}
.flow-step__item img {
 width: 60px;
}
@media screen and (min-width: 768px) {
 .flow-step__item img {
  background: #fff;
  border-radius: 100vh;
  width: 120px;
  height: 120px;
  aspect-ratio: 1;
  padding: var(--space_xs);
 }
}
@media screen and (min-width: 992px) {
 .flow-step__item img {
  width: 180px;
  height: 180px;
 }
}
.flow-step__item::after {
 content: "";
 display: block;
 width: 1.5em;
 height: 1em;
 background-color: #a5abb3;
 clip-path: polygon(0 0, 100% 0, 50% 100%);
 position: absolute;
 bottom: -1.5em;
 left: 50%;
 transform: translate(-50%);
}
@media screen and (min-width: 768px) {
 .flow-step__item::after {
  width: 2.5em;
  height: 2em;
  right: -2em;
  left: unset;
  bottom: 50%;
  transform: rotate(-90deg);
 }
}
.flow-step__item:nth-child(3)::after {
 display: none;
}
.flow-step__item-heading {
 font-weight: bold;
 font-size: var(--font-size_lg);
}
@media screen and (min-width: 768px) {
 .flow-step__item-heading {
  text-align: center;
 }
}
.flow-step__item-heading--number {
 font-size: 1.35em;
}
.flow-step__item-title {
 color: #d94c6e;
 font-weight: bold;
 font-size: var(--font-size_4md);
}
@media screen and (min-width: 768px) {
 .flow-step__item-title {
  text-align: center;
  padding-bottom: var(--space_2xs);
 }
}
@media screen and (min-width: 992px) {
 .flow-step__item-title {
  font-size: var(--font-size_3lg);
 }
}

.how-to-purchase {
 --how-to-purchase_color_main: var(--color_how-to-purchase);
 --how-to-purchase_type_arrow: var(--color_how-to-purchase);
}
.how-to-purchase-content {
 border: 1px solid #eceae9;
 border-top: unset;
}
.how-to-purchase__title-text {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-size: var(--font-size_3lg);
}
@media screen and (min-width: 768px) {
 .how-to-purchase__title-text {
  font-size: calc(var(--font-size_2md) * 2);
 }
}

.reviews {
 padding-top: var(--space_layout_large);
 --reviews_color_main: #d94c6e;
}
.reviews__title {
 text-align: center;
 font-size: var(--font-size_lg);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 color: #323232;
 line-height: 1.3;
}
@media screen and (min-width: 768px) {
 .reviews__title {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.reviews__title::after {
 display: none;
}
.reviews__title-text--strong {
 font-size: 1.2em;
}
.reviews__annotation {
 font-size: var(--font-size_xs);
 text-align: center;
 margin-top: var(--space_xs);
}
.reviews__item {
 background-color: #fff;
 box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
 margin-bottom: var(--space_2xs);
}
.reviews__item-head {
 background-color: #d94c6e;
 display: flex;
 align-items: center;
 gap: var(--space_xs);
 padding: var(--space_xs);
}
.reviews__item-icon {
 width: 50px;
 height: auto;
 flex-shrink: 0;
 aspect-ratio: 1;
 background-color: #fff;
 border-radius: 100vh;
}
.reviews__item-title {
 font-weight: bold;
 color: #fff;
 font-size: var(--font-size_md);
 line-height: 1.3;
}
@media screen and (min-width: 768px) {
 .reviews__item-title {
  font-size: 17px;
 }
}
.reviews__item-inner {
 display: grid;
 gap: var(--space_xs);
 padding: var(--space_xs);
}
.reviews__item-information {
 display: flex;
 gap: var(--space_2xs);
 align-items: center;
}
.reviews__item-heading {
 font-size: var(--font-size_xs);
 border: 1px solid #d94c6e;
 color: #d94c6e;
 padding: 2px 4px;
}
.reviews__item-user {
 font-weight: bold;
 font-size: var(--font-size_sm);
}
.reviews__item-image {
 width: 70%;
 margin-inline: auto;
}
.reviews__item-comment {
 background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #c6c6c6 1px, transparent 1px);
 background-position: top -2px right;
 background-size: 0.4em 1.7em;
 line-height: 1.8;
}
.reviews__item-comment--text {
 font-size: 0.95em;
}

.reviews-slider {
 --splide-controller_background: var(--reviews_color_main);
 --splide-controller_color: #fff;
}
.reviews-slider__inner {
 margin-top: var(--space_sm);
}

.staff__overview {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 font-feature-settings: normal;
 letter-spacing: -0.08em;
 text-align: center;
 font-weight: bold;
 font-size: var(--font-size_3lg);
 line-height: 1.2;
}
@media screen and (min-width: 768px) {
 .staff__overview {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.staff__inner {
 display: grid;
 gap: var(--space_xs);
 background-color: #fff;
 padding: var(--space_sm) var(--space_xs);
}
@media screen and (min-width: 768px) {
 .staff__inner {
  gap: var(--space_sm);
  padding: var(--space_xl) var(--space_md);
 }
}
.staff__title {
 width: fit-content;
 margin-inline: auto;
 position: relative;
 text-align: center;
 font-size: var(--font-size_3md);
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 line-height: 1.3;
 padding-top: var(--space_sm);
}
@media screen and (max-width: 374.98px) {
 .staff__title {
  font-size: var(--font-size_2md);
 }
}
@media screen and (min-width: 768px) {
 .staff__title {
  font-size: calc(var(--font-size_2md) * 2);
 }
}
.staff__title-text--strong {
 font-size: 1.45em;
}
.staff__title--deco {
 position: absolute;
 left: 0;
 top: -0.75em;
 line-height: 1;
 padding: 10px 8px 8px;
 font-size: var(--font-size_md);
}
@media screen and (min-width: 768px) {
 .staff__title--deco {
  left: -4em;
  padding: 16px 14px 12px;
  font-size: var(--font-size_3md);
 }
}
.staff__people-text {
 background: #d94c6e;
 text-align: center;
 color: #fff;
 padding: 4px;
}
@media screen and (min-width: 768px) {
 .staff__people-text {
  width: 636px;
  margin-inline: auto;
  font-size: var(--font-size_2md);
 }
}
.staff__people-box img {
 margin: var(--space_2xs) auto 0;
}
.staff__unit {
 margin-top: var(--space_2xs);
}
@media screen and (min-width: 768px) {
 .staff__unit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 var(--space_sm);
 }
}
.staff__unit-overview {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: var(--space_2xs);
 color: #d94c6e;
 text-align: center;
 font-weight: bold;
 font-size: var(--font-size_3md);
}
@media screen and (min-width: 768px) {
 .staff__unit-overview {
  font-size: var(--font-size_xl);
  grid-area: 1/1/2/3;
 }
}
.staff__unit-overview::before, .staff__unit-overview::after {
 content: "";
 display: block;
 width: 0.8em;
 height: 0.8em;
 background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 15 14"><path fill="%23d94c6e" d="M11.4364 10.0636L8.37339 7L11.4364 3.93642L14.5 7L11.4364 10.0636ZM4.43641 3.06246L7.5 0L10.5636 3.06246L7.5 6.12661L4.43641 3.06246ZM3.56358 10.0636L0.5 7L3.56358 3.93642L6.62661 7L3.56358 10.0636ZM10.5636 10.9364L7.5 14L4.43641 10.9364L7.5 7.87227L10.5636 10.9364Z"/></svg>') no-repeat top center/contain;
}
.staff__unit-item {
 display: flex;
 flex-direction: column;
 gap: var(--space_xs);
 border: 3px solid #d94c6e;
 padding: var(--space_xs);
 margin-top: var(--space_xs);
}
@media screen and (min-width: 768px) {
 .staff__unit-item {
  padding: var(--space_md);
 }
}
.staff__unit-description {
 font-size: var(--font-size_sm);
 text-align: center;
 font-weight: bold;
}
@media screen and (min-width: 768px) {
 .staff__unit-description {
  font-size: var(--font-size_md);
 }
}
.staff__unit-head {
 display: flex;
 align-items: center;
 gap: var(--space_2xs);
 justify-content: space-between;
}
@media screen and (min-width: 768px) {
 .staff__unit-head {
  min-height: 6em;
 }
}
.staff__unit-head img {
 width: 4.5em;
 height: auto;
}
@media screen and (min-width: 768px) {
 .staff__unit-head img {
  width: 6em;
 }
}
.staff__unit-title {
 font-size: var(--font-size_3md);
 font-weight: bold;
 color: #d94c6e;
 line-height: 1.3;
}
@media screen and (min-width: 768px) {
 .staff__unit-title {
  font-size: var(--font-size_lg);
 }
}
.staff__unit-text {
 font-size: var(--font-size_sm);
 line-height: 1.5;
}
@media screen and (min-width: 768px) {
 .staff__unit-text {
  font-size: var(--font-size_md);
 }
}
.staff__unit-text--annotation {
 font-size: var(--font-size_xs);
 line-height: 1.2;
 font-weight: bold;
 display: block;
 margin-top: var(--space_2xs);
}
.staff__bottom {
 text-align: center;
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 line-height: 1.4;
}
.staff__bottom-text {
 font-size: var(--font-size_3md);
}
@media screen and (max-width: 374.98px) {
 .staff__bottom-text {
  font-size: var(--font-size_2md);
 }
}
@media screen and (min-width: 768px) {
 .staff__bottom-text {
  font-size: var(--font-size_2lg);
 }
}
.staff__emphasis {
 margin-top: var(--space_2xs);
 color: #d94c6e;
 font-size: var(--font-size_lg);
}
@media screen and (max-width: 374.98px) {
 .staff__emphasis {
  font-size: var(--font-size_3md);
 }
}
@media screen and (min-width: 768px) {
 .staff__emphasis {
  font-size: var(--font-size_xl);
 }
}
.staff__emphasis--logo {
 background: linear-gradient(transparent 70%, #fffb9b 70%);
 font-size: 1.2em;
}

.faq {
 --faq_color: #d94c6e;
 --faq_color_light: #fff8f8;
 --faq_border: #e5b8c3;
}
.faq__title-text {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
 color: #d94c6e;
}
.faq__content {
 border: unset;
}
.faq__body {
 line-height: 1.4;
}
.faq__item {
 border: 1px solid var(--faq_border);
}
.faq__unit--answer {
 background-color: #fff;
}
.faq__more-view-buttons {
 margin-top: var(--space_sm);
 margin-inline: auto;
 max-width: max-content;
 min-width: 20%;
}
@media (hover: hover) and (pointer: fine) {
 .faq__more-view-buttons:hover {
  opacity: 0.7;
 }
}
.faq__more-view-button {
 display: flex;
 align-items: center;
 justify-content: center;
 background: #fff;
 color: #d94c6e;
 border: 1px solid var(--faq_border);
 border-radius: 100vh;
 padding: var(--space_xs) var(--space_sm);
 font-weight: bold;
 box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.15);
}

.all-categories {
 --all-categories__background: var(--color_base2);
 --all-categories__item-background: var(--color_base);
 --all-categories__item-icon: #d94c6e;
}
.all-categories__title-text {
 font-family: "shippori-mincho-b1", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.store-modal {
 --store-modal_color_main: var(--color_how-to-purchase);
}

.campaign-header-banner {
 padding: var(--space_2xs) var(--space_xs);
 background-color: #d94c6e;
}
@media screen and (min-width: 768px) {
 .campaign-header-banner {
  padding: var(--space_xs);
 }
}
.campaign-header-banner__text {
 color: var(--color_base);
 font-weight: bold;
 font-size: var(--font-size_sm);
}
@media screen and (min-width: 768px) {
 .campaign-header-banner__text {
  text-align: center;
  font-size: var(--font-size_3md);
 }
}

.trust {
 background: url(../../assets/image/trust_image01.webp) center/cover no-repeat;
 padding-top: var(--space_layout_large);
 position: relative;
}
.trust::before {
 content: "";
 position: absolute;
 inset: 0;
 background: linear-gradient(135deg, rgba(158, 213, 255, 0.81), rgba(147, 231, 194, 0.86));
 pointer-events: none;
 z-index: 1;
}
@media screen and (min-width: 768px) {
 .trust {
  padding-bottom: var(--space_layout_large);
 }
}
.trust__text {
 padding: var(--space_lg) var(--space_sm);
 display: flex;
 flex-direction: column;
 gap: var(--space_xs);
 background-color: var(--color_base);
 text-align: center;
 border-radius: 24px;
 z-index: 2;
 position: sticky;
}
@media screen and (min-width: 768px) {
 .trust__text-sub {
  font-size: var(--font-size_3md);
 }
}
.trust__text-main {
 font-size: var(--font-size_3md);
 font-weight: bold;
 color: #1c9898;
 text-decoration: underline;
 text-decoration-color: yellow;
 text-decoration-thickness: 3px;
}
@media screen and (min-width: 768px) {
 .trust__text-main {
  font-size: var(--font-size_lg);
 }
}
.trust__text-main .text-strong {
 font-size: var(--font-size_2lg);
}
@media screen and (min-width: 768px) {
 .trust__text-main .text-strong {
  font-size: var(--font-size_xl);
 }
}
.trust__text-main .color--pink {
 font-size: var(--font-size_lg);
}
@media screen and (min-width: 768px) {
 .trust__text-main .color--pink {
  font-size: var(--font-size_3lg);
 }
}

.color--pink {
 font-weight: bold;
 color: #d94c6e;
}
.color--yellow {
 font-weight: bold;
 color: #c2ab3e;
}
.color--blue {
 font-weight: bold;
 color: #4782af;
}

.speech-bubble {
 display: inline-block;
 width: auto;
 background: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 79 60"><path fill="%23d94c6e" d="M0 28.8669C0 44.8095 17.6852 57.7337 39.5 57.7337C46.1187 57.7337 52.3521 56.5383 57.832 54.4353C67.6041 57.7337 69.8117 56.4493 69.8117 56.4493C66.2037 55.5876 65.3562 50.1119 65.3562 50.1119C72.271 44.9127 79.0007 36.6901 79.0007 28.8669C79 12.9242 61.3155 0 39.5 0C17.6844 0 0 12.9242 0 28.8669Z"/></svg>') no-repeat top center/contain;
 color: #fff;
}
.speech-bubble--small {
 font-size: 0.8em;
}

.triangle--pink {
 display: block;
 position: relative;
 text-align: center;
 font-size: var(--font-size_3md);
 text-align: center;
 padding-bottom: var(--space_2xs);
 z-index: 0;
}
@media screen and (min-width: 768px) {
 .triangle--pink {
  font-size: var(--font-size_lg);
 }
}
.triangle--pink::after {
 content: "";
 display: block;
 width: 6em;
 height: 2em;
 clip-path: polygon(0 0, 100% 0, 50% 100%);
 background: linear-gradient(180deg, #fff 0%, #e9819a 100%);
 position: absolute;
 z-index: -1;
 bottom: 0;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
}