@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  border: 0;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul {
  list-style: none;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

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

button {
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  font: inherit;
  margin: 0;
  padding: 0;
}

input,
select,
textarea {
  color: inherit;
  font: inherit;
  vertical-align: top;
}

/* 色
--------------------------------------------------------*/
/* フォント
--------------------------------------------------------*/
/* レイアウト幅
--------------------------------------------------------*/
/* 階層
--------------------------------------------------------*/
/* ブレークポイント
--------------------------------------------------------*/
/* メディアクエリー
--------------------------------------------------------*/
/* コンセプトイメージ
--------------------------------------------------------*/
/* リンクアイコン
--------------------------------------------------------*/
/* body
--------------------------------------------------------*/
body {
  background-color: #fff;
  color: #000;
  font-family: "Noto Sans JP", sans-serif, "Kiwi Maru", serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}
body.modal-open, body.is-fixed {
  overflow: hidden;
}

/* フォントサイズ
--------------------------------------------------------*/
html {
  font-size: 62.5%;
}

/* 疑似要素
--------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* リンク
--------------------------------------------------------*/
a {
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}

i {
  opacity: 0.8;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  i:hover {
    opacity: 1;
    text-decoration: underline;
  }
}

/* figure
--------------------------------------------------------*/
figure {
  margin: 0;
}

/* em
--------------------------------------------------------*/
em {
  font-style: normal !important;
}

/* summary
--------------------------------------------------------*/
summary {
  display: block;
}

/* summary::-webkit-details-marker
--------------------------------------------------------*/
summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/* 画像
--------------------------------------------------------*/
img {
  -o-object-fit: cover;
  height: auto;
     object-fit: cover;
  width: 100%;
}

/* フォーム初期化
--------------------------------------------------------*/
input {
  /* ブラウザによって異なるデフォルト設定を初期化
  --------------------------------------------------------*/
  /* フォーム要素
  --------------------------------------------------------*/
  /* カレンダー選択範囲拡張
  --------------------------------------------------------*/
}
input input[type=submit],
input input[type=button] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  background: transparent;
  border: none;
  border-radius: 0px;
  box-sizing: border-box;
  cursor: pointer;
}
input input[type=submit]::-webkit-search-decoration,
input input[type=button]::-webkit-search-decoration {
  display: none;
}
input .row.jc-center {
  justify-content: center;
}
input[type=radio] {
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
input[type=radio]:checked + .p-contact__select::after {
  opacity: 1;
}
input[type=checkbox] {
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
input[type=checkbox]:checked + .p-contact__checkbox_text::after {
  opacity: 1;
}
input[type=submit]:focus, input[type=checkbox]:focus {
  outline: none;
}
input[type=submit] {
  padding: 0;
}
input select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  margin-right: auto;
  width: 100%;
}
input select::-ms-expand {
  display: none;
}
input[type=date]::-webkit-calendar-picker-indicator {
  height: 100%;
  opacity: 0;
  position: absolute;
  width: 100%;
}
input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}
input[type=date] {
  position: relative;
}

/* textarea
--------------------------------------------------------*/
textarea {
  height: 100%;
  resize: none;
  text-align: left;
  width: 100%;
}

/* フォント情報の一括入力(figma)
--------------------------------------------------------*/
.l-header {
  background: #ffffff;
  height: 72px;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 98px;
  }
}

.l-inner {
  padding-inline: 20px;
}

