@charset "UTF-8";

.l-top-service__content > :first-child,
.l-top-service__wrap > :first-child,
.l-top-info__content > :first-child,
.u-top-box__content > :first-child,
.m-widget-tabPanel__container > :first-child,
.m-widget-disclosure__content > :first-child,
.m-table__body .m-table__cell > :first-child,
.m-media-layout__content > :first-child,
.m-media-layout__media > :first-child,
.m-list__content > :first-child,
.m-list-description__content > :first-child,
.m-layout__item > :first-child,
.m-box-step__content > :first-child,
.m-box__body > :first-child,
.m-box-icon__body > :first-child,
.m-box-contact__foot > :first-child,
.l-content__inner > :first-child {
  margin-block-start: 0 !important;
}

.l-top-service__content > :last-child,
.l-top-service__wrap > :last-child,
.l-top-info__content > :last-child,
.u-top-box__content > :last-child,
.m-widget-tabPanel__container > :last-child,
.m-widget-disclosure__content > :last-child,
.m-table__body .m-table__cell > :last-child,
.m-media-layout__content > :last-child,
.m-media-layout__media > :last-child,
.m-list__content > :last-child,
.m-list-description__content > :last-child,
.m-layout__item > :last-child,
.m-box-step__content > :last-child,
.m-box__body > :last-child,
.m-box-icon__body > :last-child,
.m-box-contact__foot > :last-child,
.l-content__inner > :last-child {
  margin-block-end: 0 !important;
}

.l-top-lineup,
.l-top-service,
.l-top-info,
.u-top-mv,
.l-service-detail,
.l-page-heading,
.l-content__outer,
.l-article-date {
  display: grid;
  gap: 0 var(--OUTSIDE_GUTTER_SP);
  grid-template-columns: 1fr minmax(var(--CONTENT_WIDTH_MIN), var(--CONTENT_WIDTH_MAX)) 1fr;
}

.m-panel-related__description::after,
.m-panel-product__title::after,
.m-panel-lineup__text::after,
.m-list-info__link::after,
.m-link-list__link::after {
  background: url("../img/icon-arrow-right-link.svg") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 1em;
  margin-left: 0.25em;
  min-width: 1em;
  position: relative;
  top: 0.125em;
  width: 1em;
}

.m-panel-related__description:has(.m-link__icon)::after,
.m-panel-product__title:has(.m-link__icon)::after,
.m-panel-lineup__text:has(.m-link__icon)::after,
.m-list-info__link:has(.m-link__icon)::after,
.m-link-list__link:has(.m-link__icon)::after {
  content: none;
}

:root {
  /* --------------------------------------------------
  カラー情報は以下を基準に
  https://www.figma.com/design/B7fc8m79oFX86NxPBEcOIx/%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%BC%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0?node-id=2957-4840&t=94AGYc5ZaPDYxHUe-4
  -------------------------------------------------- */
  --COLOR_BLUE_100: #003c84;
  --COLOR_BLUE_90: #1d5393;
  --COLOR_BLUE_80: #3b69a1;
  --COLOR_BLUE_70: #5880b0;
  --COLOR_BLUE_60: #7596be;
  --COLOR_BLUE_50: #92adcd;
  --COLOR_BLUE_40: #b0c3cb;
  --COLOR_BLUE_30: #cddaea;
  --COLOR_BLUE_20: #eaf0f8;
  --COLOR_BLUE_10: #f1f6fb;
  --COLOR_PRIMARY: var(--COLOR_BLUE_100);
  --COLOR_ACCENT: #00b9ef;
  --COLOR_BLACK: #333333;
  --COLOR_WHITE: #ffffff;
  --COLOR_BACKGROUND_DARK: #556075;
  --COLOR_BACKGROUND_LIGHT: var(--COLOR_BLUE_20);
  --COLOR_BACKGROUND_GRADATION: linear-gradient(69.57deg, #00b9ef 21.93%, #003c84 85.19%);
  --COLOR_BORDER: #c2cde1;
  --COLOR_BORDER_DARK: #788294;
  --COLOR_BORDER_LIGHT: #668ab5;
  --COLOR_PLACEHOLDER: #788294;
  --COLOR_DISABLE: #bdbdbd;
  --COLOR_DANGER: #ce1616;
  /* エラーメッセージの前景色など */
  /* --------------------------------------------------
  font-weight
  -------------------------------------------------- */
  --FONT_WEIGHT_TINY: 300;
  --FONT_WEIGHT_NORMAL: 400;
  --FONT_WEIGHT_MEDIUM: 500;
  --FONT_WEIGHT_BOLD: 700;
  /* --------------------------------------------------
  font-family
  -------------------------------------------------- */
  --FONT_FAMILY: "Noto Sans JP", sans-serif;
  --FONT_FAMILY_EN: "Ubuntu", sans-serif;
  /* --------------------------------------------------
  font-size
  -------------------------------------------------- */
  --FONT_SIZE_ROOT: 16;
  --FONT_SIZE: calc(14 / var(--FONT_SIZE_ROOT) * 1rem);
  /* --------------------------------------------------
  line-height
  -------------------------------------------------- */
  --LINE_HEIGHT_DEFAULT: 1.75;
  --LINE_HEIGHT_COMPACT: 1.5;
  /* --------------------------------------------------
  z-index
  -------------------------------------------------- */
  --LAYER_BEHIND: -1;
  --LAYER_DEFAULT: 0;
  --LAYER_FRONT: 1;
  --LAYER_FRONT_SECOND: 10;
  --LAYER_TOP: 100;
  /* --------------------------------------------------
  border-radius
  -------------------------------------------------- */
  --RADIUS_TINY: 4px;
  --RADIUS: 8px;
  --RADIUS_MEDIUM: 16px;
  --RADIUS_LARGE: 80px;
  /* --------------------------------------------------
  画面幅に関する設定
  -------------------------------------------------- */
  --BREAK_POINT: 768px;
  --OUTSIDE_GUTTER_SP: 15px;
  --OUTSIDE_GUTTER_PC: 85px;
  --CONTENT_WIDTH_MIN: calc(320px - (var(--OUTSIDE_GUTTER_SP) * 2));
  --CONTENT_WIDTH_MAX: 1200px;
}

@media screen and (width >= 768px) {
  :root {
    --FONT_SIZE: calc(16 / var(--FONT_SIZE_ROOT) * 1rem);
  }
}

@font-face {
  font-display: swap;
  font-family: "Ubuntu";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Ubuntu-Light.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Ubuntu";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Ubuntu-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Ubuntu";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Ubuntu-Bold.ttf") format("truetype");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  padding: 0;
}

html:has(dialog[open]) {
  scrollbar-gutter: stable;
}

head noscript {
  display: none;
}

body {
  color: var(--COLOR_BLACK);
  font-family: var(--FONT_FAMILY);
  font-size: var(--FONT_SIZE);
  line-height: var(--LINE_HEIGHT_DEFAULT);
  margin: 0;
  overflow-x: clip;
  padding: 0;
}

body.nos {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
dl,
dd,
ul,
ol,
td,
th,
figure,
fieldset,
button {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style-type: none;
}

img,
svg {
  height: auto;
  max-width: 100%;
}

button,
label {
  cursor: pointer;
}

button:disabled {
  cursor: default;
}

[type=text],
[type=date],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
select,
textarea,
button {
  appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  color: currentColor;
  font-family: inherit;
}

textarea {
  resize: vertical;
}

summary {
  cursor: pointer;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

address {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--LINE_HEIGHT_COMPACT);
}

a {
  color: var(--COLOR_BLACK);
  text-decoration: none;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  color: inherit;
}

small {
  font-size: inherit;
}

.l-article-date {
  padding-block-start: 16px;
}

@media screen and (width >= 768px) {
  .l-article-date {
    padding-block-start: 32px;
  }
}

.l-article-date__item {
  color: var(--COLOR_PLACEHOLDER);
  font-family: var(--FONT_FAMILY_EN);
  grid-column: 2/3;
  line-height: var(--LINE_HEIGHT_COMPACT);
  text-align: right;
}

.l-article-date + .l-content__outer {
  padding-block-start: 32px;
}

@media screen and (width >= 768px) {
  .l-article-date + .l-content__outer {
    padding-block-start: 60px;
  }
}

.l-breadcrumb {
  --CONTENT_WIDTH_MAX: 1440px;
  background-color: var(--COLOR_BLUE_10);
  margin-block-start: 45px;
  overflow-x: auto;
  padding: 8px 16px;
}

@media screen and (width >= 768px) {
  .l-breadcrumb {
    margin-block-start: 55px;
    padding: 8px 24px;
  }
}

.l-breadcrumb__inner {
  --CONTENT_WIDTH_MAX: 1360px;
  margin-inline: auto;
  max-width: var(--CONTENT_WIDTH_MAX);
}

.l-breadcrumb__list {
  display: flex;
  gap: 6px;
  margin-inline: calc(var(--OUTSIDE_GUTTER_SP) * -1);
  overflow-x: auto;
  padding-inline: var(--OUTSIDE_GUTTER_SP);
}

.l-breadcrumb__item {
  align-items: center;
  display: flex;
  gap: 6px;
}

.l-breadcrumb__item + .l-breadcrumb__item::before {
  background: url("../img/icon-arrow-right-blue.svg") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 15px;
  width: 16px;
}

.l-breadcrumb__link {
  font-size: 0.75rem;
  white-space: nowrap;
  word-break: keep-all;
}

@media (any-hover: hover) {
  .l-breadcrumb__link[href]:hover {
    text-decoration: underline;
  }
}

.l-breadcrumb__link[href]:focus-visible {
  text-decoration: underline;
}

.l-breadcrumb__link[href]:active {
  text-decoration: underline;
}

@media screen and (width >= 768px) {
  .l-breadcrumb__link {
    font-size: 0.875rem;
  }
}

.l-contact {
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  padding: 48px 16px 40px;
}

@media screen and (width >= 768px) {
  .l-contact {
    padding: 64px;
  }
}

.l-contact__title {
  color: var(--COLOR_PRIMARY);
  font-size: 1.25rem;
  text-align: center;
}

@media screen and (width >= 768px) {
  .l-contact__title {
    font-size: 1.75rem;
  }
}

.l-content__outer {
  padding-block: 40px 80px;
}

@media screen and (width >= 768px) {
  .l-content__outer {
    padding-block: 80px 120px;
  }
}

.l-content__inner {
  grid-column: 2/3;
}

.l-footer {
  background-image: unset;
  position: relative;
}

.l-footer__head {
  background: linear-gradient(90deg, #003f8a 42.9%, #00559a 100%);
  padding: 32px;
}

@media screen and (width >= 768px) {
  .l-footer__head {
    padding: 40px 20px;
  }
}

.l-footer__title {
  color: var(--COLOR_WHITE);
  font-size: 1.25rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.l-footer__heading {
  font-size: 0.9375rem;
}

.l-footer__heading + * {
  margin-block-start: 12px;
}

@media screen and (width >= 768px) {
  .l-footer__heading {
    border-bottom: 1px solid var(--COLOR_BORDER_LIGHT);
    font-size: 1rem;
    padding-block-end: 8px;
  }
}

.l-footer__heading--no-border {
  border-bottom: 0;
}

.l-footer__container {
  display: flex;
  gap: 24px;
}

.l-footer__layout {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .l-footer__layout {
    gap: 48px 70px;
  }
}

.l-footer__list {
  display: none;
}

@media screen and (width >= 768px) {
  .l-footer__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-inline-start: 0.6rem;
  }
}

.l-footer__item {
  font-size: 0.75rem;
}

.l-footer__link {
  color: var(--COLOR_WHITE);
  font-weight: var(--FONT_WEIGHT_NORMAL);
}

@media (any-hover: hover) {
  .l-footer__link:hover {
    text-decoration: underline;
  }
}

.l-footer__link:focus-visible {
  text-decoration: underline;
}

.l-footer__link:active {
  text-decoration: underline;
}

.l-footer__bottom {
  background-image: linear-gradient(135deg, #002a5d, #004496 85%);
}

footer .footer-inner * {
  line-height: 1;
}

.sp {
  display: none !important;
}

footer {
  background-image: linear-gradient(135deg, #002a5d, #004496 85%);
  position: relative;
  z-index: 8;
  /*
    .copyright {
      font-size: 12px;
      display: block;
      text-align: center;
      background: #fff;
      padding: 20px;
      @media only screen and (max-width:768px){
        padding: 15px;
      }
    }
  */;
}

footer .footer-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

footer .footer-inner__wrapper {
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
}

footer .footer-inner__wrapper .footer-logo {
  margin-bottom: 60px;
  width: 333px;
}

footer .footer-inner + .footer-inner {
  justify-content: left;
  position: relative;
  width: 27em;
}

footer .footer-inner + .footer-inner > div + div {
  margin-left: 2rem;
}

footer .footer-inner * {
  color: #fff;
}

footer .footer-inner a,
footer .footer-inner p {
  font-size: 13px;
}

footer .footer-inner > div > a {
  border-bottom: solid 1px #668ab5;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

footer .footer-inner > div > a.pointer-none {
  pointer-events: none;
}

footer .footer-inner > div > a.single-link {
  border: none;
}

footer .footer-inner > div > div > a {
  border-bottom: solid 1px #668ab5;
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

footer .footer-inner > div > div > a.pointer-none {
  pointer-events: none;
}

footer .footer-inner > div > div > a.single-link {
  border: none;
}

footer .footer-inner > div .footer-head {
  font-weight: bold;
  margin-bottom: 1rem;
}

footer .footer-inner > div .footer-block {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

footer .footer-inner > div .footer-block > * + * {
  margin-left: 2rem;
}

footer .footer-inner > div ul {
  margin-bottom: 1.8rem;
}

footer .footer-inner > div ul li {
  padding-left: 0.6rem;
}

footer .footer-inner > div ul li + li {
  margin-top: 10px;
}

footer .footer-inner > div ul li a:hover {
  text-decoration: underline;
}

footer .footer-inner > div ul.snsmenu {
  align-items: center;
  display: flex;
  justify-content: space-around;
  margin: 0 15px;
}

footer .footer-inner > div ul.snsmenu li {
  margin: 0;
  padding: 0;
  width: 28px;
}

footer .footer-inner > div ul.snsmenu li.in {
  width: 37px;
}

footer .footer-inner > div ul.snsmenu li.fb,
footer .footer-inner > div ul.snsmenu li.you {
  width: 32px;
}

@media only screen and (max-width: 1050px) {
  footer .footer-inner + .footer-inner {
    margin-top: 0;
    width: auto;
  }
}

@media only screen and (max-width: 1020px) {
  footer .footer-inner + .footer-inner {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 768px) {
  footer .footer-inner {
    flex-direction: column;
  }

  footer .footer-inner:first-of-type {
    border-top: solid 1px #668ab5;
  }

  footer .footer-inner__wrapper .footer-logo {
    margin-bottom: 40px;
    width: 76.53%;
  }

  footer .footer-inner + .footer-inner {
    margin-top: 0;
  }

  footer .footer-inner + .footer-inner > div + div {
    margin-left: 0;
  }

  footer .footer-inner > div a {
    margin: 0;
    padding: 27px 12px;
    position: relative;
  }

  footer .footer-inner > div a:after {
    border: 0.1em solid currentColor;
    border-bottom: 0;
    border-left: 0;
    box-sizing: border-box;
    color: #668ab5;
    content: "";
    display: inline-block;
    height: 0.6em;
    line-height: 1;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateX(-25%) translateY(-50%) rotate(45deg);
    vertical-align: middle;
    width: 0.6em;
  }

  footer .footer-inner > div a.pointer-none {
    border: none;
    margin-top: 1rem;
    padding-left: 0;
  }

  footer .footer-inner > div a.pointer-none:after {
    content: none;
  }

  footer .footer-inner > div ul,
  footer .footer-inner > div p {
    display: none;
  }

  footer .footer-inner > div ul.snsmenu {
    justify-content: flex-start;
    margin: 0;
  }

  footer .footer-inner > div ul.snsmenu li {
    margin: 0;
    padding: 0;
    width: 28px;
  }

  footer .footer-inner > div ul.snsmenu li a {
    padding: 0;
  }

  footer .footer-inner > div ul.snsmenu li a:after {
    content: none;
  }

  footer .footer-inner > div ul.snsmenu li + li {
    margin-left: 24px;
  }
}

footer .footer-nav {
  align-items: center;
  border-top: solid 1px #668ab5;
  display: flex;
  justify-content: space-between;
  padding: 20px;
  position: relative;
}

footer .footer-nav__inner {
  align-items: center;
  display: flex;
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
}

footer .footer-nav ul {
  display: flex;
  justify-content: center;
}

footer .footer-nav ul li {
  margin-left: 40px;
}

footer .footer-nav ul li a:hover {
  text-decoration: underline;
}

footer .footer-nav ul.snsmenu {
  align-items: center;
  display: flex;
  justify-content: space-around;
}

footer .footer-nav ul.snsmenu li {
  margin: 0;
  padding: 0;
  width: 28px;
}

footer .footer-nav ul.snsmenu li.in {
  width: 37px;
}

footer .footer-nav ul.snsmenu li.fb,
footer .footer-nav ul.snsmenu li.you {
  width: 32px;
}

footer .footer-nav ul.snsmenu li + li {
  margin-right: 5px;
}

footer .footer-nav .footer-logo {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 14px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

footer .footer-nav .footer-logo img {
  margin-right: 20px;
  width: 120px;
}

footer .footer-nav a {
  color: #fff;
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  footer .footer-nav ul li {
    margin-left: 2vw;
  }

  footer .footer-nav .footer-logo {
    font-size: 13px;
  }
}

@media only screen and (max-width: 1070px) {
  footer .footer-nav {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px 20px 40px;
  }

  footer .footer-nav__inner {
    justify-content: center;
  }

  footer .footer-nav ul.links {
    display: flex;
  }

  footer .footer-nav ul li {
    margin-left: 2vw;
  }

  footer .footer-nav ul.snsmenu {
    width: 111px;
  }

  footer .footer-nav > div {
    margin: 0 auto;
  }

  footer .footer-nav .footer-logo {
    flex-direction: column;
    position: relative;
    right: inherit;
    text-align: center;
    transform: translateY(0);
    width: 100%;
  }

  footer .footer-nav .footer-logo img {
    display: block;
    margin: 50px auto 20px;
    width: 120px;
  }
}

@media only screen and (max-width: 768px) {
  footer .footer-nav {
    align-items: flex-start;
    border: none;
    flex-direction: column;
    padding: 20px 20px 40px;
  }

  footer .footer-nav ul.links {
    display: flex;
    flex-direction: column;
  }

  footer .footer-nav ul li {
    margin-left: 0;
  }

  footer .footer-nav ul li + li {
    margin-top: 1rem;
  }

  footer .footer-nav ul.snsmenu {
    margin: 40px auto 0;
    width: 245px;
  }

  footer .footer-nav > div {
    display: flex;
    flex-direction: column-reverse;
    margin: 0 auto;
  }

  footer .footer-nav > div > * {
    width: 100%;
  }

  footer .footer-nav .footer-logo {
    flex-direction: column;
    font-size: 13px;
    position: relative;
    right: inherit;
    text-align: center;
    transform: translateY(0);
    width: 100%;
  }

  footer .footer-nav .footer-logo img {
    display: block;
    margin: 50px auto 20px;
    width: 120px;
  }
}

footer .inner {
  padding: 50px 20px 20px;
}

@media only screen and (max-width: 768px) {
  footer .inner {
    padding: 46px 20px 20px;
  }
}

@media screen and (min-width: 769px) {
  .research_lead .links a {
    font-size: 10px !important;
    text-align: center;
  }

  .research_lead .links4 a::before {
    right: 22.5% !important;
  }

  .research_lead .links6 a::before {
    right: 27.8% !important;
  }

  .optical h2, .energy h2, .milli_wave h2 {
    font-size: clamp(12px, -3.7974683544px + 2.0569620253vw, 25px) !important;
  }

  .optical h2 .sub, .energy h2 .sub, .milli_wave h2 .sub {
    font-size: clamp(10px, 5.1392405063px + 0.6329113924vw, 14px) !important;
  }

  .optical p, .energy p, .milli_wave p {
    line-height: 1.5 !important;
  }

  .technical ul li .image h2 {
    font-size: 21px !important;
  }
}

@media screen and (max-width: 768px) {
  .research_lead .links a {
    font-size: 2.36vw !important;
    text-align: center;
  }

  .research_lead .links4 a::before {
    right: 16% !important;
  }

  .research_lead .links6 a::before {
    right: 23% !important;
  }

  .technical ul li .image h2 {
    font-size: 5vw !important;
  }

  .technical ul li .text h3 {
    font-size: 3.5vw !important;
  }

  .technical ul li .text p {
    font-size: 3.26vw !important;
  }

  .technical ul li .btn_links {
    margin: 2.33vw -4vw 0 0 !important;
  }

  .technical ul li .btn_links a {
    background-position: right 3.33vw center !important;
    font-size: 2.5vw !important;
    padding: 3.8vw 8.26vw 3.8vw 4.66vw !important;
  }
}

#important .tabmenu #tabs li {
  font-size: 14px;
  line-height: 1.6;
  padding: 1rem 0.5rem;
}

@media screen and (max-width: 768px) {
  #important .text {
    padding: 6.33vw 0;
  }

  #important .text h2 {
    line-height: 1.4;
  }

  #important .text p {
    line-height: 1.5;
  }

  #important .tabmenu #tabs li {
    font-size: 12px;
    line-height: 1.6;
    padding: 1rem 0.5rem;
  }
}

table .en_vertical-rl {
  font-size: 12px;
  letter-spacing: -2px;
  line-height: 1;
  text-orientation: upright;
  writing-mode: vertical-rl;
}

@media screen and (min-width: 769px) {
  [lang|=en] footer .footer-inner {
    flex-wrap: nowrap;
  }

  [lang|=en] footer .footer-inner a {
    font-size: 12px;
  }

  [lang|=en] footer .footer-inner > div > a {
    font-size: 12px;
  }
}

[lang|=en] footer .footer-inner + .footer-inner {
  margin-top: 0;
}

.understanding-wrapper .main-visual__box .list-group a span {
  font-size: clamp(10px, 0.5766871166px + 1.226993865vw, 18px) !important;
}

@media only screen and (min-width: 1580px) {
  .understanding-wrapper .main-visual__box .list-group a span {
    font-size: 18px !important;
  }
}

.understanding-wrapper .main-visual__text {
  letter-spacing: 0 !important;
}

.understanding-wrapper .main-visual__text span {
  letter-spacing: 0 !important;
}

.understanding-wrapper .main-visual__text span span {
  letter-spacing: 0 !important;
}

.understanding-wrapper h3 {
  font-size: clamp(18px, 13.2883435583px + 0.6134969325vw, 22px) !important;
}

@media screen and (max-width: 768px) {
  .understanding-wrapper h3 {
    font-size: 20px !important;
  }
}

.understanding-wrapper .wrapper-inner__head .text01 {
  font-size: clamp(22px, 12.5766871166px + 1.226993865vw, 30px) !important;
}

.understanding-wrapper .wrapper-inner__head .text02 {
  font-size: clamp(25px, 7.3312883436px + 2.3006134969vw, 40px) !important;
}

.understanding-wrapper .wrapper-inner__head .text03 {
  font-size: clamp(14px, 6.9325153374px + 0.9202453988vw, 20px) !important;
}

.understanding-wrapper .wrapper-inner__head .text04 {
  font-size: clamp(18px, 10.9325153374px + 0.9202453988vw, 24px) !important;
}

#company-wrapper .target__title {
  letter-spacing: 0 !important;
}

@media screen and (max-width: 1000px) {
  #company-wrapper .target__title {
    letter-spacing: 0.1em !important;
  }
}

#company-wrapper .academy-support-boxes {
  background-image: url(../../../company/images/academy_img_middle_re_4_en.png) !important;
}

.understanding-wrapper .wrapper-inner .contents06-block02 > div .block-text .haed + p {
  font-size: 15px;
  text-align: inherit !important;
}

.understanding-wrapper .wrapper-inner .contents06-block02 > div .block-text.right li + li {
  margin-top: 0.5rem !important;
}

.basic-information-shareholders-table tbody th {
  text-transform: none !important;
}

.targetItem {
  padding: 28px 10px 32px !important;
  padding-block: 0 !important;
}

@media (max-width: 768px) {
  .targetItem {
    padding: 21px 10px 20px !important;
    padding-block: 0 !important;
  }
}

.targetItem:nth-child(2) .targetItem__value img {
  inline-size: 73px !important;
}

@media (max-width: 768px) {
  .targetItem:nth-child(2) .targetItem__value img {
    block-size: 36px !important;
  }
}

@media screen and (min-width: 769px) {
  .cause__contents-text h3 span.big {
    display: block;
    font-size: 2.8vw !important;
  }

  .cause__contents-text {
    width: 60% !important;
  }

  li.cause__contents-item.--type2 .cause__contents-text h3 span.big {
    white-space: break-spaces;
  }

  li.cause__contents-item.--type4 .cause__contents-text h3 {
    font-size: 2.7vw !important;
  }

  .accordion-subtitle-note {
    font-size: 12px !important;
  }
}

@media screen and (max-width: 767px) {
  .cause__contents-text h3 span.big {
    font-size: 25px !important;
  }

  li.cause__contents-item.--type2 .cause__contents-text h3 span.big {
    font-size: 13.508px !important;
  }

  li.cause__contents-item.--type4 .cause__contents-text h3 span.big {
    font-size: 19.508px !important;
  }

  .accordion-subtitle-note {
    font-size: 0.5rem !important;
  }
}

.lp-energy-creaton__contents-title {
  width: 15rem !important;
}

a.lp-energy-application__message-link {
  font-size: 18px !important;
}

.top_product ul.slider li .image h3 {
  font-size: 30px;
}

.top_product ul.slider li .text p {
  font-size: 13px;
}

.top_product ul.slider li .btn_links a {
  font-size: 12px;
}

@media only screen and (max-width: 1400px) {
  .top_product ul.slider li .text p {
    font-size: 0.9vw;
  }
}

@media only screen and (max-width: 1400px) {
  .top_product ul.slider li .btn_links a {
    font-size: 0.9vw;
  }
}

@media only screen and (max-width: 1400px) {
  .top_product ul.slider li .text h3 {
    font-size: 1.2vw;
    margin: 0 0 0.9vw;
  }
}

@media only screen and (max-width: 1400px) {
  .top_product ul.slider li .btn_links {
    margin: 0.5vw 0 0;
  }
}

.business .mod-career-list {
  max-width: 1002px;
}

.business .career-list-item {
  width: 33.33%;
}

.business .career-list-item-text {
  font-size: 23px;
}

.business .mod-career-list .career-list-item:nth-child(2) .career-list-item-text {
  padding: 0 25px;
}

@media only screen and (max-width: 1100px) {
  .business .career-list-item-text {
    font-size: 2.09vw;
  }

  .business .mod-career-list .career-list-item:nth-child(2) .career-list-item-text {
    padding: 0 2.27vw;
  }
}

@media only screen and (max-width: 768px) {
  .business .career-list-item {
    width: auto;
  }

  .business .career-list-item-text {
    font-size: 25px;
  }
}

.en-hidden {
  display: none !important;
}

.en-visible {
  display: block !important;
} 
/* 本番のヘッダーに対して上書き用のスタイル */
.l-header[class] {
  position: sticky;
  z-index: var(--LAYER_TOP);
}

.l-header[class].open {
  position: fixed;
}

@media (scripting: none) {
  .l-header[class] {
    height: auto !important;
    position: static;
  }
}

@media (scripting: none) {
  .l-header[class] .inner {
    height: 52px;
  }
}

@media screen and (scripting: none) and (width >= 768px) {
  .l-header[class] .inner {
    height: 68px;
  }
}

:is(.logo, .snsmenu) img {
  display: block;
}

.secmenu {
  line-height: 1;
}

#spnavi {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#spnavi.is-show {
  opacity: 1;
}

#spmenu button {
  background-color: var(--COLOR_WHITE);
  border: 0;
  display: block;
  height: 52px;
  position: absolute;
  right: 10px;
  top: 0;
  width: 52px;
}

