@charset "UTF-8";

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden="until-found"])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
  tab-size: 2;
  scrollbar-gutter: stable;
}

:where(html:has(dialog:modal[open])) {
  overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}

:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role="button"], [role="option"]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(dialog) {
  border: none;
  background: none;
  inset: unset;
  max-width: unset;
  max-height: unset;
}

:where(dialog:not([open], [popover])) {
  display: none !important;
}

:where([popover]) {
  border: none;
  background: none;
  inset: unset;
  color: inherit;
}

:where([popover]:not(:popover-open)) {
  display: none !important;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: revert;
  vertical-align: middle;
}

:where(h1, h2, h3) {
  font-size: inherit;
  line-height: inherit;
  text-wrap: revert;
}

:where(fieldset) {
  border: none;
  background: none;
  inset: unset;
  max-width: unset;
  max-height: unset;
}

:where(summary) {
  list-style: none;
}

:where(summary)::-webkit-details-marker {
  display: none;
}

:where([tabindex="-1"]:focus-visible) {
  outline: none;
  box-shadow: none;
}

:where(:focus-visible) {
  outline: revert;
  outline-offset: revert;
  box-shadow: revert;
}

@media (prefers-reduced-motion) {
  *,
  *:before,
  *:after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}

:root {
  --color-primary: #ff7e15;
  --color-primary-bg: #ff8624;
  --color-primary-border: #fc843d;
  --color-blue: #14539d;
  --color-blue-bg: #14539d;
  --color-blue2: #204d83;
  --color-red: #ff1d04;
  --color-background: #f7f8fb;
  --color-text: #181010;
  --color-text-sub: #f0f0f0;
  --color-link: #0066cc;
  --color-link-hover: var(--color-link);
  --color-button01: #c40019;
  --color-button01-border: #800000;
  --color-button02: #14539d;
  --color-button02-border: #14539d;
  --color-dark: #000;
  --color-light: #fff;
  --font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "BIZ UDPGothic", Meiryo, sans-serif;
  --font-family-oswald: "Oswald", "Noto Sans JP", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", Meiryo, sans-serif;
  --gap: clamp(20px, 7.6971608833px + 3.1545741325vw, 40px);
  --designSize: 1440px;
  --wideSize: 980px;
  --mediumSize: 890px;
  --narrowSize: 600px;
  --full: minmax(var(--gap), 1fr);
  --wide: minmax(0, calc((var(--wideSize) - var(--mediumSize)) / 2));
  --medium: minmax(0, calc((var(--mediumSize) - var(--narrowSize)) / 2));
  --narrow: min(var(--narrowSize), 100% - var(--gap) * 2);
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-lg: 3px;
  --border-width-xl: 6px;
  --border-radius-md: 5px;
  --border-radius-lg: 10px;
  --border-radius-xl: 20px;
  --border-radius-infinity: calc(infinity * 1px);
  --easing: cubic-bezier(0.39, 0.575, 0.565, 1);
}

@font-face {
  font-family: "DIN Alternate";
  src: url("../fonts/DINAlternate-Bold.ttf");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "URW DIN";
  src: url("../fonts/urw-din-bold.otf");
  font-weight: bold;
  font-style: normal;
}

