@charset "UTF-8";
/*
 * Commoon.scss
 */
/*
 * text-setting.scss
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400..900&family=Noto+Serif+JP:wght@400..900&display=swap");
/*
 * base.scss
 */
html {
  scroll-snap-type: y proximity;
  scroll-padding-top: var(--layout-header-height);
  scroll-behavior: smooth;
}

body {
  margin: 0 auto;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  font-weight: 500;
  color: var(--color-text);
  scroll-behavior: smooth;
  /*add*/
}

main,
header,
footer {
  overflow: hidden;
}

img {
  display: block;
  object-fit: contain;
  object-position: top left;
  height: auto;
  max-width: 100%;
}

.image img {
  width: 100%;
  height: auto;
}

picture {
  width: 100%;
  max-width: 100%;
  height: auto;
}

a:hover, a:focus, a.active {
  text-decoration: underline;
  text-underline-offset: 0.1em;
  text-decoration-thickness: 0.05em;
}

strong {
  font-weight: 900;
}

/*
 * responsive.scss
 */
.sp-first {
  width: 300px;
}
@media screen and (min-width: 950px) {
  .sp-first {
    width: 1200px;
  }
}

.sp-first-tab {
  width: 300px;
}
@media screen and (min-width: 950px) and (max-width: 1080px) {
  .sp-first-tab {
    width: 800px;
  }
}
@media screen and (min-width: 950px) {
  .sp-first-tab {
    width: 1200px;
  }
}

.pc-first {
  width: 1200px;
}
@media screen and (max-width: 949px) {
  .pc-first {
    width: 300px;
  }
}

.pc-fitst-tab {
  width: 1200px;
}
@media screen and (max-width: 949px) {
  .pc-fitst-tab {
    width: 300px;
  }
}
@media screen and (min-width: 950px) and (max-width: 1080px) {
  .pc-fitst-tab {
    width: 800px;
  }
}

/*
 * function.scss
 */
/*
 * variables.scss
 */