#spmenu button img {
  display: block;
  height: auto;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: ease 0.3s;
  width: 32px;
}

#spmenu button::after {
  background: url("../img/close.svg") no-repeat 0 0;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 32px;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: ease 0.3s;
  width: 32px;
  z-index: 2;
}

header.open #spmenu button::after {
  height: 24px;
  opacity: 1;
  width: 24px;
}

header.open #spmenu button img {
  opacity: 0;
}

#spnavi ul.spmenu li.seclink {
  line-height: var(--LINE_HEIGHT_COMPACT);
}

.search p {
  line-height: 1;
}

@media screen and (width <= 767px) {
  .fixhead header.js_hide[class] {
    transform: translateY(-190%);
  }
}

.fixhead .l-header-business {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.l-header-business__inner {
  background-color: var(--COLOR_WHITE);
}

.l-header-business__head {
  border-top: 1px solid var(--COLOR_BORDER);
  display: flex;
  justify-content: space-between;
  padding: 6px 16px 8px;
}

@media screen and (width >= 768px) {
  .l-header-business__head {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0 auto;
    max-width: 1400px;
    padding: 11px 0 15px;
    position: relative;
    width: 100%;
  }
}

@media (scripting: none) {
  .l-header-business__head {
    display: block;
  }
}

.l-header-business__heading {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_MEDIUM);
}

@media screen and (width >= 768px) {
  .l-header-business__heading {
    font-size: clamp(15px, 1.25vw, 18px);
    font-weight: initial;
    left: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: fit-content;
    z-index: 9;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__trigger {
    display: none;
  }
}

@media (scripting: none) {
  .l-header-business__trigger {
    display: none;
  }
}

@media screen and (width <= 767px) {
  .l-header-business__wrapper {
    background-color: var(--COLOR_WHITE);
    display: none;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 97px;
    transition: height 0.3s ease;
    width: 100%;
  }

  .l-header-business__wrapper.is-hidden {
    display: none;
  }

  .l-header-business__wrapper.is-show {
    display: block;
  }
}

@media (scripting: none) {
  .l-header-business__wrapper {
    display: block;
    position: static;
  }
}

@media screen and (width <= 767px) {
  .l-header-business__navigation {
    height: calc(100svh - 97px);
    overflow-y: auto;
    padding: 0 16px 40px;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__navigation {
    display: flex;
    gap: clamp(9px, 1.5vw, 24px);
    left: 9.5vw;
    position: relative;
  }
}

@media screen and (width >= 1300px) {
  .l-header-business__navigation {
    left: 107px;
  }
}

@media (scripting: none) {
  .l-header-business__navigation {
    height: auto;
  }
}

@media screen and (width <= 767px) {
  .l-header-business__navigationLink {
    align-items: center;
    border-bottom: 1px solid var(--COLOR_BORDER);
    display: flex;
    font-size: 0.8125rem;
    justify-content: space-between;
    padding: 12px 8px;
  }

  .l-header-business__navigationLink::after {
    content: url("../img/icon-arrow-right-link.svg");
    display: block;
    height: 14px;
    width: 16px;
  }

  .l-header-business__navigationLink:has(.m-link__icon)::after {
    content: none;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__navigationLink {
    font-size: clamp(10px, 1.25vw, 15px);
    padding: 4px 8px;
  }

  .l-header-business__navigationLink[aria-expanded=true] {
    font-weight: var(--FONT_WEIGHT_BOLD);
  }
}

@media (any-hover: hover) {
  .l-header-business__navigationLink:hover {
    text-decoration: underline;
  }
}

.l-header-business__navigationLink:focus-visible {
  text-decoration: underline;
}

.l-header-business__navigationLink:active {
  text-decoration: underline;
}

.l-header-business__menu {
  background-color: var(--COLOR_WHITE);
  display: none;
  position: absolute;
  width: 100%;
  z-index: var(--LAYER_FRONT);
}

.l-header-business__menu.is-hidden {
  display: none;
}

.l-header-business__menu.is-show {
  display: grid;
}

@media (scripting: none) {
  .l-header-business__menu {
    position: static;
  }
}

@media screen and (width <= 767px) {
  .l-header-business__menu {
    display: contents;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__menu {
    background-color: var(--COLOR_BACKGROUND_LIGHT);
    display: none;
    gap: 0 var(--OUTSIDE_GUTTER_SP);
    grid-template-columns: 1fr minmax(var(--CONTENT_WIDTH_MIN), var(--CONTENT_WIDTH_MAX)) 1fr;
    overflow: hidden;
    transition: height 0.3s ease;
  }
}

@media (scripting: none) {
  .l-header-business__menu {
    display: grid;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__menuInner {
    grid-column: 2/3;
    padding-block: 40px;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__layers {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
    height: calc(100svh - 237px);
  }
}

@media screen and (width >= 1300px) {
  .l-header-business__layers {
    height: calc(100svh - 260px);
    overflow-y: auto;
  }
}

@media screen and (width <= 767px) {
  .l-header-business__layer {
    background-color: var(--COLOR_WHITE);
    height: calc(100svh - 97px);
    overflow-y: auto;
    padding: 0 16px 40px;
    position: absolute;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    visibility: hidden;
    width: 100%;
  }

  .l-header-business__layer.is-show {
    visibility: visible;
  }
}

.l-header-business__panel.is-hidden {
  display: none;
}

.l-header-business__close {
  display: none;
}

@media (any-hover: hover) {
  .l-header-business__close:hover {
    color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  }
}

.l-header-business__close:focus-visible {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.l-header-business__close:active {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

@media screen and (width >= 768px) {
  .l-header-business__close {
    align-items: center;
    display: flex;
    font-size: 1rem;
    gap: 8px;
    margin-block-start: 32px;
    margin-inline: auto;
    transition: color 0.3s ease;
  }

  .l-header-business__close::before {
    content: url("../img/icon-close.svg");
    display: block;
    height: 20px;
    width: 16px;
  }
}

.l-header-business__back {
  align-items: center;
  border-bottom: 1px solid var(--COLOR_BORDER);
  display: flex;
  gap: 4px;
  padding: 8px;
}

.l-header-business__back::before {
  content: url("../img/icon-arrow-left-link.svg");
  display: block;
  height: 18px;
  width: 16px;
}

@media screen and (width >= 768px) {
  .l-header-business__back {
    display: none;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__list {
    margin-block-start: 16px;
  }

  .l-header-business__list:has(> .l-header-business__item:first-child .l-header-business__lead) {
    margin-block-start: 32px;
  }
}

@media screen and (width >= 768px) {
  .l-header-business__item:not(:first-child):has(.l-header-business__lead) {
    margin-block-start: 32px;
  }
}

.l-header-business__title {
  border-bottom: 1px solid var(--COLOR_BORDER);
  display: block;
  font-weight: var(--FONT_WEIGHT_BOLD);
  padding: 12px 8px;
}

@media (any-hover: hover) {
  .l-header-business__title[href]:hover {
    background-color: var(--COLOR_BLUE_30);
    border-radius: 5px;
  }
}

.l-header-business__title[href]:focus-visible {
  background-color: var(--COLOR_BLUE_30);
  border-radius: 5px;
}

.l-header-business__title[href]:active {
  background-color: var(--COLOR_BLUE_30);
  border-radius: 5px;
}

@media screen and (width >= 768px) {
  .l-header-business__title {
    font-size: 1.125rem;
  }
}

.l-header-business__lead {
  color: var(--COLOR_PRIMARY);
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.l-header-business__lead + .l-header-business__list {
  margin-block-start: 0;
}

@media screen and (width <= 767px) {
  .l-header-business__lead {
    margin-block-start: 12px;
  }
}

.l-header-business__link {
  align-items: center;
  border-bottom: 1px solid var(--COLOR_BORDER);
  display: flex;
  font-size: 0.8125rem;
  gap: 4px;
  justify-content: space-between;
  padding: 12px 16px;
}

.l-header-business__link::after {
  content: url("../img/icon-arrow-right-link.svg");
  display: block;
  height: 16px;
  transition: transform 0.3s ease;
  width: 16px;
}

@media (any-hover: hover) {
  .l-header-business__link:hover {
    background-color: var(--COLOR_BLUE_30);
    border-radius: 5px;
  }

  .l-header-business__link:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (width >= 768px) {
  [lang|=en] .l-header-business__heading {
    font-size: clamp(10px, 1.25vw, 15px);
  }

  [lang|=en] .l-header-business__navigation {
    left: 16vw;
  }
}

@media screen and (width >= 1300px) {
  [lang|=en] .l-header-business__heading {
    font-size: 18px;
  }

  [lang|=en] .l-header-business__navigation {
    left: 240px;
  }
}

.l-header-business__link:focus-visible {
  background-color: var(--COLOR_BLUE_30);
  border-radius: 5px;
}

.l-header-business__link:focus-visible::after {
  transform: translateX(5px);
}

.l-header-business__link:active {
  background-color: var(--COLOR_BLUE_30);
  border-radius: 5px;
}

.l-header-business__link:active::after {
  transform: translateX(5px);
}

@media screen and (width >= 768px) {
  .l-header-business__link {
    font-size: 1rem;
    padding: 16px 8px;
  }

  .l-header-business__link::after {
    height: 25px;
    width: 16px;
  }

  .l-header-business__link[aria-selected=true] {
    background-color: var(--COLOR_BLUE_30);
    border-radius: 5px;
  }

  .l-header-business__link[aria-selected=true]::after {
    transform: translateX(5px);
  }
}

header {
  background: #fff;
  height: 68px;
  padding: 0;
  position: fixed;
  top: 0;
  transform: translateY(0);
  transition: ease 0.3s;
  width: 100%;
  z-index: 9;
}

.fixhead header {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  height: 54px;
}

header .inner {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0 auto;
  max-width: 1400px;
  padding: 0;
  position: relative;
  width: 100%;
}

.logo {
  left: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 139px;
  z-index: 9;
}

.logo a {
  display: block;
}

.pcmenu {
  align-items: center;
  display: flex;
}

.pcmenu li {
  padding: 0 20px;
}

.pcmenu li a {
  color: #333;
  display: block;
  font-size: 15px;
  line-height: 1;
  text-align: center;
}

.pcmenu li.current a {
  font-weight: 700;
}

.secmenu {
  align-items: center;
  display: flex;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.secmenu li {
  color: #333;
  font-size: 13px;
}

.contactmenu,
.langmenu {
  border-right: dotted 1px #333;
  margin-right: 10px;
  padding-right: 10px;
}

.contactmenu img {
  height: auto;
  width: 17px;
}

.contactmenu a {
  display: inline-block;
  padding: 0 0 0 28px;
  position: relative;
}

.contactmenu a::before {
  background: url("../img/mail.svg") no-repeat 0 0;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  width: 21px;
}

.secmenu li.langmenu {
  font-size: 14px;
  font-weight: 500;
}

.langmenu a {
  color: #bdbdbd;
  display: inline-block;
  margin: 0 0 0 2px;
}

.langmenu a:first-child {
  margin: 0 3px 0 0;
}

.langmenu a.current {
  color: #333;
}

#spmenu {
  display: none;
  height: 0;
  left: 0;
  overflow: visible;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 11;
}

#spmenu a {
  display: block;
  height: 52px;
  position: absolute;
  right: 10px;
  top: 0;
  width: 52px;
}

#spmenu a img {
  display: block;
  height: auto;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: ease 0.3s;
  width: 32px;
}

#spmenu a::after {
  background: url("../img/close.svg") no-repeat 0 0;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 32px;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: ease 0.3s;
  width: 32px;
  z-index: 2;
}

header.open #spmenu a::after {
  height: 24px;
  opacity: 1;
  width: 24px;
}

header.open #spmenu a img {
  opacity: 0;
}

#spHeader {
  display: block;
  width: 100%;
}

#spnavi {
  background: #fff;
  clear: both;
  display: none;
  height: 100vh;
  left: 0;
  margin: 0;
  overflow: auto;
  padding: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9;
}

#spnavi .inner {
  display: block;
  margin: 0;
  position: relative;
}

#spnavi > .inner {
  background: #fff;
  height: auto;
  overflow: auto;
  padding: 0;
  top: 52px;
}

#spnavi ul.spmenu {
  border-top: solid 1px #ccd8e6;
  padding: 0;
  position: relative;
  width: 100%;
}

#spnavi ul.spmenu li {
  border-bottom: solid 1px #ccd8e6;
  margin: 0;
}