html {
  block-size: var(--100vh, 100vh);
  min-block-size: 100%;
  color-scheme: light;
  writing-mode: horizontal-tb;
  scrollbar-gutter: auto;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

html :where(:focus-visible, :target) {
  scroll-margin-block: calc(54px + 4vh);
}

@media print, screen and (min-width: 1025px) {
  html :where(:focus-visible, :target) {
    scroll-margin-block: calc(94px + 4vh);
  }
}

body {
  block-size: 100%;
  font-family: var(--font-family);
  font-size: 100%;
  line-height: inherit;
  color: var(--color-text);
  font-weight: 400;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

hr {
  block-size: 0;
  margin-block: 0;
  background: none;
  border: none;
}

figure {
  text-align: center;
}

* + figure {
  margin-block-start: 30px;
}

figcaption {
  font-size: 0.9375rem;
  line-height: 1.7333333333;
}

figcaption + img,
img + figcaption {
  margin-block-start: 21px;
}

img,
svg {
  vertical-align: top;
}

@page {
  margin: 20px;
}

strong,
b {
  font-weight: 700;
}

em {
  font-weight: 700;
  font-style: normal;
  color: var(--color-caution);
}

mark {
  background-color: transparent;
}

sup {
  font-size: smaller;
  vertical-align: super;
}

sub {
  font-size: smaller;
  vertical-align: sub;
}

a:where(:any-link) {
  color: var(--color-link);
  text-decoration: underline;
}

a:where(:visited) {
  color: var(--color-link-visited);
}

@media (any-hover: hover) {
  a:where(:hover) {
    color: var(--color-link-hover);
    text-decoration: none;
  }
}

input,
textarea,
select,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

select,
button {
  cursor: pointer;
}

button {
  width: 100%;
  overflow: visible;
}

input::-ms-clear,
input::-ms-reveal,
select::-ms-expand {
  display: none;
}

fieldset {
  border: none;
}

legend {
  width: 100%;
}

.l-base {
  position: relative;
  min-block-size: 100%;
  font-size: 0.9375rem;
  line-height: 1.5;
  writing-mode: horizontal-tb;
}

@media print, screen and (min-width: 769px) {
  .l-base {
    font-size: 1rem;
  }
}

.l-base__head {
  position: sticky;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 3;
}

.l-base__body {
  position: relative;
  z-index: 1;
}

.l-base__foot {
  background-color: #f2f2f2;
  position: relative;
  z-index: 2;
}

.l-base__fixed {
  position: sticky;
  padding-inline: var(--gap);
  padding-block: 15px;
  inset-inline-start: 0;
  inset-inline-end: 0;
  inset-block-end: 0;
  background-color: rgb(from var(--color-light) r g b/.9);
  z-index: 4;
  opacity: 1;
  visibility: visible;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
  transition-delay: 0s;
}

.l-base__fixed.is-hide {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.3s;
}

.l-header {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--color-light);
  transition-property: box-shadow;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
}

@media screen and (max-width: 1024px) {
  .l-header {
    padding-inline-start: max(var(--gap), 50% - 490px);
  }
}

@media print, screen and (min-width: 1025px) {
  .l-header {
    padding-block-start: 17px;
    padding-block-end: 17px;
    padding: 16px 20px;
    justify-content: space-between;
    align-items: center;
  }
}

.l-header.is-scrolled {
  box-shadow: 0 0 6px rgb(from var(--color-dark) r g b/.2);
}

.l-header__logo {
  flex-shrink: 0;
}

.l-header__logo svg {
  width: 100%;
}

.l-header__toggle {
  margin-inline-start: auto;
}

@media print, screen and (min-width: 1025px) {
  .l-header__toggle {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .l-header {
    height: 48px;
  }

  .l-header__nav {
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    background-color: var(--color-light);
  }
}

@media print, screen and (min-width: 1025px) {
  .l-header__nav {
    margin-inline-start: auto;
  }
}

.l-main {
  overflow: hidden;
}

.l-section {
  position: relative;
}

.l-section--bg-background {
  background-color: var(--color-background);
}

.l-section--bg-primary {
  background-color: var(--color-primary-bg);
}

.l-section--bg-blue {
  background-color: var(--color-blue-bg);
}

.l-section--bg-blue2 {
  background-color: var(--color-blue2);
}

.l-section__head {
  grid-column: full;
}

.l-section__body {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1320px;
}

:where(.l-section__inner) > * {
  inline-size: fit-content;
  margin-inline: auto;
}

.u-text--primary {
  color: var(--color-primary);
}

.u-text--blue {
  color: var(--color-blue);
}

.u-text--blue2 {
  color: var(--color-blue2);
}

.u-text--red {
  color: var(--color-red);
}

.u-text--light {
  color: var(--color-light);
}

.u-text--gradation {
  background: linear-gradient(180deg, #ffbf59 -7.48%, #f36100 78.97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(52px, 8vw);
  position: relative;
  margin: 0 10px;
}

.u-text--emphasis {
  color: var(--color-blue);
  font-weight: 700;
  font-size: 1.875rem;
}

@media print, screen and (max-width: 768px) {
  .u-text--emphasis {
    font-size: 1.5625rem;
  }
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-text--primary-border {
  border-bottom: 7px solid;
  border-color: var(--color-primary-border);
}

@media screen and (max-width: 768px) {
  .u-text--primary-border {
    border-bottom: 5px solid #ff6600;
    line-height: 2;
  }
}

h2 {
  font-size: 34px;
}

h3 {
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: min(32px, 6vw);
  }
}

.o-headGroup {
  display: grid;
  justify-items: center;
  margin-block-end: 0px;
  font-weight: 700;
}

@media print, screen and (min-width: 769px) {
  .o-headGroup {
    margin-block-end: 38px;
  }
}

.o-headGroup__img {
  margin-block-start: 19px;
}

.o-heading {
  margin-block-end: 30px;
  font-size: 1.5625rem;
  line-height: 1.4333333333;
  text-align: center;
  font-weight: 700;
}

@media print, screen and (min-width: 769px) {
  .o-heading {
    margin-block-end: 60px;
    font-size: 1.875rem;
    line-height: 1.4571428571;
  }
}

.o-button {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: fit-content;
  background-color: var(--color-blue);
  box-shadow: 0px 6px 4px #00000024;
  font-size: 18px;
  text-align: center;
  color: var(--color-light);
  font-weight: 700;
  border-radius: var(--border-radius-infinity);
  transition-property: box-shadow, inset-block-start;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
  z-index: 0;
  min-block-size: 64px;
  transition: all 0.3s;
  border: 1.5px solid var(--color-blue);
  /* min-inline-size: min(237px, 100%);
    margin-inline: auto;
    padding-inline-start: 15px;
    padding-inline-end: 16px;
    padding-block-start: 10px;
    padding-block-end: 10px;
    inset-block-start: 0px;
    margin-block-end: 6px;*/
}

@media print, screen and (min-width: 769px) {
  .o-button {
    min-inline-size: min(307px, 100%);
    min-block-size: 64px;
  }
}

* + .o-button {
  margin-block-start: 7px;
}

.o-button:has(+ *) {
  margin-block-end: 26px;
}

.o-button:where(:any-link) {
  text-decoration: none;
  color: var(--color-light);
  position: relative;
}

@media (any-hover: hover) {
  .o-button:where(:any-link):where(:hover) {
    color: var(--color-blue);
    background: #fff;
  }
}

.o-button--disabled {
  inset-block-start: 0;
  background-color: var(--color-disabled);
  box-shadow: 0 6px 0 var(--color-disabled-border);
  color: var(--color-light);
  pointer-events: none;
}

.o-navGlobal__link {
  text-decoration: none;
  color: var(--color-text);
  font-weight: 600;
  transition: all 0.3s;
}

.o-navGlobal__link:visited {
  color: var(--color-text);
}

@media (any-hover: hover) {
  .o-navGlobal__link:where(:hover) {
    text-decoration: none;
    color: var(--color-primary);
  }
}

@media screen and (max-width: 1024px) {
  .o-navGlobal {
    position: relative;
    display: grid;
    grid-template-rows: 0fr;
    transition-property: grid-template-rows;
    transition-duration: 0.3s;
    transition-timing-function: var(--easing);
  }

  .o-navGlobal:before {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-light);
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s var(--easing), visibility 0s ease 0.6s;
    content: "";
  }

  .o-navGlobal.is-open {
    grid-template-rows: 1fr;
  }

  .o-navGlobal.is-open:before {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
  }

  .o-navGlobal__list {
    overflow: hidden;
  }

  .o-navGlobal__item + .o-navGlobal__item {
    border-block-start-width: 1px;
    border-block-start-style: solid;
    border-block-start-color: #d9d9d9;
  }

  .o-navGlobal__link {
    display: grid;
    align-items: center;
    min-block-size: 52px;
    padding-inline: 30px;
  }
}

@media print, screen and (min-width: 1025px) {
  .o-navGlobal__list {
    display: flex;
    align-items: center;
    gap: 0 28px;
  }

  .o-navGlobal__item {
    display: flex;
    place-items: center;
    font-size: 0.9375rem;
    line-height: 1.7333333333;
  }

  .o-navGlobal__link {
    text-align: center;
  }
}

.o-navGlobal__cta a {
  box-shadow: inherit;
  min-block-size: 45px;
  margin-left: 26px;
  padding: 0 26px;
}

@media print, screen and (max-width: 1024px) {
  .o-navGlobal__cta a {
    margin: 30px auto;
  }
}

.o-navToggle {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: 75px;
  block-size: 48px;
  background: #ff6600;
  border-radius: 0 0 0 20px;
}

.o-navToggle__line span {
  position: absolute;
  display: block;
  inline-size: 40px;
  block-size: 2px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #fff;
  transition-property: inline-size, translate, rotate, scale;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
  transform-origin: center;
}

.o-navToggle__line span:nth-child(1) {
  translate: 0 -5px;
}

.o-navToggle__line span:nth-child(2) {
  display: none;
}

.o-navToggle__line span:nth-child(3) {
  translate: 0 5px;
}

.o-navToggle.is-open .o-navToggle__line span:is(:nth-child(1), :nth-child(3)) {
  inline-size: calc(22px / cos(45deg));
  translate: 0 0;
  border-radius: var(--border-radius-infinity);
}

.o-navToggle.is-open .o-navToggle__line span:nth-child(1) {
  rotate: 45deg;
}

.o-navToggle.is-open .o-navToggle__line span:nth-child(3) {
  rotate: -45deg;
}

.o-navToggle.is-open .o-navToggle__line span:nth-child(2) {
  scale: 0 1;
}

.o-balloon {
  position: relative;
  display: inline-block;
  margin: 0 0 13px;
  padding: 10px 25px 12px;
  min-width: 120px;
  max-width: 100%;
  color: var(--color-light);
  font-size: min(27px, 4.2vw);
  background: var(--color-blue);
  border-radius: 7.27px;
  text-align: center;
}

.o-balloon:before {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  margin-left: -14px;
  border: 15px solid transparent;
  border-top: 15px solid var(--color-blue);
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.l-main__head {
  position: relative;
  z-index: 0;
  background: linear-gradient(282.92deg, #ffea60 -1.93%, #fb753f 98.19%);
  width: 100%;
}

.l-main__head:before {
  content: "";
  clip-path: polygon(0 77%, 100% 0, 100% 100%, 0 100%);
  background: #fff;
  width: 100%;
  height: 50%;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -2px;
  right: 0;
}

.o-mainVisual {
  position: relative;
  padding: 35px 26px 60px;
  display: flex;
  gap: 25px;
  max-width: 1280px;
  margin: 0 auto;
}

.o-mainVisual > * {
  z-index: 5;
  position: relative;
}

.o-mainVisual__body {
  width: 100%;
}

.o-mainVisual__balloon {
  max-width: min(368px, 15vw);
}

.o-mainVisual h1 {
  font-size: min(84px, 5vw);
  line-height: 1.3;
}

.o-mainVisual__list {
  margin-top: 18px;
  font-weight: 700;
  z-index: 3;
  position: relative;
}

.o-mainVisual__list li {
  font-size: min(32px, 2.5vw);
  line-height: 1.5;
  position: relative;
  padding-left: 56px;
  display: flex;
  width: fit-content;
  gap: 3px;
}

.o-mainVisual__list li .notes {
  position: absolute;
  background-color: transparent;
  top: -6px;
  right: -20px;
}

.o-mainVisual__list li + li {
  margin-top: 14px;
}

.o-mainVisual__list li:before {
  content: "";
  height: 34px;
  width: 34px;
  position: absolute;
  top: 9px;
  left: 0;
  background-size: contain;
  background-image: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEwIiBjeT0iOS45OTk5MiIgcj0iMTAiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik01LjU1NTY2IDkuNDczNzFMOC4zMTQyOCAxMy4zMzM0TDE0LjQ0NDYgNi42NjY2OSIgc3Ryb2tlPSIjRkY4ODAwIiBzdHJva2Utd2lkdGg9IjEuNDgxNDgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");
}

.o-mainVisual__list li span {
  background: #ff7e15;
  border-radius: 50px;
  padding: 5px 24px;
  position: relative;
}

.o-mainVisual__circle {
  display: flex;
  z-index: 3;
  position: relative;
  margin-top: 30px;
}

.o-mainVisual__circle li {
  font-weight: 700;
  font-size: min(16.06px, 1.5vw);
  text-align: center;
  line-height: 1.1;
  background-image: url(../images/img_leaf-circle@2x.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: min(233px, 14vw);
  height: min(233px, 14vw);
  padding-top: min(25px, 2.5vw);
  position: relative;
}

.o-mainVisual__circle li > span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.o-mainVisual__circle li:not(:last-child) > span {
  font-size: min(22px, 1.4vw);
}

.o-mainVisual__circle li:last-child > span {
  margin-top: min(52px, 1.5vw);
  font-size: min(22px, 1.4vw);
}

.o-mainVisual__circle li:last-child .o-mainVisual__circle_num {
  margin-top: min(5px, 0.5vw);
  display: inline-block;
}

.o-mainVisual__circle_num {
  font-size: min(70px, 4vw);
  font-family: "DIN Alternate";
  letter-spacing: -2px;
  padding-right: 2px;
}

.o-mainVisual__circle_text01 {
  font-size: min(24px, 2.5vw);
}

.o-mainVisual__circle_text02 {
  font-size: min(22px, 1.5vw);
}

.o-mainVisual .notes {
  font-size: min(14px, 1vw);
  position: absolute;
  right: 0;
  top: min(15px, 1.5vw);
}

.o-mainVisual__img {
  position: absolute;
  right: -5vw;
  bottom: -100px;
  width: min(600px, 50%);
}

.o-mainVisual__img img {
  width: min(600px, 50vw);
  height: auto;
}

.o-mainVisual__supplement {
  position: absolute;
  left: 15px;
  bottom: -45px;
  display: flex;
  flex-direction: column;
  gap: 0 23px;
  font-size: 12px;
}

.o-mainVisual__supplement p {
  margin: 0;
}

@media (max-width: 1200px) {
  .o-mainVisual__img {
    position: absolute;
    right: 0vw;
    bottom: -100px;
    width: min(500px, 50%);
  }

  .o-mainVisual__img img {
    width: min(500px, 50vw);
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  .l-main__head:before {
    clip-path: polygon(0 100%, 100% 10%, 100% 100%, 0 100%);
  }

  .o-mainVisual {
    padding: 30px 23px 14px;
    max-width: 550px;
  }

  .o-mainVisual__img {
    right: 0;
    min-width: unset;
    bottom: -20px;
  }

  .o-mainVisual__balloon {
    max-width: 205px;
  }

  .o-mainVisual h1 {
    font-size: min(34px, 8.5vw);
  }

  .o-mainVisual__list li {
    font-size: 14px;
    padding-left: 20px;
  }

  .o-mainVisual__list li span {
    padding: 3px 15px;
  }

  .o-mainVisual__list li:before {
    top: 7px;
    width: 14px;
    height: 14px;
  }

  .o-mainVisual__circle_num {
    letter-spacing: -0.5px;
    font-size: min(32px, 6.8vw);
  }

  .o-mainVisual__circle li {
    width: min(120px, 24vw);
    height: min(120px, 24vw);
    padding-top: min(20px, 3.8vw);
    font-size: min(16.06px, 2.3vw);
  }

  .o-mainVisual__circle li:not(:last-child) > span {
    font-size: min(13px, 2.2vw);
  }

  .o-mainVisual__circle_text02 {
    font-size: min(18.35px, 2.5vw);
  }

  .o-mainVisual .notes {
    right: 0;
    top: 0;
    font-size: min(11px, 2vw);
  }

  .o-mainVisual__supplement {
    position: relative;
    flex-wrap: wrap;
    bottom: 0;
    font-size: 10px;
    font-weight: 700;
    color: var(--color-dark);
    margin-top: 10px;
    margin-left: -20px;
  }

  .o-mainVisual_comment {
    font-size: 1rem;
    padding: 20px 15px;
    border-radius: 10px;
  }
}

@media screen and (max-width: 550px) {
  .o-mainVisual__img {
    right: -50px;
    min-width: 180px;
    bottom: -20px;
  }
}

.o-mainVisual img {
  max-width: 100%;
}

.o-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/img_banner_bg_pc.png) no-repeat;
  background-size: cover;
  width: 100%;
  height: min(345px, 28vw);
  padding: 60px min(98px, 10vw) 60px min(249px, 18vw);
  gap: 20px min(78px, 8vw);
  position: relative;
}

@media screen and (min-width: 769px) {
  .section-cta .o-cta::after {
    content: "";
    clip-path: polygon(2% 100%, 100% 30%, 100% 100%, 0% 100%);
    background: #f2f2f2;
    width: 100%;
    height: 50%;
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: -1px;
    right: 0;
  }
}

.section-cta .o-cta > * {
  position: relative;
  z-index: 3;
}

.o-ctaLeft {
  position: relative;
}

.o-ctaLeft::before {
  content: "";
  background: url(../images/img_banner01.png) no-repeat;
  background-size: contain;
  width: min(228px, 20vw);
  height: min(282px, 20vw);
  position: absolute;
  z-index: 1;
  left: -36%;
  bottom: -45px;
}

.o-ctaLeft::after {
  content: "";
  background: url(../images/img_banner02.png) no-repeat;
  background-size: contain;
  width: min(103px, 10vw);
  height: min(142px, 12vw);
  position: absolute;
  z-index: 1;
  left: auto;
  bottom: -45px;
  right: -5%;
}

.o-cta h2 {
  font-size: min(32px, 2.5vw);
  text-shadow: 0px 4.48px 4.48px #0000001f;
  z-index: 3;
  position: relative;
}

.o-cta h2 span {
  font-size: min(45px, 3vw);
}

.o-ctaRight {
  width: min(421px, 46%);
  position: relative;
  z-index: 3;
}

.o-ctaBtns__item + .o-ctaBtns__item {
  margin-top: 20px;
}

.o-ctaBtns__text {
  align-items: center;
  display: flex;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  color: #e15a00;
  z-index: 1;
  position: relative;
}

.o-ctaBtns__text::before,
.o-ctaBtns__text::after {
  background-color: #e15a00;
  content: "";
  height: 1px;
  bottom: -1px;
  position: relative;
  width: 25px;
}

.o-ctaBtns__text::before {
  margin-right: 6px;
  transform: rotate(-135deg);
}

.o-ctaBtns__text::after {
  margin-left: 6px;
  transform: rotate(135deg);
}

.o-ctaBtns__item:nth-child(2) .o-ctaBtns__text {
  color: #14539d;
}

.o-ctaBtns__item:nth-child(2) .o-ctaBtns__text::before,
.o-ctaBtns__item:nth-child(2) .o-ctaBtns__text::after {
  background-color: #14539d;
}

.o-ctaBtns__btn {
  min-inline-size: min(421px, 100%);
  position: relative;
  display: flex;
  justify-content: center;
}

.o-ctaBtns__item:first-child .o-ctaBtns__btn {
  color: #ff6600;
  background-color: #fff;
  border: 1.5px solid #ff6600;
}

.o-ctaBtns__item:first-child .o-ctaBtns__btn:hover {
  color: #fff;
  background-color: #ff6600;
}

.o-ctaBtns__item .o-ctaBtns__btn i {
  content: "";
  height: 20px;
  width: 20px;
  margin-right: 8px;
  mask-repeat: no-repeat;
  mask-position: 0 0, center center;
  mask-size: 100%;
  mask-composite: exclude;
  mask-image: url(data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjIwIiBoZWlnaHQ9IjIzIiB2aWV3Qm94PSIwIDAgMjAgMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01Ljg3NSA4LjY1NjI1VjE4LjYyNUgxLjQwNjI1QzAuODA0Njg4IDE4LjYyNSAwLjM3NSAxOC4xOTUzIDAuMzc1IDE3LjU5MzhWMy4xNTYyNUMwLjM3NSAyLjU5NzY2IDAuODA0Njg4IDIuMTI1IDEuNDA2MjUgMi4xMjVINC44NDM3NUM1LjMxNjQxIDEuMzA4NTkgNi4yMTg3NSAwLjc1IDcuMjUgMC43NUM4LjIzODI4IDAuNzUgOS4xNDA2MiAxLjMwODU5IDkuNjEzMjggMi4xMjVIMTMuMDkzOEMxMy42NTIzIDIuMTI1IDE0LjEyNSAyLjU5NzY2IDE0LjEyNSAzLjE1NjI1VjYuMjVIOC4yODEyNUM2Ljk0OTIyIDYuMjUgNS44NzUgNy4zNjcxOSA1Ljg3NSA4LjY1NjI1Wk03LjI1IDIuNDY4NzVDNi42NDg0NCAyLjQ2ODc1IDYuMjE4NzUgMi45NDE0MSA2LjIxODc1IDMuNUM2LjIxODc1IDQuMTAxNTYgNi42NDg0NCA0LjUzMTI1IDcuMjUgNC41MzEyNUM3LjgwODU5IDQuNTMxMjUgOC4yODEyNSA0LjEwMTU2IDguMjgxMjUgMy41QzguMjgxMjUgMi45NDE0MSA3LjgwODU5IDIuNDY4NzUgNy4yNSAyLjQ2ODc1Wk0xNS4xNTYyIDEzLjEyNUgxOS42MjVWMjEuNzE4OEMxOS42MjUgMjIuMzIwMyAxOS4xNTIzIDIyLjc1IDE4LjU5MzggMjIuNzVIOC4yODEyNUM3LjY3OTY5IDIyLjc1IDcuMjUgMjIuMzIwMyA3LjI1IDIxLjcxODhWOC42NTYyNUM3LjI1IDguMDk3NjYgNy42Nzk2OSA3LjYyNSA4LjI4MTI1IDcuNjI1SDE0LjEyNVYxMi4wOTM4QzE0LjEyNSAxMi42OTUzIDE0LjU1NDcgMTMuMTI1IDE1LjE1NjIgMTMuMTI1Wk0xOS42MjUgMTEuNDkyMlYxMS43NUgxNS41VjcuNjI1SDE1Ljc1NzhDMTYuMDE1NiA3LjYyNSAxNi4yNzM0IDcuNzUzOTEgMTYuNDg4MyA3Ljk2ODc1TDE5LjI4MTIgMTAuNzYxN0MxOS40OTYxIDEwLjk3NjYgMTkuNjI1IDExLjIzNDQgMTkuNjI1IDExLjQ5MjJaIiBmaWxsPSIjRkY2NjAwIi8+Cjwvc3ZnPgo=);
  background: #ff6600;
}

.o-ctaBtns__item .o-ctaBtns__btn:hover i {
  background: #fff;
}

.o-ctaBtns__item:nth-child(2) .o-ctaBtns__btn i {
  height: 23px;
  mask-image: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjIwIiBoZWlnaHQ9IjIzIiB2aWV3Qm94PSIwIDAgMjAgMjMiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjg5MDYyNSA5SDE5LjEwOTRDMTkuMzY3MiA5IDE5LjYyNSA5LjI1NzgxIDE5LjYyNSA5LjUxNTYyVjIwLjY4NzVDMTkuNjI1IDIxLjg0NzcgMTguNjc5NyAyMi43NSAxNy41NjI1IDIyLjc1SDIuNDM3NUMxLjI3NzM0IDIyLjc1IDAuMzc1IDIxLjg0NzcgMC4zNzUgMjAuNjg3NVY5LjUxNTYyQzAuMzc1IDkuMjU3ODEgMC41ODk4NDQgOSAwLjg5MDYyNSA5Wk0xOS42MjUgNy4xMDkzOEMxOS42MjUgNy40MTAxNiAxOS4zNjcyIDcuNjI1IDE5LjEwOTQgNy42MjVIMC44OTA2MjVDMC41ODk4NDQgNy42MjUgMC4zNzUgNy40MTAxNiAwLjM3NSA3LjEwOTM4VjUuNTYyNUMwLjM3NSA0LjQ0NTMxIDEuMjc3MzQgMy41IDIuNDM3NSAzLjVINC41VjEuMjY1NjJDNC41IDEuMDA3ODEgNC43MTQ4NCAwLjc1IDUuMDE1NjIgMC43NUg2LjczNDM4QzYuOTkyMTkgMC43NSA3LjI1IDEuMDA3ODEgNy4yNSAxLjI2NTYyVjMuNUgxMi43NVYxLjI2NTYyQzEyLjc1IDEuMDA3ODEgMTIuOTY0OCAwLjc1IDEzLjI2NTYgMC43NUgxNC45ODQ0QzE1LjI0MjIgMC43NSAxNS41IDEuMDA3ODEgMTUuNSAxLjI2NTYyVjMuNUgxNy41NjI1QzE4LjY3OTcgMy41IDE5LjYyNSA0LjQ0NTMxIDE5LjYyNSA1LjU2MjVWNy4xMDkzOFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
  background: #fff;
}

.o-ctaBtns__item:nth-child(2) .o-ctaBtns__btn:hover i {
  background: var(--color-blue);
}

@media screen and (min-width: 769px) {
  .o-ctaBtns__btn {
    font-size: min(18px, 1.8vw);
    min-block-size: min(64px, 5.5vw);
  }
}

@media screen and (min-width: 500px) and (max-width: 768px) {
  .o-ctaLeft,
  .o-ctaRight {
    max-width: 550px;
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .o-cta {
    background: url(../images/img_banner_bg_sp.png) no-repeat;
    height: min(480px, 150vw);
    padding: 30px 20px 65px;
    flex-wrap: wrap;
    justify-content: start;
  }

  .o-ctaRight {
    width: min(421px, 100%);
  }

  .o-ctaLeft::before,
  .o-ctaLeft::after {
    display: none;
  }

  .o-cta::before {
    content: "";
    background: url(../images/img_banner01_sp.png) no-repeat;
    background-size: contain;
    width: min(167px, 50vw);
    height: min(215px, 70vw);
    top: 23%;
    position: absolute;
    right: -10px;
  }

  .o-cta::after {
    content: "";
    background: url(../images/img_banner02_sp.png) no-repeat;
    background-size: contain;
    width: min(103px, 35vw);
    height: min(142px, 40vw);
    left: -20px;
    bottom: -7px;
    position: absolute;
    z-index: 0;
  }

  .o-cta h2 {
    font-size: min(26px, 10vw);
  }

  .o-cta h2 span {
    font-size: min(32px, 15vw);
  }
}

#achievement .l-section__body {
  max-width: 1093px;
  padding-top: 48px;
  padding-bottom: 60px;
}

#achievement img {
  margin: 0 auto;
  display: block;
}

.o-achievement__circle {
  display: flex;
  z-index: 3;
  position: relative;
  margin-top: 30px;
  margin-bottom: 60px;
  text-align: center;
}

.o-achievement__circle li {
  font-size: min(16.06px, 1.5vw);
  width: min(163px, 14vw);
  height: min(163px, 14vw);
}

.o-achievement__supplement {
  font-weight: 500;
  font-style: Medium;
  font-size: 10px;
  max-width: 689px;
  margin: 0 auto;
}

.o-achievement__supplement p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .o-achievement__circle {
    flex-wrap: wrap;
    gap: 0px 10px;
    justify-content: center;
    margin-bottom: 30px;
  }

  .o-achievement__circle li {
    width: 22%;
    height: auto;
  }
}

#introduction {
  padding-top: 88px;
  padding-bottom: 44px;
}

#introduction h2 {
  font-size: min(25px, 3vw);
  padding: 12px 35px 13px;
  color: #ff6600;
  background-color: #fff;
  border: 1.5px solid #ff6600;
  border-radius: var(--border-radius-infinity);
}

