@charset "UTF-8";
/*! Oreset.css v2.0.0 | MIT License | https://github.com/hirosiva/Oreset.css */
/*
    # Global
  ---------------------------------------------- */
*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
a
  
  /*
    # Document & Sections
  ---------------------------------------------- */
  :where(html) {
  height: 100%;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: none;
}

:where(body) {
  min-height: 100%;
  line-height: 1.5;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  font-feature-settings: "pkna";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/*
    # Grouping content
  ---------------------------------------------- */
:where(p, h1, h2, h3, h4, h5, h6) {
  word-wrap: break-word;
}

:where(hr) {
  height: 0;
  overflow: visible;
  border: none;
  border-top: 1px solid;
  color: inherit;
}

:where(ul, ol) {
  list-style: none;
}

/*
    # Text-level semantics
  ---------------------------------------------- */
:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/*
    # Embedded content
  ---------------------------------------------- */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-width: 100%;
  height: auto;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

/*
    # Tabular data
  ---------------------------------------------- */
:where(table) {
  border-collapse: collapse;
}

/*
    # Forms
  ---------------------------------------------- */
:where(input, button, textarea, select, optgroup) {
  color: inherit;
  font: inherit;
}

:where(textarea) {
  resize: vertical;
}

:where(button, label, select, summary, [role="button"], [role="option"]) {
  cursor: pointer;
}

:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

/*
    # Interactive & Misc
  ---------------------------------------------- */
:where(template, [hidden]:not([hidden="until-found"])) {
  display: none;
}

/*
    # Accessibility
  ---------------------------------------------- */
:where([disabled], [aria-disabled="true"]) {
  cursor: not-allowed;
}

:where([aria-busy="true"]) {
  cursor: progress;
}

:where([aria-controls]) {
  cursor: pointer;
}

:where([aria-hidden="false"][hidden]) {
  display: inline;
  display: initial;
}

:where([aria-hidden="false"][hidden]):not(:focus) {
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

:where(
    :focus:not(:focus-visible),
    ::before:focus:not(:focus-visible),
    ::after:focus:not(:focus-visible)
  ) {
  outline: none;
}

/* ====================
 root
======================= */
:root {
  --color-blue-1: #0e5e99;
  --color-blue-2: #0099cc;
  --color-blue-3: #28b2c5;
  --color-blue-4: #ccebf5;
  --color-blue-5: #d9f0f7;
  --color-blue-6: #d8f3fa;

  --color-yellow-1: #ffeb00;
  --color-yellow-2: #fff9e1;

  --color-bg-1: var(--color-blue-5);
  --color-bg-2: var(--color-blue-6);
  --color-bg-3: var(--color-yellow-2);

  --text-black: #111111;
  --text-blue: var(--color-blue-1);
  --text-blueGreen: var(--color-blue-3);
  --text-yellow: var(--color-yellow-1);

  --main-color: var(--color-blue-1);
  --sub-color-1: var(--color-blue-2);
  --sub-color-2: var(--color-blue-3);
  --accent-color: var(--color-yellow-1);

  --border-radius-10: calc(10 / 16 * 1rem);
  --border-radius-20: calc(20 / 16 * 1rem);

  --min-viewport: 375; /* 最小カンプ幅 */
  --max-viewport: 1920; /* 最大カンプ幅 */

  --max-container-size: 950px;
}

/* ==================== 
	 functions
=======================*/
*,
*::before,
*::after {
  /* pxToRem */
  --pxToRem: calc(var(--px) / 16 * 1rem);

  /* pxToEm */
  --pxToEm: calc(var(--px) / 16 * 1em);

  /* startClampFunction */
  /* 最小サイズ・最大サイズ・最小カンプ幅・最大カンプ幅 (単位px) */
  --min-size: 53; /* 最小サイズ */
  --max-size: 146; /* 最大サイズ */
  --min-vp: var(--min-viewport);
  --max-vp: var(--max-viewport);

  /* fluidサイズ算出のための計算 */
  --slope: calc(
    (var(--max-size) - var(--min-size)) / (var(--max-vp) - var(--min-vp))
  );
  --intercept: calc(var(--min-size) - var(--slope) * var(--min-vp));
  --fluid-size: calc(var(--slope) * 100vw + var(--intercept) / 16 * 1rem);

  /* clamp生成用関数 */
  --ClampSize: clamp(
    var(--min-size) / 16 * 1rem,
    var(--fluid-size),
    var(--max-size) / 16 * 1rem
  );
  /* endClampFunction */
}

/* ====================
 Base
======================= */

html {
  font-size: 16px;
}

body {
  font-style: normal;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

em {
  font-style: normal;
}

*:lang(en) {
  font-family: var(--font-en);
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

/* ====================
 Layout
======================= */
.container {
  display: block;
  width: 95%;
  max-width: 950px;
  max-width: var(--max-container-size);
  margin: auto;
}

.l-header hgroup {
  display: flex;
  gap: 1em;
}

/* spacer */
.l-spacer {
  --base: 8;
}

/*=== padding block ===*/
.l-spacer:where([data-py]) {
  padding-top: calc(var(--base) * 0 / 16 * 1rem);
  padding-top: calc(var(--base) * var(--space-top, 0) / 16 * 1rem);
  padding-bottom: calc(var(--base) * 0 / 16 * 1rem);
  padding-bottom: calc(var(--base) * var(--space-bottom, 0) / 16 * 1rem);
}

.l-spacer:where([data-py~="sm:0"]) {
  --space-top: 0;
  --space-bottom: 0;
}

.l-spacer:where([data-py~="sm:1"]) {
  --space-top: 1;
  --space-bottom: 1;
}

.l-spacer:where([data-py~="sm:2"]) {
  --space-top: 2;
  --space-bottom: 2;
}

.l-spacer:where([data-py~="sm:3"]) {
  --space-top: 3;
  --space-bottom: 3;
}

.l-spacer:where([data-py~="sm:4"]) {
  --space-top: 4;
  --space-bottom: 4;
}

.l-spacer:where([data-py~="sm:5"]) {
  --space-top: 5;
  --space-bottom: 5;
}
.l-spacer:where([data-py~="sm:6"]) {
  --space-top: 6;
  --space-bottom: 6;
}
.l-spacer:where([data-py~="sm:7"]) {
  --space-top: 7;
  --space-bottom: 7;
}
.l-spacer:where([data-py~="sm:8"]) {
  --space-top: 8;
  --space-bottom: 8;
}

/*=== padding inline ===*/
.l-spacer:where([data-px]) {
  padding-right: calc(var(--base) * 0 / 16 * 1rem);
  padding-right: calc(var(--base) * var(--space-right, 0) / 16 * 1rem);
  padding-left: calc(var(--base) * 0 / 16 * 1rem);
  padding-left: calc(var(--base) * var(--space-left, 0) / 16 * 1rem);
}

.l-spacer:where([data-px~="sm:0"]) {
  --space-right: 0;
  --space-left: 0;
}
.l-spacer:where([data-px~="sm:1"]) {
  --space-right: 1;
  --space-left: 1;
}

.l-spacer:where([data-px~="sm:2"]) {
  --space-right: 2;
  --space-left: 2;
}

.l-spacer:where([data-px~="sm:3"]) {
  --space-right: 3;
  --space-left: 3;
}

.l-spacer:where([data-px~="sm:4"]) {
  --space-right: 4;
  --space-left: 4;
}

.l-spacer:where([data-px~="sm:5"]) {
  --space-right: 5;
  --space-left: 5;
}
.l-spacer:where([data-px~="sm:6"]) {
  --space-right: 6;
  --space-left: 6;
}
.l-spacer:where([data-px~="sm:7"]) {
  --space-right: 7;
  --space-left: 7;
}
.l-spacer:where([data-px~="sm:8"]) {
  --space-right: 8;
  --space-left: 8;
}

/*=== padding top ===*/
.l-spacer:where([data-pt]) {
  padding-top: calc(var(--base) * 0 / 16 * 1rem);
  padding-top: calc(var(--base) * var(--space-top, 0) / 16 * 1rem);
}

.l-spacer:where([data-pt~="sm:0"]) {
  --space-top: 0;
}
.l-spacer:where([data-pt~="sm:1"]) {
  --space-top: 1;
}

.l-spacer:where([data-pt~="sm:2"]) {
  --space-top: 2;
}

.l-spacer:where([data-pt~="sm:3"]) {
  --space-top: 3;
}

.l-spacer:where([data-pt~="sm:4"]) {
  --space-top: 4;
}

.l-spacer:where([data-pt~="sm:5"]) {
  --space-top: 5;
}
.l-spacer:where([data-pt~="sm:6"]) {
  --space-top: 6;
}
.l-spacer:where([data-pt~="sm:7"]) {
  --space-top: 7;
}
.l-spacer:where([data-pt~="sm:8"]) {
  --space-top: 8;
}

/*=== padding bottom ===*/
.l-spacer:where([data-pb]) {
  padding-bottom: calc(var(--base) * 0 / 16 * 1rem);
  padding-bottom: calc(var(--base) * var(--space-bottom, 0) / 16 * 1rem);
}

.l-spacer:where([data-pb~="sm:0"]) {
  --space-bottom: 0;
}
.l-spacer:where([data-pb~="sm:1"]) {
  --space-bottom: 1;
}

.l-spacer:where([data-pb~="sm:2"]) {
  --space-bottom: 2;
}

.l-spacer:where([data-pb~="sm:3"]) {
  --space-bottom: 3;
}

.l-spacer:where([data-pb~="sm:4"]) {
  --space-bottom: 4;
}

.l-spacer:where([data-pb~="sm:5"]) {
  --space-bottom: 5;
}

.l-header {
  width: 100%;
}
.fook-area {
  font-size: 3.4375rem;
}

.l-footer {
  width: 100%;
}
/* ========================================
      compornent 
    ========================================*/

.c-simpleTitle {
  text-align: center;
}
.c-simpleTitle span {
  display: inline-block;
  border-bottom: 1px solid #333;
  --px: 30;
  font-size: var(--pxToRem);
}

.c-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: flex;
  appearance: none;
  align-items: center;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-color: #0099cc;
  background-color: var(--sub-color-1);
  box-shadow: 0 0 24px 0 rgba(33, 33, 33, 0), 0 0 0 -2px hsla(0, 0%, 100%, 0);
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
  -moz-user-select: none;
  gap: 0.5em;
  user-select: none;
}
.c-button:focus-visible {
  outline: 2px solid magenta;
  outline-offset: 2px;
}
.c-button--rounded {
  padding: 1rem;
  border: 1px solid #fff;
  border-radius: 100vh;
  box-shadow: 0px 4px 0px #333;
  transition: transform 0.15s ease-in;
}
.c-button--rounded:hover {
  transform: translate(0px, 4px);
  box-shadow: none;
}
.c-button .--icon {
  width: 1em;
}

.c-textYellow {
  color: #ffeb00;
  color: var(--text-yellow);
}

.c-textBlue {
  color: #0e5e99;
  color: var(--text-blue);
}

.c-textAqua {
  color: #0099cc;
  color: var(--color-blue-2);
}

.c-textBluegreen {
  color: #28b2c5;
  color: var(--text-blueGreen);
}

.cta .container {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cta__copy {
  --px: 20;
  font-size: var(--pxToRem);
  line-height: 2;
  text-align: center;
}
.cta__copy .c-textYellow {
  --px: 30;
  margin-bottom: 1rem;
  font-size: var(--pxToRem);
}
.slash > span {
  display: flex; /* 文字と横線を横並び */
  align-items: center; /* 線を上下中央 */
  justify-content: center; /* 文字を中央寄せ */
}
.cta .slash > span {
  display: block;
}
.slash > span::before,
.slash > span::after {
  width: 20px; /* 線の長さ */
  height: 1px; /* 線の高さ */
  background-color: #fff; /* 線の色 */
  content: "";
}
.slash--black > span::before,
.slash--black > span::after {
  background-color: #111111;
  background-color: var(--text-black); /* 線の色 */
}
.slash > span::before {
  margin-right: 10px; /* 文字との余白 */
  transform: rotate(50deg); /* 傾ける */
}
.slash > span::after {
  margin-left: 10px; /* 文字との余白 */
  transform: rotate(-50deg); /* 傾ける */
}
.cta__button {
  display: flex;
  justify-content: center;
  --px: 20;
  font-size: var(--pxToRem);
}

.fukidashi {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 40px;
  background-color: transparent;
  color: #ffffff;
  text-align: center;
}

.fukidashi.--blue {
  background-color: #0e5e99;
  background-color: var(--main-color);
}
.fukidashi.--aqua {
  width: 100%;
  max-width: 652px;
  margin: 0 auto;
  background-color: #28b2c5;
  background-color: var(--sub-color-2);
  font-weight: 500;
  --pdy: 10;
  padding-top: calc(10 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-bottom: calc(10 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
}

.fukidashi::after {
  box-sizing: border-box;
  position: absolute;
  top: 95%;
  left: 50%;
  width: 20px;
  height: 12px;
  transform: translateX(-50%);
  background-color: inherit;
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.table-scroll {
  overflow-x: scroll;
}

.table-scroll table {
  min-width: 600px;
}

.bold {
  font-weight: 700;
}

/* ========================================
      project 
========================================*/
.logo {
  --width: 70;
  width: calc(70 * 1px);
  width: calc(var(--width) * 1px);
}
.header__copy {
  --px: 10;
  font-size: var(--pxToRem);
}
.eyecatch {
  z-index: -1;
  position: relative;
  margin-top: -1rem;
}
.eyecatch img {
  width: 100%;
}
.cta {
  background-color: #0e5e99;
  background-color: var(--main-color);
  color: #fff;
}

/*======= Sec1 ========*/
.sec1 {
  background-color: #d9f0f7;
  background-color: var(--color-bg-1);
}
.sec1__head {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.sec1__head h2 {
  --px: 24;
  font-size: var(--pxToRem);
}
.sec1__head p {
  --px: 16;
  font-size: var(--pxToRem);
  letter-spacing: 0.1em;
}
.sec1__contents {
  background-color: #fff;
}
.sec1__contents p {
  --px: 16;
  font-size: var(--pxToRem);
}

.sec1__bigChance .fukidashi {
  --px: 20;
  z-index: 1;
  font-size: var(--pxToRem);
  letter-spacing: 0.1em;
}
.sec1__bigChance__contents {
  position: relative;
  margin-top: -3%;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
}
.sec1__bigChance__contents img {
  position: absolute;
  right: -5%;
  bottom: -7%;
  width: 20%;
}
p.sec1__bigChance__catch {
  --px: 20;
  font-size: var(--pxToRem);
}

/*======= Sec2 ========*/
.sec2 {
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
}

.sec2 h2 {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 90%;
  max-width: 790px;
  margin-right: auto;
  margin-left: auto;
}

.sec2 h2 img {
  z-index: 3;
  position: relative;
}

.sec2__content {
  position: relative;
  border: 3px solid #0e5e99;
  border: 3px solid var(--main-color);
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
}
.kangen {
  display: grid;
}
.kangen h3 {
  --px: 20;
  font-size: var(--pxToRem);
}
.kangen .--num50 {
  font-size: 1.5em;
}
.kangen p:not(.kangen__saidai200) {
  --px: 16;
  font-weight: 700;
  font-size: var(--pxToRem);
}

.kangen__saidai200 {
  display: inline-block;
  background-color: #0e5e99;
  background-color: var(--main-color);
  color: #fff;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  --px: 16;
  border-radius: calc(20 / 16 * 1rem);
  border-radius: var(--border-radius-20);
  font-size: var(--pxToRem);
  --pdx: 10;
  --pdy: 10;

  display: flex;
  align-items: center;
  align-self: center;
  justify-self: self-start;
  order: -1;
  padding: calc(10 / 16 * 1rem) calc(10 / 16 * 1rem);
  padding: calc(var(--pdy) / 16 * 1rem) calc(var(--pdx) / 16 * 1rem);
}

.kangen__saidai200 .--num200 {
  font-size: 2em;
  font-family: "Inter", sans-serif;
}

.sec2__youken {
  --mt: 30;
  margin-top: calc(30 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.sec2__youken dl > div {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  overflow: hidden;
  border: 4px solid #d8f3fa;
  border: 4px solid var(--color-bg-2);
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  border-radius: var(--border-radius-10);
}

.sec2__youken dt,
.sec2__youken dd {
  --pdy: 20;
  padding-top: calc(20 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-bottom: calc(20 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
}

.sec2__youken dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30%;
  background-color: #d8f3fa;
  background-color: var(--color-bg-2);
  color: #0e5e99;
  color: var(--text-blue);
  font-weight: 700;
  --px: 20;
  font-size: var(--pxToRem);
}
.sec2__youken dd {
  width: 70%;
  background-color: #fff;
  font-weight: 700;
  --pdx: 16;
  padding-right: calc(16 / 16 * 1rem);
  padding-right: calc(var(--pdx) / 16 * 1rem);
  padding-left: calc(16 / 16 * 1rem);
  padding-left: calc(var(--pdx) / 16 * 1rem);
  --px: 16;
  font-size: var(--pxToRem);
}

.sec2__foot {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  --mt: 30;
  margin-top: calc(30 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.sec2__foot figure {
  aspect-ratio: 320 / 220;
  width: 100%;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
}
.sec2__foot figure img {
  width: 100%;
  height: 100%;
}
.sec2__foot p {
  font-weight: 700;
}
.sec2__foot__content {
  position: relative;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
  --pdy: 16;
  --pdr: 32;
  --pdl: 16;
  padding-top: calc(16 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-right: calc(32 / 16 * 1rem);
  padding-right: calc(var(--pdr) / 16 * 1rem);
  padding-bottom: calc(16 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
  padding-left: calc(16 / 16 * 1rem);
  padding-left: calc(var(--pdl) / 16 * 1rem);
}

.sec2__foot__content p {
  line-height: 1.8;
  --px: 18;
  font-size: var(--pxToRem);
  text-align: justify;
}
.sec2__foot__content p .--annotation {
  --px: 16;
  font-weight: 500;
  font-size: var(--pxToRem);
}

.sec2__deco {
  position: absolute;
  right: 0;
  bottom: -0.8%;
  width: 30%;
  max-width: 100px;
}

/*======= Sec3 ========*/
.sec3 {
  background-color: #d8f3fa;
  background-color: var(--color-bg-2);
}
.sec3__title span {
  display: inline-block;
  border-bottom: 1px solid #333;
  --px: 30;
  font-size: var(--pxToRem);
}
.sec3 h2,
.sec3 h3 {
  text-align: center;
}
.sec3__subsidy {
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
  --mt: 40;
  margin-top: calc(40 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.subsidy__table,
.subsidy__table td,
.subsidy__table th {
  border: 1px solid #d9d9d9;
  border-collapse: collapse;
}
.subsidy__table {
  margin: 0 auto;
}

.subsidy__title {
  --pdy: 10;
  padding-top: calc(10 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-bottom: calc(10 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
  background-color: transparent;
}

.subsidy__table td:first-child,
.subsidy__table th:first-child {
  /* --pdx: 30;
  padding-inline: calc(var(--pdx) / 16 * 1rem); */
  width: calc(130 / 950 * 100%);
  max-width: 130px;
}

.subsidy__table td:not(:first-child),
.subsidy__table th:not(:first-child) {
  --pdy: 8;
  width: calc(170 / 950 * 100%);
  max-width: 178px;
  padding-top: calc(8 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-bottom: calc(8 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
  font-weight: 700;
  text-align: center;
}

.subsidy__table.--aqua th:not(:first-child) {
  background-color: #0099cc;
  background-color: var(--color-blue-2);
  color: #fff;
}
.subsidy__table.--blue th:not(:first-child) {
  background-color: #0e5e99;
  background-color: var(--color-blue-1);
  color: #fff;
}
.subsidy__table th > span {
  --px: 13;
  font-weight: 500;
  font-size: var(--pxToRem);
}

.subsidy__title.--aqua {
  background-color: #0099cc;
  background-color: var(--color-blue-2);
  color: #fff;
}
.subsidy__title.--blue {
  background-color: #0e5e99;
  background-color: var(--color-blue-1);
  color: #fff;
}

.subsidy__table .rank-ss {
  background-color: #dff6f5;
}
.subsidy__table .rank-s {
  background-color: #dff3f6;
}
.subsidy__table .rank-a {
  background-color: #d9f0f7;
}
.subsidy__table .rank-b {
  background-color: #dbe7f0;
}

/*======= Sec4 ========*/

.sec4 {
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
}
.sec4__title {
  text-align: center;
}
.sec4__title--brackets {
  display: block;
  border: 2px solid #28b2c5;
  border: 2px solid var(--color-blue-3);
  --mt: 20;
  position: relative;
  margin-top: calc(20 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.sec4__title--brackets::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 96%;
  height: 113%;
  transform: translate(-50%, -50%);
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
  content: "";
}
.sec4__title.--catch1 {
  --px: 20;
  display: inline-block;
  z-index: 2;
  position: relative;
  font-size: var(--pxToRem);
}
.sec4__title.--catch1 .c-textBluegreen {
  font-size: 1.1em;
}
.sec4__title.--catch2 {
  --px: 16;
  z-index: 2;
  position: relative;
  font-size: var(--pxToRem);
}

.sec4__future {
  --mt: 30;
  margin-top: calc(30 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
}
.sec4__futureItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.sec4__futureItem:first-child {
  border-bottom: 1px dashed #000;
}
.sec4__futureItem.--rev {
  align-items: center;
}

.sec4__futureItem figure {
  aspect-ratio: 324 / 214;
  width: calc(770 / 950 * 100%);
  max-width: 327px;
}
.sec4__futureItem figure img {
  width: 100%;
}

.sec4__futureItem > div {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sec4__futureItem__title {
  --px: 20;
  font-size: var(--pxToRem);
}

.sec4__futureItem p {
  --px: 16;
  font-size: var(--pxToRem);
}

.sec4__sarani {
  display: flex;
  align-items: start;
  justify-content: center;
  width: 50%;
  height: calc(120px / 2);
  margin: 0 auto;
  padding-top: 0.6%;
  background-color: #0e5e99;
  background-color: var(--main-color);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sec4__heiyokanou {
  position: relative;
  --mt: 40;
  margin-top: calc(40 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
  --mb: 60;
  margin-bottom: calc(60 / 16 * 1rem);
  margin-bottom: calc(var(--mb) / 16 * 1rem);
}
.sec4__heiyokanou h2 {
  --px: 35;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: var(--pxToRem);
  line-height: 0.6;
  text-align: center;
}
.sec4__heiyokanou span.--deco {
  --px: 18;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco {
  position: relative;
}
.sec4__kosodateEco > img {
  display: none;
}
.sec4__kosodateEco > img:nth-child(1) {
  top: -5%;
  left: 0;
}
.sec4__kosodateEco > img:nth-child(2) {
  top: -6%;
  right: 0;
}

.sec4__kosodateEco {
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
}

.sec4__kosodateEco__head {
  display: grid;
  grid-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  grid-row-gap: 1.5em;
  row-gap: 1.5em;
}

.sec4__kosodateEco__head > figure {
  max-width: 160px;
  margin: 0 auto;
}
.sec4__kosodateEco__head > h3 {
  --px: 20;
  font-size: var(--pxToRem);
  text-align: center;
}

.sec4__kosodateEco__head > h3::after {
  display: block;
  width: 100%;
  max-width: 570px;
  height: 5px;
  margin-top: 0.5em;
  background-image: radial-gradient(
    circle,
    #28b2c5 50%,
    transparent 50%
  );
  background-image: radial-gradient(
    circle,
    var(--color-blue-3) 50%,
    transparent 50%
  );
  background-position: bottom;
  background-size: 9px 5px;
  background-repeat: repeat-x;
  content: "";
  content: "";
}
.sec4__kosodateEco__head > p {
  --px: 16;
  font-size: var(--pxToRem);
}

.sec4__kosodateEco__head > p .--notice {
  font-size: 1rem;
}

.sec4__kosodateEco__example {
  position: relative;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #d9f0f7;
  background-color: var(--color-bg-1);
  /* --pdt: 60;
  padding-top: calc(var(--pdt) / 16 * 1rem); */
  --mt: 60;
  margin-top: calc(60 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.sec4__kosodateEco__example h3 {
  text-align: center;
  --px: 18;
  font-size: var(--pxToRem);
}

.sec4__kosodateEco__example .fukidashi {
  position: absolute;
  top: -2%;
  left: 50%;
  max-width: 565px;
  transform: translateX(-50%);
  --px: 16;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.sec4__kosodateEco__item {
  display: grid;
  grid-column-gap: 1rem;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  grid-row-gap: 1rem;
  position: relative;
  row-gap: 1rem;
}
.sec4__kosodateEco__item:not(:last-child)::after {
  display: block;
  position: absolute;
  bottom: -5%;
  width: 100%;
  height: 5px;
  margin-top: 0.5em;
  background-image: radial-gradient(
    circle,
    #28b2c5 50%,
    transparent 50%
  );
  background-image: radial-gradient(
    circle,
    var(--color-blue-3) 50%,
    transparent 50%
  );
  background-position: bottom;
  background-size: 4px 2px;
  background-repeat: repeat-x;
  content: "";
  content: "";
}

.sec4__kosodateEco__item h4 {
  --px: 18;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco__item:not(:has(p)) h4 {
  --px: 20;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco__item p {
  --px: 14;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco__item p .--notice {
  --px: 13;
  font-weight: 500;
  font-size: var(--pxToRem);
}
.sec4__kosodateEco__item figure {
  aspect-ratio: 180 / 130;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
}
.sec4__kosodateEco__item figure img {
  width: 100%;
}

/*======= Sec5 ========*/
.sec5 {
  background-color: #d9f0f7;
  background-color: var(--color-bg-1);
}
.plan__title {
  text-align: center;
  --px: 28;
  font-size: var(--pxToRem);
  line-height: 1.5;
}

.plan__title .slash {
  --px: 18;
  font-size: var(--pxToRem);
  line-height: 0;
}

.plan__heading {
  position: relative;
}

.plan__heading img {
  display: none;
}
.plan__heading img:nth-of-type(1) {
  left: 0;
  max-width: 80px;
}
.plan__heading img:nth-of-type(2) {
  right: 0;
  max-width: 80px;
}

.plan__list {
  --mt: 40;
  margin-top: calc(40 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.planItem {
  position: relative;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
}
.planItem + .planItem {
  --mt: 60;
  margin-top: calc(60 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.planItem__badge {
  --px: 14;
  display: inline-block;
  position: absolute;
  top: -5%;
  left: 0;
  border-radius: 50%;
  background-color: #0e5e99;
  background-color: var(--main-color);
  color: #fff;
  font-size: var(--pxToRem);
  line-height: 1;
  text-align: center;
  --pdy: 16;
  --pdx: 19;
  padding: calc(16 / 16 * 1rem) calc(19 / 16 * 1rem);
  padding: calc(var(--pdy) / 16 * 1rem) calc(var(--pdx) / 16 * 1rem);
}
.planItem__badge span {
  display: block;
  --px: 40;
  font-size: var(--pxToRem);
}
.planItem__titleWrapper {
  display: flex;
  flex-direction: column-reverse;
  gap: 1rem;
}
.planItem__title {
  border-radius: 5px;
  background-color: #0e5e99;
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
  --pdy: 5;
  padding-top: calc(5 / 16 * 1rem);
  padding-top: calc(var(--pdy) / 16 * 1rem);
  padding-bottom: calc(5 / 16 * 1rem);
  padding-bottom: calc(var(--pdy) / 16 * 1rem);
  --px: 18;
  font-size: var(--pxToRem);
}
.planItem__titleImg.--1 {
  max-width: 470px;
  margin-right: auto;
  margin-left: auto;
}
.planItem__content {
  display: flex;
  row-gap: 1rem;
  flex-direction: column;
}
.planItem__figure {
  aspect-ratio: 326 / 214;
  width: 100%;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
}
.planItem__figure img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.planItem__data {
  display: grid;
  flex: 1;
  grid-column-gap: 1em;
  -moz-column-gap: 1em;
       column-gap: 1em;
  grid-row-gap: 1em;
  row-gap: 1em;
}
.planItem__data__item {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  gap: 0.5rem;
  border: 2px solid #0e5e99;
  border: 2px solid var(--main-color);
  border-radius: 5px;
  text-align: center;
}
.planItem__data__item > dd {
  flex: 1;
  width: 100%;
}

.planItem__data__subItem div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
}

.planItem__data__subItem div dt {
  display: flex;
  position: relative;
  flex: 1;
  align-items: center;
  gap: 0.5rem;
}

.planItem__data__subItem div dt:after {
  display: block;
  flex: 1;
  /* position: absolute; */
  /* left: 135%; */
  /* width: 100%; */
  /* max-width: 110px; */
  height: 10px;
  background: radial-gradient(circle, #0e5e99 20%, transparent 20%)
    repeat-x;
  background: radial-gradient(circle, var(--main-color) 20%, transparent 20%)
    repeat-x;
  background-size: 10px 10px;
  content: "";
}
/* .planItem__data__subItem div:last-child dt::after {
  left: 106%;

  @media (768px <= width) {
    left: 170%;
  }
  @media (1000px <= width) {
    left: 115%;
  }
} */

.planItem__price {
  display: flex;
  grid-column: 1/-1;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
}
.planItem__price dt {
  --px: 19;
  font-size: var(--pxToRem);
}
.planItem__price.--2 dt {
  --px: 25;
  font-size: var(--pxToRem);
}
.planItem__price dd {
  --px: 34;
  font-size: var(--pxToRem);
}

/*======= Sec6 ========*/
.sec6 {
  background-color: #e7eff5;
}
.products__title {
  text-align: center;
}
.products__title span {
  display: inline-block;
  border-bottom: 1px solid #333;
  --px: 30;
  font-size: var(--pxToRem);
}
.products__list {
  /* display: flex;
  flex-wrap: wrap; */
  --gap: 30;
  grid-gap: calc(30 / 16 * 1rem);
  grid-gap: calc(var(--gap) / 16 * 1rem);
  display: grid;
  gap: calc(30 / 16 * 1rem);
  gap: calc(var(--gap) / 16 * 1rem);
  line-height: 0;
}
.products__item {
  --gap: 30;
  display: flex;
  flex-direction: column-reverse;
  gap: 25px;
  background-color: #fff;
  --px: 23;
  padding: calc(23 / 16 * 1rem);
  padding: calc(var(--px) / 16 * 1rem);
  border-radius: calc(20 / 16 * 1rem);
  border-radius: var(--border-radius-20);
}
.productsItem {
  display: grid;
  grid-gap: 25px;
  grid-template-rows: minmax(0, auto);
  grid-template-columns: auto 1fr;
  gap: 25px;
}
.productsItem__icon {
  grid-row: 1/2;
  grid-column: 1/2;
  width: calc(85 / 16 * 1rem);
}
.productsItem__title {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: center;
  --px: 24;
  font-size: var(--pxToRem);
}
.productsItem__text {
  grid-column: 1/-1;
  --px: 14;
  font-size: var(--pxToRem);
  line-height: 1.5;
}
.productsItem__figure {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
}
.productsItem__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*======= Sec7 ========*/
.sec7__head {
  position: relative;
  background-color: #0e5e99;
  background-color: var(--main-color);
}
.sec7__head::after {
  display: block;
  position: absolute;
  left: 50%;
  width: calc(130 / 16 * 1rem);
  height: calc(80px / 2);
  margin: 0 auto;
  transform: translateX(-50%);
  background-color: #0e5e99;
  background-color: var(--main-color);
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sec7__head .sec__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec7__head h2 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.sec7__title {
  color: #fff;
  --px: 22;
  font-size: var(--pxToRem);
}
.sec7__title .slash span {
  color: #fff;
  --px: 18;
  font-size: var(--pxToRem);
}
.sec7__head img {
  display: none;
  transform: translateX(129%);
}
.sec7__content {
  display: grid;
  background-color: #d9f0f7;
  background-color: var(--color-bg-1);
}

.sec7__content__1 {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 27px;
}
.sec7__content__1 p {
  --px: 16;
  flex: 1;
  font-size: var(--pxToRem);
}
.sec7__content__1 figure {
  flex: 1;
  aspect-ratio: 466 / 300;
  max-width: 460px;
  overflow: hidden;
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
}

.sec7__content__2 {
  --mt: 30;
  display: flex;

  flex-direction: column;
  align-items: center;
  margin-top: calc(30 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
  gap: 27px;
  --pdy: 20;
  --pdx: 20;
  padding: calc(20 / 16 * 1rem) calc(20 / 16 * 1rem);
  padding: calc(var(--pdy) / 16 * 1rem) calc(var(--pdx) / 16 * 1rem);
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
}
.sec7__content__2 p:has(img) {
  min-width: 180px;
}
.sec7__content__2 p.bold {
  line-height: 1.8;
  --px: 16;
  font-size: var(--pxToRem);
}

/*======= Sec8 ========*/
.sec8 {
  background-color: #fff9e1;
  background-color: var(--color-bg-3);
}
.sec8 .fukidashi {
  width: 100%;
  text-align: center;
  --pdy: 30;
  padding-top: calc(30 / 16 * 0.2em);
  padding-top: calc(var(--pdy) / 16 * 0.2em);
  padding-bottom: calc(30 / 16 * 0.2em);
  padding-bottom: calc(var(--pdy) / 16 * 0.2em);
  --px: 16;
  font-size: var(--pxToRem);
  --mt: 30;
  margin-top: calc(30 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}
.sec8__text {
  text-align: center;
  --px: 16;
  font-size: var(--pxToRem);
  --mt: 26;
  margin-top: calc(26 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
}

.taioumap {
  --mt: 26;
  margin-top: calc(26 / 16 * 1rem);
  margin-top: calc(var(--mt) / 16 * 1rem);
  border: 2px solid #0e5e99;
  border: 2px solid var(--main-color);
  border-radius: calc(10 / 16 * 1rem);
  border-radius: var(--border-radius-10);
  background-color: #fff;
  text-align: center;
}
.taioumap img {
  display: inline;
}

/*======= Sec9 contact ========*/
.contact {
  background-color: #d9f0f7;
  background-color: var(--color-bg-1);
}

.contact__head {
  position: relative;
  background-color: #0099cc;
  background-color: var(--sub-color-1);
}
.contact__head::after {
  display: block;
  position: absolute;
  left: 50%;
  width: calc(130 / 16 * 1rem);
  height: calc(80px / 2);
  margin: 0 auto;
  transform: translateX(-50%);
  background-color: #0e5e99;
  background-color: #0099cc;
  background-color: var(--sub-color-1);
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.contact__head h2 {
  --px: 20;
  color: #fff;
  font-size: var(--pxToRem);
  text-align: center;
}

.contact__head img {
  display: none;
}

/* form */
/*コンタクトフォーム*/
form.wpcf7-form.init {
  /*     width: 800px; */
  margin: 0 auto;
}
form.wpcf7-form.init dl {
  display: flex;
}
form.wpcf7-form.init dt {
  width: 30%;
}
form.wpcf7-form.init dd {
  width: 70%;
}
form.wpcf7-form.init dd span input {
  width: 100%;
}
form.wpcf7-form.init dd span textarea {
  width: 100%;
}
form.wpcf7-form.init dd span select {
  width: 100%;
}
/*コンタクトフォーム02*/
table.CF7_table {
  width: 80%;
  width: 100%;
  max-width: var(--max-container-size);
  margin: 0 auto;
  border: 3px solid #e5e5e5;
  word-break: break-all;
  table-layout: fixed;
  word-wrap: break-all;
}
table.CF7_table tr {
  border-top: 1px solid #d9d9d9;
}
table.CF7_table td {
  background: #ffffff;
}
.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
  display: table;
}
/*入力欄*/
.CF7_table input:not([type="checkbox"]),
.CF7_table textarea {
  width: 100%;
  border: 1px solid #d8d8d8;
  padding: 1rem;
}
.CF7_table ::-moz-placeholder {
  color: #797979;
}
.CF7_table ::placeholder {
  color: #797979;
}
/*「必須」文字*/
.CF7_req {
  margin-right: 1em;
  padding: 5px;
  border-radius: 3px;
  background: #f07631; /*オレンジ*/
  color: #fff;
  font-size: 0.9em;
}
/*「任意」文字*/
.CF7_unreq {
  margin-right: 1em;
  padding: 5px;
  border-radius: 3px;
  background: #bdbdbd; /*グレー*/
  color: #fff;
  font-size: 0.9em;
}
/* タイトル列 */
.CF7_table th,
table.CF7_table td {
  padding: .5rem;
}

/* レスポンシブ */
/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0.3em 3em;
  border: 0;
  border-radius: 10px;
  background-color: #28B2C5;
  box-shadow: 0px 4px 0px #333;
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
  font-size: 2rem;
  transition-property: transform, box-shadow;
  transition-duration: .15s;
  transition-timing-function: ease-in;
}

.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input.wpcf7-submit:focus-visible {
  transform: translate(0px, 4px);
  box-shadow: none;
}

.CF7_btn {
  margin-top: 20px;
  text-align: center;
}
.wpcf7-spinner {
  width: 0;
  margin: 0;
}

/* Footer */
.l-footer {
  width: 100%;
}
.footer__wrapper {
  display: flex;
  z-index: 999;
  position: fixed;
  bottom: 0;
  width: 100%;
}
.footer__button {
  flex: 1;
  width: 100%;
}
.footer__button a{
  display: flex;
  color: #fff;
  -webkit-text-decoration: none;
  align-items: center;
  text-decoration: none;
  --pdy: 12;
  --pdx: 10;
  padding: calc(12 / 16 * 1rem) calc(10 / 16 * 1rem);
  padding: calc(var(--pdy) / 16 * 1rem) calc(var(--pdx) / 16 * 1rem);
  gap: 1rem;
  --px: 14;
  border: 3px solid #fff;
  border-radius: .5em;
  font-weight: 600;
  font-size: var(--pxToRem);
}
.footer__button a .--icon img{
  max-width: 20px;
  max-height: 20px;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer__button.--tel a {
  background-color: #0e5e99;
  background-color: var(--main-color);
}
.footer__button.--form a {
  background-color: #28b2c5;
  background-color: var(--sub-color-2);
}

/* ========================================
      utility 
    ========================================*/
.u-wbr {
  display: block;
}

.u-visuallyHidden {
  clip: rect(0 0 0 0);
  position: absolute;
  -webkit-clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip-path: inset(50%);
}

.u-text-upper {
  text-transform: uppercase;
}

.u-yaku {
  margin-left: -0.5em;
}

@media (min-width: 500px){
.kangen {
    grid-template-areas:
      "icon head"
      "icon text";
    -moz-column-gap: 8px;
         column-gap: 8px
}
.kangen h3 {
    grid-area: head;
    align-self: self-end
}
.kangen p:not(.kangen__saidai200) {
    grid-area: text;
    align-self: self-start
}

.kangen__saidai200 {
    display: block;
    --pdx: 20;
    --pdy: 15;
    --px: 20;
    grid-area: icon
}
}

@media (min-width: 768px){
.container {
    width: 90%
}
  .l-spacer:where([data-py~="md:0"]) {
    --space-top: 0;
    --space-bottom: 0;
  }
  .l-spacer:where([data-py~="md:1"]) {
    --space-top: 1;
    --space-bottom: 1;
  }

  .l-spacer:where([data-py~="md:2"]) {
    --space-top: 2;
    --space-bottom: 2;
  }

  .l-spacer:where([data-py~="md:3"]) {
    --space-top: 3;
    --space-bottom: 3;
  }

  .l-spacer:where([data-py~="md:4"]) {
    --space-top: 4;
    --space-bottom: 4;
  }

  .l-spacer:where([data-py~="md:5"]) {
    --space-top: 5;
    --space-bottom: 5;
  }
  .l-spacer:where([data-py~="md:6"]) {
    --space-top: 6;
    --space-bottom: 6;
  }
  .l-spacer:where([data-py~="md:7"]) {
    --space-top: 7;
    --space-bottom: 7;
  }
  .l-spacer:where([data-py~="md:8"]) {
    --space-top: 8;
    --space-bottom: 8;
  }
  .l-spacer:where([data-px~="md:0"]) {
    --space-right: 0;
    --space-left: 0;
  }
  .l-spacer:where([data-px~="md:1"]) {
    --space-right: 1;
    --space-left: 1;
  }

  .l-spacer:where([data-px~="md:2"]) {
    --space-right: 2;
    --space-left: 2;
  }

  .l-spacer:where([data-px~="md:3"]) {
    --space-right: 3;
    --space-left: 3;
  }

  .l-spacer:where([data-px~="md:4"]) {
    --space-right: 4;
    --space-left: 4;
  }

  .l-spacer:where([data-px~="md:5"]) {
    --space-right: 5;
    --space-left: 5;
  }
  .l-spacer:where([data-px~="md:6"]) {
    --space-right: 6;
    --space-left: 6;
  }
  .l-spacer:where([data-px~="md:7"]) {
    --space-right: 7;
    --space-left: 7;
  }
  .l-spacer:where([data-px~="md:8"]) {
    --space-right: 8;
    --space-left: 8;
  }
  .l-spacer:where([data-pt~="md:0"]) {
    --space-top: 0;
  }
  .l-spacer:where([data-pt~="md:1"]) {
    --space-top: 1;
  }

  .l-spacer:where([data-pt~="md:2"]) {
    --space-top: 2;
  }

  .l-spacer:where([data-pt~="md:3"]) {
    --space-top: 3;
  }

  .l-spacer:where([data-pt~="md:4"]) {
    --space-top: 4;
  }

  .l-spacer:where([data-pt~="md:5"]) {
    --space-top: 5;
  }
  .l-spacer:where([data-pt~="md:6"]) {
    --space-top: 6;
  }
  .l-spacer:where([data-pt~="md:7"]) {
    --space-top: 7;
  }
  .l-spacer:where([data-pt~="md:8"]) {
    --space-top: 8;
  }
  .l-spacer:where([data-pb~="md:0"]) {
    --space-bottom: 0;
  }
  .l-spacer:where([data-pb~="md:1"]) {
    --space-bottom: 1;
  }

  .l-spacer:where([data-pb~="md:2"]) {
    --space-bottom: 2;
  }

  .l-spacer:where([data-pb~="md:3"]) {
    --space-bottom: 3;
  }

  .l-spacer:where([data-pb~="md:4"]) {
    --space-bottom: 4;
  }

  .l-spacer:where([data-pb~="md:5"]) {
    --space-bottom: 5;
  }

  .l-spacer:where([data-pb~="md:6"]) {
    --space-bottom: 6;
  }

  .l-spacer:where([data-pb~="md:7"]) {
    --space-bottom: 7;
  }

  .l-spacer:where([data-pb~="md:8"]) {
    --space-bottom: 8;
  }
.cta .slash > span {
    display: flex; /* 文字と横線を横並び */
    align-items: center; /* 線を上下中央 */
    justify-content: center /* 文字を中央寄せ */
}
.slash > span::before,
.slash > span::after {
    width: 30px /* 線の長さ */
}
.cta__button {
    --px: 30
}
.logo {
    --width: 120;
    max-width: calc(120 * 1px);
    max-width: calc(var(--width) * 1px)
}
.header__copy {
    --px: 17
}
.eyecatch {
    margin-top: -4rem
}
.sec1__head h2 {
    --px: 30
}
.sec1__bigChance__contents img {
    top: -7%;
    right: 4%;
    max-width: 150px
}
p.sec1__bigChance__catch {
    --px: 30
}
.kangen h3 {
    --px: 30
}
.kangen p:not(.kangen__saidai200) {
    --px: 20
}

.sec2__foot {
    flex-direction: row;
    gap: 1.5rem
}
.sec2__foot figure {
    max-width: 320px
}
.sec4__title--brackets {
    margin-right: 3%;
    margin-left: 3%
}
.sec4__title.--catch1 {
    --px: 45;
    font-size: var(--pxToRem)
}
.sec4__title.--catch2 {
    --px: 30;
    font-size: var(--pxToRem)
}
.sec4__futureItem {
    flex-direction: row
}
.sec4__futureItem.--rev {
    flex-direction: row-reverse
}

.sec4__sarani {
    width: 13%
}
.sec4__heiyokanou h2 {
    --px: 45;
    display: block
}
.sec4__heiyokanou span.--deco {
    --px: 30
}
.sec4__kosodateEco > img {
    display: block;
    position: absolute;
    max-width: 108px
}

.sec4__kosodateEco__head {
    grid-template-areas:
      "img copy"
      "img text"
}

.sec4__kosodateEco__head > figure {
    grid-area: img
}
.sec4__kosodateEco__head > h3 {
    text-align: left;
    --px: 30;

    grid-area: copy;
    align-self: self-end
}
.sec4__kosodateEco__head > p {
    grid-area: text;
    align-self: self-start
}
.sec4__kosodateEco__example h3 {
    --px: 30
}

.sec4__kosodateEco__example .fukidashi {
    --px: 25
}
.sec4__kosodateEco__list {
    gap: 3rem
}
.sec4__kosodateEco__item {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "img copy"
      "img text";
    row-gap: initial
}
.sec4__kosodateEco__item:not(:last-child)::after {
    bottom: -20%
}

.sec4__kosodateEco__item h4 {
    grid-area: copy;
    align-self: self-end;
    justify-self: self-start;
    --px: 18
}
.sec4__kosodateEco__item:not(:has(p)) h4 {
    grid-row: 1 / -1;
    align-self: center;
    justify-self: self-start
}
.sec4__kosodateEco__item p {
    grid-area: text;
    align-self: self-start;
    justify-self: self-start
}
.sec4__kosodateEco__item figure {

    grid-area: img;
    justify-self: self-start;
    max-width: 185px
}
.plan__title {
    --px: 28;
    line-height: 1
}

.plan__title .slash {
    --px: 24
}

.plan__heading img {
    display: block;
    position: absolute;
    top: 0
}
.plan__heading img:nth-of-type(1) {
    max-width: 120px
}
.plan__heading img:nth-of-type(2) {
    max-width: 120px
}
.planItem + .planItem {
    --mt: 30
}
.planItem__badge {
    --pdy: 25;
    --pdx: 29;
    left: -3%
}
.planItem__title {
    --px: 23
}
.planItem__data.--col3 {
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(3, 1fr)
}
.planItem__data.--col2 {
    grid-template-columns: 1fr 2fr
}
.planItem__data__item {
    flex-direction: row;
    padding: 0;
    padding: initial
}
.planItem__data__item > dt {
    display: block;
    position: absolute;
    top: -10%;
    left: 50%;
    width: 50%;
    transform: translateX(-50%);
    background-color: #fff
}

.planItem__data__subItem div dt:after {
    left: 230%
}

.planItem__price {
    gap: 1rem
}
.planItem__price dd {
    --px: 59
}

.products__list {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}
.productsItem__title {
    --px: 30
}
.productsItem__figure {
  aspect-ratio: 326 / 212;
}
.sec7__head .sec__inner {
    justify-content: flex-start
}

.sec7__head h2 {
    padding-top: 5rem;
    padding-bottom: 5rem
}

.sec7__title {
    --px: 45
}
.sec7__title .slash span {
    --px: 35
}

.sec7__content__1 {
    flex-direction: row-reverse
}
.sec7__content__1 p {
    --px: 18
}

.sec7__content__2 {
    --pdy: 30;
    --pdx: 30;

    flex-direction: row-reverse
}
.sec7__content__2 p.bold {
    --px: 18
}
.sec8 .fukidashi {
    --px: 26;
    --pdy: 26
}
.sec8__text {
    --px: 17
}

.contact__head h2 {
    --px: 33
}

.contact__head img {
    display: block;
    position: absolute;
    bottom: 0;
    left: -3%;
    left: 0;
    max-width: 115px
}
table.CF7_table {
    width: 95%
}

.CF7_table th {
    background-color: #ebedf5 /*ブルーグレー*/
}
.l-footer {
    width: auto
}
.footer__wrapper {
    top: 50%;
    right: 0;
    bottom: auto;
    bottom: initial;
    left: auto;
    left: initial;
    flex-direction: column;
    width: auto;
    gap: .6rem;
    transform: translateY(-50%)
}
.footer__button a{
    border-right: none;
    border-radius: .5em 0 0 .5em;
    writing-mode: vertical-rl;
    --px: 17;
    letter-spacing: .2em;
    --pdy: 25;
    --pdx: 20
}

.u-spbr {
    display: none
}
}

@media screen and (min-width: 768px){
  .l-footer {
    color: azure;
  }
}

@media (min-width: 1000px){
  .l-spacer:where([data-py~="lg:0"]) {
    --space-top: 0;
    --space-bottom: 0;
  }
  .l-spacer:where([data-py~="lg:1"]) {
    --space-top: 1;
    --space-bottom: 1;
  }

  .l-spacer:where([data-py~="lg:2"]) {
    --space-top: 2;
    --space-bottom: 2;
  }

  .l-spacer:where([data-py~="lg:3"]) {
    --space-top: 3;
    --space-bottom: 3;
  }

  .l-spacer:where([data-py~="lg:4"]) {
    --space-top: 4;
    --space-bottom: 4;
  }

  .l-spacer:where([data-py~="lg:5"]) {
    --space-top: 5;
    --space-bottom: 5;
  }
  .l-spacer:where([data-py~="lg:6"]) {
    --space-top: 6;
    --space-bottom: 6;
  }
  .l-spacer:where([data-py~="lg:7"]) {
    --space-top: 7;
    --space-bottom: 7;
  }
  .l-spacer:where([data-py~="lg:8"]) {
    --space-top: 8;
    --space-bottom: 8;
  }
  .l-spacer:where([data-px~="lg:0"]) {
    --space-right: 0;
    --space-left: 0;
  }
  .l-spacer:where([data-px~="lg:1"]) {
    --space-right: 1;
    --space-left: 1;
  }

  .l-spacer:where([data-px~="lg:2"]) {
    --space-right: 2;
    --space-left: 2;
  }

  .l-spacer:where([data-px~="lg:3"]) {
    --space-right: 3;
    --space-left: 3;
  }

  .l-spacer:where([data-px~="lg:4"]) {
    --space-right: 4;
    --space-left: 4;
  }

  .l-spacer:where([data-px~="lg:5"]) {
    --space-right: 5;
    --space-left: 5;
  }
  .l-spacer:where([data-px~="lg:6"]) {
    --space-right: 6;
    --space-left: 6;
  }
  .l-spacer:where([data-px~="lg:7"]) {
    --space-right: 7;
    --space-left: 7;
  }
  .l-spacer:where([data-px~="lg:8"]) {
    --space-right: 8;
    --space-left: 8;
  }
  .l-spacer:where([data-pt~="lg:0"]) {
    --space-top: 0;
  }
  .l-spacer:where([data-pt~="lg:1"]) {
    --space-top: 1;
  }

  .l-spacer:where([data-pt~="lg:2"]) {
    --space-top: 2;
  }

  .l-spacer:where([data-pt~="lg:3"]) {
    --space-top: 3;
  }

  .l-spacer:where([data-pt~="lg:4"]) {
    --space-top: 4;
  }

  .l-spacer:where([data-pt~="lg:5"]) {
    --space-top: 5;
  }

  .l-spacer:where([data-pt~="lg:6"]) {
    --space-top: 6;
  }

  .l-spacer:where([data-pt~="lg:7"]) {
    --space-top: 7;
  }

  .l-spacer:where([data-pt~="lg:8"]) {
    --space-top: 8;
  }
  .l-spacer:where([data-pb~="lg:0"]) {
    --space-bottom: 0;
  }
  .l-spacer:where([data-pb~="lg:1"]) {
    --space-bottom: 1;
  }

  .l-spacer:where([data-pb~="lg:2"]) {
    --space-bottom: 2;
  }

  .l-spacer:where([data-pb~="lg:3"]) {
    --space-bottom: 3;
  }

  .l-spacer:where([data-pb~="lg:4"]) {
    --space-bottom: 4;
  }

  .l-spacer:where([data-pb~="lg:5"]) {
    --space-bottom: 5;
  }

  .l-spacer:where([data-pb~="lg:6"]) {
    --space-bottom: 6;
  }

  .l-spacer:where([data-pb~="lg:7"]) {
    --space-bottom: 7;
  }

  .l-spacer:where([data-pb~="lg:8"]) {
    --space-bottom: 8;
  }
.c-button--rounded {
    padding: 2rem 10rem
}
.cta__copy {
    --px: 30;
    line-height: inherit
}
.cta__copy .c-textYellow {
    --px: 50
}
.slash > span::before,
.slash > span::after {
    width: 40px /* 線の長さ */
}

.table-scroll {
    overflow-x: auto
}
.logo {
    --width: 200;
    max-width: calc(200 * 1px);
    max-width: calc(var(--width) * 1px)
}
.eyecatch {
    margin-top: -8rem
}
.sec1__head h2 {
    --min-size: 38; /* 最小サイズ */
    --max-size: 44; /* 最大サイズ */
    font-size: var(--ClampSize)
}
.sec1__head p {
    --min-size: 18; /* 最小サイズ */
    --max-size: 28; /* 最大サイズ */
    font-size: var(--ClampSize)
}
.sec1__contents p {
    --px: 20
}

.sec1__bigChance .fukidashi {
    --px: 30
}
.sec1__bigChance__contents img {
    max-width: 200px
}
p.sec1__bigChance__catch {
    --min-size: 40; /* 最小サイズ */
    --max-size: 50; /* 最大サイズ */
    font-size: var(--ClampSize)
}

.sec2 h2:after {
    z-index: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 105%;
    height: 100%;
    background: linear-gradient(
      180deg,
      #fff9e1 0%,
      #fff9e1 50%,
      #fff 50%,
      #fff 100%
    );
    background: linear-gradient(
      180deg,
      var(--color-bg-3) 0%,
      var(--color-bg-3) 50%,
      #fff 50%,
      #fff 100%
    );
    content: ""
}

.sec2__content {
    margin-top: -4rem;
    padding-top: 7rem
}
.kangen {
    --px: 44;
    -moz-column-gap: 30px;
         column-gap: 30px
}
.kangen h3 {
    --px: 44
}

.kangen__saidai200 {
    --px: 30;
    --pdx: 40;
    --pdy: 30
}
.sec2__youken dd {
    --pdl: 26;
    padding-left: calc(26 / 16 * 1rem);
    padding-left: calc(var(--pdl) / 16 * 1rem)
}
.sec2__foot figure img {
    min-height: 220px
}
.sec2__foot__content {
    --pdy: 25;
    --pdx: 30
}

.sec2__deco {
    right: 6%;
    max-width: 160px
}

.sec4__futureItem__title {
    --px: 30
}
.sec4__kosodateEco > img {
    max-width: 168px
}
.sec4__kosodateEco > img:nth-child(1) {
    top: -9%
}
.sec4__kosodateEco > img:nth-child(2) {
    top: -10.5%
}

.sec4__kosodateEco__head > figure {
    max-width: 210px
}
.sec4__kosodateEco__head > h3 {
    --px: 40
}
.sec4__kosodateEco__head > p {
    --px: 20
}
.sec4__kosodateEco__example h3 {
    --px: 40
}

.sec4__kosodateEco__item h4 {
    --px: 20
}
.plan__title {
    --px: 42
}

.plan__title .slash {
    --px: 35
}
.planItem__content {
    flex-direction: row;
    -moz-column-gap: 1rem;
         column-gap: 1rem
}
.planItem__figure {
    max-width: 320px
}

.planItem__data__subItem div dt:after {
    left: 150%
}
.products__item {
    --px: 46
}
.productsItem__title {
    --px: 40
}
.productsItem__text {
    --px: 16
}
.sec7__head img {
    display: block;
    position: absolute;
    top: -8%;
    right: 50%;
    max-width: 311px;
    transform: translateX(169%)
}
.sec7__content__1 p {
    --px: 23
}
.sec7__content__2 p.bold {
    --px: 24
}

.contact__head h2 {
    --px: 43
}

.contact__head img {
    left: 50%;
    max-width: 160px;

    transform: translateX(-340%)
}
}

@media screen and (max-width: 768px){
  .CF7_table tr,
  .CF7_table td,
  .CF7_table th {
    display: block;
    line-height: 2.5em;
  }
  .CF7_table th {
    padding-left: 10px;
    background-color: #ebedf5;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *:before,
  *:after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