#spnavi ul.spmenu li a {
  background: url(../img/link_sp_arrow.svg) no-repeat right 20px center;
  background-size: 9px auto;
  display: block;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 22px 40px 22px 20px;
}

#spnavi ul.spmenu li.seclink {
  border-bottom: 0;
  margin: 30px 0 0 20px;
}

#spnavi ul.spmenu li.seclink:last-child {
  margin-top: 15px;
}

#spnavi ul.spmenu li.seclink a {
  background: url(../img/link_circle_arrow.svg) no-repeat 0 center;
  background-size: 15px auto;
  display: inline-block;
  font-size: 16px;
  padding: 0 0 0 22px;
}

#spnavi ul.snsmenu {
  display: flex;
  justify-content: center;
  margin: 30px 0 0;
  width: 100%;
}

#spnavi ul.snsmenu li {
  margin: 0 8px;
  width: 34px;
}

#spnavi ul.snsmenu li:last-child {
  width: 37px;
}

#spnavi ul.snsmenu li a {
  display: block;
}

/*
footer {
	position:relative;
	z-index:8;
	background:#003C84;
}
footer .inner {
	padding:150px 20px;
}
footer p {
  color:#fff;
	font-size:16px;
  font-weight:500;
	line-height:1.6;
	text-align:center;
	margin:5px 0 0;
}
  */
/* TOPへ戻る */
#pageTop {
  bottom: 75px;
  clear: both;
  height: 0;
  margin: 0 auto;
  overflow: visible;
  position: fixed;
  right: 0;
  transition: ease 0.5s;
  visibility: visible;
  width: 100%;
  z-index: 50;
}

@media only screen and (max-width: 1200px) {
  #pageTop {
    bottom: 6.25vw;
  }
}

@media only screen and (max-width: 768px) {
  #pageTop {
    bottom: 30.4vw;
  }
}

.cc-invisible + #wrapper #pageTop {
  bottom: 0;
}

#pageTop.ftposi {
  bottom: auto;
  position: absolute;
  top: 0;
}

.p-toTop {
  height: 0;
  margin-inline: auto;
  max-inline-size: 1400px;
  text-align: end;
  transition: ease 0.5s;
  z-index: 50;
}

.p-toTop a {
  bottom: 32px;
  display: block;
  height: 50px;
  margin-left: auto;
  position: relative;
  right: 32px;
  transform: translateY(100%);
  width: 50px;
}

.fixhead .p-toTop a {
  transform: translateY(-100%);
}

@media only screen and (max-width: 768px) {
  #pageTop.ftposi {
    top: -10vw;
  }

  .p-toTop {
    margin-inline: 0;
  }

  .p-toTop a {
    bottom: 20px;
    right: 20px;
  }
}

.p-toTop svg circle {
  transition: fill 0.3s;
}

.p-toTop svg path {
  transition: stroke 0.3s;
}

@media (hover: hover) {
  .p-toTop a:hover svg circle {
    fill: #003c84;
  }

  .p-toTop a:hover svg path {
    stroke: #fff;
  }
}
/*　clearfix　*/
.cf:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.cf {
  display: block;
}

* html .cf {
  height: 1%;
}

@media only screen and (max-width: 1300px) {
  .pcmenu {
    left: -1.5vw;
    position: relative;
  }

  .pcmenu li {
    padding: 0 1.1vw;
  }
}

@media only screen and (max-width: 1200px) {
  #wrapper {
    padding-top: 5.66vw;
  }

  header {
    height: 5.66vw;
  }

  .fixhead header {
    height: 4.5vw;
  }

  .logo {
    width: 11.58vw;
  }

  .pcmenu li {
    padding: 0 0.9vw;
  }

  .pcmenu li a {
    font-size: 1.25vw;
  }

  .secmenu li {
    font-size: 1.08vw;
  }

  .secmenu li.langmenu {
    font-size: 1.16vw;
  }

  .langmenu a {
    margin: 0 0 0 0.25vw;
  }

  .langmenu a:first-child {
    margin: 0 0.35vw 0 0;
  }

  .contactmenu,
  .langmenu {
    margin-right: 1.16vw;
    padding-right: 1.16vw;
  }

  .contactmenu a {
    padding: 0 0 0 2.33vw;
  }

  .contactmenu a::before {
    height: 1.33vw;
    width: 1.75vw;
  }
}

@media only screen and (max-width: 1000px) {
  header .inner {
    padding-right: 7vw;
  }

  .pcmenu li a {
    font-size: 1.37vw;
  }

  .secmenu li {
    font-size: 1.16vw;
  }

  .secmenu li.langmenu {
    font-size: 1.25vw;
  }
}

@media only screen and (max-width: 768px) {
  .pc,
  .bread {
    display: none !important;
  }

  .sp,
  .sp_braed {
    display: block !important;
  }

  .sp_braed {
    margin: 16.66vw 0 0;
  }

  #wrapper {
    padding-top: 52px;
  }

  header {
    height: 52px !important;
  }

  .fixhead header.js_hide {
    transform: translateY(-100%);
  }

  header > .inner {
    position: relative;
  }

  header > .inner::before {
    background: #fff;
    content: "";
    display: block;
    height: 52px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
  }

  .logo {
    left: 15px;
    width: 108px;
    z-index: 10;
  }

  .secmenu {
    z-index: 10;
  }

  .contactmenu,
  .recruitmenu {
    display: none;
  }

  .secmenu li.langmenu {
    border: 0;
    font-size: 16px;
    margin-right: 17.33vw;
    padding-right: 0;
    position: relative;
    z-index: 10;
  }

  .langmenu a {
    margin: 0 0 0 10px;
  }

  .langmenu a:first-child {
    margin: 0 10px 0 0;
  }

  #spmenu {
    display: block;
  }

  #spnavi .logo {
    top: 25px;
  }

  #spnavi .search {
    background: #003c84;
    margin: 30px 0 0;
    position: relative;
    width: 100%;
  }

  #spnavi .search .inner {
    padding: 20px 18px 150px;
  }

  #spnavi .search .inner p {
    color: #fff;
    font-size: 18px;
    margin: 0 0 15px;
  }

  #spnavi .search form input {
    font-size: 13px;
    padding: 12px 30px 12px 12px;
  }
  /*
  footer .inner {
    padding:50vw 4vw;
  }
  */;
}

@media only screen and (max-height: 740px) {
  #spnavi ul.spmenu li a {
    padding: 2.66vh 10.66vw 2.66vh 5.33vw;
  }

  #spnavi ul.spmenu li.seclink {
    margin: 2.8vh 0 0 5.33vw;
  }

  #spnavi ul.spmenu li.seclink:last-child {
    margin-top: 2.8vh;
  }

  #spnavi ul.snsmenu {
    margin: 3.6vh 0 0;
  }
}

@media only screen and (max-height: 670px) {
  #spnavi ul.spmenu li a {
    font-size: 2.686vh;
  }

  #spnavi ul.spmenu li.seclink a {
    background-size: 2.238vh auto;
    font-size: 2.388vh;
    padding: 0 0 0 3.28vh;
  }
}

@media only screen and (max-height: 640px) {
  #spnavi .search {
    margin: 3.6vh 0 0;
  }
}

@media only screen and (min-width: 769px) {
  a {
    transition: ease 0.3s;
  }

  .pcmenu li a:hover,
  .secmenu li a:hover {
    text-decoration: underline;
  }

  #spnavi {
    display: none !important;
  }
}