.o-introduction {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px 22px;
}

@media screen and (max-width: 768px) {
  #introduction {
    padding-top: 50px;
    padding-bottom: 35px;
  }

  .o-introduction {
    flex-wrap: wrap;
    margin-top: 30px;
  }

  .o-introduction__item {
    width: 28%;
  }
}

#challenge {
  background-color: #f2f2f2;
  z-index: 0;
}

#challenge::before {
  content: "";
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  left: 0;
  right: auto;
  width: 100%;
  height: 70%;
  background: var(--color-light);
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
  z-index: 1;
}

#challenge .l-section__body {
  padding: 63px 53px 126px 121px;
  z-index: 2;
  position: relative;
}

#challenge h2 {
  font-size: min(48px, 6vw);
  margin-top: 26px;
  margin-bottom: 62px;
}

.o-challenge__column {
  display: flex;
  width: 100%;
  gap: 15px 27px;
  justify-content: space-between;
  align-items: center;
}

@media screen and (min-width: 769px) {
  .o-challenge__column:nth-of-type(2n) {
    flex-direction: row-reverse;
    gap: 130px;
  }
}

.o-challenge__content {
  font-size: 27px;
  min-width: min(585px, 50%);
}

.o-challenge__img {
  min-width: min(585px, 60%);
}