.l-fv {
  background: #ffffff;
  height: 100%;
  margin-inline: auto;
  margin-top: 72px;
  max-width: 1540px;
  overflow: hidden;
  padding-bottom: 50px;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .l-fv {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1920px) {
  .l-fv {
    overflow: visible;
  }
}
.l-fv::after {
  background: url(../img/SP/fv_bg.webp) no-repeat center left -4px/cover;
  content: "";
  height: 316px;
  left: 0;
  position: absolute;
  top: 0;
  width: 688px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .l-fv::after {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .l-nayami {
    height: 752px;
    position: relative;
    z-index: 1;
  }
}

.l-wrapper {
  overflow-x: hidden;
}

.l-service {
  margin-top: 54px;
  padding-bottom: 50px;
}
@media screen and (min-width: 376px) and (max-width: 767px) {
  .l-service {
    margin-top: 152px;
  }
}
@media screen and (min-width: 768px) {
  .l-service {
    margin-top: 0;
    padding-bottom: 57px;
  }
}

.l-feature {
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-feature {
    overflow: hidden;
    padding-block: 100px;
  }
}

.l-functions {
  background: #f7f6f4;
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-functions {
    padding-block: 100px;
  }
}

.l-values {
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-values {
    padding-block: 100px;
  }
}

.l-voice {
  background: linear-gradient(180deg, #f7f6f4 0%, rgba(247, 246, 244, 0) 100%);
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-voice {
    padding-block: 100px;
  }
}

.l-step {
  background: #f7f6f4;
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-step {
    padding-block: 100px;
  }
}

.l-pricePlan {
  background: #ffffff;
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-pricePlan {
    padding-block: 100px;
  }
}

.l-CTA {
  background: linear-gradient(265deg, #99b901 2.64%, #105f00 81.03%);
}

.l-FAQ {
  padding-block: 50px 53px;
}
@media screen and (min-width: 768px) {
  .l-FAQ {
    padding-block: 100px;
  }
}

.l-message {
  background: #fdd401;
}

.l-contact {
  background: #f7f6f4;
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-contact {
    background: #ffffff;
    padding-block: 100px;
  }
}

.l-footer {
  background: #f7f6f4;
  padding-block: 50px;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-block: 66px 7px;
  }
}

.c-logo {
  height: 40px;
  width: 189px;
}
@media screen and (min-width: 768px) {
  .c-logo {
    height: 50px;
    width: 237px;
  }
}

.c-button {
  background: #fff;
  border: 1px solid #105f00;
  border-radius: 8px;
  color: #105f00;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1;
  padding: 19px 32px;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}
.c-button:hover {
  background: #fdd401;
}

.c-button--banner {
  background: linear-gradient(265deg, #99b901 2.64%, #105f00 81.03%);
  border: 1px solid currentColor;
  color: #ffffff;
}

.c-button--next {
  align-items: center;
  color: #105f00;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  height: 56px;
  justify-content: center;
  letter-spacing: 0.8px;
  line-height: 1;
  padding-right: 67px;
  position: relative;
  width: 240px;
}
.c-button--next::after {
  background: url(../img/functions_icon-arrow.svg) no-repeat center center/cover;
  content: "";
  height: 23px;
  position: absolute;
  right: 13%;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
}

.c-banner-button {
  background: linear-gradient(265deg, #99b901 2.64%, #105f00 81.03%);
  border: 1px solid transparent;
  border-radius: 8px;
  color: #105f00;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1;
  padding: 5px 28px;
  transition: background-color 0.3s ease;
}
.c-banner-button:hover {
  background: #fdd401;
}

.c-banner-button__message {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  white-space: nowrap;
}

.c-banner-button__message-top {
  background: #ffffff;
  border-radius: 8px;
  color: #105f00;
  flex-shrink: 0;
  font-size: 1.4rem;
  letter-spacing: 0.7px;
  line-height: 1;
  padding: 1px 0px 1px 9px;
  width: -moz-fit-content;
  width: fit-content;
}
.c-banner-button__message-top--strong {
  color: #105f00;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1;
}

.c-banner-button__message-main {
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1;
}

.c-banner-button__message-main--strong {
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 1;
}

.c-label {
  align-items: center;
  border-radius: 20px;
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 10.5px 46px;
  text-align: center;
  width: 239px;
}
.c-label.c-label--AI-picture {
  background: #99b901;
}
.c-label.c-label--writing {
  background: #ffa426;
}
.c-label.c-label--AI-chat {
  background: #e10048;
}
.c-label.c-label--AI-textChange {
  background: #fdd401;
}
.c-label.c-label--AI-voiceOver {
  background: #105f00;
}
.c-label.c-label--coding {
  background: #e28301;
}

.c-label__text {
  color: #ffffff;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .c-label__text {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-label__text {
    font-size: 2rem;
  }
}

.c-label--writing {
  background: #ffa426;
}

.c-label--AI-textChange .c-label__text {
  letter-spacing: 0;
}
.c-label--AI-textChange .c-label__text--values {
  letter-spacing: 0.9px;
}

@media screen and (max-width: 767px) {
  .c-label__text--values {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 0.9px;
    line-height: 1.8;
    text-align: center;
  }
}

.c-button-CTA {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 3.347px 3.347px 0px rgba(0, 0, 0, 0.25);
  display: block;
  flex-shrink: 0;
  padding: 12px 24px 18px 27px;
  transition: background-color 0.3s ease;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-button-CTA {
    padding: 18px 30px 16px;
  }
}
.c-button-CTA:hover {
  background: #fdd401;
}

.c-button-CTA__message {
  color: #105f00;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  padding-left: 43px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-button-CTA__message {
    align-items: center;
    color: #105f00;
    display: flex;
    font-size: 2.4rem;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 1.2px;
    line-height: 1;
    padding-left: 56px;
  }
}
.c-button-CTA__message::before {
  background: url(../img/functions_icon-CTA.svg) no-repeat center center/cover;
  content: "";
  flex-shrink: 0;
  height: 32.635px;
  left: 0;
  position: absolute;
  top: 54%;
  transform: translateY(-50%);
  width: 23.431px;
}
@media screen and (min-width: 768px) {
  .c-button-CTA__message::before {
    height: 39px;
    width: 28px;
  }
}

.c-button-CTA__message--strong {
  color: #105f00;
  font-size: 3.3rem;
  font-weight: 700;
  letter-spacing: 1.65px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-button-CTA__message--strong {
    font-size: 4rem;
    letter-spacing: 2px;
    line-height: 1;
    vertical-align: middle;
  }
}

.p-section-head {
  text-align: center;
}

.p-section-head__title {
  color: #000000;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 1.4px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-section-head__title {
    font-size: 4rem;
    letter-spacing: 2px;
    line-height: 2;
    position: relative;
  }
}

.p-section-head__dots {
  display: flex;
  gap: 4px; /* ドット間のスペース */
  justify-content: center;
}

.p-section-head__dot {
  border-radius: 50%;
  height: 8px;
  width: 8px;
}
.p-section-head__dot--1 {
  background: #e10048;
}
.p-section-head__dot--2 {
  background: #105f00;
}
.p-section-head__dot--3 {
  background: #99b901;
}
.p-section-head__dot--4 {
  background: #fdd401;
}
.p-section-head__dot--5 {
  background: #ffa426;
}

.p-section-head__title-en {
  color: var(--black, #000);
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.7px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-section-head__title-en {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }
}

@media screen and (min-width: 768px) {
  .p-header {
    margin-inline: auto;
    max-width: 1290px;
  }
}

.p-header__inner {
  display: flex;
  justify-content: space-between;
  padding: 8px 20px;
}
@media screen and (min-width: 1000px) {
  .p-header__inner {
    padding: 16px 20px 16px;
  }
}

.p-header__logo {
  flex-shrink: 1;
  padding-block: 8px;
}
@media screen and (min-width: 1200px) {
  .p-header__logo {
    padding-left: 56px;
  }
}

.p-header__menu {
  display: none;
}
@media screen and (min-width: 1000px) {
  .p-header__menu {
    align-items: center;
    display: inline-flex;
    gap: 15px;
  }
}
@media screen and (min-width: 1200px) {
  .p-header__menu {
    gap: 38px;
  }
}

@media screen and (min-width: 768px) {
  .p-header__list {
    display: flex;
    gap: 20px;
    margin-left: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .p-header__list {
    gap: 40px;
    margin-left: 0;
  }
}

.p-header__list-item {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 2;
}
.p-header__list-item a {
  transition: color 0.3s ease;
}
.p-header__list-item a:hover {
  color: #105f00;
}

.p-header__drawer-contents {
  z-index: 21;
}

.p-drawer-icon {
  background: #000000;
  border-radius: 50%;
  display: grid;
  height: 56px;
  place-items: center;
  position: relative;
  width: 56px;
}
@media screen and (min-width: 1000px) {
  .p-drawer-icon {
    display: none;
  }
}
.p-drawer-icon.is-checked .p-drawer-icon__bar:nth-of-type(1) {
  display: none;
}
.p-drawer-icon.is-checked .p-drawer-icon__bar:nth-of-type(2) {
  top: 28px;
  transform: rotate(45deg);
}
.p-drawer-icon.is-checked .p-drawer-icon__bar:nth-of-type(3) {
  top: 28px;
  transform: rotate(-45deg);
}

.p-drawer-icon__bar {
  background: #ffffff;
  flex-shrink: 0;
  height: 2px;
  position: absolute;
  transition: all 0.3s ease;
  width: 30px;
}
.p-drawer-icon__bar:nth-of-type(1) {
  position: absolute;
}
.p-drawer-icon__bar:nth-of-type(2) {
  position: absolute;
  top: 18px;
}
.p-drawer-icon__bar:nth-of-type(3) {
  position: absolute;
  top: 36px;
}

.p-drawer-content {
  background: #105f00;
  display: none;
  height: calc(100vh - 140px);
  position: fixed;
  right: 0;
  top: 72px;
  transition: transform 0.3s ease;
  width: 100%;
  z-index: 21;
}

.p-drawer-content__menu {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-inline: auto;
  padding-top: 100px;
  width: 86px;
}

.p-drawer-content__link {
  color: #ffffff;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 2;
  padding-left: 20px;
  position: relative;
}
.p-drawer-content__link::before {
  background: url(../img/SP/SP-drawer_arrow-under.svg) no-repeat center center/cover;
  content: "";
  height: 8px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
}

@media screen and (min-width: 768px) {
  .p-fv {
    display: grid;
    gap: 15px 0;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto;
    margin-inline: auto;
    padding-inline: 20px;
    width: min(1040px, 100%);
  }
  .p-fv .p-fv__message-area {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .p-fv .p-fv__img-area {
    grid-column: 2/3;
    grid-row: 1/3;
  }
  .p-fv .p-fv__contact-area {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

.p-fv__message-area {
  color: #000000;
  font-family: "Noto Sans JP";
  height: auto;
  padding-left: 47px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-fv__message-area {
    padding-left: 0;
    padding-top: 162px;
    position: relative;
  }
  .p-fv__message-area::after {
    background: url(../img/SP/fv_bg.webp) no-repeat center left -4px/cover;
    content: "";
    height: 316px;
    left: -230px;
    position: absolute;
    top: 22px;
    width: 688px;
    z-index: -2;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .p-fv__message-area::after {
    background: url(../img/fv_bg.webp) no-repeat center center/cover;
    height: 817px;
    width: 1776px;
  }
}

.p-fv__message {
  font-size: 3.2rem;
  font-weight: 900;
  height: auto;
  letter-spacing: 1.6px;
  line-height: 1.3;
  padding-top: 47px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-fv__message {
    font-size: 4.8rem;
    letter-spacing: 2.4px;
    line-height: 1.3;
    padding-top: 0;
  }
}

.p-fv__subMessage {
  font-size: 1.5rem;
  letter-spacing: 0.75px;
  line-height: 1.5;
  margin-top: 7px;
  width: 260px;
}
@media screen and (min-width: 768px) {
  .p-fv__subMessage {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    line-height: 200%; /* 32px */
    line-height: 2;
    margin-top: 15px;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-fv__img-area {
  height: 200px;
  margin-inline: auto;
  margin-top: 98px;
  position: relative;
  width: 335px;
}
@media screen and (min-width: 768px) {
  .p-fv__img-area {
    height: auto;
    margin-top: 241px;
    width: 100%;
  }
}

.p-fv__img-main-wrap {
  margin-left: -17px;
  position: absolute;
}
.p-fv__img-main-wrap::after {
  background: var(--yellow, #fdd401);
  border-radius: 280px;
  content: "";
  flex-shrink: 0;
  height: 280px;
  left: 23.5%;
  position: absolute;
  top: -43%;
  width: 280px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-fv__img-main-wrap::after {
    height: 587px;
    width: 587px;
  }
}

.p-fv__img {
  height: 100%;
  width: 100%;
}
.p-fv__img img {
  flex-shrink: 0;
  height: 198px;
  width: 298px;
}
@media screen and (min-width: 768px) {
  .p-fv__img img {
    height: 385px;
    width: 618px;
  }
}

.p-fv__sub-img {
  position: absolute;
}
.p-fv__sub-img img {
  flex-shrink: 0;
  height: 89px;
  width: 89px;
}
@media screen and (min-width: 768px) {
  .p-fv__sub-img img {
    height: 130px;
    width: 130px;
  }
}
.p-fv__sub-img:nth-of-type(1) {
  left: calc(50% - 49px);
  top: -41.5%;
}
@media screen and (min-width: 768px) {
  .p-fv__sub-img:nth-of-type(1) {
    left: calc(50% - 60px);
    top: -30.5%;
  }
}
@media screen and (min-width: 1200px) {
  .p-fv__sub-img:nth-of-type(1) {
    left: calc(50% + 10px);
  }
}
.p-fv__sub-img:nth-of-type(2) {
  right: 12%;
  top: -25.5%;
}
@media screen and (min-width: 768px) {
  .p-fv__sub-img:nth-of-type(2) {
    right: 8.5%;
    top: -17%;
  }
}
.p-fv__sub-img:nth-of-type(3) {
  right: -1%;
  top: 20%;
}
@media screen and (min-width: 768px) {
  .p-fv__sub-img:nth-of-type(3) {
    right: 0%;
    top: 15%;
  }
}

@media not screen and (min-width: 768px) {
  .p-fv__contact-area {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-inline: auto;
    margin-top: 25px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__contact-area {
    height: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-fv__campagne-area {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-fv__campagne-area {
    text-align: left;
  }
}
.p-fv__campagne-area img {
  flex-shrink: 0;
  height: auto;
  width: 284px;
}

.p-nayami {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-nayami {
    overflow: hidden;
  }
  .p-nayami::after {
    background: url(../img/fv_bg.svg) no-repeat center center/cover;
    border-radius: 50%;
    content: "";
    height: 1540px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%);
    width: 1540px;
    z-index: -1;
  }
}

.p-nayami__head {
  background: #f8f7f5;
  color: #000000;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 1.1px;
  line-height: 1.8;
  padding-block: 50px 36px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-nayami__head {
    background: transparent;
    font-size: 3.2rem;
    letter-spacing: 1.6px;
    line-height: 1.8;
    padding-top: 100px;
  }
}

.p-nayami__contents {
  height: 816px;
  width: 100%;
}

.p-nayami__deco-wraps {
  align-items: center;
  background: #f8f7f5;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  max-width: 100%;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wraps {
    background: transparent;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-nayami__deco-wraps {
    gap: 100px;
    max-height: 298px;
    max-width: 922px;
  }
}

.p-nayami__deco-wrap {
  flex-shrink: 0;
  position: relative;
}
.p-nayami__deco-wrap:nth-of-type(1) {
  height: 240px;
  width: 242px;
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(1) {
    height: 232px;
    order: 1;
    padding-top: 40px;
    width: 235px;
  }
}
.p-nayami__deco-wrap:nth-of-type(1) .p-nayami__content-text {
  left: 52%;
  top: 37%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(1) .p-nayami__content-text {
    left: 52%;
    top: 55%;
  }
}
.p-nayami__deco-wrap:nth-of-type(2) {
  height: 247px;
  margin-top: -27px;
  width: 237px;
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(2) {
    height: 245px;
    margin-left: 24px;
    order: 3;
    padding-top: 57px;
    width: 238px;
  }
}
.p-nayami__deco-wrap:nth-of-type(2) .p-nayami__content-text {
  left: 55%;
  top: 43%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(2) .p-nayami__content-text {
    left: 50%;
    top: 67%;
  }
}
.p-nayami__deco-wrap:nth-of-type(3) {
  height: 267px;
  margin-top: -40px;
  width: 230px;
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(3) {
    height: 266px;
    margin-top: 0;
    order: 2;
    width: 228px;
  }
}
.p-nayami__deco-wrap:nth-of-type(3) .p-nayami__content-text {
  left: 51%;
  top: 38%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-nayami__deco-wrap:nth-of-type(3) .p-nayami__content-text {
    left: 51%;
    top: 40%;
  }
}

.p-nayami__content-text {
  color: #000000;
  font-size: 1.8rem;
  letter-spacing: 0.9px;
  line-height: 2;
  position: absolute;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-nayami__content-text {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    line-height: 2;
  }
}

.p-nayami__bg-img {
  margin-top: -62px;
  padding-right: 14px;
  padding-top: 24px;
  position: relative;
}
.p-nayami__bg {
  height: 420px;
  overflow: hidden;
  position: absolute;
  width: clamp(375px, 100%, 1540px);
}
.p-nayami__bg::after {
  background: url(../img/SP/fv_bg.svg) no-repeat center center/cover;
  border-radius: 50%;
  content: "";
  left: -4%;
  min-height: 420px;
  min-width: 401px;
  position: absolute;
  top: -58%;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-nayami__bg::after {
    border-radius: 0;
    left: 0;
    min-height: 530px;
  }
}
@media screen and (min-width: 768px) {
  .p-nayami__bg::after {
    display: none;
  }
}

.p-nayami__img-wrap {
  flex-shrink: 0;
  height: 164px;
  margin-inline: auto;
  margin-top: -28px;
  position: relative;
  width: 244px;
}
@media screen and (min-width: 768px) {
  .p-nayami__img-wrap {
    height: auto;
    max-width: 438px;
  }
}
@media screen and (min-width: 1200px) {
  .p-nayami__img-wrap {
    height: 295px;
    margin-top: -49px;
    width: 438px;
  }
}

.p-service__img-text {
  margin-inline: auto;
  max-width: 335px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-service__img-text {
    flex-shrink: 0;
    height: 630px;
    max-width: 502px;
  }
}
.p-service__img-text::before, .p-service__img-text::after {
  content: "";
  flex-shrink: 0;
  position: absolute;
  top: -40px;
}
.p-service__img-text::before {
  background: url(../img/SP/fv_deco-icon-left.png) no-repeat center center/contain;
  height: 161px;
  right: calc(50% + 60px);
  width: 102px;
}
@media screen and (min-width: 768px) {
  .p-service__img-text::before {
    height: 570px;
    right: calc(50% + 176px);
    top: 115px;
    width: 40%;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__img-text::before {
    height: 570px;
    right: calc(50% + 209px);
    top: 115px;
    width: 362px;
  }
}
.p-service__img-text::after {
  background: url(../img/SP/fv_deco-icon-right.png) no-repeat center center/contain;
  height: 160px;
  left: calc(50% + 62px);
  width: 97px;
}
@media screen and (min-width: 768px) {
  .p-service__img-text::after {
    height: 564px;
    left: calc(50% + 176px);
    top: 121px;
    width: 40%;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__img-text::after {
    height: 564px;
    left: calc(50% + 228px);
    top: 121px;
    width: 342px;
  }
}

.p-service__text-wrap {
  height: 264px;
  left: 50%;
  position: absolute;
  text-align: center;
  top: 65.5%;
  transform: translate(-50%, -50%);
  width: 278px;
}
@media screen and (min-width: 768px) {
  .p-service__text-wrap {
    height: 243px;
    top: 59%;
    width: 404px;
  }
}

.p-service__text {
  color: #000000;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 1.1px;
  line-height: 180%; /* 39.6px */
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-service__text {
    font-size: 3.2rem;
    letter-spacing: 1.6px;
    line-height: 1.8;
  }
}

.p-service__logo {
  display: inline-block;
  margin-top: -10px;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .p-service__logo {
    margin-top: -16px;
  }
}
.p-service__logo img {
  flex-shrink: 0;
  height: 40px;
  width: 188px;
}
@media screen and (min-width: 768px) {
  .p-service__logo img {
    height: 58px;
    width: 276px;
  }
}

.p-service__text-start {
  color: #000000;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1.8;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .p-service__text-start {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
    line-height: 1.8;
    margin-right: 4px;
    text-indent: 3px;
  }
}

.p-service__text-main {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-service__text-main {
    margin-top: 17px;
  }
}

.p-feature__contents {
  display: flex;
  flex-direction: column;
  gap: 82px;
  overflow: hidden;
  padding-top: 34px;
}
@media screen and (min-width: 768px) {
  .p-feature__contents {
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-feature__contents {
    gap: 100px;
    margin-inline: auto;
    overflow: visible;
    padding-top: 40px;
    width: 880px;
  }
}

.p-media {
  position: relative;
}
.p-media::before, .p-media::after {
  content: "";
  height: 432px;
  margin-inline: -20px;
  position: absolute;
  width: 173px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-media::before, .p-media::after {
    height: 1124.705px;
    width: 246.029px;
  }
}
.p-media:nth-of-type(1)::before {
  background: url(../img/SP/features_bg-left.svg) no-repeat center center/contain;
  left: 0;
  top: -169px;
  transform: rotate(118.388deg);
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(1)::before {
    left: -287px;
    top: -591px;
  }
}
.p-media:nth-of-type(2)::after {
  background: url(../img/SP/features_bg-left.svg) no-repeat center center/contain;
  right: 0;
  top: -188px;
  transform: rotate(241.612deg);
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(2)::after {
    right: -287px;
    top: -591px;
  }
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(2) .p-media__wrap {
    gap: 43px;
  }
}
.p-media:nth-of-type(2) .p-media__text-wrap::before {
  content: "02";
}
.p-media:nth-of-type(3)::before {
  background: url(../img/SP/features_bg-left.svg) no-repeat center center/contain;
  left: 0;
  top: -179px;
  transform: rotate(118.388deg);
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3)::before {
    left: -287px;
    top: -591px;
  }
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3) .p-media__wrap {
    gap: 22px;
  }
}
.p-media:nth-of-type(3) .p-media__text-wrap {
  margin-left: -4px;
  margin-top: -3px;
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3) .p-media__text-wrap {
    margin-left: 37px;
    margin-top: 0;
  }
}
.p-media:nth-of-type(3) .p-media__text-wrap::before {
  content: "03";
  margin-left: 4px;
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3) .p-media__text-wrap::before {
    margin-left: 0;
  }
}
.p-media:nth-of-type(3) .p-media__text {
  margin-left: 4px;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3) .p-media__text {
    margin-left: 0;
  }
}
.p-media:nth-of-type(3) .p-media__img-wrap {
  margin-top: 7px;
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(3) .p-media__img-wrap {
    margin-top: 22px;
  }
}
@media screen and (min-width: 768px) {
  .p-media:nth-of-type(2) .p-media__wrap {
    flex-direction: row-reverse;
  }
}

.p-media__wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-media__wrap {
    flex-direction: row;
    gap: 11px;
    margin-right: auto;
  }
}

.p-media__text-wrap {
  padding-left: 25px;
  position: relative;
}
.p-media__text-wrap::before {
  content: "01";
  font-size: 1.3rem;
  font-weight: 500;
  height: 26px;
  left: 0px;
  letter-spacing: 0.65px;
  line-height: 2;
  position: absolute;
  top: 3px;
  width: 18px;
}
@media screen and (min-width: 768px) {
  .p-media__text-wrap::before {
    font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
    font-weight: 500;
    left: -35px;
    letter-spacing: 0.65px;
    line-height: 2;
    top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-media__text-wrap {
    margin-left: 37px;
    padding-left: 0;
    width: 450px;
  }
}

.p-media__title {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 1.2px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-media__title {
    font-family: "Noto Sans JP", sans-serif, "Kiwi Maru", serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 1.6px;
    line-height: 1.8;
  }
}

.p-media__text {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .p-media__text {
    letter-spacing: 0.8px;
    line-height: 2;
    margin-top: 8px;
  }
}

.p-media__img-wrap {
  flex-shrink: 0;
  margin-top: 12px;
  text-align: center;
}

.p-media__img--picture img {
  aspect-ratio: 151/141;
  height: 141px;
  width: 151px;
}
@media screen and (min-width: 768px) {
  .p-media__img--picture img {
    aspect-ratio: 291/272;
    height: 272px;
    width: 291px;
  }
}

.p-media__img--customer img {
  height: 136px;
  width: 181px;
}
@media screen and (min-width: 768px) {
  .p-media__img--customer img {
    height: 236px;
    width: 311px;
  }
}

.p-media__img--handShake img {
  height: 103px;
  width: 154px;
}
@media screen and (min-width: 768px) {
  .p-media__img--handShake img {
    height: 181px;
    width: 266px;
  }
}

.p-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
  padding: 24px 30px;
}

.p-card__wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  justify-content: center;
  margin: 0 auto;
}

.p-card__text {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
  width: 100%;
}

.p-card__img {
  height: 112px;
  width: 112px;
}

.p-card__wrap-text {
  margin-top: -10px;
  width: 100%;
}

.p-functions__head {
  margin-top: 32px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-functions__head {
    margin-top: 50px;
  }
}

.p-functions__head-start {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  text-align: center;
}

.p-functions__logo {
  display: inline-block;
  margin-top: -10px;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-functions__logo {
    margin-top: -16px;
  }
}
.p-functions__logo img {
  flex-shrink: 0;
  height: 40px;
  width: 188px;
}
@media screen and (min-width: 768px) {
  .p-functions__logo img {
    height: 50px;
    width: 237px;
  }
}

.p-functions__head-main {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-functions__head-main {
    font-size: 2.8rem;
    letter-spacing: 1.4px;
    margin-top: 16px;
  }
}

.p-functions__body {
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .p-functions__body {
    margin-top: 38px;
  }
}

.p-functions__cards {
  display: flex;
  flex-direction: column;
  gap: 47px;
  margin-inline: auto;
  padding-inline: 17.5px;
  width: min(335px, 100%);
}
@media screen and (min-width: 768px) {
  .p-functions__cards {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 50px;
    justify-content: center;
    padding-inline: 30px;
    width: min(1060px, 100%);
  }
}

@media screen and (min-width: 768px) {
  .p-functions__card {
    height: 336px;
    width: 300px;
  }
}

.p-functions__head-point-text {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1.8;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-functions__head-point-text {
    font-size: 2.4rem;
    gap: 50px;
    letter-spacing: 1.2px;
  }
}

.p-functions__button {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-functions__button {
    display: block;
    margin-inline: auto;
    margin-top: 40px;
  }
}

.p-values {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .p-values {
    gap: 40px;
  }
}

.p-values__head {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-values__head {
    margin-top: -5px;
  }
}

.p-values__head-start {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-values__head-start {
    margin-top: 15px;
  }
}

.p-values__logo {
  display: inline-block;
  margin-top: -10px;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-values__logo {
    margin-top: -16px;
  }
}
.p-values__logo img {
  flex-shrink: 0;
  height: 40px;
  width: 188px;
}
@media screen and (min-width: 768px) {
  .p-values__logo img {
    height: 50px;
    width: 237px;
  }
}

.p-values__head-point-text {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1.8;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-values__head-point-text {
    font-size: 2.4rem;
    gap: 50px;
    letter-spacing: 1.2px;
  }
}

.p-values__head-main {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-values__head-main {
    font-size: 2.8rem;
    letter-spacing: 1.4px;
    margin-top: 16px;
  }
}

.p-values__head-sub {
  color: #000000;
  font-size: 1.5rem;
  letter-spacing: 0.75px;
  line-height: 2;
  margin-top: 7px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-values__head-sub {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    margin-top: 14px;
  }
}

@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-values__contents {
    max-width: 400px;
  }
}
@media screen and (min-width: 768px) {
  .p-values__contents {
    margin-inline: auto;
    padding-inline: 20px;
    width: min(840px, 100%);
  }
}
@media screen and (min-width: 1200px) {
  .p-values__contents {
    width: min(1040px, 100%);
  }
}

.p-values__tabAccordion {
  border-radius: 8px 8px 0px 0px;
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion {
    display: flex;
    flex-wrap: wrap;
  }
}

.p-values__tabAccordion-tab {
  background: #d9d9d9;
  color: #ffffff;
  cursor: pointer;
  display: none;
  line-height: 1;
  margin-right: 10px;
  order: -1;
  padding: 15px 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion-tab:checked + .p-values__tabAccordion-label {
    background: #105f00;
    color: #ffffff;
    cursor: default;
  }
  .p-values__tabAccordion-tab:checked + .p-values__tabAccordion-label + .p-values__content {
    display: block;
  }
  .p-values__tabAccordion-tab.p-values__tabAccordion-tab--second:checked + .p-values__tabAccordion-label {
    background: #e10048;
    cursor: default;
  }
}

.p-values__tabAccordion-label {
  background: #105f00;
  border-radius: 8px 8px 0px 0px;
  color: #ffffff;
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.9px;
  line-height: 1.8;
  margin-right: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion-label {
    align-items: center;
    background: #d9d9d9;
    color: #000000;
    display: flex;
    flex-direction: row;
    font-size: 2.8rem;
    font-weight: 700;
    gap: 23px;
    justify-content: center;
    letter-spacing: 1.4px;
    transition: all 0.3s ease;
    width: 50%;
  }
  .p-values__tabAccordion-label:hover {
    background: #105f00;
    color: #ffffff;
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .p-values__tabAccordion-label:not(:first-of-type) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion-label:not(:first-of-type) {
    border-radius: 8px 8px 0 0;
  }
}
.p-values__tabAccordion-label span {
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 2;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-values__tabAccordion-label span {
    margin-left: 23px;
  }
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion-label span {
    font-size: 3.2rem;
    letter-spacing: 1.6px;
  }
}
.p-values__tabAccordion-label.p-values__tabAccordion-label--second {
  background: #e10048;
}
@media screen and (min-width: 768px) {
  .p-values__tabAccordion-label.p-values__tabAccordion-label--second {
    background: #d9d9d9;
    transition: all 0.3s ease;
  }
  .p-values__tabAccordion-label.p-values__tabAccordion-label--second:hover {
    background: #e10048;
    cursor: pointer;
  }
}

.p-values__content {
  align-items: flex-start;
  background: #f7f6f4;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-values__content {
    padding: 20px 20px 46px;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p-values__content {
    display: none;
    order: 1;
    padding: 20px;
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .p-values__content {
    display: none;
    order: 1;
    padding: 33px 108px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-values__content.is-active {
    padding: 20px 20px 67px;
  }
}

.p-values__issue-fix {
  display: flex;
  flex-direction: column;
  gap: 23px;
}
@media screen and (min-width: 768px) {
  .p-values__issue-fix {
    align-items: center;
    flex-direction: row;
    gap: 62px;
    justify-content: center;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-values__issue-fix.p-values__issue-fix--second {
    gap: 29px;
  }
}

@media screen and (max-width: 767px) {
  .p-values__issue {
    padding-inline: 6px 0.8px;
  }
}
@media screen and (max-width: 767px) {
  .p-values__issue.p-values__issue--second {
    margin-inline: -6px;
  }
}

.p-values__fix {
  display: none;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-values__fix {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .p-values__fix.is-active {
    display: block;
  }
}

.p-values__supports {
  display: none;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-values__supports {
    display: block;
    margin-top: 16px;
  }
}
.p-values__supports.is-active {
  display: block;
}

.p-values__support {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding: 20px 10px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-values__support {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 23px;
    justify-content: center;
    padding: 20px;
  }
}
.p-values__support::after {
  background: url(../img/values_deco-line.png) no-repeat center center/cover;
  content: "";
  flex-shrink: 0;
  height: 40px;
  left: 50%;
  position: absolute;
  top: 100%;
  transform: rotate(90deg);
  transform: translateX(-50%);
  width: 2px;
}
@media screen and (max-width: 767px) {
  .p-values__support::after {
    height: 32px;
    width: 6px;
  }
}
.p-values__support:not(:first-of-type) {
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .p-values__support:not(:first-of-type) {
    margin-top: 40px;
  }
}
.p-values__support:last-of-type::after {
  background: url(../img/values_deco-line-end.png) no-repeat center center/cover;
  content: "";
  height: 48px;
  position: absolute;
  top: 100%;
  width: 32px;
}

.p-values__support-label {
  border-radius: 30px;
  flex-shrink: 0;
  justify-content: space-between;
  padding: 4px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-values__support-label {
    margin-right: auto;
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 1200px) {
  .p-values__support-label {
    width: 320px;
  }
}
.p-values__support-label p {
  line-height: 1.8;
}
.p-values__support-label img {
  flex-shrink: 0;
  height: 52px;
  width: 52px;
}

.p-values__label-img {
  padding-right: 40px;
}
@media screen and (min-width: 768px) {
  .p-values__label-img {
    padding-right: 54px;
  }
}

.p-values__label-img--AI-picture {
  padding-right: 54px;
}
@media screen and (min-width: 768px) {
  .p-values__label-img--AI-picture {
    padding-right: 75px;
  }
}

.p-values__label-img--AI-chat {
  padding-right: 61px;
}
@media screen and (min-width: 768px) {
  .p-values__label-img--AI-chat {
    padding-right: 75px;
  }
}

.p-values__label-img--AI-textChange {
  padding-right: 8px;
}
@media screen and (min-width: 768px) {
  .p-values__label-img--AI-textChange {
    padding-right: 20px;
  }
}

.p-values__support-text {
  color: #000000;
  font-size: 1.4rem;
  letter-spacing: 0.7px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-values__support-text {
    margin-left: auto;
  }
}

.p-values__bottom-message {
  color: #000000;
  display: none;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  line-height: 1.8;
  margin-top: 35px;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-values__bottom-message {
    color: #000000;
    display: block;
    font-size: 2rem;
    letter-spacing: 1px;
    margin-top: 61px;
  }
}
.p-values__bottom-message.is-active {
  display: block;
}
.p-values__bottom-message.p-values__bottom-message--second {
  color: #000000;
  font-size: 2rem;
  letter-spacing: 1px;
}

.p-values__toggle-arrow {
  background: url(../../../public/assets/img/SP/values_deco-arrow-under.png) no-repeat center center/cover;
  bottom: 16px;
  cursor: pointer;
  flex-shrink: 0;
  height: 16px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 32px;
}
@media screen and (min-width: 768px) {
  .p-values__toggle-arrow {
    display: none;
  }
}
.p-values__toggle-arrow.is-active {
  bottom: 30px;
  left: calc(50% - 16px);
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .p-values__label-img--AI-voiceover {
    padding-right: 25px;
  }
}

.p-section-lead {
  margin-top: 32px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-section-lead {
    margin-top: 50px;
  }
}

.p-section-lead__start {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  text-align: center;
}

.p-section-lead__logo {
  display: inline-block;
  margin-top: -10px;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-section-lead__logo {
    margin-top: -16px;
  }
}
.p-section-lead__logo img {
  flex-shrink: 0;
  height: 40px;
  width: 188px;
}
@media screen and (min-width: 768px) {
  .p-section-lead__logo img {
    height: 50px;
    width: 237px;
  }
}

.p-section-lead__main {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 1.1px;
  line-height: 1.8;
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-section-lead__main {
    font-size: 2.8rem;
    letter-spacing: 1.4px;
    margin-top: 16px;
  }
}

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

.p-voice__contents {
  margin-right: -20px;
  margin-top: 36px;
}
@media screen and (min-width: 768px) {
  .p-voice__contents {
    margin-inline: auto;
    margin-top: 41px;
    padding-inline: 60px;
    width: min(1260px, 100%);
  }
}

.p-voice__content {
  background: #ffffff;
  margin-inline: auto;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .p-voice__content {
    padding: 30px;
  }
}

.p-card-v2 {
  align-items: center;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 23px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-card-v2 {
    gap: 28px;
  }
}

.p-card-v2__imgWrap {
  height: auto;
  width: 213px;
}
@media screen and (min-width: 768px) {
  .p-card-v2__imgWrap {
    align-items: center;
    display: flex;
    height: 140px;
    justify-content: center;
    width: 280px;
  }
}
@media screen and (min-width: 768px) {
  .p-card-v2__imgWrap.p-card-v2__imgWrap--logo img {
    align-items: center;
    aspect-ratio: 280/140;
    display: flex;
    height: 140px;
    justify-content: center;
    padding: 21px;
    width: 280px;
  }
}
@media screen and (min-width: 768px) {
  .p-card-v2__imgWrap.p-card-v2__imgWrap--logo2 img {
    align-items: center;
    aspect-ratio: 280/140;
    display: flex;
    height: 140px;
    justify-content: center;
    padding: 35px;
    width: 280px;
  }
}
@media screen and (min-width: 768px) {
  .p-card-v2__imgWrap.p-card-v2__imgWrap--logo3 img {
    align-items: center;
    aspect-ratio: 280/140;
    display: flex;
    height: auto;
    justify-content: center;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-v2__imgWrap.p-card-v2__imgWrap--logo3 img {
    aspect-ratio: 280/167;
    height: 167px;
  }
}
@media screen and (min-width: 768px) {
  .p-card-v2__imgWrap img {
    align-items: center;
    aspect-ratio: 280/140;
    display: flex;
    height: 140px;
    justify-content: center;
    width: 280px;
  }
}

.p-card-v2__title {
  color: #000000;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-card-v2__title {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-v2__title {
    font-size: 2rem;
    letter-spacing: 1px;
    line-height: 2;
    margin-right: auto;
    white-space: pre-wrap;
  }
}

.p-card-v2__text {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
  min-height: 192px;
}
@media screen and (min-width: 768px) {
  .p-card-v2__text {
    font-size: 1.4rem;
    margin-top: -20px;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-v2__text {
    font-size: 1.6rem;
    min-height: 0;
  }
}

.p-card-v2__labels {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 158px;
}
@media screen and (min-width: 768px) {
  .p-card-v2__labels {
    margin-top: -5px;
  }
}

.p-card-v2__labels-title {
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 2;
  text-align: center;
}

.p-card-v2__labels-label {
  flex-shrink: 0;
  height: 34px;
  width: 213px;
}

.p-card-v2__labels-text {
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.8px;
  line-height: 1.8;
  text-align: center;
}

.p-swiper {
  max-width: 100%;
  overflow: hidden;
}

.p-swiper__wrapper {
  display: flex;
}

.p-swiper__slide {
  flex-shrink: 0;
  width: 100%;
}

.swiper-scrollbar.p-swiper__scrollbar.swiper-scrollbar-horizontal {
  background: #f7f6f4; /* 背景色 */
  border-radius: 3px;
  height: 6px; /* 高さ */
  margin-right: 20px;
  margin-top: 26px;
  max-width: 100%;
}

.swiper-scrollbar-drag {
  background: #000000;
  border-radius: 3px;
  height: 6px;
}

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

.p-step__contents {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 24px;
}
@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-step__contents {
    align-items: flex-start;
    margin-inline: auto;
    max-width: 500px;
  }
}
@media screen and (min-width: 768px) {
  .p-step__contents {
    flex-direction: row;
    gap: 20px;
    justify-content: center;
    margin-inline: auto;
    margin-top: 32px;
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .p-step__contents {
    gap: 52px;
    padding-inline: 20px;
    width: min(1180px, 100%);
  }
}

.p-step__content {
  align-items: center;
  display: flex;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-step__content {
    align-items: center;
    flex-direction: column;
    gap: 32px;
    justify-content: center;
    width: 188px;
  }
}
.p-step__content:not(:last-of-type) .p-step__content-imgWrap {
  z-index: 1;
}
.p-step__content:not(:last-of-type) .p-step__content-imgWrap::after {
  border-top: 5px dotted #000000;
  content: "";
  height: 4px;
  left: calc(50% - 13px);
  opacity: 0.5;
  position: absolute;
  top: calc(100% + 12px);
  transform: translateX(-50%);
  transform: rotate(90deg);
  width: 28px;
}
@media screen and (min-width: 768px) {
  .p-step__content:not(:last-of-type) .p-step__content-imgWrap::after {
    flex-shrink: 0;
    left: unset;
    top: 50%;
    transform: translateY(-50%);
    transform: rotate(0deg);
    width: 109px;
    z-index: -1;
  }
}
@media screen and (min-width: 1200px) {
  .p-step__content:not(:last-of-type) .p-step__content-imgWrap::after {
    width: 88px;
  }
}

.p-step__content-number {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.75px;
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-step__content-number {
    font-size: 2rem;
    letter-spacing: 1px;
  }
}

.p-step__content-img {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.p-step__content-imgWrap {
  flex-shrink: 0;
  height: 92px;
  margin-top: -11px;
  position: relative;
  width: 92px;
  z-index: 1;
}
@media screen and (min-width: 1200px) {
  .p-step__content-imgWrap {
    flex-shrink: 0;
    height: 150px;
    width: 150px;
  }
}

@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-step__content-message {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .p-step__content-message {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
}

.p-step__content-title {
  color: #e28301;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.8;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-step__content-title {
    font-size: 1.6rem;
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .p-step__content-title {
    font-size: 2rem;
    text-align: center;
    white-space: nowrap;
  }
}

.p-step__content-text {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-step__content-text {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-step__content-text {
    font-size: 1.6rem;
  }
}

.p-card-price__contents {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 75px;
  margin-top: 71px;
}
@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-card-price__contents {
    margin-inline: auto;
    max-width: 400px;
  }
}
@media screen and (min-width: 768px) {
  .p-card-price__contents {
    align-items: flex-start;
    flex-direction: row;
    gap: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-price__contents {
    margin-inline: auto;
    margin-top: 104px;
    padding-inline: 20px;
    width: min(1040px, 100%);
  }
}

.p-card-price__content {
  background: #ffffff;
  border: 2.094px solid #000000;
  border-radius: 5.583px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-card-price__content {
    width: calc(50% - 20px);
  }
}

.p-card-price__head {
  align-items: center;
  background: #000000;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  min-width: 335px;
  padding: 18px 16px 0 17px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-card-price__head {
    padding: 22px 16px 7px 17px;
    width: 100%;
  }
}

.p-card-price__badge {
  content: "";
  left: 50%;
  position: absolute;
  top: calc(50% - 43px);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .p-card-price__badge {
    top: calc(50% - 62px);
  }
}
.p-card-price__badge img {
  flex-shrink: 0;
  height: 59px;
  width: 59px;
}
@media screen and (min-width: 768px) {
  .p-card-price__badge img {
    height: 84px;
    width: 84px;
  }
}

.p-card-price__title {
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-card-price__title {
    letter-spacing: 1.2px;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-price__title {
    font-size: 2.4rem;
  }
}

.p-card-price__body {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 22.906px 13.906px;
}
@media screen and (min-width: 768px) {
  .p-card-price__body {
    gap: 21px;
    padding: 22px 35px 27px;
  }
}
.p-card-price__body em {
  color: #000000;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-card-price__body em {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
  }
}

.p-card-price__item {
  background: #f7f6f4;
  border-radius: 8px;
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 1.5;
  padding: 10px 8px;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .p-card-price__item {
    align-items: center;
    display: flex;
    height: 54px;
    justify-content: center;
    padding: 0;
  }
}
.p-card-price__item.p-card-price__item--lg {
  color: #000000;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 1.2px;
  line-height: 1;
  text-align: center;
}
.p-card-price__item .p-card-price__item--price {
  color: #000000;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-card-price__offer {
    margin-top: 33px;
  }
}
.p-card-price__offer img {
  aspect-ratio: 284/163;
  height: 163px;
  width: 284px;
}
@media screen and (min-width: 768px) {
  .p-card-price__offer img {
    aspect-ratio: auto;
    height: auto;
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .p-card-price__offer img {
    aspect-ratio: 410/266;
    height: 266px;
    width: 410px;
  }
}

.p-CTA {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 32px 20px 24px;
}
@media screen and (min-width: 768px) {
  .p-CTA {
    padding: 60px 20px 50px;
  }
}

.p-CTA__head {
  color: #ffffff;
  font-size: 2.2rem;
  letter-spacing: 1.1px;
  line-height: 1;
  margin-left: 19px;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-CTA__head {
    font-size: 2.6667rem;
    letter-spacing: 1.333px;
    line-height: 1;
  }
}
.p-CTA__head::before, .p-CTA__head::after {
  content: "";
  height: 27px;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  width: 30px;
}
.p-CTA__head::before {
  border-left: 1px solid #ffffff;
  left: -0.8em;
  transform: rotate(-30deg);
}
.p-CTA__head::after {
  border-right: 1px solid #ffffff;
  right: -0.5em;
  transform: rotate(30deg);
}
@media screen and (min-width: 768px) {
  .p-CTA__head::after {
    right: -0.4em;
  }
}

.p-CTA__img {
  padding-inline: 6px;
}
.p-CTA__img img {
  height: 26px;
  vertical-align: bottom;
  width: 9px;
}
@media screen and (min-width: 768px) {
  .p-CTA__img img {
    height: 28px;
    width: 12px;
  }
}

.p-CTA__body {
  padding-top: 13px;
}

.p-CTA__arrange {
  color: #ffffff;
  font-size: 2.2rem;
  letter-spacing: -3.63px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-CTA__arrange {
    font-size: 2.6667rem;
    letter-spacing: -4.4px;
    line-height: 100%;
    line-height: 1;
  }
}

.p-FAQ__accordion {
  margin-top: 31px;
}
@media screen and (min-width: 768px) {
  .p-FAQ__accordion {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    margin-inline: auto;
    padding-inline: 20px;
    width: min(1040px, 100%);
  }
}

.p-accordion {
  pointer-events: none;
  width: 100%;
}
.p-accordion:last-of-type {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.p-accordion[open] .p-accordion__body {
  max-height: 1000px;
  opacity: 1;
}
.p-accordion[open] .p-accordion__head-arrow svg {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

.p-accordion__head {
  align-items: center;
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  display: flex;
  gap: 18px;
  justify-content: flex-start;
  padding: 18.5px 3px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-accordion__head {
    gap: 24px;
    padding: 26px 3px;
  }
}

.p-accordion__head-icon {
  flex-shrink: 0;
}
@media screen and (min-width: 1200px) {
  .p-accordion__head-icon {
    padding-left: 171px;
  }
}
.p-accordion__head-icon img {
  height: 40px;
  width: 40px;
}

.p-accordion__head-text {
  color: #000000;
  flex-shrink: 1;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.5;
  padding-right: 43px;
}
@media screen and (min-width: 768px) {
  .p-accordion__head-text {
    color: #000000;
    font-size: 1.6rem;
    letter-spacing: 1px;
    line-height: 2;
  }
}
@media screen and (min-width: 1200px) {
  .p-accordion__head-text {
    font-size: 2rem;
  }
}

.p-accordion__head-arrow {
  cursor: pointer;
  height: 21px;
  pointer-events: all;
  position: absolute;
  right: -0.55em;
  top: calc(50% - 0.01em);
  transform: translate(-50%, -50%);
  width: 25px;
}
@media screen and (min-width: 768px) {
  .p-accordion__head-arrow {
    right: 1.4em;
    top: calc(50% + 0.1em);
  }
}
.p-accordion__head-arrow:hover svg path {
  stroke: #105f00;
  opacity: 0.5;
  transition: all 0.3s ease;
}
.p-accordion__head-arrow svg {
  transform: rotate(0deg);
  transition: all 0.3s ease;
}

.p-accordion__body {
  background: #f7f6f4;
}

.p-accordion__answer {
  align-items: start;
  display: flex;
  gap: 18px;
  justify-content: center;
  padding: 14px 3px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-accordion__answer {
    align-items: center;
    justify-content: flex-start;
  }
}

.p-accordion__answer-icon {
  flex-shrink: 0;
  margin-top: 12px;
}
@media screen and (min-width: 1200px) {
  .p-accordion__answer-icon {
    padding-left: 171px;
  }
}
.p-accordion__answer-icon img {
  height: 40px;
  width: 40px;
}

.p-accordion__answer-text {
  color: #000000;
  flex-shrink: 1;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
  padding-right: 43px;
}

.p-message__contents {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .p-message__contents {
    flex-direction: row;
    gap: 20px;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-message__contents {
    align-items: start;
    gap: 72px;
    margin-inline: auto;
    padding-block: 100px;
    padding-inline: 20px;
    width: min(1040px, 100%);
  }
}

.p-message__textArea {
  display: flex;
  flex-direction: column;
  gap: 24px;
  order: 2;
}
@media screen and (min-width: 768px) {
  .p-message__textArea {
    order: 0;
    width: 566px;
  }
}

.p-message__textArea-title {
  color: #000000;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-message__textArea-title {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    line-height: 2.3;
  }
}
@media screen and (max-width: 767px) {
  .p-message__textArea-title strong:first-of-type::before {
    content: "  ";
  }
}
@media screen and (min-width: 768px) {
  .p-message__textArea-title strong {
    color: #000000;
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: 3.2px;
    line-height: 1;
  }
}
.p-message__textArea-title em {
  color: #000000;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 200%;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-message__textArea-title em {
    font-size: 3.2rem;
    letter-spacing: 1.6px;
    line-height: 1;
  }
}

.p-message__textArea-logo {
  display: inline-block;
  margin-top: -10px;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-message__textArea-logo {
    flex-shrink: 0;
    margin-top: 0;
    vertical-align: super;
  }
}
.p-message__textArea-logo img {
  height: auto;
  width: 188px;
}
@media screen and (min-width: 768px) {
  .p-message__textArea-logo img {
    width: 266px;
  }
}

.p-message__textArea-body {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-message__textArea-body {
    font-size: 2rem;
    letter-spacing: 1px;
  }
}

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

.p-message__imgArea-logo {
  flex-shrink: 0;
  order: 1;
}
@media screen and (min-width: 768px) {
  .p-message__imgArea-logo {
    order: 0;
  }
}
.p-message__imgArea-logo img {
  height: 140px;
  width: 140px;
}
@media screen and (min-width: 768px) {
  .p-message__imgArea-logo img {
    height: auto;
    width: clamp(140px, 100%, 300px);
  }
}
@media screen and (min-width: 1200px) {
  .p-message__imgArea-logo img {
    height: 361px;
    width: 361px;
  }
}

@media screen and (min-width: 376px) and (max-width: 767px) {
  .p-message__textArea-head {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-contact {
    background: #f7f6f4;
    margin-inline: auto;
    padding-block: 50px;
    padding-inline: 20px;
    width: min(940px, 100%);
  }
}
@media screen and (min-width: 1200px) {
  .p-contact {
    padding-inline: 120px;
  }
}

.p-contact__message {
  color: #000000;
  font-size: 1.3rem;
  letter-spacing: 0.65px;
  line-height: 2;
  margin-top: 16px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact__message {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
    margin-top: 39px;
    text-align: center;
  }
}

.p-contact__fields {
  margin-top: -5px;
}
@media screen and (min-width: 768px) {
  .p-contact__fields {
    margin-top: -3px;
  }
}

.p-contact__privacy {
  margin-top: 38px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy {
    margin-left: -85px;
    margin-top: 16px;
  }
}

.p-contact__button {
  background: linear-gradient(265deg, #99b901 2.64%, #105f00 81.03%);
  border: 1px solid transparent;
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  display: block;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 2;
  margin-inline: auto;
  margin-left: auto;
  margin-top: 32px;
  padding: 12px 33px;
  text-align: center;
  transition: background-color 0.3s ease;
}
.p-contact__button:hover {
  background: #fdd401;
}

.p-contact__privacy-checkbox:checked + .p-contact__privacy-text::after {
  opacity: 1;
}
.p-contact__privacy-checkbox:focus + .p-contact__privacy-text::before {
  border-color: #e10048;
}

.p-contact__privacy-text {
  font-size: 1.4rem;
  padding-left: 36px;
  position: relative;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-text {
    padding-left: 26px;
  }
}
.p-contact__privacy-text::before, .p-contact__privacy-text::after {
  content: "";
  cursor: pointer;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-contact__privacy-text::before {
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 4px;
  flex-shrink: 0;
  height: 30px;
  opacity: 0.5;
  width: 30px;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-text::before {
    height: 19px;
    width: 19px;
  }
}
.p-contact__privacy-text::after {
  border: 1px solid #105f00;
  border-width: 0 3px 3px 0;
  content: "";
  height: 25px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: calc(50% - 0.5em);
  transform: rotate(45deg) translateY(-50%);
  width: 14px;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-text::after {
    height: 13px;
    top: calc(50% - 0.2em);
    width: 9px;
  }
}
.p-contact__privacy-text .p-contact__privacy-text--link {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-text .p-contact__privacy-text--link {
    color: #000000;
    font-size: 1.4rem;
    text-decoration-line: underline;
  }
}

.p-form-field {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form-field {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: 30px;
  }
}

.p-form-field__heading {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 36px;
}
@media screen and (min-width: 768px) {
  .p-form-field__heading {
    flex-shrink: 0;
    width: 170px;
  }
}

.p-form-field__item {
  width: 100%;
}

.p-form-field__label {
  color: #000000;
  font-size: 1.6rem;
  line-height: 200%; /* 32px */
  line-height: 2;
}

.p-form-field__tag {
  border: 1px solid #e10048;
  border-radius: 8px;
  color: #e10048;
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  height: 24px;
  letter-spacing: 1.2px;
  line-height: 1.5;
  padding: 2px 11px;
  white-space: nowrap;
  width: 50px;
}

.p-form-field__text {
  background: #ffffff;
  border: none;
  border-radius: 8px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
  height: 60px;
  padding-left: 16px;
  text-align: left;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-form-field__text {
    height: 48px;
    margin-top: 24px;
  }
}
.p-form-field__text::-moz-placeholder {
  color: #000000;
  font-size: 2rem;
  font-weight: 300;
  line-height: normal;
  opacity: 0.4;
}
.p-form-field__text::placeholder {
  color: #000000;
  font-size: 2rem;
  font-weight: 300;
  line-height: normal;
  opacity: 0.4;
}
@media screen and (min-width: 768px) {
  .p-form-field__text::-moz-placeholder {
    font-size: 1.6rem;
  }
  .p-form-field__text::placeholder {
    font-size: 1.6rem;
  }
}
.p-form-field__text.p-form-field__text--textarea {
  height: 188px;
  padding-left: 16px;
  padding-top: 13px;
}

.p-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer__inner {
    align-items: center;
    flex-direction: row;
    margin-inline: auto;
    padding-inline: 20px;
    width: min(1180px, 100%);
  }
}

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

.p-footer__logo-img img {
  height: 57px;
  width: 259.481px;
}
@media screen and (min-width: 768px) {
  .p-footer__logo-img img {
    height: auto;
    width: 180px;
  }
}
@media screen and (min-width: 1200px) {
  .p-footer__logo-img img {
    height: 50px;
    width: 237px;
  }
}

.p-footer__nav {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-footer__nav {
    flex-direction: row;
  }
}

.p-footer__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-footer__list {
    flex-direction: row;
    gap: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .p-footer__list {
    flex-direction: row;
    gap: 40px;
  }
}

.p-footer__listItem {
  color: #000000;
  font-size: 1.6rem;
  letter-spacing: 0.8px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-footer__listItem {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-footer__listItem {
    font-size: 1.6rem;
  }
}
.p-footer__listItem a {
  transition: color 0.3s ease;
}
.p-footer__listItem a:hover {
  color: #105f00;
}

.p-footer__copy {
  color: #000000;
  font-family: Overpass, "Josefin Sans", sans-serif, "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
  font-size: 1.3rem;
  letter-spacing: 0.52px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-footer__copy {
    margin-left: auto;
  }
}

.p-footer__right {
  color: #000000;
  font-size: 1.2rem;
  letter-spacing: 0.48px;
  line-height: 1.8;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .p-footer__right {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1200px) {
  .p-footer__right {
    color: #000000;
    font-size: 1.4rem;
    letter-spacing: 0.56px;
    line-height: 1.8;
    margin-left: -185px;
    margin-top: 71px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none !important;
  }
}

@media not screen and (min-width: 768px) {
  .u-hidden-sp {
    display: none !important;
  }
}

.u-attention {
  color: #e28301;
  font-weight: 700;
}

.u-font-bold {
  font-weight: 700;
}

.u-letter-spacing_1 {
  letter-spacing: 1px;
}