@charset "UTF-8";

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 16px;
}
@media (max-width: 750px) {
  html {
    font-size: 2.1333333333vw;
  }
}

html {
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
  letter-spacing: 0;
  color: #515151;
  background-color: #fff;
}

main {
  width: 100%;
  max-width: 750px;
  margin-inline: auto;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

@media (hover: hover) {
  a:hover,
  button:hover {
    cursor: pointer;
  }
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

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

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

/* ========================================
   インナー
======================================== */
.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 824px;
  padding-right: 2.3125rem;
  padding-left: 2.3125rem;
}

/* ========================================
   マージン
======================================== */
.l-mt10 {
  margin-top: 0.625rem;
}

.l-mt20 {
  margin-top: 1.25rem;
}

.l-mt42 {
  margin-top: 2.625rem;
}

.l-mt74 {
  margin-top: 4.625rem;
}

.l-mt110 {
  margin-top: 6.875rem;
}

.l-mt120 {
  margin-top: 7.5rem;
}

.l-mt130 {
  margin-top: 8.125rem;
}

/* ========================================
   チャット
======================================== */
.c-chat {
  width: 100%;
  background: url(../images/chat-bg.webp) center top/cover repeat-y;
  border-radius: 1.875rem;
  padding: 2.8125rem 2rem 3.75rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5625rem;
}

.c-chat__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6875rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.c-chat__avatar {
  width: 8.4375rem;
}
.c-chat__avatar img {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-chat__balloon {
  width: 27.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-chat__balloon--left04 {
  background: url(../images/balloon-yellow04.webp) center top/contain no-repeat;
  height: 13.0625rem;
  padding-left: 3rem;
  padding-right: 1.5rem;
}

.c-chat__balloon--left03 {
  background: url(../images/balloon-yellow03.webp) center top/contain no-repeat;
  height: 10.5625rem;
  padding-left: 3rem;
  padding-right: 1.5rem;
}

.c-chat__balloon--left01 {
  background: url(../images/balloon-yellow01.webp) center top/contain no-repeat;
  height: 6.1875rem;
  padding-left: 3rem;
  padding-right: 1.5rem;
}

.c-chat__balloon--left02 {
  background: url(../images/balloon-yellow02.webp) center top/contain no-repeat;
  height: 8.0625rem;
  padding-left: 3rem;
  padding-right: 1.5rem;
}

.c-chat__text {
  font-size: 1.75rem;
  line-height: 1.3571428571;
  letter-spacing: -0.09em;
  text-align: justify;
}

.c-chat__text--accent01 {
  color: #F08200;
}

.c-chat__text--accent02 {
  color: #fff;
  background-color: #F08200;
}

.c-chat__item--right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.c-chat__balloon--right02 {
  background: url(../images/balloon-pink02.webp) center top/contain no-repeat;
  height: 8.375rem;
  padding-right: 3rem;
  padding-left: 1.5rem;
}

.c-chat__balloon--right03 {
  background: url(../images/balloon-pink03.webp) center top/contain no-repeat;
  height: 10.875rem;
  padding-right: 3rem;
  padding-left: 1.5rem;
}

.c-chat__balloon--right04 {
  background: url(../images/balloon-pink04.webp) center top/contain no-repeat;
  height: 13.0625rem;
  padding-right: 3rem;
  padding-left: 1.5rem;
}

.c-chat__balloon--right05 {
  background: url(../images/balloon-pink05.webp) center top/contain no-repeat;
  height: 15.625rem;
  padding-right: 3rem;
  padding-left: 1.5rem;
}

.c-chat__balloon--right06 {
  background: url(../images/balloon-pink06.webp) center top/contain no-repeat;
  height: 18.1875rem;
  padding-right: 3rem;
  padding-left: 1.5rem;
}

/* ========================================
   セクションタイトル
======================================== */
.c-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-section-title--top {
  font-size: 2.8125rem;
  color: #F4738B;
  background-color: #fff;
  position: relative;
  padding: 0 0.625rem;
}
.c-section-title--top::before {
  content: "";
  display: block;
  background: url(../images/title-accent.webp) center top/cover no-repeat;
  position: absolute;
  top: -3.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 4.6875rem;
  height: 2.1875rem;
}
.c-section-title--top:after {
  content: "";
  display: block;
  width: 42.25rem;
  height: 0.25rem;
  background-color: #F0DCDA;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}

.c-section-title--bottom {
  background: -webkit-gradient(linear, left top, left bottom, from(#F4738B), to(#ff9999));
  background: linear-gradient(180deg, #F4738B 0%, #ff9999 100%);
  color: #fff;
  padding: 0 3.6875rem;
  font-size: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 5.5625rem;
  text-align: center;
  border-radius: 0.625rem;
  margin-top: 0.9375rem;
}

/* ========================================
   テキストコンポーネント
======================================== */
/* 通常テキスト */
.c-text {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.78125;
  color: #515151;
  letter-spacing: -0.02em;
}

/* 黄色マーカー */
.c-text--accent01 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  background: #FFF79A;
  line-height: 1.5;
  padding-left: 0.5rem;
  padding-right: 0.25rem;
}

.c-text-padding-none {
  padding-left: 0;
}

/* マーカー行間 */
.c-text--accent01 + .c-text--accent01 {
  margin-top: 0.5rem;
}

.c-text--accent01-2 {
  display: inline-block;
}

/* オレンジ強調 */
.c-text--accent02 {
  background: #F08200;
  color: #fff;
}

/* ピンク強調 */
.c-text--accent03 {
  display: inline-block;
  color: #F4738B;
  font-size: 2.625rem;
  font-weight: 500;
  line-height: 1.5952380952;
}

.c-text--accent04 {
  display: inline-block;
  color: #F4738B;
  font-size: 3.4375rem;
  font-weight: 500;
}

.c-text--accent05 {
  background: #F08FF1;
  color: #fff;
}

/* 大きめテキスト */
.c-text--large {
  font-size: 2.4375rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.4615384615;
  color: #515151;
  letter-spacing: -0.04em;
}

.c-text--small {
  font-size: 1.5rem;
  color: #F4738B;
  text-align: center;
}

.p-answer {
  padding-top: 8.5rem;
  padding-bottom: 2.9375rem;
}

.p-characters__content {
  margin-top: 6.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.75rem;
}

.p-characters__img2 {
  width: 100%;
  max-width: 39.4375rem;
}

.p-characters__img3 {
  margin-top: 2.6875rem;
}

/* ========================================
   フッター
======================================== */
.p-footer {
  max-width: 750px;
  margin-inline: auto;
}

.p-footer__nav-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-footer__nav-item {
  font-size: 1.25rem;
  color: #0000ff;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  text-decoration: underline;
}

.p-footer__copyright {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  height: 13.75rem;
  padding-top: 40px;
  background-color: #a5a5a5;
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  margin-top: 1.25rem;
}

.p-fv {
  margin-top: -4rem;
}
.p-fv img {
  width: 100%;
}

.p-why {
  margin-top: 7.625rem;
}

.p-head__logo {
  width: 12.0625rem;
  margin-inline: auto;
  margin-top: 5.0625rem;
  position: relative;
  z-index: 1;
}
.p-head__logo img {
  width: 100%;
}

.p-head__text {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: right;
  margin-top: 2.5rem;
  padding-right: 1.625rem;
  letter-spacing: -0.01em;
  position: relative;
  z-index: 1;
}

.p-quality {
  padding-top: 8.5rem;
  padding-bottom: 6.875rem;
}

.p-quality__btn {
  display: block;
  width: 36.9375rem;
  margin-inline: auto;
}
.p-quality__btn img {
  width: 100%;
}

.p-reason {
  background: url(../images/reason-bg.webp) center top/contain;
  padding: 2.5rem 0 15rem;
  position: relative;
}
.p-reason:before {
  display: block;
  content: "";
  width: 11.75rem;
  height: 13.3125rem;
  background: url(../images/reason-illust01.webp) center top/cover no-repeat;
  position: absolute;
  left: 0;
  top: -3.125rem;
}

.p-reason__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}

.p-reason__head-img {
  width: 100%;
  max-width: 42.25rem;
  margin-top: 2.875rem;
  margin-left: 1.5rem;
}
.p-reason__head-img img {
  width: 100%;
}

.p-reason__head-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.375rem;
  width: 100%;
}

.p-reason__head-item:first-child {
  position: relative;
}
.p-reason__head-item:first-child:before {
  display: block;
  content: "";
  width: 9.25rem;
  height: 9.0625rem;
  background: url(../images/reason-illust02.webp) center top/cover no-repeat;
  position: absolute;
  right: -2.3125rem;
  top: -3.125rem;
}

.p-reason__head-item {
  background: #fff;
  border-radius: 1.875rem;
  padding: 1.5rem 1.25rem;
  -webkit-box-shadow: 0 0 2.4375rem 0 rgba(0, 0, 0, .08);
          box-shadow: 0 0 2.4375rem 0 rgba(0, 0, 0, .08);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 14.5rem;
  padding: 1.1875rem 0;
}

.p-reason__head-item-tag-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.1875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 24.875rem;
  height: 3.8125rem;
  text-align: center;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#f27200), to(#ffb300));
  background: linear-gradient(180deg, #f27200 0%, #ffb300 100%);
  border-radius: 50vh;
}

.p-reason__head-item-tag {
  font-size: 2.4375rem;
  font-weight: 500;
}

.p-reason__head-item-tag-number {
  display: grid;
  place-items: center;
  width: 2.625rem;
  height: 2.625rem;
  text-align: center;
  font-size: 2.3125rem;
  font-weight: 500;
  color: #F08200;
  background: #fff;
  border-radius: 50%;
  line-height: 1;
}

.p-reason__head-item-text {
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 1.2105263158;
  color: #515151;
  text-align: center;
}

.p-reason__head-item-text--accent {
  color: #fff;
  background-color: #F08200;
  line-height: 1;
}

.p-reason__head-item-text--large {
  font-size: 3.375rem;
  font-weight: 500;
}

.p-reason__head-item-text--middle {
  font-size: 2.8125rem;
  font-weight: 500;
}

.p-reason__content-wrap {
  margin-top: 3.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}

.p-reason__content {
  background: #fff;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0 0.5rem 0.9375rem 0 rgba(0, 0, 0, .15);
          box-shadow: 0 0.5rem 0.9375rem 0 rgba(0, 0, 0, .15);
  padding: 2.25rem 2.25rem 6.25rem;
}

.p-reason__content--1 {
  position: relative;
}
.p-reason__content--1:before {
  display: block;
  content: "";
  width: 12.5625rem;
  height: 16.5rem;
  background: url(../images/reason-illust03.webp) center top/cover no-repeat;
  position: absolute;
  left: -2.3125rem;
  top: -5rem;
}

.p-reason__content--2 {
  position: relative;
}
.p-reason__content--2:before {
  display: block;
  content: "";
  width: 12.75rem;
  height: 10.8125rem;
  background: url(../images/reason-illust04.webp) center top/cover no-repeat;
  position: absolute;
  right: -2.3125rem;
  top: -5rem;
}

.p-reason__content--3 {
  padding-bottom: 31.625rem;
  position: relative;
}
.p-reason__content--3:before {
  display: block;
  content: "";
  width: 12.9375rem;
  height: 20.625rem;
  background: url(../images/reason-illust05.webp) center top/cover no-repeat;
  position: absolute;
  right: -2.3125rem;
  bottom: -14.0625rem;
  z-index: 1;
}

.p-reason__content-tag-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  width: 9.3125rem;
  height: 9.3125rem;
  margin-inline: auto;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#f27200), to(#ffb300));
  background: linear-gradient(180deg, #f27200 0%, #ffb300 100%);
  border-radius: 50%;
}

.p-reason__content-tag {
  font-size: 2.4375rem;
  font-weight: 500;
}

.p-reason__content-tag-number {
  display: grid;
  place-items: center;
  width: 2.5625rem;
  height: 2.5625rem;
  font-size: 2.3125rem;
  font-weight: 500;
  color: #F08200;
  background: #fff;
  border-radius: 50%;
  line-height: 1;
}

.p-reason__content-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  text-align: center;
  margin-top: 2.625rem;
}

.p-reason__content-title--accent {
  display: block;
  font-size: 2.75rem;
  font-weight: 500;
  color: #F08200;
  background: #FFF1D6;
  line-height: 1.3;
}

.p-reason__content-img3 {
  width: calc(100% + 4.5rem);
  max-width: none;
  margin-inline: -2.25rem;
}
.p-reason__content-img3 img {
  width: 100%;
}

.p-reason__content-img4 {
  width: 43.5rem;
  max-width: none;
  margin-inline: -2.25rem;
}
.p-reason__content-img4 img {
  width: 100%;
}

.p-reason__content-img5 {
  position: absolute;
  bottom: -7.875rem;
  left: 1.5625rem;
  width: 44.3125rem;
  max-width: none;
  margin-inline: -2.25rem;
}
.p-reason__content-img5 img {
  width: 100%;
}

.p-supplement {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

.p-supplement__content {
  padding-top: 6.875rem;
}

.p-supplement__img2 {
  margin-top: 2.6875rem;
}

.p-supplement__img3 {
  margin-top: 7.75rem;
}

.p-why {
  margin-top: 7.625rem;
}

.p-why__content {
  padding-top: 7.75rem;
  padding-bottom: 6.875rem;
}

/* ========================================
   視覚的に非表示
======================================== */
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
/*# sourceMappingURL=styles.css.map */