.o-challenge__content * + ul {
  margin-top: 23px;
}

.o-challenge__content li {
  font-size: min(27px, 2.4vw);
  position: relative;
  padding-left: 47px;
}

.o-challenge__content li::before {
  content: "";
  height: 30px;
  width: 30px;
  position: absolute;
  top: 4px;
  left: 0;
  background-image: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjMxIiBoZWlnaHQ9IjMxIiB2aWV3Qm94PSIwIDAgMzEgMzEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjE1LjA0OTIiIGN5PSIxNS41NjQ0IiByPSIxNS4wNDkyIiBmaWxsPSIjRkY4NjI0Ii8+CjxwYXRoIGQ9Ik04LjM2MDg0IDE0Ljc3MkwxMi41MTI0IDIwLjU4MDRMMjEuNzM3OSAxMC41NDc2IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIuMjI5NTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");
}

.o-challenge__content li + li {
  margin-top: 20px;
}

.o-challenge__content p {
  line-height: 1.8;
  font-size: min(27px, 2.4vw);
}

.o-challenge__content p span {
  border: 1.5px solid #ff8624;
  border-radius: var(--border-radius-infinity);
  background-color: #ff8624;
  padding: 2px 18px;
  margin: 0 3px;
}

.o-challenge__emphasis {
  font-size: min(48px, 7vw);
  display: block;
  margin: 90px auto 0;
  text-align: center;
  letter-spacing: 2px;
  line-height: 2;
}

.o-challenge__emphasis p {
  display: inline;
}

.o-challenge__emphasis p span {
  font-size: min(77px, 12vw);
  margin: 0 6px;
}

@media screen and (max-width: 768px) {
  #challenge .l-section__body {
    padding: 40px 20px 60px;
  }

  .o-challenge__column {
    flex-wrap: wrap-reverse;
  }

  .o-challenge__img img {
    min-width: calc(100% + 20px);
    position: relative;
  }

  .o-challenge__column:nth-of-type(2n) .o-challenge__img img {
    left: -20px;
  }

  .o-challenge__column + .o-challenge__column {
    margin-top: 30px;
  }

  .o-challenge__content {
    font-size: min(27px, 5vw);
  }

  .o-challenge__content li {
    font-size: 20px;
    padding-left: 40px;
  }

  .o-challenge__content li + li {
    margin-top: 15px;
  }

  .o-challenge__content li::before {
    height: 25px;
    width: 25px;
    background-size: cover;
  }

  .o-challenge__content .o-balloon {
    padding: 8px 15px;
    min-width: 100px;
    font-size: min(27px, 3.5vw);
  }

  .o-challenge__content .o-balloon:before {
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid var(--color-blue);
  }

  .o-challenge__content p {
    line-height: 2.2;
    font-size: 20px;
  }

  .o-challenge__content * + ul {
    margin-top: 10px;
  }

  #challenge::before {
    top: 50%;
    height: 75%;
    clip-path: polygon(0% 15%, 100% 8%, 100% 90%, 0% 100%);
  }
}

.o-work__intro {
  margin: 51px auto 137px;
  font-size: min(27px, 5vw);
  text-align: center;
  line-height: 1.8;
  letter-spacing: 1px;
}