@media print {
  .fadein,
  .fadein1,
  .fadein2,
  .fadein3,
  .fadein4 {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

.search form {
  background: #fff;
  border: solid 1px #bdbdbd;
  border-radius: 4px;
  display: block;
  position: relative;
}

.search form input {
  display: block;
  font-size: 15px;
  padding: 15px 50px 15px 16px;
  width: 100%;
}

.btn-search-submit {
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .search p {
    text-align: center;
  }

  .btn-search-submit {
    right: 2.4vw;
  }

  .btn-search-submit img {
    height: auto;
    width: 5.33vw;
  }
}

.l-page-heading {
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  gap: 0;
  padding: 40px 16px;
}

@media screen and (width >= 768px) {
  .l-page-heading {
    padding: 80px 24px;
  }
}

.l-page-heading__title {
  color: var(--COLOR_PRIMARY);
  display: flex;
  flex-direction: column-reverse;
  font-family: var(--FONT_FAMILY);
  font-size: 1.5rem;
  gap: 4px;
  grid-column: 2/3;
}

@media screen and (width >= 768px) {
  .l-page-heading__title {
    font-size: 3.125rem;
  }
}

.l-page-heading > .m-tag-list {
  grid-column: 2/3;
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .l-page-heading > .m-tag-list {
    margin-block-start: 40px;
  }
}

.l-page-heading__subTitle {
  color: var(--COLOR_PLACEHOLDER);
  font-size: 0.875rem;
}

@media screen and (width >= 768px) {
  .l-page-heading__subTitle {
    font-size: 1.25rem;
  }
}

.l-navigationTop {
  bottom: 30px;
  height: 56px;
  margin-bottom: -56px;
  margin-left: auto;
  opacity: 1;
  padding: 8px 16px;
  position: sticky;
  transform: translateY(0);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  visibility: visible;
  width: fit-content;
  z-index: var(--LAYER_FRONT_SECOND);
}

@media screen and (width >= 768px) {
  .l-navigationTop {
    bottom: 50px;
    padding: 16px 24px;
  }
}

.l-navigationTop.is-hide {
  opacity: 0;
  transform: translateY(20px);
  visibility: hidden;
}

.l-navigationTop__link {
  background: url("../img/icon-up.svg") no-repeat;
  background-size: cover;
  display: block;
  height: 56px;
  width: 56px;
}

@media (any-hover: hover) {
  .l-navigationTop__link:hover {
    background: url("../img/icon-up_hover.svg") no-repeat;
  }
}

.l-navigationTop__link:focus-visible {
  background: url("../img/icon-up_hover.svg") no-repeat;
}

.l-navigationTop__link:active {
  background: url("../img/icon-up_hover.svg") no-repeat;
}

.l-navigationTop__text {
  clip-path: inset(1px 1px 1px 1px);
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.l-svg {
  height: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.m-box-contact {
  background-color: var(--COLOR_BLUE_20);
  border-radius: var(--RADIUS_MEDIUM);
  margin-block-start: 40px;
  padding: 32px 16px;
}

@media screen and (width >= 768px) {
  .m-box-contact {
    margin-block-start: 80px;
    padding: 56px clamp(1rem, -2.22rem + 6.7vw, 3.5rem);
  }
}

.m-box-contact__title {
  font-size: 1.25rem;
  text-align: center;
}

@media screen and (width >= 768px) {
  .m-box-contact__title {
    font-size: 2rem;
  }
}

.m-box-contact__address {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-box-contact__address {
    gap: 24px;
    margin-block-start: 40px;
  }
}

@media screen and (width <= 767px) {
  .m-box-contact__group:first-child {
    padding-block-end: 16px;
  }

  .m-box-contact__group:last-child {
    border-top: 1px solid var(--COLOR_BORDER);
    padding-block-start: 12px;
  }
}

@media screen and (width >= 768px) {
  .m-box-contact__group {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr auto 1fr;
  }

  .m-box-contact__group::after {
    background-color: var(--COLOR_BORDER);
    content: "";
    display: inline-block;
    height: 75px;
    order: 2;
    width: 1px;
  }

  .m-box-contact__group > :first-child {
    order: 1;
  }

  .m-box-contact__group > :last-child {
    order: 3;
  }
}

.m-box-contact__group .m-text-tel__main {
  text-align: center;
}

@media screen and (width >= 768px) {
  .m-box-contact__group .m-text-tel__main {
    min-width: 390px;
    text-align: right;
  }
}

@media screen and (width <= 767px) {
  .m-box-contact__group .m-text-tel--large .m-text-tel__number {
    font-size: clamp(1.688rem, 1.271rem + 1.78vw, 2.125rem);
  }
}

.m-box-contact__group .m-text-tel--large .m-text-tel__label {
  margin-inline-end: 6px;
}

.m-box-contact__hours {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_MEDIUM);
  gap: 8px;
  justify-content: center;
}

@media screen and (width <= 767px) {
  .m-box-contact__hours {
    margin-inline: auto;
    width: fit-content;
  }
}

@media screen and (width >= 768px) {
  .m-box-contact__hours {
    font-size: 1.125rem;
  }
}

.m-box-contact__foot {
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .m-box-contact__foot {
    margin-block-start: 56px;
  }
}

.m-box-icon {
  display: grid;
  gap: 32px;
  margin-block-start: 72px;
}

@media screen and (width >= 768px) {
  .m-box-icon {
    gap: 80px 40px;
    margin-block-start: 104px;
  }

  .m-box-icon[data-column-pc="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.m-box-icon:has(h3.m-box-icon__heading) {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-box-icon:has(h3.m-box-icon__heading) {
    margin-block-start: 48px;
  }
}

.m-box-icon__item {
  container: m-box-icon/inline-size;
  position: relative;
}

.m-box-icon__item::after {
  background: linear-gradient(90deg, #00b9ef 5%, #72ecff 25%, #003c84 55%);
  border-radius: 0 0 8px 8px;
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}

.m-box-icon__wrap {
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  border-radius: var(--RADIUS);
  height: 100%;
  padding: 16px 16px 32px;
}

@media screen and (width >= 768px) {
  .m-box-icon__wrap {
    padding: 40px 40px 56px;
  }
}

.m-box-icon__body {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: body;
  margin-block-start: 16px;
}

.m-box-icon__body .m-link-list {
  margin-block-start: 24px;
}

.m-box-icon__icon {
  margin: auto;
}

@media screen and (width <= 767px) {
  .m-box-icon__icon {
    max-width: 56px;
  }
}

.m-box-icon__head {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: head;
}

.m-box-icon__heading {
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
  text-align: center;
}

@media screen and (width >= 768px) {
  .m-box-icon__heading {
    gap: 24px;
  }
}

.m-box-icon__heading--column {
  align-items: center;
  flex-direction: row-reverse;
  justify-content: flex-end;
  text-align: left;
}

.m-box-icon__heading--column .m-box-icon__icon {
  margin: 0;
}

.m-box-icon__title {
  color: var(--COLOR_PRIMARY);
  font-size: 1.25rem;
}

@media screen and (width >= 768px) {
  .m-box-icon__title {
    font-size: clamp(1.25rem, -0.083rem + 2.78vw, 2rem);
  }
}

.m-box-icon__foot {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 3;
  grid-area: foot;
}

.m-box-icon__item--line-top::after {
  border-radius: 0;
  top: 0;
}

.m-box-icon__item--line-top .m-box-icon__wrap {
  font-weight: var(--FONT_WEIGHT_BOLD);
  padding: 32px 16px;
}

@media screen and (width <= 767px) {
  .m-box-icon__item--line-top .m-box-icon__icon {
    max-width: 80px;
  }
}

@media screen and (width >= 768px) {
  .m-box-icon__item--line-top .m-box-icon__wrap {
    border-radius: 0 0 16px 16px;
    padding: 40px;
  }
}

.m-box-icon__item--line-top .m-box-icon__body {
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-box-icon__item--line-top .m-box-icon__body {
    margin-block-start: 24px;
  }
}

@container (width > 690px) {
  .m-box-icon__wrap {
    align-items: center;
    column-gap: 40px;
    display: grid;
    grid-template-areas: "head foot" "body foot";
    padding: 48px clamp(1rem, -5.38rem + 13.29vw, 6.25rem) 64px;
  }

  .m-box-icon__heading {
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-end;
    text-align: left;
  }

  .m-box-icon__icon {
    margin: 0;
    max-width: none;
  }

  .m-box-icon__body {
    margin-block-start: 32px;
  }

  .m-box-icon__foot > :first-child {
    margin-block-start: 0 !important;
  }

  .m-box-icon__foot > :last-child {
    margin-block-end: 0 !important;
  }
}

.m-box {
  background-color: var(--COLOR_BLUE_10);
  border-radius: var(--RADIUS);
}

.m-box__head {
  padding: 32px 24px 24px;
}

@media screen and (width >= 768px) {
  .m-box__head {
    padding: 64px 24px 24px;
  }
}

.m-box__title {
  display: block;
  font-size: 1.25rem;
  padding-block-end: 10px;
  position: relative;
}

.m-box__title::after {
  background: linear-gradient(68.83deg, var(--COLOR_ACCENT) -6.28%, var(--COLOR_PRIMARY) 61.86%);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

@media screen and (width >= 768px) {
  .m-box__title {
    font-size: 2rem;
  }
}

.m-box__body {
  padding: 32px 24px;
}

@media screen and (width >= 768px) {
  .m-box__body {
    padding: 64px 24px;
  }
}

.m-box__head + .m-box__body {
  padding-block-start: 0;
}

.m-box.m-box--line-bottom {
  position: relative;
}

.m-box.m-box--line-bottom::after {
  background: linear-gradient(90deg, #00b9ef 5%, #72ecff 25%, #003c84 55%);
  border-radius: 0 0 8px 8px;
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}

.m-box.m-box--line-bottom .m-box__body {
  padding: 24px 16px 32px;
}

@media screen and (width >= 768px) {
  .m-box.m-box--line-bottom .m-box__body {
    padding: 40px 80px 48px;
  }
}

.m-box-order {
  display: grid;
  gap: 56px 24px;
  grid-template-columns: repeat(auto-fit, minmax(228px, 1fr));
  padding-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-box-order {
    display: flex;
    flex-wrap: wrap;
    gap: 86px 32px;
    justify-content: center;
  }
}

.m-box-order__item {
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  border-radius: var(--RADIUS);
  padding: 40px 16px 24px;
  position: relative;
}

@media screen and (width >= 768px) {
  .m-box-order__item {
    padding: 48px 32px 40px;
    width: calc((100% - 64px) / 3);
  }
}

.m-box-order__step {
  background: linear-gradient(72.94deg, #00b9ef 15.4%, #003c84 85.83%);
  background-clip: text;
  color: transparent;
  font-family: var(--FONT_FAMILY_EN);
  font-size: 4rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  left: 0;
  line-height: 1;
  margin-inline: auto;
  position: absolute;
  right: 0;
  top: -36px;
  width: fit-content;
}

@media screen and (width >= 768px) {
  .m-box-order__step {
    font-size: 4.5rem;
    top: -40px;
  }
}

.m-box-order__title {
  color: var(--COLOR_PRIMARY);
  font-size: 1.375rem;
  text-align: center;
}

.m-box-order__media,
.m-box-order__description {
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-box-order__media,
  .m-box-order__description {
    margin-block-start: 24px;
  }
}

.m-box-order__img {
  border-radius: var(--RADIUS);
  display: block;
  width: 100%;
}

.m-box-step__wrap {
  background-color: var(--COLOR_BLUE_10);
  border-radius: var(--RADIUS_MEDIUM);
  display: grid;
  grid-template-areas: "heading" "area" "media";
  padding: 24px 16px;
}

@media screen and (width >= 768px) {
  .m-box-step__wrap {
    gap: 24px clamp(1.5rem, -4.571rem + 12.65vw, 6.813rem);
    grid-template-areas: "media heading" "media area";
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    padding: 40px clamp(2.5rem, -2.071rem + 9.52vw, 6.5rem);
    place-content: center;
  }
}

.m-box-step__item::after {
  background-color: var(--COLOR_ACCENT);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  display: block;
  height: 24px;
  margin: 16px auto;
  transform: rotate(180deg);
  width: 64px;
}

@media screen and (width >= 768px) {
  .m-box-step__item::after {
    margin: 24px auto;
  }
}

.m-box-step__item:last-child::after {
  content: none;
}

.m-box-step__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  align-items: center;
  display: flex;
  gap: 16px;
  grid-area: heading;
}

.m-box-step__title {
  color: var(--COLOR_PRIMARY);
  font-size: 1.625rem;
}

@media screen and (width >= 768px) {
  .m-box-step__title {
    font-size: 2.375rem;
  }
}

.m-box-step__label {
  align-items: baseline;
  display: flex;
  font-family: var(--FONT_FAMILY_EN);
  font-weight: var(--FONT_WEIGHT_BOLD);
  gap: 4px;
}

.m-box-step__prefix {
  background: linear-gradient(72.78deg, #00b9ef 43.01%, #003c84 101.57%);
  background-clip: text;
  color: transparent;
  font-size: 1.5rem;
}

@media screen and (width >= 768px) {
  .m-box-step__prefix {
    font-size: 1.75rem;
  }
}

.m-box-step__number {
  background: linear-gradient(69.82deg, #00b9ef -53.57%, #003c84 79.26%);
  background-clip: text;
  color: transparent;
  font-size: 2.375rem;
}

@media screen and (width >= 768px) {
  .m-box-step__number {
    font-size: 3rem;
  }
}

.m-box-step__content {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: area;
}

@media screen and (width <= 767px) {
  .m-box-step__content {
    margin-block-start: 8px;
  }
}

.m-box-step__media {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: media;
}

.m-panel-category__link > .m-box-step__media {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
}

@media screen and (width <= 767px) {
  .m-box-step__media {
    margin-block-start: 24px;
  }
}

.m-box-step__img {
  display: block;
  margin-inline: auto;
}

.m-box-step__content .m-list-number {
  margin-block-start: 16px;
}

.m-button__icon {
  display: inline-block;
  height: auto;
  margin-left: 0.25em;
  margin-right: 0.25em;
  min-width: 1em;
  position: relative;
  top: 0.125em;
  width: 1em;
}

.m-button__icon:has([href="#icon-external"]) {
  fill: var(--COLOR_WHITE);
}

.m-button__icon:has([href="#icon-pdf"]) {
  height: 18px;
  min-width: 18px;
  top: 0;
}

.m-button-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 16px;
  justify-content: center;
  margin-block-start: 32px;
}

.m-button-layout .m-button {
  height: 100%;
}

.m-button-layout .m-button:has(br) {
  padding: 8px 44px 8px 24px;
}

@media screen and (width >= 768px) {
  .m-button-layout {
    gap: 64px;
    margin-block-start: 64px;
  }
}

.m-button-layout--narrow {
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .m-button-layout--narrow {
    margin-block-start: 16px;
  }
}

.m-button-layout--no-wrap {
  flex-wrap: nowrap;
}

@media screen and (width >= 768px) {
  .m-button-layout--no-wrap {
    margin-block-start: 64px;
  }
}

@media screen and (width <= 767px) {
  .m-button-layout--no-wrap .m-button {
    min-width: 170px;
  }
}

.m-button__arrow {
  display: inline-block;
  height: 32px;
  overflow: hidden;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
}

.m-button__arrow::before,
.m-button__arrow::after {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 16px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}

.m-button__arrow::before {
  left: 16px;
}

.m-button__arrow::after {
  left: -100%;
}

.m-button {
  --local-foreground: var(--COLOR_BLACK);
  --local-background: var(--COLOR_WHITE);
  --local-outline: var(--COLOR_PRIMARY);
  align-items: center;
  background: var(--local-background);
  border: 2px solid var(--local-outline);
  border-radius: 100vh;
  color: var(--local-foreground);
  display: inline-flex;
  font-size: 0.875rem;
  justify-content: center;
  line-height: var(--LINE_HEIGHT_DEFAULT);
  min-width: 280px;
  padding: 16px 44px 16px 24px;
  position: relative;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.m-button:has(.m-button__icon) {
  padding: 16px 44px;
}

.m-button:has(.m-button__icon)::after {
  content: none;
}

@media (any-hover: hover) {
  .m-button:hover {
    --local-foreground: var(--COLOR_WHITE);
    --local-background: var(--COLOR_PRIMARY);
  }

  .m-button:hover .m-button__arrow::before,
  .m-button:hover .m-button__arrow::after {
    background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
  }

  .m-button:hover .m-button__arrow::before {
    animation-name: rightToLeft;
  }

  .m-button:hover .m-button__arrow::after {
    animation-name: leftToRight;
  }
}

.m-button:focus-visible {
  --local-foreground: var(--COLOR_WHITE);
  --local-background: var(--COLOR_PRIMARY);
}

.m-button:focus-visible .m-button__arrow::before,
.m-button:focus-visible .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

.m-button:focus-visible .m-button__arrow::before {
  animation-name: rightToLeft;
}

.m-button:focus-visible .m-button__arrow::after {
  animation-name: leftToRight;
}

.m-button:active {
  --local-foreground: var(--COLOR_WHITE);
  --local-background: var(--COLOR_PRIMARY);
}

.m-button:active .m-button__arrow::before,
.m-button:active .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

.m-button:active .m-button__arrow::before {
  animation-name: rightToLeft;
}

.m-button:active .m-button__arrow::after {
  animation-name: leftToRight;
}

.m-button--emphasis {
  --local-foreground: var(--COLOR_WHITE);
  --local-background: var(--COLOR_PRIMARY);
}

.m-button--emphasis .m-button__arrow::before,
.m-button--emphasis .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

@media (any-hover: hover) {
  .m-button--emphasis:hover {
    --local-foreground: var(--COLOR_BLACK);
    --local-background: var(--COLOR_WHITE);
  }

  .m-button--emphasis:hover .m-button__arrow::before,
  .m-button--emphasis:hover .m-button__arrow::after {
    background: url("../img/icon-arrow-right-button.svg") no-repeat;
  }
}

.m-button--emphasis:focus-visible {
  --local-foreground: var(--COLOR_BLACK);
  --local-background: var(--COLOR_WHITE);
}

.m-button--emphasis:focus-visible .m-button__arrow::before,
.m-button--emphasis:focus-visible .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
}

.m-button--emphasis:active {
  --local-foreground: var(--COLOR_BLACK);
  --local-background: var(--COLOR_WHITE);
}

.m-button--emphasis:active .m-button__arrow::before,
.m-button--emphasis:active .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
}

.m-button--conversion {
  --local-foreground: var(--COLOR_WHITE);
  --local-background: var(--COLOR_BACKGROUND_GRADATION);
}

.m-button--conversion::before {
  background: var(--COLOR_WHITE);
  border-radius: 100vh;
  content: "";
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.m-button--conversion .m-button__arrow::before,
.m-button--conversion .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

@media (any-hover: hover) {
  .m-button--conversion:hover {
    --local-foreground: var(--COLOR_BLACK);
    --local-background: var(--COLOR_WHITE);
  }

  .m-button--conversion:hover::before {
    opacity: 1;
  }

  .m-button--conversion:hover .m-button__arrow::before,
  .m-button--conversion:hover .m-button__arrow::after {
    background: url("../img/icon-arrow-right-button.svg") no-repeat;
  }
}

.m-button--conversion:focus-visible {
  --local-foreground: var(--COLOR_BLACK);
  --local-background: var(--COLOR_WHITE);
}

.m-button--conversion:focus-visible::before {
  opacity: 1;
}

.m-button--conversion:focus-visible .m-button__arrow::before,
.m-button--conversion:focus-visible .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
}

.m-button--conversion:active {
  --local-foreground: var(--COLOR_BLACK);
  --local-background: var(--COLOR_WHITE);
}

.m-button--conversion:active::before {
  opacity: 1;
}

.m-button--conversion:active .m-button__arrow::before,
.m-button--conversion:active .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
}

.m-button--back {
  padding: 16px 24px 16px 44px;
}

.m-button--back .m-button__arrow {
  left: 20px;
}

.m-button--back .m-button__arrow::before,
.m-button--back .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button.svg") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 16px;
  left: unset;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  width: 16px;
}

.m-button--back .m-button__arrow::before {
  right: 16px;
}

.m-button--back .m-button__arrow::after {
  right: -100%;
}

@media (any-hover: hover) {
  .m-button--back:hover .m-button__arrow::before,
  .m-button--back:hover .m-button__arrow::after {
    background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
  }

  .m-button--back:hover .m-button__arrow::before {
    animation-name: backRightToLeft;
  }

  .m-button--back:hover .m-button__arrow::after {
    animation-name: backLeftToRight;
  }
}

.m-button--back:focus-visible .m-button__arrow::before,
.m-button--back:focus-visible .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

.m-button--back:focus-visible .m-button__arrow::before {
  animation-name: backRightToLeft;
}

.m-button--back:focus-visible .m-button__arrow::after {
  animation-name: backLeftToRight;
}

.m-button--back:active .m-button__arrow::before,
.m-button--back:active .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

.m-button--back:active .m-button__arrow::before {
  animation-name: backRightToLeft;
}

.m-button--back:active .m-button__arrow::after {
  animation-name: backLeftToRight;
}

.m-button--more .m-button__arrow::before,
.m-button--more .m-button__arrow::after {
  background: url("../img/icon-arrow-down-button.svg") no-repeat;
}

.m-button--more .m-button__arrow::after {
  left: unset;
  top: -100%;
}

@media (any-hover: hover) {
  .m-button--more:hover .m-button__arrow::before,
  .m-button--more:hover .m-button__arrow::after {
    background-color: var(--COLOR_WHITE);
    mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1L8 13' stroke='url(%23paint0_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 10L7.56605 14.6434C7.75968 14.8404 8.07629 14.843 8.27318 14.6493L13 10' stroke='url(%23paint1_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_3900_9980' x1='8.5' y1='1' x2='8.5' y2='13' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='1' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_3900_9980' x1='3' y1='12.5' x2='13' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='0.384615' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
    mask-size: cover;
  }

  .m-button--more:hover .m-button__arrow::before {
    animation-name: downTopToBottom;
  }

  .m-button--more:hover .m-button__arrow::after {
    animation-name: downBottomToTop;
  }
}

.m-button--more:focus-visible .m-button__arrow::before,
.m-button--more:focus-visible .m-button__arrow::after {
  background-color: var(--COLOR_WHITE);
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1L8 13' stroke='url(%23paint0_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 10L7.56605 14.6434C7.75968 14.8404 8.07629 14.843 8.27318 14.6493L13 10' stroke='url(%23paint1_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_3900_9980' x1='8.5' y1='1' x2='8.5' y2='13' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='1' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_3900_9980' x1='3' y1='12.5' x2='13' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='0.384615' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  mask-size: cover;
}

.m-button--more:focus-visible .m-button__arrow::before {
  animation-name: downTopToBottom;
}

.m-button--more:focus-visible .m-button__arrow::after {
  animation-name: downBottomToTop;
}

.m-button--more:active .m-button__arrow::before,
.m-button--more:active .m-button__arrow::after {
  background-color: var(--COLOR_WHITE);
  mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 1L8 13' stroke='url(%23paint0_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M3 10L7.56605 14.6434C7.75968 14.8404 8.07629 14.843 8.27318 14.6493L13 10' stroke='url(%23paint1_linear_3900_9980)' stroke-width='2' stroke-linecap='round'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_3900_9980' x1='8.5' y1='1' x2='8.5' y2='13' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='1' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_3900_9980' x1='3' y1='12.5' x2='13' y2='12.5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300B9EF'/%3E%3Cstop offset='0.384615' stop-color='%23003C84'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  mask-size: cover;
}

.m-button--more:active .m-button__arrow::before {
  animation-name: downTopToBottom;
}

.m-button--more:active .m-button__arrow::after {
  animation-name: downBottomToTop;
}

.m-button--no-icon {
  padding: 16px 24px;
}

.m-button--no-icon .m-button__arrow,
.m-button--no-icon .m-button__icon {
  display: none;
}

.m-button--compact {
  min-width: 140px;
}

/* 非活性 */
a.m-button:not(:any-link),
button.m-button:disabled {
  --local-foreground: #8e8e94;
  --local-background: #c0c0c6;
  --local-outline: #c0c0c6;
  cursor: default;
  pointer-events: none;
}

a.m-button:not(:any-link) .m-button__arrow::before,
a.m-button:not(:any-link) .m-button__arrow::after,
button.m-button:disabled .m-button__arrow::before,
button.m-button:disabled .m-button__arrow::after {
  background: url("../img/icon-arrow-right-button-white.svg") no-repeat;
}

@keyframes rightToLeft {
  0% {
    left: 16px;
  }

  100% {
    left: 100%;
  }
}

@keyframes leftToRight {
  0% {
    left: -100%;
  }

  100% {
    left: 16px;
  }
}

@keyframes backRightToLeft {
  0% {
    right: 16px;
  }

  100% {
    right: 100%;
  }
}

@keyframes backLeftToRight {
  0% {
    right: -100%;
  }

  100% {
    right: 16px;
  }
}

@keyframes downTopToBottom {
  0% {
    top: 50%;
  }

  100% {
    top: 150%;
  }
}

@keyframes downBottomToTop {
  0% {
    top: -100%;
  }

  100% {
    top: 50%;
  }
}

.m-button-text {
  color: var(--COLOR_PRIMARY);
  font-size: 0.8125rem;
}

@media (any-hover: hover) {
  .m-button-text:hover {
    text-decoration: underline;
  }
}

.m-button-text:focus-visible {
  text-decoration: underline;
}

.m-button-text:active {
  text-decoration: underline;
}

@media screen and (width >= 768px) {
  .m-button-text {
    font-size: 0.875rem;
  }
}

.m-button-text--reset::before {
  background-color: var(--COLOR_PRIMARY);
  content: "";
  display: inline-block;
  height: 1em;
  margin-inline-end: 4px;
  mask-image: url("../img/icon-close.svg");
  mask-repeat: no-repeat;
  mask-size: cover;
  position: relative;
  top: 0.15em;
  width: 1em;
}

.m-form-checkbox {
  --local-foreground: var(--COLOR_PRIMARY);
  --local-background: var(--COLOR_WHITE);
  --local-outline: var(--COLOR_BORDER);
  position: relative;
}

@media (any-hover: hover) {
  .m-form-checkbox:hover .m-form-checkbox__text {
    color: var(--COLOR_PRIMARY);
    font-weight: var(--FONT_WEIGHT_BOLD);
  }

  .m-form-checkbox:hover .m-form-checkbox__text::before {
    border-color: var(--COLOR_PRIMARY);
    border-width: 2px;
  }
}

.m-form-checkbox:focus-visible .m-form-checkbox__text {
  color: var(--COLOR_PRIMARY);
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.m-form-checkbox:focus-visible .m-form-checkbox__text::before {
  border-color: var(--COLOR_PRIMARY);
  border-width: 2px;
}

.m-form-checkbox:active .m-form-checkbox__text {
  color: var(--COLOR_PRIMARY);
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.m-form-checkbox:active .m-form-checkbox__text::before {
  border-color: var(--COLOR_PRIMARY);
  border-width: 2px;
}

.m-form-checkbox__item {
  appearance: none;
  height: 1px;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.m-form-checkbox__text {
  display: inline-block;
  padding-left: 24px;
  position: relative;
}

.m-form-checkbox__text::before,
.m-form-checkbox__text::after {
  content: "";
  display: block;
  position: absolute;
}

.m-form-checkbox__text::before {
  background-color: var(--local-background);
  border: 1px solid var(--local-outline);
  border-radius: 2px;
  height: 16px;
  left: 0;
  top: 0.35em;
  width: 16px;
}

.m-form-checkbox__text::after {
  background-color: var(--COLOR_WHITE);
  height: 18px;
  left: -0.15em;
  mask-image: url("../img/icon-checkbox.svg");
  mask-repeat: no-repeat;
  mask-size: cover;
  opacity: 0;
  top: 0.3em;
  transform: scale(0.4);
  width: 20px;
}

@media screen and (width >= 768px) {
  .m-form-checkbox__text::before {
    top: 0.45em;
  }

  .m-form-checkbox__text::after {
    left: -0.1em;
    top: 0.4em;
  }
}

.m-form-checkbox__item:disabled + .m-form-checkbox__text {
  color: var(--COLOR_DISABLE);
}

.m-form-checkbox__item:checked + .m-form-checkbox__text::before {
  --local-background: var(--COLOR_PRIMARY);
}

.m-form-checkbox__item:checked + .m-form-checkbox__text::after {
  opacity: 1;
}

.m-form-checkbox__item:focus-visible + .m-form-checkbox__text::before {
  border: 0;
  outline: medium solid currentColor;
}

.m-form-checkboxList {
  display: grid;
  gap: 12px;
}

.m-form-label {
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.m-form-label + [class^=m-] {
  margin-block-start: 4px;
}

.m-form-search {
  display: block;
  position: relative;
}

.m-form-search__input {
  background-color: var(--COLOR_WHITE);
  border-radius: 100vh;
  color: var(--COLOR_BLACK);
  display: block;
  line-height: var(--LINE_HEIGHT_DEFAULT);
  padding: 12px 70px 12px 16px;
  width: 100%;
}

.m-form-search__input::placeholder {
  font-size: 1rem;
}

@media screen and (width >= 768px) {
  .m-form-search__input {
    padding: 16px 70px 16px 24px;
  }
}

.m-form-search__button {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (width >= 768px) {
  .m-form-search__button {
    right: 12px;
  }
}

.m-form-search__img {
  display: block;
}

.m-form-select {
  border: 1px solid var(--COLOR_BORDER);
  border-radius: var(--RADIUS_TINY);
  color: var(--COLOR_BLACK);
  display: inline-flex;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.m-form-select::before {
  background: url("../img/icon-arrow-right-link.svg") no-repeat;
  background-size: cover;
  content: "";
  height: 15px;
  pointer-events: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 15px;
}

.m-form-select__item {
  font-size: 0.875rem;
  padding: 16px 56px 16px 16px;
  width: 100%;
}

@media screen and (width >= 768px) {
  .m-form-select__item {
    font-size: 1rem;
  }
}

h2.wp-block-heading,
.m-heading-level2 {
  --heading-margin-block-start: 72px;
  --heading-margin-block-start-pc: 128px;
  display: flex;
  justify-content: center;
  margin-block-start: var(--heading-margin-block-start);
  text-align: center;
}

h2.wp-block-heading:has(.m-heading-level2__sub),
.m-heading-level2:has(.m-heading-level2__sub) {
  flex-direction: column-reverse;
  gap: 4px;
}

.m-heading-level2 + [class^=m-] {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  h2.wp-block-heading,
  .m-heading-level2 {
    margin-block-start: var(--heading-margin-block-start-pc);
  }

  h2.wp-block-heading + [class^=m-],
  .m-heading-level2 + [class^=m-] {
    margin-block-start: 48px;
  }
}

.m-heading-level2__main {
  font-size: 1.375rem;
  padding-block-end: 10px;
  position: relative;
}

.m-heading-level2__main::before,
.m-heading-level2__main::after {
  bottom: 0;
  content: "";
  height: 5px;
  left: 50%;
  position: absolute;
  width: 24px;
}

@media screen and (width >= 768px) {
  .m-heading-level2__main::before,
  .m-heading-level2__main::after {
    height: 6px;
    width: 32px;
  }
}

.m-heading-level2__main::before {
  background-color: var(--COLOR_ACCENT);
  transform: translateX(calc(-50% - 13px));
}

@media screen and (width >= 768px) {
  .m-heading-level2__main::before {
    transform: translateX(calc(-50% - 17px));
  }
}

.m-heading-level2__main::after {
  background-color: var(--COLOR_PRIMARY);
  transform: translateX(calc(-50% + 13px));
}

@media screen and (width >= 768px) {
  .m-heading-level2__main::after {
    transform: translateX(calc(-50% + 17px));
  }
}

@media screen and (width >= 768px) {
  .m-heading-level2__main {
    font-size: 2.25rem;
    padding-block-end: 16px;
  }
}

.m-heading-level2__sub {
  font-size: 0.875rem;
  font-weight: var(--FONT_WEIGHT_MEDIUM);
}

@media screen and (width >= 768px) {
  .m-heading-level2__sub {
    font-size: 1.125rem;
  }
}

.m-heading-level2--narrow {
  --heading-margin-block-start: 32px;
  --heading-margin-block-start-pc: 64px;
}

.m-heading-level3 {
  --heading-margin-block-start: 56px;
  --heading-margin-block-start-pc: 124px;
  margin-block-start: var(--heading-margin-block-start);
}

.m-heading-level3 + [class^=m-] {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-heading-level3 {
    margin-block-start: var(--heading-margin-block-start-pc);
  }

  .m-heading-level3 + [class^=m-] {
    margin-block-start: 48px;
  }
}

.m-heading-level3__main {
  display: block;
  font-size: 1.25rem;
  padding-block-end: 10px;
  position: relative;
}

.m-heading-level3__main::after {
  background: linear-gradient(68.83deg, var(--COLOR_ACCENT) -6.28%, var(--COLOR_PRIMARY) 61.86%);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

@media screen and (width >= 768px) {
  .m-heading-level3__main {
    font-size: 2rem;
  }
}

.m-heading-level3--narrow {
  --heading-margin-block-start: 32px;
  --heading-margin-block-start-pc: 64px;
}

.m-heading-level4 {
  margin-block-start: 24px;
}

.m-heading-level4 + [class^=m-] {
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .m-heading-level4 {
    margin-block-start: 48px;
  }
}

.m-heading-level4__main {
  color: var(--COLOR_PRIMARY);
  display: block;
  font-size: 1.125rem;
}

@media screen and (width >= 768px) {
  .m-heading-level4__main {
    font-size: 1.75rem;
  }
}

.m-heading-level5 {
  margin-block-start: 24px;
}

.m-heading-level5 + [class^=m-] {
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .m-heading-level5 {
    margin-block-start: 32px;
  }
}

.m-heading-level5__main {
  color: var(--COLOR_PRIMARY);
  display: block;
  font-size: 1rem;
}

@media screen and (width >= 768px) {
  .m-heading-level5__main {
    font-size: 1.5rem;
  }
}

.m-horizon {
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: 1px solid var(--COLOR_BORDER);
  margin-block-start: 32px;
}

.m-horizon + [class^=m-] {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-horizon {
    margin-block-start: 48px;
  }

  .m-horizon + [class^=m-] {
    margin-block-start: 48px;
  }
}

.m-heading-level4__sub {
  font-size: 0.875rem;
  font-weight: var(--FONT_WEIGHT_MEDIUM);
}

@media screen and (width >= 768px) {
  .m-heading-level4__sub {
    font-size: 1.125rem;
  }
}

.m-layout-lineup {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(268px, 1fr));
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-layout-lineup {
    margin-block-start: 48px;
  }
}

.m-layout {
  display: grid;
  gap: 32px;
  margin-block-start: 32px;
}

@media screen and (width <= 767px) {
  .m-layout[data-column-sp="2"] {
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .m-layout[data-column-sp="3"] {
    gap: 32px 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .m-layout[data-column-sp="4"] {
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .m-layout[data-column-sp=auto] {
    display: flex;
    flex-wrap: wrap;
  }

  .m-layout[data-column-sp=auto] > * {
    flex: 0 0 auto;
    max-width: 100%;
  }
}

@media screen and (width >= 768px) {
  .m-layout {
    margin-block-start: 48px;
  }

  .m-layout[data-column-pc="2"] {
    gap: 48px 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .m-layout[data-column-pc="3"] {
    gap: 48px 32px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .m-layout[data-column-pc="4"] {
    gap: 48px 32px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .m-layout[data-column-pc=auto] {
    display: flex;
    flex-wrap: wrap;
  }

  .m-layout[data-column-pc=auto] > * {
    flex: 0 0 auto;
    max-width: 100%;
  }
}

.m-link-anchor {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-block-start: 72px;
}

@media screen and (width <= 767px) {
  .m-link-anchor {
    gap: 24px;
  }
}

@media screen and (width >= 768px) {
  .m-link-anchor {
    grid-template-columns: repeat(auto-fit, minmax(204px, 1fr));
    margin-block-start: 120px;
    row-gap: 32px;
  }
}

.m-link-anchor + .m-heading-level2 {
  margin-block-start: 48px;
}

@media screen and (width >= 768px) {
  .m-link-anchor + .m-heading-level2 {
    margin-block-start: 80px;
  }
}

@media screen and (width >= 768px) {
  .m-link-anchor__item:last-child .m-link-anchor__link::after {
    content: none;
  }
}

.m-link-anchor__link {
  display: grid;
  font-weight: var(--FONT_WEIGHT_BOLD);
  height: 100%;
  padding-inline: 8px;
  place-items: center;
  text-align: center;
  transition: color 0.3s ease;
}

@media (any-hover: hover) {
  .m-link-anchor__link:hover {
    color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  }

  .m-link-anchor__link:hover .m-link-anchor__text::after {
    background: url("../img/icon-anchorlink-white.svg") no-repeat;
  }
}

.m-link-anchor__link:focus-visible {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.m-link-anchor__link:focus-visible .m-link-anchor__text::after {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
}

.m-link-anchor__link:active {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.m-link-anchor__link:active .m-link-anchor__text::after {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
}

@media screen and (width >= 768px) {
  .m-link-anchor__link {
    font-size: 1.125rem;
    padding-inline: 16px;
    position: relative;
  }

  .m-link-anchor__link::after {
    background-color: var(--COLOR_BORDER);
    content: "";
    display: inline-block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
  }
}

.m-link-anchor__text {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.m-link-anchor__text::after {
  background: url("../img/icon-anchorlink.svg") no-repeat;
  content: "";
  display: inline-block;
  height: 24px;
  width: 24px;
}

.m-link-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-link-list {
    gap: 16px;
    margin-block-start: 48px;
  }
}

.m-link-list--auto {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
}

.m-link-list__link {
  transition: color 0.3s;
}

@media (any-hover: hover) {
  .m-link-list__link:hover {
    color: var(--COLOR_PRIMARY);
    text-decoration: underline;
  }
}

.m-link-list__link:focus-visible {
  color: var(--COLOR_PRIMARY);
  text-decoration: underline;
}

.m-link-list__link:active {
  color: var(--COLOR_PRIMARY);
  text-decoration: underline;
}

.m-link-list--panel {
  display: grid;
  gap: 0 40px;
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .m-link-list--panel {
    grid-template-columns: repeat(2, 1fr);
    margin-block-start: 48px;
  }
}

.m-link-list--panel .m-link-list__item {
  border-top: 1px solid var(--COLOR_BORDER);
}

.m-link-list--panel .m-link-list__item:last-child {
  border-bottom: 1px solid var(--COLOR_BORDER);
}

@media screen and (width >= 768px) {
  .m-link-list--panel .m-link-list__item {
    border-bottom: 1px solid var(--COLOR_BORDER);
  }
}

.m-link-list--panel .m-link-list__link {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
  padding: 32px 16px;
}

@media (any-hover: hover) {
  .m-link-list--panel .m-link-list__link:hover {
    color: rgb(from var(--COLOR_BLACK) r g b/0.5);
    text-decoration: none;
  }
}

.m-link-list--panel .m-link-list__link:focus-visible {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  text-decoration: none;
}

.m-link-list--panel .m-link-list__link:active {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  text-decoration: none;
}

.m-link {
  text-decoration: underline;
}

@media (any-hover: hover) {
  .m-link:hover {
    text-decoration: none;
  }
}

.m-link:focus-visible {
  text-decoration: none;
}

.m-link:active {
  text-decoration: none;
}

.m-link__icon {
  display: inline-block;
  height: auto;
  margin-left: 0.25em;
  margin-right: 0.25em;
  min-width: 1em;
  position: relative;
  top: 0.125em;
  width: 1em;
}

.m-link__icon:has([href="#icon-external"]) {
  fill: var(--COLOR_WHITE);
}

.m-link__icon:has([href="#icon-pdf"]) {
  height: 18px;
  min-width: 18px;
  width: 18px;
}

.m-list-checkMark {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.m-list-checkMark__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.m-list-checkMark__title {
  align-items: flex-start;
  display: flex;
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  gap: 4px;
}

.m-list-checkMark__title::before {
  background: url("../img/icon-check.svg") no-repeat;
  content: "";
  display: inline-block;
  height: 18px;
  min-width: 18px;
  position: relative;
  top: 0.3em;
}

@media screen and (width >= 768px) {
  .m-list-checkMark__title {
    font-size: 1.125rem;
  }

  .m-list-checkMark__title::before {
    top: 0.35em;
  }
}

.m-list-checkMark__content > .m-link-list {
  margin-block-start: 16px;
}

.m-list-description {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-list-description {
    gap: 16px;
  }
}

.m-list-description__title {
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.m-list-info {
  margin-block-start: 40px;
}

@media screen and (width >= 768px) {
  .m-list-info {
    margin-block-start: 48px;
  }
}

.m-list-info__link {
  border-bottom: 1px solid var(--COLOR_BORDER);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 40px 24px 8px;
  position: relative;
}

.m-list-info__link::after {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
}

.m-list-info__link .m-link__icon {
  display: inline-block;
  height: 1em;
  min-width: 1em;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
}

@media screen and (width >= 768px) {
  .m-list-info__link {
    padding: 24px 64px 24px 16px;
  }

  .m-list-info__link::after {
    right: 18px;
  }
}

@media (any-hover: hover) {
  .m-list-info__link:hover .m-list-info__text {
    text-decoration: underline;
  }
}

.m-list-info__link:focus-visible .m-list-info__text {
  text-decoration: underline;
}

.m-list-info__link:active .m-list-info__text {
  text-decoration: underline;
}

.m-list-info__item:first-child .m-list-info__link {
  border-top: 1px solid var(--COLOR_BORDER);
}

.m-list-info__head {
  display: flex;
  gap: 24px;
}

.m-list-info__tags {
  column-gap: 16px;
  display: flex;
  row-gap: 8px;
}

.m-list-info__date {
  color: var(--COLOR_PLACEHOLDER);
  font-family: var(--FONT_FAMILY_EN);
}

@media screen and (width >= 768px) {
  .m-list-info--horizontal {
    display: grid;
    grid-template-columns: max-content 1fr;
  }

  .m-list-info--horizontal .m-list-info__item {
    display: contents;
  }

  .m-list-info--horizontal .m-list-info__link {
    display: grid;
    gap: 24px;
    grid-column: span 2;
    grid-template-columns: subgrid;
  }

  .m-list-info--horizontal .m-list-info__tags {
    align-items: center;
    flex-direction: column;
  }
}

.u-solution-media__head {
  position: relative;
}

.u-solution-media__img {
  display: block;
  margin-block-start: 32px;
  margin-inline: auto;
  width: fit-content;
}

@media screen and (width >= 768px) {
  .u-solution-media__img {
    margin-block-start: 48px;
    width: clamp(23.438rem, 0.223rem + 48.36vw, 43.75rem);
  }
}

@media screen and (width <= 767px) {
  .u-solution-media__anchor {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-block-start: 16px;
  }
}

.u-solution-media__anchorLink {
  align-items: center;
  background-color: var(--COLOR_WHITE);
  border: 2px solid var(--COLOR_BORDER);
  border-radius: 8px;
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  gap: 4px;
  padding: 8px;
}

.u-solution-media__anchorLink::before {
  background: url("../img/icon-anchorlink.svg") no-repeat;
  content: "";
  display: inline-block;
  height: 24px;
  transition: background 0.3s;
  width: 24px;
}

@media (any-hover: hover) {
  .u-solution-media__anchorLink:hover {
    color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  }

  .u-solution-media__anchorLink:hover::before {
    background: url("../img/icon-anchorlink-white.svg") no-repeat;
  }
}

.u-solution-media__anchorLink:focus-visible {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.u-solution-media__anchorLink:focus-visible::before {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
}

.u-solution-media__anchorLink:active {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.u-solution-media__anchorLink:active::before {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
}

@media screen and (width >= 768px) {
  .u-solution-media__anchorLink {
    --top: auto;
    --right: auto;
    --bottom: auto;
    --left: auto;
    bottom: var(--bottom);
    font-size: clamp(0.75rem, 0.321rem + 0.89vw, 1.125rem);
    left: var(--left);
    position: absolute;
    right: var(--right);
    top: var(--top);
  }
}

.u-solution-media__definition {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-block-start: 16px;
}

.u-solution-media__definitionItem {
  display: flex;
}

.u-solution-media__definitionItem::before {
  content: "•";
  display: inline-block;
  margin-inline-end: 0.3em;
}

.u-solution-media__definitionTerm--red {
  color: var(--COLOR_DANGER);
}

.u-solution-media__definitionTerm--blue {
  color: #3e6bb3;
}

.u-solution-media__definitionDesc::before {
  content: "：";
}

.u-solution-media__body {
  margin-block-start: 24px;
  position: relative;
}

.u-solution-media__balloon {
  border: 2px solid var(--COLOR_BORDER);
  border-radius: 8px;
  padding: 8px;
  position: relative;
  z-index: -3;
}

.u-solution-media__balloon::before, .u-solution-media__balloon::after {
  clip-path: polygon(76% 0, 18% 100%, 70% 100%);
  content: "";
  height: 176px;
  position: absolute;
  right: 10%;
  top: -177px;
  width: 96px;
}

@media screen and (width >= 768px) {
  .u-solution-media__balloon::before, .u-solution-media__balloon::after {
    clip-path: polygon(0 0, 0 100%, 70% 100%);
    right: 19%;
  }
}

.u-solution-media__balloon::before {
  background-color: var(--COLOR_WHITE);
  margin-block-start: 18px;
  margin-inline: 3px;
  z-index: -1;
}

@media screen and (width >= 768px) {
  .u-solution-media__balloon::before {
    margin-inline: -3px;
  }
}

.u-solution-media__balloon::after {
  background-color: var(--COLOR_BORDER);
  border: 2px solid var(--COLOR_BORDER);
  z-index: -2;
}

@media screen and (width >= 768px) {
  .u-solution-media__balloon {
    padding: 24px;
  }
}

.u-solution-media__balloonImg {
  display: block;
  margin-inline: auto;
  width: fit-content;
}

@media screen and (width >= 768px) {
  .u-solution-media__balloonImg {
    width: clamp(23.438rem, 0.223rem + 48.36vw, 43.75rem);
  }
}

@media screen and (width >= 768px) {
  .u-solution-media.u-solution-media--infrastructure .u-solution-media__img {
    width: clamp(23.438rem, -13.063rem + 76.04vw, 55.375rem);
  }
}

@media screen and (width >= 768px) {
  .u-solution-media.u-solution-media--distributor .u-solution-media__img {
    width: 100%;
  }
}

.u-solution-media.u-solution-media--distributor .u-solution-media__anchor {
  margin-block-start: -64px;
}

.m-widget-tabPanel--no-gap .m-widget-tabPanel__container {
  margin-block-start: 0;
}

.m-widget-tabPanel__container .m-list-info__item:first-child .m-list-info__link {
  border-top: none;
}

.m-list {
  display: grid;
  gap: 4px;
  margin-block-start: 32px;
}

.m-list > * {
  height: 100%;
}

.m-list__item {
  padding-left: 1em;
  position: relative;
  /* bullet */;
}

.m-list__item::before {
  background-color: var(--COLOR_BLACK);
  border-radius: 50%;
  content: "";
  display: block;
  height: 6px;
  left: 0;
  position: absolute;
  top: 0.7em;
  width: 6px;
}

.m-list-number {
  display: flex;
  flex-direction: column;
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-list-number {
    margin-block-start: 48px;
  }
}

.m-list-number__item {
  display: grid;
  grid-template-columns: minmax(22px, auto) 1fr;
}

.m-media-external {
  display: flex;
  flex-direction: column-reverse;
  gap: 4px;
  margin-inline: auto;
  max-width: 900px;
  text-align: center;
  vertical-align: top;
}

.m-media-external__link,
.m-media-external__caption,
.m-media-external__media {
  flex: 0 0 auto;
}

.m-media-external__caption {
  margin: 0 auto;
  max-width: fit-content;
  text-align: center;
}

.m-media-external__media {
  aspect-ratio: 16/9;
  position: relative;
}

.m-media-external__item {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.m-media-layout {
  display: flex;
  flex-direction: column-reverse;
  gap: 16px;
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-media-layout {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(2, 1fr);
    margin-block-start: 48px;
    place-items: center;
  }
}

@media screen and (width >= 768px) {
  .m-media-layout--reverse {
    direction: rtl;
  }
}

@media screen and (width <= 767px) {
  .m-media-layout--reverse-sp {
    flex-direction: column;
  }
}

.m-media-layout--auto {
  grid-template-columns: 1fr auto;
}

.m-media-layout__content,
.m-media-layout__media {
  direction: ltr;
  flex: 0 0 auto;
}

.m-media {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-media {
    margin-block-start: 48px;
  }
}

.m-media__wrap {
  align-items: center;
  display: flex;
  flex-direction: column-reverse;
  vertical-align: top;
}

.m-media__item {
  border-radius: var(--RADIUS);
  display: block;
}

@media screen and (width <= 767px) {
  .m-media__item {
    width: 100%;
  }
}

.m-media__caption {
  caption-side: bottom;
  display: table-caption;
  margin-block-start: 8px;
}

.m-note {
  column-gap: 4px;
  display: grid;
  grid-template-columns: auto 1fr;
  margin-block-start: 4px;
}

.m-note + [class^=m-] {
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .m-note + [class^=m-] {
    margin-block-start: 16px;
  }
}

.m-note__item {
  display: contents;
}

.m-panel-anchor {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (width >= 768px) {
  .m-panel-anchor {
    grid-template-columns: repeat(3, 1fr);
  }
}

.m-panel-anchor__item {
  display: contents;
}

.m-panel-anchor__link {
  display: grid;
  gap: 0;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

@media (any-hover: hover) {
  .m-panel-anchor__link:hover .m-panel-anchor__img {
    transform: scale(1.1);
  }

  .m-panel-anchor__link:hover .m-panel-anchor__text {
    color: rgb(from var(--COLOR_BLACK) r g b/0.5);
  }

  .m-panel-anchor__link:hover .m-panel-anchor__text::before {
    background: url("../img/icon-anchorlink-white.svg") no-repeat;
    background-size: contain;
  }
}

.m-panel-anchor__link:focus-visible .m-panel-anchor__img {
  transform: scale(1.1);
}

.m-panel-anchor__link:focus-visible .m-panel-anchor__text {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.m-panel-anchor__link:focus-visible .m-panel-anchor__text::before {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
  background-size: contain;
}

.m-panel-anchor__link:active .m-panel-anchor__img {
  transform: scale(1.1);
}

.m-panel-anchor__link:active .m-panel-anchor__text {
  color: rgb(from var(--COLOR_BLACK) r g b/0.5);
}

.m-panel-anchor__link:active .m-panel-anchor__text::before {
  background: url("../img/icon-anchorlink-white.svg") no-repeat;
  background-size: contain;
}

.m-panel-anchor__label {
  border: 1px solid var(--COLOR_BORDER);
  border-radius: 0 0 var(--RADIUS) var(--RADIUS);
  display: grid;
  order: 2;
  padding: 4px 16px;
  place-items: center;
  text-align: center;
}

@media screen and (width >= 768px) {
  .m-panel-anchor__label {
    padding: 8px 32px;
  }
}

.m-panel-anchor__text {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

.m-panel-anchor__text::before {
  background-image: url("/common/images/icon-anchorlink.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 16px;
  margin-inline-end: 4px;
  position: relative;
  top: 0.15em;
  transition: background-image 0.3s;
  width: 16px;
}

@media screen and (width >= 768px) {
  .m-panel-anchor__text {
    font-size: 1.125rem;
  }

  .m-panel-anchor__text::before {
    height: 24px;
    top: 0.3em;
    width: 24px;
  }
}

.m-panel-anchor__media {
  aspect-ratio: 16/9;
  border-radius: var(--RADIUS) var(--RADIUS) 0 0;
  order: 1;
  overflow: hidden;
  position: relative;
}

.m-panel-anchor__img {
  display: block;
  inset: 0;
  margin: auto;
  position: absolute;
  transition: transform 0.3s;
  width: 100%;
}

.m-panel-category {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fill, minmax(256px, 1fr));
}

.m-panel-category > * {
  max-width: 400px;
}

@media screen and (width >= 768px) {
  .m-panel-category {
    gap: 48px 32px;
  }
}

.m-panel-category__link {
  display: grid;
  grid-template-areas: "media" "label" "title" "tags";
}

@media (any-hover: hover) {
  .m-panel-category__link:hover .m-panel-category__media::before {
    opacity: 1;
  }

  .m-panel-category__link:hover .m-panel-category__media::after {
    background-image: url("../img/icon-imglink.svg");
  }

  .m-panel-category__link:hover .m-panel-category__title {
    text-decoration: underline;
  }
}

.m-panel-category__link:focus-visible .m-panel-category__media::before {
  opacity: 1;
}

.m-panel-category__link:focus-visible .m-panel-category__media::after {
  background-image: url("../img/icon-imglink.svg");
}

.m-panel-category__link:focus-visible .m-panel-category__title {
  text-decoration: underline;
}

.m-panel-category__link:active .m-panel-category__media::before {
  opacity: 1;
}

.m-panel-category__link:active .m-panel-category__media::after {
  background-image: url("../img/icon-imglink.svg");
}

.m-panel-category__link:active .m-panel-category__title {
  text-decoration: underline;
}

.m-panel-category__media {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  border-radius: var(--RADIUS);
  grid-area: media;
  overflow: hidden;
  position: relative;
}

.m-panel-category__link > .m-panel-category__media {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
}

.m-panel-category__media::before {
  background-color: rgb(from #fff r g b/0.3);
  content: "";
  display: block;
  height: 100%;
  inset: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s;
  width: 100%;
}

.m-panel-category__media::after {
  background-image: url("../img/icon-imglink-white.svg");
  background-repeat: no-repeat;
  bottom: 12px;
  content: "";
  display: block;
  height: 32px;
  position: absolute;
  right: 12px;
  transition: background-image 0.3s;
  width: 32px;
}

.m-panel-category__media:empty {
  aspect-ratio: 16/9;
  background-color: var(--COLOR_BLUE_10);
  border-radius: var(--RADIUS);
  width: 100%;
}

.m-panel-category__img {
  aspect-ratio: 16/9;
  display: block;
  object-fit: cover;
  width: 100%;
}

.m-panel-category__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  color: var(--COLOR_PRIMARY);
  font-size: 0.875rem;
  grid-area: title;
  margin-block-start: 4px;
}

.l-service-detail__inner > .m-panel-category__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.l-service-detail__inner:has(.l-service-detail__box) > .m-panel-category__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

@media screen and (width >= 768px) {
  .m-panel-category__title {
    font-size: 1rem;
  }
}

.m-panel-category__label {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  color: var(--COLOR_PLACEHOLDER);
  grid-area: label;
  margin-block-start: 8px;
}

.m-panel-category__tags {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
  font-size: 0.8125rem;
  grid-area: tags;
  margin-block-start: 4px;
}

@media screen and (width >= 768px) {
  .m-panel-category__tags {
    font-size: 0.875rem;
  }
}

.m-panel-customer {
  direction: rtl;
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr auto;
}

@media screen and (width >= 768px) {
  .m-panel-customer {
    align-items: center;
    gap: 42px;
  }
}

.m-panel-customer__content,
.m-panel-customer__media {
  direction: ltr;
}

.m-panel-customer__content {
  background-color: var(--COLOR_BLUE_10);
  border-radius: var(--RADIUS);
  position: relative;
}

.m-panel-customer__content::before {
  background-color: var(--COLOR_BLUE_10);
  clip-path: polygon(100% 0, 100% 100%, 0 4%);
  content: "";
  display: block;
  height: 32px;
  left: -30px;
  position: absolute;
  top: 50px;
  width: 34px;
}

@media screen and (width >= 768px) {
  .m-panel-customer__content::before {
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    top: 70px;
  }
}

.m-panel-customer__wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  position: relative;
}

.m-panel-customer__wrap::before,
.m-panel-customer__wrap::after {
  color: transparent;
  font-family: var(--FONT_FAMILY);
  font-size: 4rem;
  height: 36px;
  line-height: 1;
  position: absolute;
  width: 36px;
}

@media screen and (width >= 768px) {
  .m-panel-customer__wrap::before,
  .m-panel-customer__wrap::after {
    font-size: 6rem;
    height: 58px;
    width: 58px;
  }
}

.m-panel-customer__wrap::before {
  background: linear-gradient(86.65deg, #00b9ef 14.17%, #003c84 91.84%);
  background-clip: text;
  content: "“";
  left: -15px;
  top: -15px;
}

@media screen and (width >= 768px) {
  .m-panel-customer__wrap::before {
    left: -20px;
    top: -30px;
  }
}

.m-panel-customer__wrap::after {
  background: linear-gradient(80.14deg, #00b9ef 18.49%, #003c84 90.53%);
  background-clip: text;
  bottom: -15px;
  content: "”";
  right: -15px;
}

@media screen and (width >= 768px) {
  .m-panel-customer__wrap::after {
    bottom: -30px;
    right: -20px;
  }
}

@media screen and (width >= 768px) {
  .m-panel-customer__wrap {
    gap: 16px;
    padding: 24px;
  }
}

.m-panel-customer__media {
  border-radius: var(--RADIUS);
  height: fit-content;
  overflow: hidden;
}

.m-panel-customer__img {
  display: block;
}

.m-panel-customer__lead {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

@media screen and (width >= 768px) {
  .m-panel-customer__lead {
    font-size: 1.125rem;
  }
}

.m-panel-event {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-panel-event {
    margin-block-start: 48px;
    row-gap: 48px;
  }
}

@media (any-hover: hover) {
  .m-panel-event__link:hover .m-panel-event__thumbnail {
    transform: scale(1.1);
  }

  .m-panel-event__link:hover .m-panel-event__description {
    text-decoration: underline;
  }
}

.m-panel-event__link:focus-visible .m-panel-event__thumbnail {
  transform: scale(1.1);
}

.m-panel-event__link:focus-visible .m-panel-event__description {
  text-decoration: underline;
}

.m-panel-event__link:active .m-panel-event__thumbnail {
  transform: scale(1.1);
}

.m-panel-event__link:active .m-panel-event__description {
  text-decoration: underline;
}

.m-panel-event__media {
  aspect-ratio: 16/9;
  border-radius: var(--RADIUS) var(--RADIUS) 0 0;
  overflow: hidden;
  position: relative;
}

.m-panel-event__thumbnail {
  display: block;
  inset: 0;
  margin: auto;
  position: absolute;
  transition: transform 0.3s;
  width: 100%;
}

.m-panel-event__logo {
  background-color: var(--COLOR_WHITE);
  border: 1px solid var(--COLOR_BORDER);
  border-radius: 0 0 var(--RADIUS) var(--RADIUS);
  border-top: unset;
  padding: 8px;
  width: 100%;
}

.m-panel-event__img {
  display: block;
  height: 50px;
  margin-inline: auto;
  object-fit: contain;
}

@media screen and (width >= 768px) {
  .m-panel-event__img {
    height: 40px;
  }
}

.m-panel-event__date {
  color: var(--COLOR_PLACEHOLDER);
  display: inline-block;
  font-family: var(--FONT_FAMILY_EN);
  margin-block-start: 8px;
}

.m-panel-event__description {
  margin-block-start: 4px;
}

.m-panel-lineup {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-panel-lineup {
    grid-template-columns: repeat(4, 1fr);
    margin-block-start: 64px;
  }
}

.m-panel-lineup__text {
  align-items: center;
  bottom: 8px;
  display: flex;
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  left: 12px;
  padding-inline-end: 0.25em;
  position: absolute;
  transition: color 0.3s;
  z-index: var(--LAYER_FRONT);
}

@media screen and (width >= 768px) {
  .m-panel-lineup__text {
    bottom: 16px;
    font-size: 1.125rem;
    left: 16px;
  }
}

.m-panel-lineup__link {
  display: block;
  overflow: hidden;
  position: relative;
}

.m-panel-lineup__link::before {
  background: linear-gradient(180deg, transparent 50%, #ffffff 100%);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: var(--LAYER_FRONT);
}

@media (any-hover: hover) {
  .m-panel-lineup__link:hover .m-panel-lineup__img {
    transform: scale(1.1);
  }

  .m-panel-lineup__link:hover .m-panel-lineup__text {
    color: var(--COLOR_PRIMARY);
    text-decoration: underline;
  }
}

.m-panel-lineup__link:focus-visible .m-panel-lineup__img {
  transform: scale(1.1);
}

.m-panel-lineup__link:focus-visible .m-panel-lineup__text {
  color: var(--COLOR_PRIMARY);
  text-decoration: underline;
}

.m-panel-lineup__link:active .m-panel-lineup__img {
  transform: scale(1.1);
}

.m-panel-lineup__link:active .m-panel-lineup__text {
  color: var(--COLOR_PRIMARY);
  text-decoration: underline;
}

.m-panel-lineup__img {
  display: block;
  transition: transform 0.3s;
  width: 100%;
}

.m-panel-product {
  display: grid;
  margin-block-start: 32px;
}

@media screen and (width <= 767px) {
  .m-panel-product {
    gap: 32px;
  }

  .m-panel-product[data-column-sp="2"] {
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (width >= 768px) {
  .m-panel-product {
    margin-block-start: 48px;
  }

  .m-panel-product[data-column-pc="3"] {
    gap: 48px 32px;
    grid-template-columns: repeat(auto-fill, minmax(278px, 1fr));
  }

  .m-panel-product[data-column-pc="4"] {
    gap: 40px 32px;
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
  }
}

@media (any-hover: hover) {
  .m-panel-product__link:hover .m-panel-product__title {
    text-decoration: underline;
  }

  .m-panel-product__link:hover .m-panel-product__img {
    transform: scale(1.1);
  }
}

.m-panel-product__link:focus-visible .m-panel-product__title {
  text-decoration: underline;
}

.m-panel-product__link:focus-visible .m-panel-product__img {
  transform: scale(1.1);
}

.m-panel-product__link:active .m-panel-product__title {
  text-decoration: underline;
}

.m-panel-product__link:active .m-panel-product__img {
  transform: scale(1.1);
}

.m-panel-product__media {
  border-radius: var(--RADIUS);
  overflow: hidden;
  text-align: center;
}

.m-panel-product__img {
  aspect-ratio: 16/9;
  display: block;
  object-fit: cover;
  transition: transform 0.3s;
  width: 100%;
}

.m-panel-product__title {
  align-items: center;
  color: var(--COLOR_PRIMARY);
  display: flex;
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .m-panel-product__title {
    font-size: 1.125rem;
  }
}

.m-panel-product__description {
  margin-block-start: 8px;
}

.m-panel-related {
  display: grid;
}

@media screen and (width <= 767px) {
  .m-panel-related {
    gap: 32px 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (width >= 768px) {
  .m-panel-related {
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(214px, 1fr));
    margin-block-start: 48px;
  }
}

@media (any-hover: hover) {
  .m-panel-related__link:hover .m-panel-related__img {
    transform: scale(1.1);
  }

  .m-panel-related__link:hover .m-panel-related__description {
    text-decoration: underline;
  }
}

.m-panel-related__link:focus-visible .m-panel-related__img {
  transform: scale(1.1);
}

.m-panel-related__link:focus-visible .m-panel-related__description {
  text-decoration: underline;
}

.m-panel-related__link:active .m-panel-related__img {
  transform: scale(1.1);
}

.m-panel-related__link:active .m-panel-related__description {
  text-decoration: underline;
}

.m-panel-related__media {
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
}

.m-panel-related__img {
  display: block;
  transition: transform 0.3s;
  width: 100%;
}

.m-panel-related__description {
  align-items: center;
  display: flex;
  margin-block-start: 4px;
}

.m-panel-solution {
  display: grid;
  gap: 32px;
}

@media screen and (width >= 768px) {
  .m-panel-solution {
    grid-template-columns: repeat(3, 1fr);
  }
}

.m-panel-solution__img {
  border-radius: var(--RADIUS);
  display: block;
  width: 100%;
}

.m-panel-solution__title {
  color: var(--COLOR_PRIMARY);
  font-size: 1.25rem;
  padding-block-end: 8px;
  position: relative;
}

@media screen and (width >= 768px) {
  .m-panel-solution__title {
    font-size: 1.5rem;
  }
}

.m-panel-solution__title::before {
  background-color: var(--COLOR_ACCENT);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  width: 32px;
}

.m-panel-solution__title,
.m-panel-solution__description {
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-panel-solution__title,
  .m-panel-solution__description {
    margin-block-start: 24px;
  }
}

.m-panel-tech {
  display: grid;
  gap: 64px 24px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-panel-tech {
    gap: 64px 32px;
    margin-block-start: 48px;
  }
}

.m-panel-tech__item {
  display: grid;
  gap: 0;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

.m-panel-tech__media {
  border-radius: var(--RADIUS);
  overflow: hidden;
}

.m-panel-tech__img {
  aspect-ratio: 16/9;
  display: block;
  object-fit: cover;
  width: 100%;
}

.m-panel-tech__title {
  font-size: 1rem;
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .m-panel-tech__title {
    font-size: 1.375rem;
  }
}

.m-panel-tech__description {
  margin-block-start: 4px;
}

@media screen and (width >= 768px) {
  .m-panel-tech__description {
    margin-block-start: 16px;
  }
}

.m-panel-tech__meta {
  display: grid;
  gap: 8px;
  grid-template-columns: auto 1fr;
  margin-block-start: 12px;
}

@media screen and (width >= 768px) {
  .m-panel-tech__meta {
    margin-block-start: 16px;
  }
}

.m-panel-tech__tag {
  background-color: var(--COLOR_BLUE_70);
  border-radius: var(--RADIUS_TINY);
  color: var(--COLOR_WHITE);
  font-size: 0.75rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  height: fit-content;
  padding: 2px 8px;
}

@media screen and (width >= 768px) {
  .m-panel-tech__tag {
    font-size: 0.875rem;
  }
}

.m-panel-tech__foot {
  margin-block-start: 32px;
  text-align: center;
}

.m-table {
  margin-block-start: 16px;
  overflow-x: auto;
}

.m-table__table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

@media screen and (width <= 767px) {
  .m-table__table {
    min-width: max-content;
  }
}

.m-table__cell {
  background-color: var(--COLOR_WHITE);
  border: 1px solid var(--COLOR_BORDER);
  padding: 16px;
  vertical-align: top;
  word-break: break-all;
}

.m-table__cell--head {
  background-color: var(--COLOR_BLUE_10);
  text-align: left;
}

.m-table__head .m-table__cell {
  background-color: var(--COLOR_BLUE_10);
}

.m-tag-category {
  background-color: var(--COLOR_BLUE_70);
  border-radius: var(--RADIUS_TINY);
  color: var(--COLOR_WHITE);
  display: inline-block;
  font-size: 0.75rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  height: fit-content;
  min-width: 75px;
  padding: 4px;
  text-align: center;
}

@media screen and (width >= 768px) {
  .m-tag-category {
    font-size: 0.875rem;
    min-width: 84px;
  }
}

.m-tag-category__icon {
  margin-inline-start: 4px;
  position: relative;
  top: 0.2em;
}

.m-tag-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-block-start: 16px;
  width: fit-content;
}

.m-tag-list + [class^=m-] {
  margin-block-start: 16px;
}

@media screen and (width >= 768px) {
  .m-tag-list {
    gap: 16px;
    margin-block-start: 24px;
  }

  .m-tag-list + [class=m-] {
    margin-block-start: 24px;
  }
}

.m-tag-list__item {
  display: flex;
  gap: 8px 16px;
}

.m-tag-list__term {
  flex: 0 0 auto;
}

.m-tag-list__definition {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  margin-block-start: 1px;
}

.m-tag-list__definition.m-tag-list__definition--auto-pc {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.m-tag-list__label {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

@media screen and (width >= 768px) {
  .m-tag-list__label {
    font-size: 1.125rem;
  }
}

.m-tag-list__description {
  margin-block-start: 4px;
}

.m-tag-list--box {
  background-color: var(--COLOR_WHITE);
  border-radius: var(--RADIUS);
  padding: 16px;
}

.m-tag-list--wrap .m-tag-list__item {
  flex-wrap: wrap;
}

.m-tag {
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  border-radius: 100vh;
  color: var(--COLOR_PRIMARY);
  font-size: 0.75rem;
  height: fit-content;
  padding: 2px 16px 4px;
}

.m-tag__icon {
  display: inline-block;
  height: auto;
  margin-left: 5px;
  min-width: 1em;
  position: relative;
  top: 0.125em;
  width: 1em;
}

.m-text-lead {
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .m-text-lead {
    font-size: 1.125rem;
    margin-block-start: 48px;
  }
}

.m-text {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .m-text {
    margin-block-start: 48px;
  }
}

.m-text-tel {
  color: var(--COLOR_PRIMARY);
}

.m-text-tel + [class^=m-] {
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .m-text-tel + [class^=m-] {
    margin-block-start: 16px;
  }

  .m-text-tel + .m-box-contact__hours {
    margin-block-start: 0;
  }
}

.m-text-tel__label {
  display: inline-block;
  font-size: 0.9375rem;
  font-weight: var(--FONT_WEIGHT_NORMAL);
  margin-inline-end: 8px;
}

@media screen and (width >= 768px) {
  .m-text-tel__label {
    font-size: 1.125rem;
  }
}

.m-text-tel__number {
  font-size: 2rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

@media screen and (width >= 768px) {
  .m-text-tel__number {
    font-size: 2.625rem;
  }
}

.m-text-tel__sub {
  font-size: 1.375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  word-break: keep-all;
}

.m-text-tel--light-blue {
  color: var(--COLOR_ACCENT);
}

.m-text-tel--large .m-text-tel__number {
  font-size: 2.125rem;
}

@media screen and (width >= 768px) {
  .m-text-tel--large .m-text-tel__number {
    font-size: clamp(2.125rem, 0.837rem + 2.68vw, 3.125rem);
  }
}

.m-text-tel--large .m-text-tel__label {
  color: var(--COLOR_BLACK);
  font-size: 0.9375rem;
}

@media screen and (width >= 768px) {
  .m-text-tel--large .m-text-tel__label {
    font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.5rem);
  }
}

.m-widget-disclosure {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-block-start: 72px;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure {
    margin-block-start: 128px;
  }
}

.m-widget-disclosure__head {
  background-color: var(--COLOR_BLUE_20);
  border-radius: var(--RADIUS);
  padding: 16px 48px 16px 16px;
  position: relative;
}

.m-widget-disclosure__head .m-heading-level3 {
  position: relative;
  z-index: 2;
}

.m-widget-disclosure__head::before,
.m-widget-disclosure__head::after {
  background: linear-gradient(90deg, #00b9ef 0%, #003c84 100%);
  border-radius: var(--RADIUS);
  content: "";
  display: inline-block;
  height: 3px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  z-index: 1;
}

.m-widget-disclosure__head::after {
  top: 48%;
  transform: rotate(90deg);
  transition: transform 0.3s;
}

.m-widget-disclosure__item {
  border: 1px solid var(--COLOR_BLUE_20);
  border-radius: var(--RADIUS);
}

.m-widget-disclosure__title {
  font-size: 1.125rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

@media screen and (width >= 768px) {
  .m-widget-disclosure__title {
    font-size: 1.75rem;
  }
}

.m-widget-disclosure__body {
  overflow: hidden;
  transition: height 0.3s ease;
}

summary + .m-widget-disclosure__body:has(.fjkSelect__button[aria-expanded=true]) {
  overflow: visible;
}

.m-widget-disclosure__content {
  padding: 32px 16px;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure__content {
    padding: 40px 24px;
  }
}

.m-widget-disclosure__abbr {
  font-family: var(--FONT_FAMILY_EN);
  font-size: 1.5rem;
  font-weight: var(--FONT_WEIGHT_MEDIUM);
}

.m-widget-disclosure__head .m-widget-disclosure__abbr {
  color: var(--COLOR_PRIMARY);
}

.m-widget-disclosure__body .m-widget-disclosure__abbr {
  color: var(--COLOR_ACCENT);
  left: 16px;
  position: absolute;
  top: 7px;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure__body .m-widget-disclosure__abbr {
    top: 10px;
  }
}

.m-widget-disclosure--question .m-widget-disclosure__head {
  align-items: center;
  display: flex;
}

.m-widget-disclosure--question .m-widget-disclosure__title {
  border-left: 1px solid var(--COLOR_BORDER);
  font-size: 0.875rem;
  margin-inline-start: 16px;
  padding-inline-start: 16px;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure--question .m-widget-disclosure__title {
    font-size: 1rem;
  }
}

.m-widget-disclosure--question .m-widget-disclosure__body {
  position: relative;
}

.m-widget-disclosure--question .m-widget-disclosure__content {
  border-left: 1px solid var(--COLOR_BORDER);
  margin: 16px 8px 16px 51px;
  padding: 0;
  padding-inline-start: 16px;
}

.m-widget-disclosure__item[open] > .m-widget-disclosure__head {
  border-radius: var(--RADIUS) var(--RADIUS) 0 0;
}

.m-widget-disclosure__item[open] > .m-widget-disclosure__head::after {
  top: 48%;
  transform: rotate(0deg);
}

.m-widget-disclosure.m-widget-disclosure--small .m-widget-disclosure__title {
  font-size: 0.9375rem;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure.m-widget-disclosure--small .m-widget-disclosure__title {
    font-size: 1.125rem;
  }
}

.m-widget-disclosure.m-widget-disclosure--heading {
  margin-block-start: 16px;
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__item {
  border: none;
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__head {
  background-color: transparent;
  padding: 0;
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__head [class^=m-heading-] {
  margin-block-start: 0;
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__head .m-heading-level3__main {
  font-size: 0.9375rem;
  padding: 8px;
  padding-inline-end: 40px;
}

@media screen and (width >= 768px) {
  .m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__head .m-heading-level3__main {
    font-size: 1.125rem;
  }
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__head:has([aria-expanded=true])::after {
  top: 46%;
  transform: rotate(0);
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__body.is-hidden {
  display: none;
}

.m-widget-disclosure.m-widget-disclosure--heading .m-widget-disclosure__content {
  padding: 16px 8px;
  transition: height 0.3s ease;
}

.m-widget-tabPanel__control {
  border-bottom: 1px solid var(--COLOR_BORDER);
  overflow-x: auto;
  overflow-y: hidden;
}

.m-widget-tabPanel__container {
  margin-block-start: 24px;
}

.m-widget-tabPanel__container.is-hidden {
  display: none;
}

@media screen and (width >= 768px) {
  .m-widget-tabPanel__container {
    margin-block-start: 48px;
  }
}

.m-widget-tabPanel__list {
  display: flex;
  gap: 0 32px;
}

@media screen and (width >= 768px) {
  .m-widget-tabPanel__list {
    gap: 0 48px;
  }
}

.m-widget-tabPanel__item {
  min-width: fit-content;
}

.m-widget-tabPanel__tab {
  display: block;
  padding: 1px 4px 12px;
  position: relative;
  transition: opacity 0.3s;
}

.m-widget-tabPanel__tab::after {
  bottom: 0;
  content: "";
  display: block;
  height: 5px;
  left: 0;
  position: absolute;
  width: 100%;
}

.m-widget-tabPanel__tab[aria-selected=true]::after {
  background-color: var(--COLOR_PRIMARY);
}

@media (any-hover: hover) {
  .m-widget-tabPanel__tab:hover {
    opacity: 0.5;
  }
}

.m-widget-tabPanel__tab:focus-visible {
  opacity: 0.5;
}

.m-widget-tabPanel__tab:active {
  opacity: 0.5;
}

.m-widget-tabPanel__container:has(> .m-list-info) {
  margin-block-start: 0;
}

.m-link-googleMap {
  background-color: var(--COLOR_BLUE_20);
  border-radius: 100rem;
  color: var(--COLOR_PRIMARY);
  display: inline-block;
  font-size: 0.75rem;
  padding: 4px 16px;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: fit-content;
}

@media (any-hover: hover) {
  .m-link-googleMap:hover {
    background-color: var(--COLOR_PRIMARY);
    color: var(--COLOR_WHITE);
  }
}

.m-link-googleMap:focus-visible {
  background-color: var(--COLOR_PRIMARY);
  color: var(--COLOR_WHITE);
}

.m-link-googleMap:active {
  background-color: var(--COLOR_PRIMARY);
  color: var(--COLOR_WHITE);
}

.l-category-layout {
  display: grid;
  gap: 40px;
}

@media screen and (width >= 768px) {
  .l-category-layout {
    gap: clamp(1.125rem, -1.018rem + 4.46vw, 3rem);
    grid-template-columns: clamp(15.625rem, 10.625rem + 10.42vw, 20rem) 1fr;
  }
}

.l-category-layout__side > :first-child {
  margin-block-start: 0;
}

.l-category-layout {
  display: grid;
  gap: 40px;
}

@media screen and (width >= 768px) {
  .l-category-layout {
    gap: clamp(1.125rem, -1.018rem + 4.46vw, 3rem);
    grid-template-columns: clamp(15.625rem, 10.625rem + 10.42vw, 20rem) 1fr;
  }
}

.l-category-layout__side > :first-child {
  margin-block-start: 0;
}

.u-category {
  padding: 0;
}

.u-category #fjk-spec-search-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 16px;
}

.u-category .m-button-text {
  margin-inline-start: auto;
  width: fit-content;
}

.u-category .m-button {
  min-width: auto;
}

.u-category .m-form-select__item {
  padding: 12px 40px 12px 12px;
}

.u-news-group {
  display: grid;
  gap: 32px;
  grid-template-columns: max-content max-content;
}

@media (scripting: none) {
  .u-news-group {
    display: none;
  }
}

@media screen and (width >= 768px) {
  .u-news-group {
    gap: 40px;
  }
}

.l-service-detail {
  padding: 24px 0 16px;
}

.l-service-detail .m-button-layout {
  flex-wrap: nowrap;
  gap: 16px;
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .l-service-detail {
    padding: 72px 0 48px;
  }

  .l-service-detail .m-button-layout {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    gap: clamp(1rem, -0.215rem + 2.53vw, 2rem);
    grid-area: links;
    justify-content: flex-start;
    margin-block-start: 64px;
  }

  .l-service-detail .m-button {
    min-width: clamp(13.325rem, 7.809rem + 11.08vw, 17.5rem);
  }
}

@media screen and (width <= 767px) {
  .l-service-detail .m-button-layout:has(> :nth-child(2)) .m-button {
    min-width: min(100%, 170px);
  }
}

.l-service-detail__inner {
  display: grid;
  grid-column: 2/3;
  grid-template-areas: "title" "img" "links";
}

.l-service-detail__inner:has(.l-service-detail__box) {
  grid-template-areas: "title" "img" "box" "links";
}

@media screen and (width >= 768px) {
  .l-service-detail__inner {
    align-items: center;
    column-gap: 24px;
    grid-template-areas: "title img" "links img";
    grid-template-columns: 1fr fit-content(50%);
  }

  .l-service-detail__inner:has(.l-service-detail__box) {
    grid-template-areas: "title img" "box img" "links links";
  }

  .l-service-detail__inner > .m-panel-category__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .l-service-detail__inner:has(.l-service-detail__box) > .m-panel-category__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .l-service-detail .m-button-layout {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }

  .l-service-detail__inner:has(.l-service-detail__box) > .m-button-layout {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}

.l-service-detail__title {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  color: var(--COLOR_PRIMARY);
  font-size: 1.5rem;
  grid-area: title;
}

.l-service-detail__inner > .l-service-detail__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.l-service-detail__inner:has(.l-service-detail__box) > .l-service-detail__title {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

@media screen and (width >= 768px) {
  .l-service-detail__title {
    font-size: clamp(1.5rem, -0.323rem + 3.8vw, 3rem);
  }
}

.l-service-detail__picture {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: img;
}

.l-service-detail__inner:has(.l-service-detail__box) > .l-service-detail__picture {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.l-service-detail__img {
  border-radius: var(--RADIUS);
  display: block;
}

@media screen and (width <= 767px) {
  .l-service-detail__img {
    margin-block-start: 24px;
    margin-inline: auto;
    width: fit-content;
  }
}

.l-service-detail__box {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  background-color: var(--COLOR_BACKGROUND_LIGHT);
  border-radius: var(--RADIUS);
  display: flex;
  gap: 12px;
  grid-area: box;
  margin-block-start: 24px;
  padding: 8px;
}

@media screen and (width >= 768px) {
  .m-box-step__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }

  .m-box-step__content {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }

  .m-box-step__media {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }

  .m-panel-category__media {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }

  .l-service-detail__inner > .l-service-detail__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .l-service-detail__inner:has(.l-service-detail__box) > .l-service-detail__title {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }

  .l-service-detail__picture {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }

  .l-service-detail__inner:has(.l-service-detail__box) > .l-service-detail__picture {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }

  .l-service-detail__box {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}

@media screen and (width >= 768px) {
  .l-service-detail__box {
    gap: 16px;
    margin-block-start: 48px;
    padding: 16px;
    width: fit-content;
  }
}

.l-service-detail__label {
  background-color: var(--COLOR_BLUE_70);
  border-radius: 4px;
  color: var(--COLOR_WHITE);
  display: block;
  font-size: 0.75rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  height: fit-content;
  min-width: fit-content;
  padding: 2px 8px;
}

@media screen and (width >= 768px) {
  .l-service-detail__label {
    font-size: 0.875rem;
  }
}

.l-service-detail__list {
  display: grid;
  gap: 4px;
}

.l-service-detail__list > * {
  height: 100%;
}

.l-service-detail__item {
  font-size: 0.75rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  padding-left: 1em;
  position: relative;
}

@media screen and (width >= 768px) {
  .l-service-detail__item {
    font-size: 1rem;
  }
}

.l-service-detail__item {
  /* bullet */;
}

.l-service-detail__item::before {
  background-color: var(--COLOR_BLACK);
  border-radius: 50%;
  content: "";
  display: block;
  height: 6px;
  left: 0;
  position: absolute;
  top: 0.7em;
  width: 6px;
}

.l-top-lineup__inner,
.l-top-service__content,
.l-top-info__inner {
  grid-column: 2/3;
}

.l-top-lineup {
  position: relative;
}

.l-top-lineup::before {
  background: url("../img/bg-top-01_sp.webp") no-repeat;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: var(--LAYER_BEHIND);
}

@media screen and (width >= 768px) {
  .l-top-lineup::before {
    background: url("../img/bg-top-01.webp") no-repeat;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (768px <= width <= 1000px) {
  .l-top-lineup::before {
    background: url("../img/bg-top-01_tablet.webp") no-repeat;
    left: 50%;
    transform: translateX(-50%);
  }
}

.l-top-lineup__wrap {
  padding-block-start: 48px;
}

@media screen and (width >= 768px) {
  .l-top-lineup__wrap {
    margin-block-start: 104px;
  }
}

.l-top-service {
  margin-block-start: 72px;
}

@media screen and (width >= 768px) {
  .l-top-service {
    margin-block-start: 104px;
  }
}

.l-top-service picture {
  grid-column: 1/4;
}

.l-top-service__inner {
  grid-column: 2/4;
}

.l-top-service__bg {
  width: 100%;
}

.l-top-service__box {
  backdrop-filter: blur(40px);
  background: rgba(255, 255, 255, 0.53);
  border-radius: 50px 0 0 0;
  margin-block-start: -20%;
  padding: 32px 16px 60px;
}

@media screen and (width >= 768px) {
  .l-top-service__box {
    padding: 64px 120px 96px;
  }
}

.l-top-service__wrap {
  max-width: 1080px;
}

.l-top-info picture {
  grid-column: 1/4;
}

.l-top-info__inner {
  padding: 32px 0 80px;
}

@media screen and (width >= 768px) {
  .l-top-info__inner {
    padding: 64px 0 120px;
  }
}

.l-top-info__bg {
  margin-block-start: 64px;
  width: 100%;
}

@media screen and (width >= 768px) {
  .l-top-info__bg {
    margin-block-start: 94px;
  }
}

.l-top-info__layout {
  display: grid;
  gap: 40px;
}

@media screen and (width >= 768px) {
  .l-top-info__layout {
    gap: 104px;
    grid-template-columns: auto 1fr;
  }
}

.l-top-info__layout + .m-button-layout {
  margin-block-start: 32px;
}

@media screen and (width >= 768px) {
  .l-top-info__layout + .m-button-layout {
    margin-block-start: 64px;
  }
}

.u-top-mv {
  --CONTENT_WIDTH_MAX: 1440px;
  gap: 0;
  margin-block-start: 45px;
}

@media screen and (width >= 768px) {
  .u-top-mv {
    margin-block-start: 55px;
  }
}

.u-top-mv__inner {
  display: flex;
  flex-direction: column-reverse;
  grid-column: 2/3;
  position: relative;
}

.u-top-mv__box {
  backdrop-filter: blur(17.5px);
  background: rgba(255, 255, 255, 0.56);
  border-radius: 0 var(--RADIUS_LARGE) 0 0;
  box-shadow: 30px -15px 40px rgba(0, 0, 0, 0.03);
  margin-block-start: -60px;
  margin-inline-end: 16px;
  padding: 24px 40px 56px 27px;
  position: relative;
  z-index: 2;
}

@media screen and (width >= 768px) {
  .u-top-mv__box {
    bottom: 0;
    left: 0;
    margin-block-start: 0;
    padding: 32px 39px 32px 52px;
    position: absolute;
  }
}

.u-top-mv__message {
  font-size: 1.5rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
}

@media screen and (width >= 768px) {
  .u-top-mv__message {
    font-size: clamp(1.5rem, 0.357rem + 2.38vw, 2.5rem);
  }
}

.u-top-carousel__link {
  display: block;
}

.u-top-carousel__track {
  margin-inline-start: auto;
  max-width: 1200px;
}

.u-top-carousel__img {
  display: block;
  object-fit: cover;
  width: 100%;
}

.u-top-carousel__controller {
  bottom: -80px;
  display: flex;
  gap: 32px;
  position: absolute;
  right: 32px;
  z-index: 2;
}

.u-top-carousel__controller .splide__pagination__page {
  background-color: initial;
  border: 0;
  display: block;
  height: 24px;
  overflow: hidden;
  position: relative;
  width: 24px;
}

.u-top-carousel__controller .splide__pagination__page::before {
  background: linear-gradient(to right, var(--COLOR_PRIMARY) 0%, var(--COLOR_PRIMARY) 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  border-radius: 8px;
  content: "";
  display: inline-block;
  height: 8px;
  inset: 0;
  margin: auto;
  overflow: hidden;
  position: absolute;
  width: 100%;
  will-change: background-size;
  z-index: 2;
}

.u-top-carousel__controller .splide__pagination__page::after {
  background-color: var(--COLOR_DISABLE);
  border-radius: 50%;
  content: "";
  height: 8px;
  inset: 0;
  margin: auto;
  position: absolute;
  width: 8px;
}

.u-top-carousel__controller .splide__pagination__page.is-active {
  width: 70px;
}

.u-top-carousel__controller .splide__pagination__page.is-active::before {
  animation: progressBg 6s linear forwards;
  width: 50px;
}

.u-top-carousel__controller .splide__pagination__page.is-active::after {
  border-radius: 8px;
  width: 50px;
}

.u-top-carousel__controller:not(:has(.splide__toggle.is-active)) .splide__pagination__page::before {
  animation: none;
  animation-name: none;
}

@media screen and (width >= 768px) {
  .u-top-carousel__controller {
    bottom: -40px;
    right: 24px;
  }
}

@keyframes progressBg {
  0% {
    background-size: 0% 100%;
  }

  100% {
    background-size: 100% 100%;
  }
}

.u-top-lead {
  background: linear-gradient(67.94deg, #00b9ef 5.67%, #003c84 83.36%);
  background-clip: text;
  color: transparent;
  font-size: 1.375rem;
  font-weight: var(--FONT_WEIGHT_BOLD);
  text-align: center;
}

@media screen and (width >= 768px) {
  .u-top-lead {
    font-size: 2.25rem;
  }
}

.u-heading-level2 {
  font-size: 1.375rem;
  margin-block-start: 72px;
}

.u-heading-level2::before {
  background: url("../img/icon-h2.svg") no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 28px;
  margin-inline-end: 12px;
  min-width: 32px;
  position: relative;
  top: 0.125em;
  width: 32px;
}

@media screen and (width >= 768px) {
  .u-heading-level2 {
    font-size: 2.25rem;
    margin-block-start: 128px;
  }

  .u-heading-level2::before {
    height: 32px;
    top: 0.05em;
  }
}

.u-heading-level3 {
  color: var(--COLOR_PRIMARY);
  font-size: 1.25rem;
  margin-block-start: 48px;
  text-align: center;
}

.u-heading-level3 + * {
  margin-block-start: 24px;
}

@media screen and (width >= 768px) {
  .u-heading-level3 {
    font-size: 2rem;
    margin-block-start: 80px;
  }

  .u-heading-level3 + * {
    margin-block-start: 48px;
  }
}

.u-top-box {
  background-color: var(--COLOR_BACKGROUND_DARK);
  border-radius: var(--RADIUS);
  container: top-box/inline-size;
  margin-block-start: 32px;
  position: relative;
}

.u-top-box::after {
  background: linear-gradient(90deg, #00b9ef 5%, #72ecff 25%, #003c84 55%);
  border-radius: 0 0 8px 8px;
  bottom: 0;
  content: "";
  height: 6px;
  left: 0;
  position: absolute;
  width: 100%;
}

.u-top-box .m-button-layout {
  margin-block-start: 8px;
}

.u-top-box__wrap {
  color: var(--COLOR_WHITE);
  display: grid;
  padding: 24px 16px 30px;
}

.u-top-box__content:first-child {
  border-bottom: 1px solid var(--COLOR_BORDER);
  padding-block-end: 20px;
}

.u-top-box__content:last-child {
  padding-block-start: 20px;
}

.u-top-box__label + * {
  margin-block-start: 8px;
}

@media screen and (width >= 768px) {
  .u-top-box__label + * {
    margin-block-start: 12px;
  }
}

@container top-box (width > 900px) {
  .u-top-box__wrap {
    grid-template-columns: 1fr auto;
    padding: 40px 62px 48px;
  }

  .u-top-box__wrap .m-button-layout {
    margin-block-start: 16px;
  }

  .u-top-box__content:first-child {
    border-bottom: unset;
    border-right: 1px solid var(--COLOR_BORDER);
    padding-block-end: 0;
    padding-inline-end: 69px;
  }

  .u-top-box__content:last-child {
    padding-block-start: 0;
    padding-inline-start: 40px;
  }
}

.block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.flex {
  display: flex !important;
}

.inline-flex {
  display: inline-flex !important;
}

.table {
  display: table !important;
}

.inline-table {
  display: inline-table !important;
}

.table-caption {
  display: table-caption !important;
}

.table-cell {
  display: table-cell !important;
}

.table-column {
  display: table-column !important;
}

.table-column-group {
  display: table-column-group !important;
}

.table-footer-group {
  display: table-footer-group !important;
}

.table-header-group {
  display: table-header-group !important;
}

.table-row-group {
  display: table-row-group !important;
}

.table-row {
  display: table-row !important;
}

.flow-root {
  display: flow-root !important;
}

.grid {
  display: grid !important;
}

.inline-grid {
  display: inline-grid !important;
}

.contents {
  display: contents !important;
}

.list-item {
  display: list-item !important;
}

.hidden {
  display: none !important;
}

/* PC Viewport */
@media print, screen and (width >= 768px) {
  .md\:block {
    display: block !important;
  }

  .md\:inline-block {
    display: inline-block !important;
  }

  .md\:inline {
    display: inline !important;
  }

  .md\:flex {
    display: flex !important;
  }

  .md\:inline-flex {
    display: inline-flex !important;
  }

  .md\:table {
    display: table !important;
  }

  .md\:inline-table {
    display: inline-table !important;
  }

  .md\:table-caption {
    display: table-caption !important;
  }

  .md\:table-cell {
    display: table-cell !important;
  }

  .md\:table-column {
    display: table-column !important;
  }

  .md\:table-column-group {
    display: table-column-group !important;
  }

  .md\:table-footer-group {
    display: table-footer-group !important;
  }

  .md\:table-header-group {
    display: table-header-group !important;
  }

  .md\:table-row-group {
    display: table-row-group !important;
  }

  .md\:table-row {
    display: table-row !important;
  }

  .md\:flow-root {
    display: flow-root !important;
  }

  .md\:grid {
    display: grid !important;
  }

  .md\:inline-grid {
    display: inline-grid !important;
  }

  .md\:contents {
    display: contents !important;
  }

  .md\:list-item {
    display: list-item !important;
  }

  .md\:hidden {
    display: none !important;
  }
}

.text-left {
  text-align: left;
}

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

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-start {
  text-align: start;
}

.text-end {
  text-align: end;
}

/* PC Viewport */
@media print, screen and (width >= 768px) {
  .md\:text-left {
    text-align: left;
  }

  .md\:text-center {
    text-align: center;
  }

  .md\:text-right {
    text-align: right;
  }

  .md\:text-justify {
    text-align: justify;
  }

  .md\:text-start {
    text-align: start;
  }

  .md\:text-end {
    text-align: end;
  }
}

.w-5 {
  width: 5%;
}

.w-10 {
  width: 10%;
}

.w-15 {
  width: 15%;
}

.w-20 {
  width: 20%;
}

.w-25 {
  width: 25%;
}

.w-30 {
  width: 30%;
}

.w-35 {
  width: 35%;
}

.w-40 {
  width: 40%;
}

.w-45 {
  width: 45%;
}

.w-50 {
  width: 50%;
}

.w-55 {
  width: 55%;
}

.w-60 {
  width: 60%;
}

.w-65 {
  width: 65%;
}

.w-70 {
  width: 70%;
}

.w-75 {
  width: 75%;
}

.w-80 {
  width: 80%;
}

.w-85 {
  width: 85%;
}

.w-90 {
  width: 90%;
}

.w-95 {
  width: 95%;
}

.w-100 {
  width: 100%;
}

@media screen and (width >= 768px) {
  .md\:w-5 {
    width: 5%;
  }

  .md\:w-10 {
    width: 10%;
  }

  .md\:w-15 {
    width: 15%;
  }

  .md\:w-20 {
    width: 20%;
  }

  .md\:w-25 {
    width: 25%;
  }

  .md\:w-30 {
    width: 30%;
  }

  .md\:w-35 {
    width: 35%;
  }

  .md\:w-40 {
    width: 40%;
  }

  .md\:w-45 {
    width: 45%;
  }

  .md\:w-50 {
    width: 50%;
  }

  .md\:w-55 {
    width: 55%;
  }

  .md\:w-60 {
    width: 60%;
  }

  .md\:w-65 {
    width: 65%;
  }

  .md\:w-70 {
    width: 70%;
  }

  .md\:w-75 {
    width: 75%;
  }

  .md\:w-80 {
    width: 80%;
  }

  .md\:w-85 {
    width: 85%;
  }

  .md\:w-90 {
    width: 90%;
  }

  .md\:w-95 {
    width: 95%;
  }

  .md\:w-100 {
    width: 100%;
  }
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.entry-content > * + * {
  margin-top: 1.5rem;
}

.entry-content .alignleft {
  float: left;
  margin-bottom: 1.5rem;
  margin-right: 2rem;
}

.entry-content .alignright {
  float: right;
  margin-bottom: 1.5rem;
  margin-left: 2rem;
}

.entry-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  .entry-content .alignwide {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--fjk-content-width-max, 75rem);
  }
}

.entry-content .alignfull {
  margin-left: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

.wp-block-group.has-background {
  padding: 2rem;
}

@media (min-width: 768px) {
  .wp-block-group.has-background {
    padding: 3rem;
  }
}

.wp-block-cover {
  min-height: 400px;
}

@media (min-width: 768px) {
  .wp-block-cover {
    min-height: 500px;
  }
}

@media (min-width: 1024px) {
  .wp-block-cover {
    min-height: 600px;
  }
}

.wp-block-columns {
  gap: 2rem;
}

@media (min-width: 768px) {
  .wp-block-columns {
    gap: 3rem;
  }
}

.wp-block-image img {
  height: auto;
}

.wp-block-image figcaption {
  color: var(--fjk-color-black, #333);
  font-size: 0.875rem;
  margin-top: 0.5rem;
  text-align: center;
}

.wp-block-gallery {
  gap: 1.5rem;
}

.wp-block-pullquote {
  border-bottom: 4px solid var(--fjk-color-accent, #00b9ef);
  border-top: 4px solid var(--fjk-color-accent, #00b9ef);
  padding: 3rem 0;
}

.wp-block-pullquote blockquote {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}

.wp-block-pullquote p {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}

.wp-block-pullquote cite {
  color: var(--fjk-color-black, #333);
  font-size: 1rem;
  font-style: normal;
}

.wp-block-table table {
  width: 100%;
}

.wp-block-code code {
  background-color: #111;
  border-radius: var(--fjk-radius, 8px);
  color: #fff;
  display: block;
  overflow-x: auto;
  padding: 1.5rem;
}

.wp-block-separator.is-style-wide {
  border-top-width: 2px;
}

.wp-block-separator.is-style-dots {
  border: 0;
  text-align: center;
}

.wp-block-separator.is-style-dots::before {
  color: var(--fjk-color-black, #333);
  content: "···";
  font-size: 1.5rem;
  letter-spacing: 0.5rem;
}

.wp-block-media-text {
  gap: 2rem;
}

@media (min-width: 768px) {
  .wp-block-media-text {
    gap: 3rem;
  }
}

.wp-block-list {
  padding-left: 2rem;
}

.page-error {
  padding: 3rem 0 4rem;
  text-align: center;
}

@media (min-width: 768px) {
  .page-error {
    padding: 5rem 0 6rem;
  }
}

.page-error .img_404 {
  margin: 0 auto 1.5rem;
  max-width: 360px;
}

.page-error .img_404 img {
  display: block;
  height: auto;
  width: 100%;
}

.page-error p {
  line-height: 1.8;
  margin: 0 auto 2rem;
}

.page-error .m-button-layout {
  justify-content: center;
}