:root {
  --font-family-sans-serif: YakuHanJP, "Noto Sans JP", sans-serif;
  /*
   * ブレイクポイント
   */
  --breakpoint-tablet: 950px;
  --breakpoint-pc: 1280px;
  --fluid-max: 750;
  --fluid-min: 375;
  /*
   * fluidサイズプリセット
   */
  --fluid-15: clamp(15px / 2, calc(15px / 2 + ((15 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 15px);
  --fluid-20: clamp(20px / 2, calc(20px / 2 + ((20 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 20px);
  --fluid-24: clamp(24px / 2, calc(24px / 2 + ((24 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 24px);
  --fluid-25: clamp(25px / 2, calc(25px / 2 + ((25 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 25px);
  --fluid-26: clamp(26px / 2, calc(26px / 2 + ((26 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 26px);
  --fluid-30: clamp(30px / 2, calc(30px / 2 + ((30 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 30px);
  --fluid-32: clamp(32px / 2, calc(32px / 2 + ((32 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 32px);
  --fluid-34: clamp(34px / 2, calc(34px / 2 + ((34 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 34px);
  --fluid-40: clamp(40px / 2, calc(40px / 2 + ((40 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 40px);
  --fluid-44: clamp(44px / 2, calc(44px / 2 + ((44 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 44px);
  --fluid-50: clamp(50px / 2, calc(50px / 2 + ((50 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 50px);
  --fluid-56: clamp(56px / 2, calc(56px / 2 + ((56 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 56px);
  --fluid-60: clamp(60px / 2, calc(60px / 2 + ((60 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 60px);
  --fluid-70: clamp(70px / 2, calc(70px / 2 + ((70 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 70px);
  --fluid-80: clamp(80px / 2, calc(80px / 2 + ((80 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 80px);
  --fluid-180: clamp(180px / 2, calc(180px / 2 + ((180 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 180px);
  /*
   * レイアウト
   */
  --layout-width-max: 750px;
  --layout-content-width-wide: clamp(750px / 2, calc(750px / 2 + ((750 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 750px);
  --layout-content-width: clamp(690px / 2, calc(690px / 2 + ((690 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 690px);
  --layout-content-width-narrow: clamp(630px / 2, calc(630px / 2 + ((630 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 630px);
  --layout-header-height: clamp(150px / 2, calc(150px / 2 + ((150 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 150px);
  /*
   * 余白
   */
  /* スペースプリセット */
  --space-preset-xs: clamp(10px, calc(12px + ((12 - 10) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 12px);
  --space-preset-s: clamp(16px, calc(18px + ((18 - 16) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 18px);
  --space-preset-m: clamp(20px, calc(30px + ((30 - 20) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 30px);
  --space-preset-l: clamp(30px, calc(50px + ((50 - 30) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 50px);
  --space-preset-xl: clamp(40px, calc(70px + ((70 - 40) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 70px);
  --space-preset-xxl: clamp(60px, calc(100px + ((100 - 60) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 100px);
  --space-block-gap: 1.8em;
  /* 基本のpadding */
  --content-padding-block: var(--fluid-50);
  --content-padding-inline: var(--fluid-50);
  /*
   * タイポグラフィ
   */
  --font-size-xxs: var(--fluid-20);
  --font-size-xs: var(--fluid-24);
  --font-size-s: var(--fluid-26);
  --font-size-m: var(--fluid-30);
  --font-size-l: var(--fluid-34);
  --font-size-xl: var(--fluid-40);
  --font-size-xxl: var(--fluid-44);
  /*
   * カラーパレット
   */
  /* カラープリセット */
  --color-base: #ffffff;
  --color-contrast: #333333;
  --color-primary: #ef8300;
  --color-secondary: #2774dd;
  --color-secondary-dark: #201aa0;
  --color-tertiary: #27a7dd;
  --color-primary-pale1: color-mix(in srgb, var(--color-primary) 50%, var(--color-base));
  --color-secondary-pale1: #27a7dd;
  --color-secondary-pale2: #1ac2e2;
  --color-gray: #cccccc;
  --color-dark-gray: #777777;
  --color-light-gray: #f5f5f5;
  --color-gradient-primary: linear-gradient(to right, var(--color-primary), var(--color-primary-pale1));
  --color-gradient-secondary: linear-gradient(to right, var(--color-secondary), var(--color-secondary-pale1) 58%, var(--color-secondary-pale2) 100%);
  --color-gradient-secondary-sub: linear-gradient(to right, #8fd1dd 0%, #0085c9 58%, #1ac2e2 100%);
  --color-gradient-secondary-sub2: linear-gradient(to right, var(--color-secondary-pale1), var(--color-secondary) 58%, var(--color-secondary-pale2) 100%);
  /* テキスト */
  --color-title: var(--color-contrast);
  --color-text: var(--color-contrast);
  --color-text-shadow: var(--color-gray);
  --color-hover: var(--color-secondary);
  /* 背景 */
  --color-bg-primary: var(--color-white);
  --color-bg-secondary: var(--color-gray);
  --color-bg-tertiary: var(--color-light-gray);
  --color-bg-header: transparent;
  --color-bg-footer: var(--color-dark-gray);
  --color-bg-fixed: var(--color-light-gray);
  --color-bg-cta: var(--color-secondary);
  /* マーカー */
  --color-marker: #f9f3b9;
  /*
   * z-index
   */
  --z-index-base: 100;
  --z-index-header: 1000;
  --z-index-fixed: 2000;
  --z-index-to-top: 3000;
  --z-index-overlay: 4000;
}
@media screen and (min-width: 950px) {
  :root {
    --layout-width-max: 1920px;
    --layout-content-width-wide: 1280px;
    --layout-content-width: 1080px;
    --layout-content-width-narrow: 1020px;
    --layout-header-height: 100px;
  }
}
@media screen and (min-width: 950px) {
  :root {
    --font-size-xs: 18px;
  }
}

/*
 * function.scss
 */
:root {
  --layout-content-width: clamp(630px / 2, calc(630px / 2 + ((630 / 2) / (var(--fluid-max) - var(--fluid-min))) * (100vw - var(--fluid-min) * 1px)), 630px);
  --price-item-color-lite: var(--color-tertiary);
  --price-item-color-standard: var(--color-secondary);
  --price-item-color-pro: #201aa0;
}

@media screen and (min-width: 950px) {
  :root {
    --layout-content-width: 1280px;
  }
}
/*
* ペーススタイルの上書き
*/
body {
  background-color: #f0f1f4;
}

.c-button {
  width: 100%;
  padding-block: clamp(2.5px, 2.5px + 2.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 5px);
}

/*
* p-sec02
*/
.p-sec02 .l-section__contents {
  padding-block: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px) clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
}

.p-sec02__title {
  margin-block-end: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}
@media screen and (min-width: 950px) {
  .p-sec02__title {
    margin-block-end: 30px;
  }
}

.p-sec02__contents {
  width: 100%;
}
@media screen and (min-width: 950px) {
  .p-sec02__contents {
    padding-inline: 10px;
  }
}

.p-sec02__text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.6;
  color: var(--color-text);
  margin-block-end: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec02__text1 {
    font-size: 20px;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.p-sec02__text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(14px, 14px + 14 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 28px);
  line-height: 1.6;
  color: var(--color-text);
  text-align: center;
  margin-block-end: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px);
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
.p-sec02__text2::before, .p-sec02__text2::after {
  content: "";
  width: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  height: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px);
  background-image: url(../image/c-title-sub-before.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: calc(clamp(12.5px, 12.5px + 12.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 25px) * -1);
}
.p-sec02__text2::before {
  left: calc(clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px) * -1);
}
.p-sec02__text2::after {
  scale: -1 1;
  right: calc(clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px) * -1);
}
@media screen and (min-width: 950px) {
  .p-sec02__text2 {
    margin-block-end: 50px;
  }
  .p-sec02__text2::before, .p-sec02__text2::after {
    bottom: 0;
  }
}
.p-sec02__text2 .sub1 {
  color: var(--color-secondary-dark);
}

.p-sec02__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  margin-block-end: clamp(65px, 65px + 65 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 130px);
}
@media screen and (min-width: 950px) {
  .p-sec02__list {
    flex-direction: row;
    justify-content: center;
    gap: 25px;
    margin-block-end: 90px;
  }
}

.p-sec02__item {
  width: clamp(290px, 290px + 290 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 580px);
  height: clamp(65px, 65px + 65 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 130px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px) clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px) clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px) 0;
  background-color: var(--color-base);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 16px + 16 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 32px);
  line-height: 1.6;
  color: var(--color-text);
  text-align: center;
  position: relative;
}
.p-sec02__item .sub1 {
  color: var(--color-primary);
}
.p-sec02__item::before {
  content: "“";
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
  line-height: 1;
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.05em;
  display: block;
  background: linear-gradient(to right, var(--color-secondary-pale1), var(--color-secondary) 58%, #1ac2e2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: calc(clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px) * -1);
  left: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec02__item {
    width: 340px;
    height: 100px;
    font-size: 24px;
  }
}

.p-sec02__box1 {
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  background-image: url(../image/bg-grid.webp);
  background-size: clamp(315px, 315px + 315 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 630px);
  width: 100%;
  padding-inline: clamp(17.5px, 17.5px + 17.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 35px);
  padding-block-end: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px);
  position: relative;
}
@media screen and (min-width: 950px) {
  .p-sec02__box1 {
    padding-inline: 110px;
    padding-block: 50px;
  }
}

@media screen and (min-width: 950px) {
  .p-sec02__box1-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.p-sec02__box1-image1 {
  width: clamp(175px, 175px + 175 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 350px);
  margin-inline: auto;
  translate: 0 calc(clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px) * -1);
  margin-block-end: calc(clamp(35px, 35px + 35 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 70px) * -1);
}
@media screen and (min-width: 950px) {
  .p-sec02__box1-image1 {
    width: 310px;
    margin-inline: auto;
    translate: 40px -60px;
    margin-block-end: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (min-width: 950px) {
  .p-sec02__box1-text-area {
    padding-left: 270px;
  }
}

.p-sec02__box1-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  line-height: 1.6;
  color: var(--color-text);
  text-align: center;
  margin-block-end: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}
.p-sec02__box1-text1 .sub1 {
  color: var(--color-secondary);
}
@media screen and (min-width: 950px) {
  .p-sec02__box1-text1 {
    font-size: 34px;
    text-align: left;
    margin-block-end: 20px;
    letter-spacing: 0.05em;
  }
}

.p-sec02__box1-text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.6;
  color: var(--color-text);
  text-align: justify;
  letter-spacing: 0.05em;
  margin-block-end: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box1-text2 {
    font-size: 18px;
    letter-spacing: 0.05em;
  }
}

.p-sec02__box1-text3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
  line-height: 1;
  color: var(--color-base);
  text-align: center;
  background-color: var(--color-secondary);
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  padding-block: clamp(4px, 4px + 4 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 8px);
  width: 100%;
  margin-block-end: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box1-text3 {
    width: fit-content;
    font-size: 20px;
    letter-spacing: 0.02em;
    margin-block-end: 20px;
    margin-inline: auto;
    padding-inline: 20px;
  }
}

.p-sec02__box1-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block-end: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box1-list {
    flex-direction: row;
    justify-content: center;
    gap: 80px;
    margin-block-end: 30px;
  }
}

.p-sec02__box1-item-text1 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: clamp(4px, 4px + 4 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 8px);
}
.p-sec02__box1-item-text1 .sub1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  line-height: 1.2;
  color: var(--color-text);
  align-self: center;
}
.p-sec02__box1-item-text1 .sub2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  line-height: 1;
  color: var(--color-text);
}
.p-sec02__box1-item-text1 .sub3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  line-height: 1.4;
  color: var(--color-text);
  letter-spacing: 0.05em;
}

.p-sec02__box2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block-end: clamp(17.5px, 17.5px + 17.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 35px);
  gap: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  padding-inline: clamp(7.5px, 7.5px + 7.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 15px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box2 {
    padding-inline: 50px;
  }
}

.p-sec02__box2-left {
  width: clamp(110px, 110px + 110 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 220px);
  --p-sec02__box2-inner-box-color: linear-gradient(to top, var(--color-secondary), var(--color-secondary) 50%, var(--color-tertiary) 85%);
  --p-sec02__box2-inner-text2-color: var(--color-tertiary);
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-left {
    width: 340px;
  }
}

.p-sec02__box2-inner-box {
  width: 100%;
  height: clamp(75px, 75px + 75 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 150px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: var(--p-sec02__box2-inner-box-color);
  margin-block-end: clamp(5px, 5px + 5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 10px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-inner-box {
    height: 226px;
    margin-block-end: 20px;
  }
}

.p-sec02__box2-inner-text1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(5px, 5px + 5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 10px);
}
.p-sec02__box2-inner-text1 .sub1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1;
  color: var(--color-base);
}
.p-sec02__box2-inner-text1 .sub2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
  line-height: 1.4;
  color: var(--color-base);
}
.p-sec02__box2-inner-text1 .sub3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  line-height: 1;
  color: var(--color-base);
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-inner-text1 .sub1 {
    font-size: 38px;
  }
  .p-sec02__box2-inner-text1 .sub2 {
    font-size: 46px;
  }
  .p-sec02__box2-inner-text1 .sub3 {
    font-size: 78px;
  }
}

.p-sec02__box2-inner-text2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(2.5px, 2.5px + 2.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 5px);
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1;
  color: var(--p-sec02__box2-inner-text2-color);
}
.p-sec02__box2-inner-text2 .sub1 {
  display: inline-block;
  line-height: 1.8;
}
.p-sec02__box2-inner-text2 .sub2 {
  font-size: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  font-weight: 700;
}
.p-sec02__box2-inner-text2 .sub3 {
  line-height: 1.5;
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-inner-text2 .sub1 {
    font-size: 37px;
  }
  .p-sec02__box2-inner-text2 .sub2 {
    font-size: 78px;
  }
  .p-sec02__box2-inner-text2 .sub3 {
    font-size: 37px;
  }
}

.p-sec02__box2-center {
  flex-shrink: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  line-height: 1;
  color: #d5d5d5;
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-center {
    font-size: 62px;
    translate: 0 -20px;
  }
}

.p-sec02__box2-right {
  width: clamp(110px, 110px + 110 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 220px);
  --p-sec02__box2-inner-box-color: linear-gradient(to top, var(--color-contrast), var(--color-contrast) 80%, transparent 80%);
  --p-sec02__box2-inner-text2-color: var(--color-contrast);
}
.p-sec02__box2-right .p-sec02__box2-inner-box {
  padding-block-start: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}
@media screen and (min-width: 950px) {
  .p-sec02__box2-right {
    width: 340px;
  }
}

.p-sec02__box3 {
  border-top: clamp(1px, 1px + 1 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 2px) solid var(--color-primary);
  border-bottom: clamp(1px, 1px + 1 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 2px) solid var(--color-primary);
  padding-block: clamp(7.5px, 7.5px + 7.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 15px) clamp(5px, 5px + 5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 10px);
}

.p-sec02__box3-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.2;
  color: var(--color-primary);
  text-align: center;
  letter-spacing: 0.02em;
}
.p-sec02__box3-text1 .sub1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  line-height: 1;
  color: var(--color-primary);
  display: inline-block;
  vertical-align: sub;
}

/*
* p-sec03
*/
.p-sec03 {
  background-image: url(../image/bg-grad1.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.p-sec03 .l-section__contents {
  padding-block: clamp(35px, 35px + 35 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 70px);
}
@media screen and (min-width: 950px) {
  .p-sec03 {
    background-image: url(../image/price/p-sec03-bg-pc.webp);
  }
  .p-sec03 .l-section__contents {
    padding-block: 70px 80px;
  }
}

.p-sec03__title {
  margin-block-end: clamp(95px, 95px + 95 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 190px);
}
.p-sec03__title.c-title .c-title__sub {
  background-image: none;
  background-color: #8fd1dd;
  margin-block-end: clamp(5px, 5px + 5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 10px);
}
.p-sec03__title.c-title .c-title__main {
  color: var(--color-base);
}
@media screen and (min-width: 950px) {
  .p-sec03__title {
    margin-block-end: 50px;
  }
  .p-sec03__title.c-title[data-type*=align-left] {
    flex-direction: column;
    align-items: flex-start;
  }
  .p-sec03__title.c-title .c-title__sub {
    margin-block-end: 0;
  }
}

.p-sec03__box1 {
  width: clamp(345px, 345px + 345 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 690px);
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px) 0 0 clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  background-color: rgba(255, 255, 255, 0.8666666667);
  margin-left: auto;
  margin-right: calc(clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px) * -1);
  padding-inline: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
  padding-block: clamp(100px, 100px + 100 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 200px) clamp(50px, 50px + 50 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 100px);
  margin-block-end: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  position: relative;
}
.p-sec03__box1::before {
  content: "";
  background-image: url(../image/about/p-sec03__box1-before.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  width: clamp(275px, 275px + 275 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 550px);
  height: clamp(175px, 175px + 175 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 350px);
  position: absolute;
  top: calc(clamp(75px, 75px + 75 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 150px) * -1);
  left: 0;
  right: 0;
  margin-inline: auto;
}
@media screen and (min-width: 950px) {
  .p-sec03__box1 {
    padding-block: 60px;
    padding-inline: 140px calc(80px + 50cqi - 50%);
    margin-right: calc(50% - 50cqi);
    width: calc(770px + 50cqi - 50%);
    background-color: #fff;
  }
  .p-sec03__box1::before {
    top: 70px;
    left: unset;
    right: calc(100% - 100px);
    height: auto;
    aspect-ratio: 460/280;
    width: min(32cqi, 460px);
  }
}

.p-sec03__box1-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
  line-height: 1.5;
  color: var(--color-text);
  margin-block-end: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec03__box1-text1 {
    font-size: 32px;
    margin-block-end: 20px;
    letter-spacing: 0.05em;
  }
}

.p-sec03__box1-text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.7;
  color: var(--color-text);
}
@media screen and (min-width: 950px) {
  .p-sec03__box1-text2 {
    font-size: 18px;
    letter-spacing: 0.02em;
    text-align: justify;
  }
}

.p-sec03__box2 {
  margin-block-end: clamp(35px, 35px + 35 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 70px);
}
.p-sec03__box2 img {
  width: clamp(327px, 327px + 327 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 654px);
  max-width: 100%;
  margin-block-end: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  margin-inline: auto;
}
@media screen and (min-width: 950px) {
  .p-sec03__box2 {
    margin-block-end: 50px;
  }
  .p-sec03__box2 img {
    width: 1067px;
  }
}

.p-sec03__box2-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
  line-height: 1.9;
  color: var(--color-base);
  text-align: center;
  letter-spacing: 0.05em;
}
.p-sec03__box2-text1 .sub1 {
  color: #f2ef01;
}
@media screen and (min-width: 950px) {
  .p-sec03__box2-text1 {
    font-size: 20px;
    letter-spacing: 0.05em;
  }
}

.p-sec03__box3 .p-sec03__title {
  margin-block-end: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px);
}

.p-sec03__list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  width: 100%;
  counter-reset: p-sec03__list;
}
@media screen and (min-width: 950px) {
  .p-sec03__list {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.p-sec03__item {
  background-color: color-mix(in srgb, var(--color-base) 85%, transparent 15%);
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  padding-inline: clamp(17.5px, 17.5px + 17.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 35px);
  padding-block: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  counter-increment: p-sec03__list;
}
.p-sec03__item img {
  border-radius: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  margin-block-end: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
}
@media screen and (min-width: 950px) {
  .p-sec03__item {
    width: calc(50% - 20px);
    padding-block: 50px 30px;
  }
}

.p-sec03__item-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(14px, 14px + 14 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 28px);
  line-height: 1.3;
  color: var(--color-text);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
.p-sec03__item-text1::before {
  content: "0" counter(p-sec03__list);
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(45px, 45px + 45 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 90px);
  line-height: 1;
  color: var(--color-text);
  width: clamp(65px, 65px + 65 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 130px);
  background: linear-gradient(to right, var(--color-secondary-pale1), var(--color-secondary) 58%, #1ac2e2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 950px) {
  .p-sec03__item-text1 {
    font-size: 24px;
  }
  .p-sec03__item-text1::before {
    font-size: 60px;
    width: 96px;
  }
}

.p-sec03__item-text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
  line-height: 1.4;
  color: var(--color-text);
  letter-spacing: 0.02em;
  text-align: justify;
  padding-block: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec03__item-text2 {
    font-size: 16px;
    letter-spacing: 0.02em;
    text-align: justify;
  }
}

/*
* p-sec04
*/
.p-sec04 {
  background-color: var(--color-base);
  background-image: url(../image/price/p-sec04-bg.webp);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  overflow-x: hidden;
  max-width: 100%;
  container-type: inline-size;
}
.p-sec04 .l-section__contents {
  padding-block-end: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
}
@media screen and (min-width: 950px) {
  .p-sec04 {
    background-image: url(../image/price/p-sec04-bg-pc.webp);
  }
}

.p-sec04__title {
  margin-block-end: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
}
@media screen and (min-width: 950px) {
  .p-sec04__title {
    margin-block-end: 40px;
  }
}

.p-sec04__contents {
  width: 100%;
}

.p-sec04__text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.4;
  color: var(--color-text);
  letter-spacing: 0.02em;
  margin-block-end: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
}
@media screen and (min-width: 950px) {
  .p-sec04__text1 {
    font-size: 20px;
    letter-spacing: 0.02em;
    text-align: center;
    margin-block-end: 70px;
  }
}

.p-sec04__text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  line-height: 1.5;
  color: var(--color-text);
  text-align: center;
  letter-spacing: 0.05em;
  margin-block-end: clamp(15px, 15px + 15 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 30px);
}
.p-sec04__text2 .sub1 {
  color: var(--color-secondary);
}
@media screen and (min-width: 950px) {
  .p-sec04__text2 {
    font-size: 34px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-block-end: 50px;
  }
}

.p-sec04__box1 {
  overflow-x: auto;
  margin-block-end: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
  width: 100%;
}
@media screen and (min-width: 950px) {
  .p-sec04__box1 {
    margin-block-end: 50px;
  }
}

.p-sec04__box1-list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  width: 100%;
  max-width: 100cqw;
  padding-inline: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  position: relative;
}
.p-sec04__box1-list::before {
  content: "";
  width: clamp(1.5px, 1.5px + 1.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 3px);
  height: clamp(300px, 300px + 300 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 600px);
  background-color: var(--color-secondary);
  position: absolute;
  top: clamp(100px, 100px + 100 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 200px);
  transform: translateX(-50%);
  left: 50%;
  z-index: -1;
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    width: 100%;
    max-width: 100cqw;
    padding-inline: 0;
    justify-content: space-between;
  }
  .p-sec04__box1-list::before {
    width: 80%;
    height: 6px;
    left: 0;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-inline: auto;
  }
}

.p-sec04__box1-item {
  width: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  border-radius: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
  background-color: #fff;
  padding-block: clamp(30px, 30px + 30 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 60px);
  padding-inline: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  border: clamp(1.5px, 1.5px + 1.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 3px) solid var(--color-secondary);
  filter: drop-shadow(clamp(0.5px, 0.5px + 0.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 1px) clamp(0.5px, 0.5px + 0.5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 1px) 0 rgba(115, 134, 153, 0.1882352941));
}
.p-sec04__box1-item img {
  width: clamp(200px, 200px + 200 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 400px);
  margin-block-end: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
.p-sec04__box1-item:nth-child(1) {
  --p-sec04__box1-item-list-item-icon: url(../image/about/p-sec04__box1-item-list-item-icon1.webp);
}
.p-sec04__box1-item:nth-child(2) {
  --p-sec04__box1-item-list-item-icon: url(../image/about/p-sec04__box1-item-list-item-icon2.webp);
}
.p-sec04__box1-item:nth-child(3) {
  --p-sec04__box1-item-list-item-icon: url(../image/about/p-sec04__box1-item-list-item-icon3.webp);
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item {
    border-radius: 30px;
    padding-block: 30px 40px;
    padding-inline: 30px;
  }
  .p-sec04__box1-item img {
    width: 100%;
  }
}

.p-sec04__box1-item-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(17px, 17px + 17 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 34px);
  line-height: 1.3;
  color: var(--color-text);
  letter-spacing: 0.05em;
  text-align: center;
  margin-block-end: clamp(5px, 5px + 5 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 10px);
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item-title {
    font-size: 30px;
  }
}

.p-sec04__box1-item-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.3;
  color: var(--color-text);
  letter-spacing: 0.02em;
  text-align: center;
  margin-block-end: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item-text {
    font-size: 18px;
    text-align: left;
    min-height: 2lh;
  }
}

.p-sec04__box1-item-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  width: 100%;
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item-list {
    width: 100%;
  }
}

.p-sec04__box1-item-list-item {
  width: 100%;
  padding-inline: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item-list-item {
    padding-inline: 0;
  }
}

.p-sec04__box1-item-list-item a {
  background-color: #f0f1f4;
  border-radius: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  width: 100%;
  height: clamp(45px, 45px + 45 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 90px);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(10px, 10px + 10 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 20px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
  line-height: 1.3;
  color: var(--color-text);
  letter-spacing: 0.05em;
  padding-left: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
}
.p-sec04__box1-item-list-item a::before {
  content: "";
  background-image: var(--p-sec04__box1-item-list-item-icon);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  width: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
  height: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}
.p-sec04__box1-item-list-item a.dummy {
  opacity: 0;
}
@media screen and (min-width: 950px) {
  .p-sec04__box1-item-list-item a {
    font-size: 20px;
    width: 100%;
    height: 70px;
    padding-left: 20px;
  }
}

.p-sec04__box2 {
  width: 100%;
}

.p-sec04__box2-text1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: clamp(17px, 17px + 17 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 34px);
  line-height: 1.3;
  color: var(--color-secondary);
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  width: 100%;
  height: clamp(90px, 90px + 90 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 180px);
  background-image: url(../image/about/p-sec04__box2-text1-bg.webp);
  background-size: clamp(90px, 90px + 90 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 180px);
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-sec04__box2-text1::before, .p-sec04__box2-text1::after {
  content: "";
  width: clamp(73px, 73px + 73 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 146px);
  height: clamp(2px, 2px + 2 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 4px);
  background-color: var(--color-secondary);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-sec04__box2-text1::before {
  left: 0;
}
.p-sec04__box2-text1::after {
  right: 0;
}
@media screen and (min-width: 950px) {
  .p-sec04__box2-text1::before, .p-sec04__box2-text1::after {
    width: 440px;
  }
}

.p-sec04__box2-text2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
  line-height: 1.9;
  color: var(--color-text);
  letter-spacing: 0.05em;
  text-align: center;
  margin-block-end: clamp(25px, 25px + 25 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 50px);
}
@media screen and (min-width: 950px) {
  .p-sec04__box2-text2 {
    font-size: 24px;
    line-height: 1.4;
    margin-block-end: 60px;
  }
}

.p-sec04__button.c-button {
  max-width: clamp(275px, 275px + 275 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 550px);
  margin-inline: auto;
}
@media screen and (min-width: 950px) {
  .p-sec04__button.c-button {
    max-width: 450px;
  }
}

/*
* p-sec05
*/
.p-sec05 {
  background-color: #f0f1f4;
  background-image: url(../image/about/p-sec05-bg.webp);
  background-size: clamp(45px, 45px + 45 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 90px);
  background-position: top left clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
  background-repeat: no-repeat;
}
.p-sec05 .l-section__contents {
  padding-block: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
}
@media screen and (min-width: 950px) {
  .p-sec05 .l-section__contents {
    padding-block: 80px;
    flex-direction: row;
    gap: 60px;
    margin-left: -120px;
  }
}

.p-sec05__title .c-title__sub {
  font-size: clamp(13px, 13px + 13 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 26px);
}

@media screen and (min-width: 950px) {
  .p-sec05__title.c-title[data-type*=align-left] {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-sec05__title.c-title[data-type*=align-left] > span.c-title__main {
  font-size: clamp(22px, 22px + 22 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 44px);
  line-height: 1.3;
  margin-block-end: clamp(20px, 20px + 20 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 40px);
}

.p-sec05__contents {
  width: 100%;
}
@media screen and (min-width: 950px) {
  .p-sec05__contents {
    flex-shrink: 1;
  }
}

.p-sec05__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 12px + 12 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 24px);
  line-height: 1.7;
  color: var(--color-text);
  text-align: left;
}
.p-sec05__text .sub1 {
  font-weight: 900;
}
@media screen and (min-width: 950px) {
  .p-sec05__text {
    font-size: 18px;
  }
}

.p-sec05__image {
  width: clamp(330px, 330px + 330 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 660px);
  margin-left: calc(clamp(50px, 50px + 50 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 100px) * -1);
  margin-block-end: clamp(40px, 40px + 40 / (var(--fluid-max) - var(--fluid-min)) * (100vw - var(--fluid-min) * 1px), 80px);
}
.p-sec05__image img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 950px) {
  .p-sec05__image {
    width: 540px;
    margin-left: 0;
    margin-block-end: 0;
    flex-shrink: 0;
  }
}