.o-work__intro.o-work__intro2 {
  margin-top: 0 !important;
  font-weight: bold;
  position: relative;
  padding: 150px 0 150px;
  background-image: url(../images/bg-intro2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.o-work__intro.o-work__intro2 br.xl {
  display: none;
}

@media (max-width: 1100px) {
  .o-work__intro.o-work__intro2 br.xl {
    display: block;
  }
}

.o-work__intro.o-work__intro2 i {
  width: 32px;
  display: block;
  height: 32px;
  margin: 0 auto 8px;
}

.o-work__intro.o-work__intro2 i img {
  width: 100%;
  height: auto;
}

.o-work__intro.o-work__intro2:before {
  position: absolute;
  content: "";
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKYAAABNCAYAAAAsCx82AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASvSURBVHgB7d3RUdtAEAbgk4AHZsCYCuJUkKQDqCChAkwFgQrAFUAqgFQAqQCnA1JB3AHGMMMDGLLrSJlDkW15rZP2Tv83Q7DBeDLJsnu6XyNFZorX19f2aDTqRlH0gZ52DEB5BvTxc21trb++vj7Ie0GU/cLj42Pn6enpmB52DYB7F1SgvWyBvinM+/v7HeqUl/SwbQCqM6DJfLC5udlPv/CvMJOivDYANaHi3E2LM+Y/eHxTUZ4bgBrxtOZa5MeTwkzWlB0DUK92UosmSg52fhsAJcbj8XZMRbljABSJ47jLo/yzAdBlJ6YjoY4B0OVdzAmPAVCEmmWbO+bQAOgyiF9eXn4ZAF0G3DGvDIAuP6Lb29v2ysoK72NirQm1o2OewdbW1vt4e3t7SE96BkABmuCTWpxEklShZ1Sc3w1AjagGv7VarQt+/Oa0t7u7uwuq2H0DUDFujNQgu+nz2P4mfwNjHarGNWcXJYvyXjgajb7Qi0+RCoFLVGNDysX37BOEU9G0H6Kj9Q790DWKE1ygoryhPfQ9Ovge5H0/mvcGtO48o+L8agBKwgc5NLoPZ70mNnPwG9AbHdFDRJewFB7d9OlgXlGyuR0zhdEOy+CNcxrdu9NGd9bcjpniN6Q3/oT9TlgU1wzXTtGiZIU7po3WnSfUOY8NwBy8DOQAxyxIVJjs4eHh43g8vsRohzw8umnpd5C3FVRE4VGetbGxwYf7u/SwbwDe6nNtSIuSiTumDaMdUkW2gooopTAZ0qJm460gvsxLq9Uq5fze0gqTYUupmealOBLiNWYe/ovxSZ7czg00Av9fL7I/WVSpHdNG687DZN2JM+MDlKQ4PclWUBHOCpNhtIcpSXF4dN8YR0od5VlJWrSLtCgoV0mK46womdOOacOWkv+kKY5EZYXJkBb5adkUR8LpKM9K0yLeXjDgi6VTHIlKO6YNo12/slIcidoKk/HtWujTqcGWkiplpzgStRYmw5aSLi5SHIlK15h5rBOQkRbVzFWKI1F7x7QladGpgUq5TnEkVBUmw2ivVhUpjkTtozwrTYvoIS6P6F6/ihRHQl3HtGFLyZ3ksiwnRinVhcn4VoL0W32O0V6OOlIcCXWjPIv/AZEWlaaWFEdCfce0YbTL1ZniSHhVmAxp0WKSFOcovSCqL7wrTIYtpWIWvSyLJurXmHmQFs0nuSyLJl52TBvSov9VeUKvK94XJsNo/0triiPh5SjPQlo0oTbFkQiiY9qauKWkPcWRCK4wWVMuVzPr4vq+C7IwWejrTi0n9LoSbGGmQhztvqU4EsEXJgslLfI1xZFoRGEy30e7zymORBDbRUX4fHMD31McicZ0TJtP684QUhyJRhYm0365mpBSHInGjPIs5Tc3CCrFkWhsx7RpGu0hpjgSKMxE3WlRyCmOBArTUteWUugpjkRj15h56ri5gabLsmiCjjmF65sbaLwsiyYozBlcjfampTgSGOUzOEqLrpqW4kigYxZUxpZSU1McCRTmAqRpkS+XZdEEo3wB1s0NFhnt3lyWRRN0TKHkHM99+tiZ8pI+ddYeClIGhbkkOnJvr66ufqQu2uHnVIyD5+fnGzq4GRoQ+wPhE/DT8j/9vgAAAABJRU5ErkJggg==");
  width: 166px;
  height: 77px;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}

.o-work__intro.o-work__intro2 .o_work__intro2__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

.o-work__intro.o-work__intro2 .o_work__intro2__inner:before,
.o-work__intro.o-work__intro2 .o_work__intro2__inner:after {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
}

.o-work__intro.o-work__intro2 .o_work__intro2__inner:before {
  width: 189px;
  height: 500px;
  background-image: url(../images/work-intro-left.webp);
}

.o-work__intro.o-work__intro2 .o_work__intro2__inner:after {
  background-image: url(../images/work-intro-right.webp);
  height: 500px;
  width: 198px;
  right: 0;
  top: 0;
}

@media (max-width: 900px) {
  .o-work__intro.o-work__intro2 .o_work__intro2__inner:before {
    width: 126px;
    height: 333px;
    bottom: -200px;
  }

  .o-work__intro.o-work__intro2 .o_work__intro2__inner:after {
    height: 333px;
    width: 132px;
    top: unset;
    bottom: -200px;
  }
}

@media (max-width: 550px) {
  .o-work__intro.o-work__intro2 .o_work__intro2__inner:before {
    width: 84px;
    height: 222px;
  }

  .o-work__intro.o-work__intro2 .o_work__intro2__inner:after {
    height: 222px;
    width: 88px;
  }
}

.o-work__intro img {
  margin-right: 7px;
}

.o-work__intro span {
  font-size: min(36px, 6.5vw);
}

.o-work__intro span + span {
  margin-left: 25px;
}

.o-work__inner {
  background-color: #f2f2f2;
  padding: 148px 65px 24px;
  position: relative;
}

.o-work__inner > .o-balloon {
  position: absolute;
  top: -90px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 21px;
  line-height: 1;
  letter-spacing: 1px;
  padding: 15px 15px 25px;
  width: 242px;
  text-align: center;
}

.o-work__inner > .o-balloon span {
  color: #ff6600;
  font-size: 36px;
}

.o-work__inner > .o-balloon .large {
  font-size: min(84.6px, 10vw);
}

.o-work__contents {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 10px;
  justify-content: center;
}

.o-work__item {
  width: 360px;
  height: 255px;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 45px 41px 15px;
  position: relative;
}

.o-work__item:has(.o-balloon) {
  background-image: url(../images/img_work_bg01.png);
}

.o-work__item:has(.o-work__item__access) {
  background-image: url(../images/img_work_bg02.png);
}

.o-work__item .o-balloon {
  position: absolute;
  top: -43px;
  left: 57px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.o-work__item__access {
  position: absolute;
  top: -25px;
  left: 15px;
  display: flex;
  justify-content: start;
  align-items: center;
}

.o-work__item__access img {
  margin-right: 7px;
}

.o-work__item__num {
  font-size: 14px;
  background: #d9d9d9;
  display: block;
  width: fit-content;
  text-align: center;
  margin-bottom: 7px;
  min-width: 62px;
  min-height: 26px;
  padding: 2px;
  margin-left: 79px;
}

.o-work__item:has(.o-work__item__access) .o-work__item__num {
  background: #b0b0b0;
}

.o-work__item__title {
  font-size: min(23px, 5vw);
  width: fit-content;
  text-align: center;
  color: var(--color-blue2);
}

.o-work__contents .o-work__item:nth-child(3) .o-work__item__title {
  margin-left: 32px;
}

.o-work__item:has(.o-balloon) .o-work__item__title:has(+ *) {
  border-bottom: 3px solid #ff8624;
  margin-bottom: 13px;
}

.o-work__item:has(.o-work__item__access) .o-work__item__title {
  width: min(218px, 100%);
  margin-bottom: 11px;
  white-space: nowrap;
}

.o-work__item:has(.o-work__item__access)
  .o-work__item__title:not(:has(+ .o-work__item_img)) {
  border-bottom: 3px solid #b0b0b0;
}

.o-work__item:has(.o-work__item__access) .o-challenge__img {
  width: min(120px, 100%);
  margin: 10px auto 0;
}

.o-work__item:nth-child(6) .o-work__item_img {
  width: 260px;
}

.o-work__item:has(.o-work__item__access):not(:has(ul)) {
  padding-top: 55px;
}

.o-work__item:has(.o-work__item__access) ul {
  width: min(218px, 100%);
  margin: 10px auto 0;
}

.o-work__item p,
.o-work__item ul {
  color: var(--color-blue2);
  font-size: 13px;
}

.o-work__item ul li {
  position: relative;
  padding-left: 15px;
}

.o-work__item ul li::before {
  content: "・";
  color: var(--color-blue2);
  left: 0;
  position: absolute;
}

.o-work__item_img {
  width: 290px;
  margin-left: -30px;
  text-align: center;
}

.o-work__img {
  margin: 10px auto 0;
  width: min(150px, 100%);
  min-width: min(150px, 50%);
}

.o-work__gray {
  font-size: 17px;
  font-weight: 500;
  color: #9e9e9e;
  text-align: left;
  margin-top: 34px;
  margin-left: auto;
  width: fit-content;
  margin-bottom: 80px;
}

@media screen and (max-width: 1100px) {
  .o-work__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 768px) {
  .o-work__intro {
    margin-bottom: 135px;
  }

  .o-work__inner {
    padding: 120px 20px 40px;
  }

  .o-work__intro img {
    max-width: 150px;
  }

  .o-work__inner > .o-balloon {
    top: -65px;
    line-height: 1.2;
    padding: 15px;
    width: 210px;
    text-align: center;
  }

  .o-work__item {
    background-size: contain;
    padding: 30px 23px 25px;
    max-width: 310px;
    min-width: 310px;
  }

  .o-work__item .o-balloon {
    top: -30px;
    left: -5px;
    font-size: 16px;
  }

  .o-work__item .o-balloon img {
    max-width: min(27px, 4.6vw);
    top: 2px;
    left: 2px;
    position: relative;
  }

  .o-work__item:has(.o-balloon) .o-work__item__title:has(+ *) {
    border-bottom: 2px solid #ff8624;
    margin-bottom: 10px;
  }

  .o-work__item .o-balloon:before {
    display: none;
  }

  .o-work__item:has(.o-work__item__access):not(:has(ul)) {
    padding-top: 45px;
  }

  .o-work__img {
    width: fit-content;
    max-width: calc(100% - 30px);
    min-width: inherit;
  }

  .o-work__img img {
    max-height: 40px;
    width: auto;
    position: relative;
  }

  .o-work__contents .o-work__item:nth-child(1) .o-work__item__title {
    margin-left: 18px;
  }

  .o-work__contents .o-work__item:nth-child(3) .o-work__item__title {
    margin-left: 43px;
    line-height: 1.3;
  }

  .o-work__gray {
    font-size: 12px;
    margin-top: 0;
    text-align: left;
  }
}

@media screen and (max-width: 500px) {
  .o-work__contents {
    gap: 15px 30px;
  }
}

#cover .l-section__body {
  padding: 98px 84px 104px 87px;
}

.o-cover__intro {
  font-size: min(34px, 6vw);
  text-align: center;
  display: flex;
  flex-direction: column;
}

.o-cover__intro__text1 {
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  align-items: end;
}

.o-cover__intro__text1 img {
  margin-right: 13px;
}

.o-cover__intro__text2 {
  margin-bottom: 20px;
}

.o-cover__intro .large {
  font-size: 58px;
}

.o-cover__inner {
  margin: 65px auto 0;
  background-color: var(--color-light);
  border: 5px solid #ffd299;
  padding: 66px 20px 52px;
  font-size: 34px;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #cover .l-section__body {
    padding: 60px 20px;
  }

  .o-cover__intro__text1 {
    margin-bottom: 30px;
  }

  .o-cover__intro__text1 img {
    max-width: 150px;
  }

  .o-cover__intro .large {
    font-size: min(58px, 8vw);
  }

  .o-cover__inner {
    padding: 35px 20px 45px;
    font-size: min(34px, 5vw);
  }

  .o-cover__inner .u-sp-10 {
    padding-top: 10px;
    display: block;
  }
}

#faq-worry {
  background-color: #f2f2f2;
}

#faq-worry .l-section__body {
  padding: 99px 60px 0;
}

#faq-worry h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.o-faqWorry__inner {
  display: flex;
  max-width: 1152px;
  margin: 74px auto 0;
  gap: 24px;
  color: var(--color-blue);
}

.o-faqWorry__inner .o-faq {
  background: var(--color-light);
  width: 270px;
  padding: 37px 17px;
  font-size: 10px;
  border-radius: 4.51px;
}

@media screen and (max-width: 1100px) {
  .o-faqWorry__inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  .o-faqWorry__intro {
    text-align: center;
  }

  #faq-worry h2 {
    text-align: center;
    font-size: min(20px, 5vw);
    display: inline;
  }

  #faq-worry h2 img {
    max-width: 150px;
    margin-right: 5px;
  }
}

@media screen and (max-width: 768px) {
  #faq-worry .l-section__body {
    padding: 60px 20px;
  }

  .o-faqWorry__inner .o-faq {
    width: 100%;
    padding: 20px;
    font-size: 12px;
  }

  .o-faqWorry__inner {
    margin-top: 40px;
  }
}

.o-faq__question,
.o-faq__answer {
  display: flex;
  gap: 20px;
  align-items: center;
}

.o-faq__question {
  font-weight: 900;
  margin-bottom: 24px;
}

.o-faq__question i {
  content: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiBmaWxsPSIjMTQ1MzlEIi8+CjxwYXRoIGQ9Ik0yOS42OCAzMy42NDhMMjguMDQ4IDMyLjM3NkMyNy4wMTYgMzMgMjUuODQgMzMuMjY0IDI0LjA0IDMzLjI2NEMyMS40NDggMzMuMjY0IDE5Ljg0IDMyLjY2NCAxOC43MTIgMzEuMjI0QzE3Ljg3MiAzMC4xNjggMTcuNTM2IDI4LjggMTcuNTM2IDI2LjQ0OFYyMi40MTZDMTcuNTM2IDE5Ljg0OCAxNy45MiAxOC40NTYgMTguOTc2IDE3LjM1MkMyMC4xMjggMTYuMTA0IDIxLjU5MiAxNS42IDI0LjAxNiAxNS42QzI2LjYwOCAxNS42IDI4LjIxNiAxNi4yIDI5LjM0NCAxNy42NEMzMC4xODQgMTguNzIgMzAuNTIgMjAuMDQgMzAuNTIgMjIuNDE2VjI2LjQ0OEMzMC41MiAyOC4zNjggMzAuMzc2IDI5LjIzMiAyOS44NzIgMzAuMzM2TDMxLjQzMiAzMS41NkwyOS42OCAzMy42NDhaTTI1LjE5MiAzMC4xNDRMMjIuOTg0IDI4LjM5MkwyNC43MzYgMjYuMzA0TDI2LjcyOCAyNy44NjRDMjYuOCAyNy4zNiAyNi44MjQgMjcgMjYuODI0IDI2LjEzNlYyMi43MjhDMjYuODI0IDE5LjYwOCAyNi4xMjggMTguNTc2IDI0LjA0IDE4LjU3NkMyMS45MjggMTguNTc2IDIxLjIzMiAxOS42MDggMjEuMjMyIDIyLjcyOFYyNi4xMzZDMjEuMjMyIDI5LjIzMiAyMS45MjggMzAuMjg4IDI0LjAxNiAzMC4yODhDMjQuNDcyIDMwLjI4OCAyNC44MzIgMzAuMjQgMjUuMTkyIDMwLjE0NFoiIGZpbGw9IiNGMkYyRjIiLz4KPC9zdmc+Cg==");
  height: 48px;
  width: 48px;
  top: 4px;
  left: 0;
}

.o-faq__answer {
  font-weight: 500;
}

.o-faq__answer i {
  content: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgNDggNDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjI0IiBjeT0iMjQiIHI9IjI0IiBmaWxsPSIjRkM4NDNEIi8+CjxwYXRoIGQ9Ik0yNy41MTIgMjguNzg0SDIxLjUxMkwyMC41MDQgMzJIMTYuNTJMMjIuNzEyIDE0Ljg2NEgyNi4yODhMMzIuNTA0IDMySDI4LjQ5NkwyNy41MTIgMjguNzg0Wk0yNi42MjQgMjUuODU2TDI0LjUzNiAxOS4xODRMMjIuNCAyNS44NTZIMjYuNjI0WiIgZmlsbD0iI0YyRjJGMiIvPgo8L3N2Zz4K");
  height: 48px;
  width: 48px;
  top: 4px;
  left: 0;
}

@media screen and (max-width: 768px) {
  .o-faq__question,
  .o-faq__answer {
    gap: 15px;
  }

  .o-faq__question i,
  .o-faq__answer i {
    height: 35px;
    width: 35px;
  }
}

#next {
  background-color: #f2f2f2;
  position: relative;
  z-index: 0;
  background-image: url(../images/img_next01.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 1041px;
  background-position: center;
}

#next::before {
  content: "";
  clip-path: polygon(0 0, 100% 0%, 100% 10%, 0 55%);
  background: #f2f2f2;
  width: 100%;
  height: 50%;
  position: absolute;
  z-index: 1;
  top: -1px;
  left: 0;
  right: 0;
}

#next::after {
  content: "";
  clip-path: polygon(0% 100%, 100% 55%, 100% 100%, 0% 100%);
  background: #f2f2f2;
  width: 100%;
  height: 50%;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -5px;
  right: 0;
}

#next .l-section__body {
  position: relative;
  z-index: 1;
}

.o-next__inner {
  padding-top: 336px;
  margin-left: 131px;
  max-width: 640px;
  line-height: 2;
  font-size: 18px;
  font-weight: 700;
}

.o-next__inner h2 {
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  #next {
    background-size: contain;
    min-height: 500px;
    height: 500px;
    background-position: bottom;
  }

  .o-next__inner {
    margin-left: 0;
    padding-top: 30px;
  }

  #next::before {
    clip-path: polygon(0 0%, 100% 0%, 100% 40%, 0 55%);
    height: 100%;
  }

  #next::after {
    clip-path: polygon(0% 98%, 100% 73%, 100% 100%, 0% 100%);
  }

  .o-next__inner h2 {
    font-size: min(32px, 6vw);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  .o-next__inner h2 img {
    max-width: 135px;
    margin: 0 5px;
  }

  .o-next__inner p {
    font-size: min(18px, 3.5vw);
    line-height: 1.8;
  }
}

#case {
  background-color: #f2f2f2;
}

#case .l-section__body {
  padding: 41px 118px 116px 137px;
}

.o-case__intro {
  text-align: center;
}

.o-case__intro .o-balloon {
  background: var(--color-primary-border);
  width: 396px;
  font-size: 31px;
  font-weight: 700;
  margin-bottom: 36px;
}

.o-case__intro .o-balloon:before {
  border-top: 15px solid var(--color-primary-border);
}

.o-case__intro h2 {
  font-size: 48px;
  display: flex;
  gap: 14px;
  justify-content: center;
  align-items: end;
  margin-bottom: 87px;
}

.o-case {
  background-color: var(--color-light);
  padding: 63px 62px 30px;
  box-shadow: 0px 3px 15px 0px #00000017;
  position: relative;
  border-radius: 4px;
}

.o-case + .o-case {
  margin-top: 133px;
}

.o-case__num {
  font-size: min(27px, 5vw);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  width: 203px;
  height: 63px;
  gap: 6px;
  position: absolute;
  top: -38px;
  left: -21px;
  font-weight: 700;
}

.o-case__num img {
  padding-top: 4px;
}

.o-case__title {
  border-bottom: 3px solid #e3e3e3;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.o-case__title h3 {
  font-size: min(29px, 5vw);
  margin-bottom: 10px;
}

.o-case__detail {
  font-size: min(15px, 3.5vw);
}

.o-case__text {
  font-weight: 500;
  font-size: 18px;
}

.o-case__text p + p {
  margin-top: 30px;
}

@media screen and (max-width: 1100px) {
  .o-case__intro h2 {
    display: inline-block;
    font-size: min(20px, 5.5vw);
    width: 100%;
  }

  .o-case__intro h2 img {
    max-width: 150px;
    margin-right: 3px;
  }
}

@media screen and (max-width: 768px) {
  #case .l-section__body {
    padding: 30px 20px 60px;
  }

  .o-case {
    padding: 35px 20px;
  }

  .o-case + .o-case {
    margin-top: 59px;
  }

  .o-case__intro .o-balloon {
    width: fit-content;
    font-size: min(31px, 5vw);
  }

  .o-case__num {
    font-size: min(18px, 4.2vw);
    width: 120px;
    height: 40px;
    top: -20px;
    left: -10px;
  }

  .o-case__num img {
    max-width: min(20px, 4.6vw);
    top: 0px;
    left: 2px;
    position: relative;
  }

  .o-case__text {
    font-size: 15px;
  }
}

#online .l-section__body {
  padding: 52px 58px 77px;
}

#online h2 {
  position: relative;
  font-size: 38px;
  text-align: center;
  width: fit-content;
  margin: 0 auto 40px;
}

#online .o-balloon {
  position: absolute;
  background: var(--color-primary-border);
  width: 169px;
  font-size: 31px;
  font-weight: 700;
  padding: 13px 15px 15px 30px;
  top: -90px;
  left: -103px;
}

#online .o-balloon:before {
  border-top: 15px solid var(--color-primary-border);
}

.o-online__inner ul {
  display: flex;
  gap: 32px;
}

.o-online__inner li {
  font-weight: 700;
  padding: 20px 20px 20px 60px;
  background-color: var(--color-light);
  position: relative;
  width: 33%;
}

.o-online__inner li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  width: 31px;
  height: 31px;
  background-image: url("data:image/svg+xml;base64,Cjxzdmcgd2lkdGg9IjMxIiBoZWlnaHQ9IjMxIiB2aWV3Qm94PSIwIDAgMzEgMzEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjE1LjA0OTIiIGN5PSIxNS41NjM5IiByPSIxNS4wNDkyIiBmaWxsPSIjMjA0RDgzIi8+CjxwYXRoIGQ9Ik04LjM2MDg0IDE0Ljc3MTJMMTIuNTEyNCAyMC41Nzk3TDIxLjczNzkgMTAuNTQ2OSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyLjIyOTUyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==");
}

.o-online__inner li img {
  margin-right: 3px;
}

@media screen and (min-width: 769px) {
  .o-online__inner li:nth-child(2) {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

@media screen and (max-width: 768px) {
  .o-online__inner li {
    width: 100%;
  }

  #online .l-section__body {
    padding: 52px 20px;
  }

  #online .o-balloon {
    width: fit-content;
    font-size: min(20px, 5vw);
    padding: 10px 10px 10px 20px;
    top: -78px;
    left: -38px;
  }

  #online h2 {
    font-size: min(30px, 6vw);
  }

  .o-online__inner ul {
    flex-wrap: wrap;
  }

  .o-online__inner li {
    max-width: 300px;
    margin: 0 auto;
  }
}

#entry .l-section__body {
  padding-top: 74px;
  padding-bottom: 34px;
  font-size: min(34px, 6.5vw);
  text-align: center;
}

#entry .o-balloon {
  width: 370px;
  font-size: 20px;
  padding: 20px 15px 11px 34px;
  margin-top: 76px;
}

#entry .o-balloon span {
  font-size: 28px;
}

#entry .o-balloon .dots {
  background-image: radial-gradient(
    circle at center,
    white 20%,
    transparent 20%
  );
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 6px;
  padding-top: 5px;
  margin-left: 3px;
}

.o-entry__emphasis {
  font-size: min(41px, 7vw);
}

.o-entry__emphasis .u-text--gradation {
  margin-right: 40px;
}

.o-entry__emphasis .u-text--gradation::before,
.o-entry__emphasis .u-text--gradation::after {
  content: "「";
  position: absolute;
  top: -8px;
  left: -60px;
  width: 41px;
  height: auto;
  color: #204d83;
  -webkit-text-fill-color: initial;
}

.o-entry__emphasis .u-text--gradation::after {
  content: "」";
  top: auto;
  bottom: 5px;
  left: auto;
  right: -50px;
  width: 41px;
}

@media screen and (max-width: 768px) {
  #entry .l-section__body {
    padding-top: 50px;
  }

  #entry .o-balloon {
    font-size: min(20px, 4vw);
    margin-top: 40px;
    width: fit-content;
  }

  #entry .o-balloon span {
    font-size: min(28px, 4.5vw);
  }

  .o-entry__emphasis .u-text--gradation::before {
    left: -40px;
  }

  .o-entry__emphasis .u-text--gradation::after {
    right: -45px;
    bottom: -20px;
  }
}

#reason {
  background-color: #f2f2f2;
  background-image: url(../images/img_reason_bg@2x.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  width: 100%;
}

#reason .l-section__body {
  padding-top: 72px;
  padding-bottom: 80px;
}

#reason h2 {
  text-align: center;
  line-height: 2;
  margin-bottom: 20px;
}

.o-reason__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 58px;
  max-width: 928px;
  margin: 0 auto;
}

.o-reason__item {
  width: 270px;
  height: 372px;
  position: relative;
  text-align: center;
}

.o-reason__num {
  font-size: 22.19px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--border-radius-infinity);
  width: 126px;
  height: 42px;
  margin: 0 auto;
  gap: 3px;
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
}

.o-reason__num img {
  position: relative;
  top: 2px;
}

.o-reason__title {
  font-size: 18px;
  padding: 54px 10px 10px;
  min-height: 130px;
  margin-bottom: 8px;
  background-color: var(--color-light);
  border-radius: 4.5px;
}

.o-reason__item:nth-child(3) .o-reason__title {
  min-height: 158px;
}

.o-reason__detail {
  background-color: var(--color-light);
  border-radius: 4.5px;
  font-size: 12px;
  font-weight: 500;
  padding: 30px 25px 16px;
}

.o-reason__textnum {
  font-family: "URW DIN";
  font-size: 38.83px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
}

.o-reason__textnum span {
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  #reason .l-section__body {
    padding: 40px 20px 60px;
  }

  .o-reason__num img {
    width: 23px;
    height: 23px;
    position: relative;
    top: 2px;
  }
}

.o-modelCase__heading {
  text-align: center;
  padding: 0 20px;
}

.o-modelCase__heading .o-balloon {
  margin-top: 90px;
}

.o-modelCase__heading h2 {
  margin-top: 38px;
  margin-bottom: 47px;
}

.o-modelCase__inner + .o-modelCase__heading h2 {
  margin-top: 75px;
}

.o-modelCase__inner {
  background-color: #f2f2f2;
}

#model .l-section__body {
  padding: 70px 58px 15px;
}

.o-modelCase__intro {
  display: flex;
  gap: 40px 72px;
  align-items: center;
  max-width: 1022px;
  margin: 0 auto;
}

.o-modelCase__img {
  min-width: 168px;
}

.o-modelCase__comment {
  background-color: var(--color-light);
  padding: 22px 60px 21px 52px;
  border-radius: 20px;
  max-width: 782px;
  position: relative;
}

.o-modelCase__comment::before {
  content: "";
  position: absolute;
  top: 75%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid var(--color-light);
}

@media screen and (max-width: 768px) {
  .o-modelCase__comment::before {
    left: 50%;
    top: -10px;
    transform: translate(-50%, 0px) rotate(90deg);
  }
}

.o-modelCase__column {
  display: flex;
  gap: 20px;
  justify-content: center;
}

.o-modelCase__intro + .o-modelCase__column {
  margin-top: 70px;
}

.o-modelCase__bold {
  text-align: center;
  margin: 39px auto 29px;
  font-size: min(23px, 4vw);
}

.o-modelCase__item {
  width: 276px;
  height: 276px;
  text-align: center;
  border-radius: 5px;
  background-color: var(--color-light);
  box-shadow: 2px 2px 10px #00000024;
}

.o-modelCase__title h3 {
  font-size: 32px;
  height: 129px;
  line-height: 1.2;
}

.o-modelCase__title h3 span,
.o-modelCase__text span {
  color: #ff6600;
  font-family: "DIN Alternate";
}

.o-modelCase__item1 {
  font-size: min(73px, 10vw);
}

.o-modelCase__item2 {
  font-size: min(39px, 6vw);
}

.o-modelCase__item3 {
  font-size: min(43px, 8vw);
}

.o-modelCase__item4 {
  font-size: min(54px, 9vw);
}

.o-modelCase__item5 {
  font-size: min(53px, 9vw);
}

.o-modelCase__item6 {
  font-size: min(37px, 7vw);
}

.o-modelCase__item7 {
  font-size: min(22px, 5vw);
}

.o-modelCase__item8 {
  font-size: min(23px, 5vw);
}

.o-modelCase__item9 {
  font-size: min(48px, 8.5vw);
}

.o-modelCase__text {
  font-size: 24px;
  line-height: 1;
  height: 147px;
  background-color: #f1f1f1;
  padding: 20px 15px 10px;
}

.o-modelCase__title span,
.o-modelCase__text span {
  margin: 0 3px;
}

.o-modelCase__item .o-modelCase__title:not(.item01) h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.o-modelCase__item:first-child .o-modelCase__title.item01 h3 span {
  margin: 0;
  line-height: 1;
}

.o-modelCase__item:first-child .o-modelCase__text {
  line-height: 1.4;
}

.o-modelCase__item .o-modelCase__text:has(.o-modelCase__small) {
  font-size: 21px;
}

@media screen and (min-width: 769px) {
  .o-modelCase__item:first-child
    .o-modelCase__text:has(span)
    .o-modelCase__small {
    margin-top: 0;
  }
}

.o-modelCase__small {
  font-size: 11px;
  color: #9e9e9e;
  font-weight: 500;
  text-align: left;
  line-height: 1.5;
  width: fit-content;
  margin: 18px auto 0px;
}

.o-modelCase__gray {
  font-size: 17px;
  font-weight: 500;
  color: #9e9e9e;
  text-align: right;
  margin-top: 34px;
}

.o-modelCase__gray__2 {
  font-size: 17px;
  font-weight: 500;
  color: #9e9e9e;
  text-align: right;
  margin-top: 10px;
}

.o-modelCase__gray__3 {
  font-size: 17px;
  font-weight: 500;
  color: #9e9e9e;
  text-align: right;
  margin-top: 34px;
}

@media screen and (max-width: 768px) {
  .o-modelCase__gray__2,
  .o-modelCase__gray__3 {
    font-size: 12px;
    margin-top: 10px;
    text-align: left;
  }
}

@media screen and (max-width: 1100px) {
  .o-modelCase__column {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .o-modelCase__heading .o-balloon {
    margin-top: 60px;
  }

  .o-modelCase__heading h2 {
    margin-top: 15px;
    margin-bottom: 35px;
  }

  .o-modelCase__inner + .o-modelCase__heading h2 {
    margin-top: 50px;
  }

  #model .l-section__body {
    padding: 30px 20px 20px;
  }

  .o-modelCase__intro {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    padding: 0;
  }

  .o-modelCase__img {
    min-width: 100px;
    width: 100px;
    margin: 0 auto;
  }

  .o-modelCase__comment {
    padding: 20px;
    font-size: 14px;
    max-width: 100%;
  }
}

@media screen and (max-width: 611px) {
  .o-modelCase__item {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .o-modelCase__title h3 {
    font-size: 22px;
    padding: 10px 10px 20px;
  }

  .o-modelCase__text {
    font-size: 16px;
    padding: 15px 10px;
  }

  .o-modelCase__gray {
    font-size: 12px;
    margin-top: 15px;
    text-align: left;
  }

  .o-modelCase__item {
    height: auto;
  }

  .o-modelCase__title h3 {
    height: auto;
  }

  .o-modelCase__text {
    height: auto;
  }
}

#support .l-section__body {
  padding: 108px 90px 137px;
}

.o-support__heading {
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}

.o-support__heading h2 {
  font-size: 41px;
}

.o-support__heading h2 span {
  color: #ff6600;
}

.o-support__column {
  display: flex;
  gap: 40px;
  margin-top: 58px;
}

.o-support__item {
  padding: min(73px, 5.5vw) min(50px, 4vw);
  border-radius: 6.69px;
  min-width: min(528px, 50%);
  max-width: 528px;
  border: 4.45px solid #ff6600;
}

.o-support__num {
  color: var(--color-light);
  background-color: #ff6600;
  font-size: 29.19px;
  font-weight: 700;
  width: 202px;
  height: 49px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 5px;
  margin: 0 auto 17px;
}

.o-support__num img {
  padding-top: 5px;
}

.o-support__item h3 {
  font-size: min(24px, 5vw);
  text-align: center;
}

.o-support__text {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 10px;
  justify-content: space-between;
  margin: 46px auto 0;
}

.o-support__text li {
  width: calc(50% - 5px);
  font-size: min(18px, 1.5vw);
  padding-left: min(36px, 3vw);
  position: relative;
}

.o-support__text li::before {
  content: "";
  position: absolute;
  width: min(24px, 2vw);
  height: min(24px, 2vw);
  background-color: #d9d9d9;
  top: 2px;
  left: 0;
}

@media screen and (max-width: 768px) {
  #support .l-section__body {
    padding: 60px 20px 80px;
  }

  .o-support__heading h2 {
    font-size: min(27px, 5vw);
  }

  .o-support__heading h2 img {
    max-width: 25px;
    margin-right: 3px;
  }

  .o-support__heading h2 {
    margin-top: 20px;
  }

  .o-support__column {
    flex-wrap: wrap;
    max-width: 450px;
    margin: 40px auto 0;
  }

  .o-support__item {
    padding: 30px;
  }

  .o-support__num {
    font-size: 18px;
    padding: 2px 12px;
    width: fit-content;
    height: auto;
  }

  .o-support__text {
    gap: 10px;
    margin: 20px auto 0;
  }

  .o-support__text li {
    padding-left: 23px;
    font-size: min(18px, 3.2vw);
  }

  .o-support__text li::before {
    width: 15px;
    height: 15px;
    top: 3px;
  }
}

#faq .l-section__body {
  padding-top: 88px;
  padding-bottom: 83px;
  max-width: 1107px;
}

.o-faq__inner {
  background-color: #f2f2f2;
  padding: 70px 92px 127px 93px;
  font-size: 18px;
}

.o-faq__inner .o-faq__answer {
  align-items: start;
}

.o-faq__inner .o-faq__question {
  margin-top: 60px;
}

@media screen and (max-width: 768px) {
  #faq .l-section__body {
    padding-top: 65px;
  }

  .o-faq__inner {
    background-color: #f2f2f2;
    padding: 40px 20px;
    font-size: 15px;
  }

  .o-faq__inner .o-faq:first-child .o-faq__question {
    margin-top: 0;
  }

  .o-faq__inner .o-faq__question {
    margin-top: 40px;
  }
}

.l-footer {
  margin: 0 auto;
  max-width: 1280px;
  padding: 47px 77px 17px 98px;
}

.o-footer__column {
  display: flex;
  gap: 32px 64px;
}

.o-footer__column p {
  font-size: 15px;
  color: #767676;
  font-weight: 700;
  line-height: 30px;
}

.o-footer__column a {
  color: var(--color-blue);
  text-decoration: none;
  font-size: 18px;
  margin-top: 10px;
  display: inline-block;
  transition: all 0.3s;
}

.o-footer__column a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.o-footer__column a + a {
  margin-left: 17px;
}

.o-copyright {
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #8f8f8f;
  text-align: right;
  padding-top: 5px;
}

@media screen and (max-width: 768px) {
  .l-footer {
    padding: 40px 20px 20px;
  }

  .o-footer__column {
    flex-wrap: wrap;
  }

  .o-footer__column p {
    font-size: 14px;
  }

  .o-footer__column a {
    font-size: 16px;
  }

  .o-copyright {
    padding-top: 25px;
  }
}

.o-fixedBtns {
  display: grid;
  grid-template-columns: repeat(2, 170px);
  justify-content: center;
  column-gap: 10px;
}

.o-fixedBtns .o-ctaBtns__item {
  margin: 0;
}

.o-fixedBtns .o-ctaBtns__text {
  font-size: 8px;
}

.o-fixedBtns .o-ctaBtns__btn {
  min-width: 170px;
  max-width: 170px;
  height: 45px;
  font-size: 12px;
  line-height: 1.5;
  min-block-size: 25px;
  box-shadow: none;
}

.u-fwNormal {
  font-weight: 400;
}

.u-fwBold {
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .u-spNone {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .u-pcNone {
    display: none;
  }
}

.noted__text {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: end;
  z-index: 2;
  position: relative;
  gap: 10px;
}

.noted__text strong {
  font-size: 20px;
  color: var(--color-primary);
  font-weight: bold;
  background: #fff;
  border: solid 2px var(--color-primary);
  padding: 4px 16px;
}

@media screen and (max-width: 768px) {
  .noted__text {
    gap: 6px;
    margin-top: 30px;
    margin-right: -15px;
  }
  .noted__text strong {
    font-size: 12px;
    padding: 4px 8px;
  }
}

.case__note {
  margin-top: 50px;
  text-align: right;
}

@media screen and (max-width: 550px) {
  .o-entry__emphasis .u-text--gradation {
    left: 12px;
  }
}

/* 追加分 */

.cta_image {
  width:618px;
  margin:3rem auto 0;
  display:none;
}

@media screen and (max-width: 768px) {

.cta_image {
  width:84%;
  margin:30px auto 0;
}

}