@charset "UTF-8";
/*--------------------------------------------
  FOUNDATION
--------------------------------------------*/
/***
    The new CSS reset - version 1.9 (last updated 19.6.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
::-moz-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* remove default dot (•) sign */
::marker {
  content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
}

/*--------------------------------------------
  COMPLEMENT
--------------------------------------------*/
/*--------------------------------------------
  GRAYSCALE
--------------------------------------------*/
/*--------------------------------------------
  INVERT
--------------------------------------------*/
/*--------------------------------------------
  MIX
--------------------------------------------*/
/*--------------------------------------------
  ADJUST HUE
--------------------------------------------*/
/*--------------------------------------------
  ALPHA
--------------------------------------------*/
/*--------------------------------------------
  LIGHTEN
--------------------------------------------*/
/*--------------------------------------------
  DARKEN
--------------------------------------------*/
/*--------------------------------------------
  SATURATE
--------------------------------------------*/
/*--------------------------------------------
  DESATURATE
--------------------------------------------*/
/*--------------------------------------------
  APPEND
--------------------------------------------*/
/*--------------------------------------------
  INDEX
--------------------------------------------*/
/*--------------------------------------------
  JOIN
--------------------------------------------*/
/*--------------------------------------------
  LENGTH
--------------------------------------------*/
/*--------------------------------------------
  NTH
--------------------------------------------*/
/*--------------------------------------------
  MERGE
--------------------------------------------*/
/*--------------------------------------------
  GET
--------------------------------------------*/
/*--------------------------------------------
  KEYS
--------------------------------------------*/
/*--------------------------------------------
  REMOVE
--------------------------------------------*/
/*--------------------------------------------
  PI
--------------------------------------------*/
/*--------------------------------------------
  CEIL
--------------------------------------------*/
/*--------------------------------------------
  FLOOR
--------------------------------------------*/
/*--------------------------------------------
  ROUND
--------------------------------------------*/
/*--------------------------------------------
  ABS
--------------------------------------------*/
/*--------------------------------------------
  POW
--------------------------------------------*/
/*--------------------------------------------
  SQRT
--------------------------------------------*/
/*--------------------------------------------
  COS
--------------------------------------------*/
/*--------------------------------------------
  SIN
--------------------------------------------*/
/*--------------------------------------------
  TAN
--------------------------------------------*/
/*--------------------------------------------
  ACOS
--------------------------------------------*/
/*--------------------------------------------
  ASIN
--------------------------------------------*/
/*--------------------------------------------
  ATAN
--------------------------------------------*/
/*--------------------------------------------
  ATAN2
--------------------------------------------*/
/*--------------------------------------------
  UNIT
--------------------------------------------*/
/*--------------------------------------------
  DIV
--------------------------------------------*/
/*--------------------------------------------
  TYPE OF
--------------------------------------------*/
/*--------------------------------------------
  QUOTE
--------------------------------------------*/
/*--------------------------------------------
  UNQUOTE
--------------------------------------------*/
/*--------------------------------------------
  INDEX
--------------------------------------------*/
/*--------------------------------------------
  STR LENGTH
--------------------------------------------*/
/*--------------------------------------------
  STR SLICE
--------------------------------------------*/
/*--------------------------------------------
  UPPER CASE
--------------------------------------------*/
/*--------------------------------------------
  LOWER CASE
--------------------------------------------*/
/*--------------------------------------------
  PATH
--------------------------------------------*/
/*--------------------------------------------
  STATE
--------------------------------------------*/
/*--------------------------------------------
  MEDIA
--------------------------------------------*/
/*--------------------------------------------
  FRAMEWORK
--------------------------------------------*/
/*--------------------------------------------
  COLOR
--------------------------------------------*/
/*--------------------------------------------
  SCROLLBAR
--------------------------------------------*/
/*--------------------------------------------
  FONT FAMILY
--------------------------------------------*/
/*--------------------------------------------
  TRANSITION
--------------------------------------------*/
/*--------------------------------------------
  OPACITY
--------------------------------------------*/
/*--------------------------------------------
  BORDER RADIUS
--------------------------------------------*/
/*--------------------------------------------
  ICON
--------------------------------------------*/
/*--------------------------------------------
  FONT FACE
--------------------------------------------*/
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icon/icomoon.eot?fsx2ee");
  src: url("../fonts/icon/icomoon.eot?fsx2ee#iefix") format("embedded-opentype"), url("../fonts/icon/icomoon.ttf?fsx2ee") format("truetype"), url("../fonts/icon/icomoon.woff?fsx2ee") format("woff"), url("../fonts/icon/icomoon.svg?fsx2ee#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/*--------------------------------------------
  PATH
--------------------------------------------*/
/*--------------------------------------------
  STATE
--------------------------------------------*/
/*--------------------------------------------
  STATE
--------------------------------------------*/
/*--------------------------------------------
  COLOR
--------------------------------------------*/
/*--------------------------------------------
  EM
--------------------------------------------*/
/*--------------------------------------------
  FONT SIZE
--------------------------------------------*/
/*--------------------------------------------
  FONT SIZE SP
--------------------------------------------*/
/*--------------------------------------------
  FONT FAMIRY
--------------------------------------------*/
/*--------------------------------------------
  FONT WEIGHT
--------------------------------------------*/
/*--------------------------------------------
  DIVISION SHORTCODE
--------------------------------------------*/
/*--------------------------------------------
  COLOR
--------------------------------------------*/
/*--------------------------------------------
  WIDTH
--------------------------------------------*/
/*--------------------------------------------
  EASING
--------------------------------------------*/
/*--------------------------------------------
  UNITLESS
--------------------------------------------*/
/*--------------------------------------------
  STRING REPLACE
--------------------------------------------*/
/*--------------------------------------------
  CAMEL CASE
--------------------------------------------*/
/*--------------------------------------------
  MEDIA QUERY
--------------------------------------------*/
/*--------------------------------------------
  SCROLL BAR
--------------------------------------------*/
/*--------------------------------------------
  ICON
--------------------------------------------*/
/*--------------------------------------------
  FADE IN
--------------------------------------------*/
/*--------------------------------------------
  MOVE
--------------------------------------------*/
/*--------------------------------------------
  SCALE
--------------------------------------------*/
/*--------------------------------------------
  SCALE X
--------------------------------------------*/
/*--------------------------------------------
  SCALE Y
--------------------------------------------*/
/*--------------------------------------------
  KEYFRAMES
--------------------------------------------*/
/*--------------------------------------------
  BASE
--------------------------------------------*/
html {
  --scrollbar: 18px;
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}
@media (1920px < width) {
  html {
    font-size: 0.625vw;
  }
}
@media (width < 1200px) {
  html {
    font-size: calc(50% + 2 * (100vw - 992px) / 208);
  }
}
@media (width < 992px) {
  html {
    font-size: calc(62.5% + 2 * (100vw - 768px) / 224);
  }
}
@media (width < 768px) {
  html {
    font-size: calc(62.5% + 2 * (100vw - 576px) / 192);
  }
}
@media (width < 576px) {
  html {
    font-size: calc(62.5% + 2 * (100vw - 390px) / 186);
  }
}
@media (width < 390px) {
  html {
    font-size: calc(50% + 2 * (100vw - 320px) / 70);
  }
}
html.mpdal-open, html.slideout-open {
  overflow: clip;
  padding-right: var(--scrollbar);
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: #000;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (width < 992px) {
  body {
    font-size: 1.6rem;
  }
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition-property: none;
  transition-property: none;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

main,
picture {
  display: block;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

table {
  width: 100%;
}

a,
button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  color: currentColor;
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  word-break: break-all;
}

button {
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
  color: currentColor;
  cursor: pointer;
  -webkit-transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

svg {
  fill: currentColor;
}

sup {
  font-size: max(0.625em, 10px);
  vertical-align: super;
}

sub {
  font-size: max(0.625em, 10px);
  vertical-align: sub;
}

@-webkit-keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}

@keyframes splide-loading {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-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 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  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 {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  -webkit-animation: splide-loading 1s linear infinite;
  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 {
  clip: rect(0 0 0 0);
  border: 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;
}

/*--------------------------------------------
  LAYOUT
--------------------------------------------*/
/*--------------------------------------------
  CONTENT
--------------------------------------------*/
.l-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  overflow: clip;
}

/*--------------------------------------------
  HEADER
--------------------------------------------*/
/*--------------------------------------------
  MAIN
--------------------------------------------*/
.l-main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

/*--------------------------------------------
  FOOTER
--------------------------------------------*/
/*--------------------------------------------
  company btn
--------------------------------------------*/
.l-companyBtn__inner {
  display: grid;
  row-gap: 6rem;
  padding-bottom: 12.8rem;
}
@media (width < 992px) {
  .l-companyBtn__inner {
    row-gap: 4rem;
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .l-companyBtn__inner {
    row-gap: 3rem;
    padding-bottom: 12rem;
  }
}
.l-companyBtn__mainList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 4.2rem;
  -moz-column-gap: 4.2rem;
  column-gap: 4.2rem;
  row-gap: 1.8rem;
}
@media (width < 992px) {
  .l-companyBtn__mainList {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
}
@media (width < 768px) {
  .l-companyBtn__mainList {
    grid-template-columns: 1fr;
    row-gap: 1.1875rem;
  }
}
.l-companyBtn__subList {
  display: grid;
  grid-template-columns: repeat(5, auto);
  -webkit-column-gap: 4.5rem;
  -moz-column-gap: 4.5rem;
  column-gap: 4.5rem;
}
@media (width < 992px) {
  .l-companyBtn__subList {
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media (width < 768px) {
  .l-companyBtn__subList {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 0;
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
}
.l-companyBtn__subLink {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 1fr auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  border-bottom: 1px solid #DDD;
}
@media (width < 992px) {
  .l-companyBtn__subLink {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (width < 768px) {
  .l-companyBtn__subLink {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
@media (hover: hover) {
  .l-companyBtn__subLink:hover {
    border-color: #1E52A6;
  }
  .l-companyBtn__subLink:hover .l-companyBtn__subLinkText {
    color: #1E52A6;
  }
  .l-companyBtn__subLink:hover .l-companyBtn__menuArrow {
    color: #1E52A6;
  }
  .l-companyBtn__subLink:hover .l-companyBtn__menuArrow:first-of-type {
    translate: 0% 0;
  }
  .l-companyBtn__subLink:hover .l-companyBtn__menuArrow:last-of-type {
    translate: 100% 0;
  }
}
.l-companyBtn__subLinkText {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .l-companyBtn__subLinkText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .l-companyBtn__subLinkText {
    font-size: 1.2rem;
  }
}
.l-companyBtn__menuArrowFrame {
  display: grid;
  place-items: center;
  width: 1.5rem;
  overflow: clip;
  margin-right: 1rem;
}
@media (width < 768px) {
  .l-companyBtn__menuArrowFrame {
    width: 1rem;
  }
}
.l-companyBtn__menuArrow {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
  stroke: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.l-companyBtn__menuArrow:first-of-type {
  translate: -100% 0;
}

/*--------------------------------------------
  OBJECT
--------------------------------------------*/
/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  Button Component
--------------------------------------------*/
.c-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  padding: 0.5rem 0;
  border-radius: 1rem;
}
.c-btn.--white .c-btn__text {
  color: #ffffff;
}
@media (hover: hover) {
  .c-btn.--white:hover {
    --hover_bg: #2D85E3;
  }
}
.c-btn.--center {
  margin-inline: auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (width < 768px) {
  .c-btn.--spLeft {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.c-btn.--more .c-btn__iconFrame {
  background-color: #1E52A6;
  width: 3.6rem;
  color: #ffffff;
}
@media (width < 768px) {
  .c-btn.--more .c-btn__iconFrame {
    width: 2.5rem;
  }
}
.c-btn.--more .c-btn__text {
  font-size: 1.6rem;
}
@media (width < 768px) {
  .c-btn.--more .c-btn__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .c-btn.--more .c-btn__text {
    font-size: 1.1rem;
  }
}
.c-btn.--more .c-btn__text::after {
  background-color: #1E52A6;
}
.c-btn.--external .c-btn__icon:first-of-type {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}
@media (hover: hover) {
  .c-btn:hover {
    --hover_bg: #1E52A6;
  }
  .c-btn:hover .c-btn__icon {
    stroke: #ffffff;
  }
  .c-btn:hover .c-btn__icon:first-of-type {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  .c-btn:hover .c-btn__icon:last-of-type {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  .c-btn:hover .c-btn__iconFrame {
    background-color: var(--hover_bg);
    color: #ffffff;
  }
  .c-btn:hover .c-btn__text::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  .c-btn.--external:hover .c-btn__icon:first-of-type {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
.c-btn__text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: currentColor;
  position: relative;
  display: inline-block;
}
.c-btn__text::after {
  background-color: currentColor;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  z-index: 1;
}
@media (width < 992px) {
  .c-btn__text {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .c-btn__text {
    font-size: 1.4rem;
  }
  .--companyTOP .c-btn__text {
    font-size: 1.6rem;
  }
}
.c-btn__iconFrame {
  width: 5.4rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #EBEBEB;
  display: grid;
  place-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.--companyTOP .c-btn__iconFrame {
  width: 4.1rem;
}
@media (width < 992px) {
  .c-btn__iconFrame {
    width: 4.5rem;
  }
  .--companyTOP .c-btn__iconFrame {
    width: 3.7rem;
  }
}
@media (width < 768px) {
  .--companyTOP .c-btn__iconFrame {
    width: 3.3rem;
  }
  .c-btn__iconFrame {
    width: 3.78rem;
  }
}
.c-btn__iconBox {
  display: grid;
  width: 25%;
  overflow: clip;
}
.c-btn__icon {
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.c-btn__icon:first-of-type {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.c-btnCompany {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1.4rem 2.4rem;
  border-radius: 1rem;
  background-color: var(--hover_bg, #1E52A6);
  width: 100%;
  color: #ffffff;
}
@media (width < 992px) {
  .c-btnCompany {
    padding: 1rem 1.5rem;
  }
}
@media (width < 768px) {
  .c-btnCompany {
    padding: 0.8rem 1.6rem;
  }
}
@media (hover: hover) {
  .c-btnCompany:hover {
    --hover_bg: #2D85E3;
  }
  .c-btnCompany:hover .c-btnCompany__icon:first-of-type {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  .c-btnCompany:hover .c-btnCompany__icon:last-of-type {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
.c-btnCompany__text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: currentColor;
  position: relative;
  display: inline-block;
}
@media (width < 992px) {
  .c-btnCompany__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .c-btnCompany__text {
    font-size: 1.4rem;
  }
}
.c-btnCompany__iconFrame {
  width: 4.3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #EBEBEB;
  display: grid;
  place-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .c-btnCompany__iconFrame {
    width: 3.5rem;
  }
}
@media (width < 768px) {
  .c-btnCompany__iconFrame {
    width: 3.78rem;
  }
}
.c-btnCompany__iconBox {
  display: grid;
  width: 25.1162790698%;
  overflow: clip;
}
.c-btnCompany__icon {
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: #000;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.c-btnCompany__icon:first-of-type {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

/*--------------------------------------------
  DECONAME
--------------------------------------------*/
/*--------------------------------------------
  INNER
--------------------------------------------*/
.c-h_height {
  margin-top: var(--h_height);
}

.c-inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media (width < 992px) {
  .c-inner {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media (width < 768px) {
  .c-inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.c-inner.--gutter0 {
  padding-left: 0;
  padding-right: 0;
}
@media (992px <= width) {
  .c-inner {
    max-width: calc(120rem + 4rem * 2);
  }
  .c-inner.--full {
    max-width: 100%;
  }
  .c-inner.--gutter0 {
    max-width: 120rem;
  }
}

/* anime */
@property --mask_linear01 {
  syntax: "<percentage>";
  initial-value: 40%;
  inherits: false;
}
@property --mask_linear02 {
  syntax: "<percentage>";
  initial-value: 60%;
  inherits: false;
}
@-webkit-keyframes mask_anime {
  0% {
    --mask_linear01: -20%;
    --mask_linear02: 0%;
  }
  100% {
    --mask_linear01: 100%;
    --mask_linear02: 120%;
  }
}
@keyframes mask_anime {
  0% {
    --mask_linear01: -20%;
    --mask_linear02: 0%;
  }
  100% {
    --mask_linear01: 100%;
    --mask_linear02: 120%;
  }
}
@-webkit-keyframes mask_anime_scroll {
  0% {
    --mask_linear01: 100%;
    --mask_linear02: 80%;
  }
  100% {
    --mask_linear01: -20%;
    --mask_linear02: 0%;
  }
}
@keyframes mask_anime_scroll {
  0% {
    --mask_linear01: 100%;
    --mask_linear02: 80%;
  }
  100% {
    --mask_linear01: -20%;
    --mask_linear02: 0%;
  }
}
.c-fade {
  -webkit-transform: translate3d(0, 2rem, 0);
  transform: translate3d(0, 2rem, 0);
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition-delay: var(--t-delay, 0.2s);
  transition-delay: var(--t-delay, 0.2s);
}
.c-fade.is-anime {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.c-imgAnimation {
  --maskImg: url( 'data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 11" preserveAspectRatio="none"><path d="M0 1l1 10L2 1l1 10L4 1l1 10L6 1l1 10L8 1l1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10 1 10 1-10V0H0z" fill="%23fbd8c2"/></svg>');
  position: relative;
}
.c-imgAnimation::after, .c-imgAnimation::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-mask-image: var(--maskImg), -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(#000), to(#000));
  -webkit-mask-image: var(--maskImg), linear-gradient(360deg, transparent var(--mask_linear01), #000 var(--mask_linear02), #000);
  mask-image: var(--maskImg), -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(#000), to(#000));
  mask-image: var(--maskImg), linear-gradient(360deg, transparent var(--mask_linear01), #000 var(--mask_linear02), #000);
  -webkit-mask-position: 0 0, 100% 0;
  mask-position: 0 0, 100% 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: auto 500%, 300% 100%;
  mask-size: auto 500%, 300% 100%;
  background-color: #1E52A6;
}
.c-imgAnimation::after {
  -webkit-transition: 0.7s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  transition: 0.7s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  z-index: 1;
}
.c-imgAnimation::before {
  -webkit-transition: 0.7s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: 0.7s cubic-bezier(0.075, 0.82, 0.165, 1);
  z-index: 2;
}
.c-imgAnimation.is-anime::after, .c-imgAnimation.is-anime::before {
  -webkit-mask-size: auto 0, 300% 100%;
  mask-size: auto 0, 300% 100%;
  -webkit-animation: mask_anime 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  animation: mask_anime 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.c-timeDelay01 {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
  --t_delay: 0.4s;
}

.c-timeDelay02 {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
  --t_delay: 0.6s;
}

.c-timeDelay03 {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
  --t_delay: 0.8s;
}

.c-timeDelay04 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
  --t_delay: 1s;
}

.c-timeDelay05 {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
  --t_delay: 1.2s;
}

/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  GRID
--------------------------------------------*/
.c-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}
.c-grid__itemFrame.--full {
  grid-column: 1/-1;
}
.c-grid.--gapXs {
  gap: 2rem;
}
.c-grid.--gapSm {
  gap: 3rem;
}
.c-grid.--gapRow0 {
  row-gap: 0;
}
.c-grid.--gapRowSs {
  row-gap: 1rem;
}
.c-grid.--gapRowXs {
  row-gap: 2rem;
}
.c-grid.--gapRowSm {
  row-gap: 3rem;
}
.c-grid.--gapCol0 {
  -webkit-column-gap: 0;
  -moz-column-gap: 0;
  column-gap: 0;
}
.c-grid.--gapColSs {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}
.c-grid.--gapColXs {
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}
.c-grid.--gapColSm {
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
}
@media (768px <= width) {
  .c-grid.--col3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (width < 992px) {
  .c-grid {
    gap: 3.5rem;
  }
  .c-grid.--gapRowXs {
    row-gap: 1.5rem;
  }
  .c-grid.--gapRowSm {
    row-gap: 2rem;
  }
  .c-grid.--gapColXs {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
  .c-grid.--gapColSm {
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
  .c-grid.--gapXs {
    gap: 1.5rem;
  }
  .c-grid.--gapSm {
    gap: 2rem;
  }
}
@media (width < 768px) {
  .c-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
@media (width < 768px) and (576px <= width) {
  .c-grid {
    grid-template-columns: 1fr;
  }
  .c-grid.--col2XS {
    grid-template-columns: 1fr 1fr;
  }
}
@media (width < 768px) {
  .c-grid.--col2SP {
    grid-template-columns: 1fr 1fr;
  }
}

/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  XXXXX
--------------------------------------------*/
.c-img {
  width: 100%;
}

/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  BASIC
--------------------------------------------*/
.c-logoBasic__img > img {
  max-width: none;
  height: 1em;
}

/*--------------------------------------------
  BASIC
--------------------------------------------*/
/*--------------------------------------------
  BASIC
--------------------------------------------*/
/*--------------------------------------------
  TEXT
--------------------------------------------*/
.c-txt {
  font-size: 1.7rem;
  line-height: 2;
}
@media (width < 992px) {
  .c-txt {
    font-size: 1.5rem;
  }
}
@media (width < 768px) {
  .c-txt {
    font-size: 1.4rem;
  }
}
.c-txt.--white {
  color: #ffffff;
}
.c-txt:has(+ .c-txt) {
  margin-bottom: 1em;
}

/*--------------------------------------------
  XXXX
--------------------------------------------*/
.c-ttl {
  display: grid;
  color: #1E52A6;
}
.c-ttl.--white {
  color: #ffffff;
}
.c-ttl.--white .c-ttl__sub {
  color: #ffffff;
}
.c-ttl__main {
  font-size: 9rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  line-height: 1.25;
  color: currentColor;
  overflow: clip;
}
@media (width < 992px) {
  .c-ttl__main {
    font-size: 7rem;
  }
}
@media (width < 768px) {
  .c-ttl__main {
    font-size: 6.3rem;
  }
}
.c-ttl__sub {
  font-size: 1.7rem;
  line-height: 1.6;
  font-weight: 700;
  color: #000;
}
@media (width < 992px) {
  .c-ttl__sub {
    font-size: 1.5rem;
  }
}
@media (width < 768px) {
  .c-ttl__sub {
    font-size: 1.4rem;
  }
}

/*--------------------------------------------
  BREADCRUMB
--------------------------------------------*/
@media (width < 768px) {
  .p-breadcrumb {
    display: none;
  }
}
.p-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}
.p-breadcrumb__item {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.9px;
}

/*--------------------------------------------
  FOOTER
--------------------------------------------*/
.p-footer {
  background-color: #f5f5f5;
  position: relative;
}
.p-footer__main {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media (width < 768px) {
  .p-footer__main {
    padding-top: 6rem;
    padding-bottom: 0rem;
  }
}
.p-footer__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 8rem;
}
@media (width < 768px) {
  .p-footer__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 4rem;
    margin-bottom: 3rem;
  }
}
.p-footer__logo img {
  width: 9.4rem;
  height: auto;
  -webkit-backface-visibility: hidden;
}
@media (width < 768px) {
  .p-footer__logo {
    text-align: center;
    width: 100%;
  }
  .p-footer__logo img:first-of-type {
    margin-inline: auto;
    margin-bottom: 2.5rem;
  }
  .p-footer__logo img:last-of-type {
    width: 20rem;
    height: auto;
    margin-inline: auto;
  }
}
@media (width < 768px) {
  .p-footer__contact {
    width: 100%;
  }
}
.p-footer__contactBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  width: 24.8rem;
  height: 5.2rem;
  border-radius: 0.3rem;
  background-color: #1E52A6;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-footer__contactBtn svg {
  width: 2rem;
  height: auto;
}
@media (hover: hover) {
  .p-footer__contactBtn:hover {
    background-color: #2D85E3;
  }
}
@media (width < 768px) {
  .p-footer__contactBtn {
    width: 100%;
    max-width: 28.7rem;
    height: 5.5rem;
    margin-inline: auto;
  }
}
.p-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10rem;
}
@media (width < 768px) {
  .p-footer__nav {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}
.p-footer__navCol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.5rem;
}
@media (width < 768px) {
  .p-footer__navCol {
    display: contents;
  }
  .p-footer__navCol.--accordion {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0;
    border-bottom: 1px solid #DDD;
  }
  .p-footer__navCol.--accordion:first-of-type {
    border-top: 1px solid #DDD;
  }
}
.p-footer__navTitle {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  position: relative;
}
@media (hover: hover) {
  .p-footer__navTitle:hover {
    color: #1E52A6;
  }
}
@media (width < 768px) {
  .p-footer__navTitle {
    padding: 1.5rem 2rem 1.5rem 0;
  }
  .--accordion .p-footer__navTitle {
    border-bottom: none;
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .p-footer__navTitle {
    border-bottom: 1px solid #DDD;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media (width < 768px) {
  .p-footer__navTitleIcon.--accordion {
    width: 5rem;
    aspect-ratio: 1;
    position: relative;
  }
  .p-footer__navTitleIcon.--accordion::after, .p-footer__navTitleIcon.--accordion::before {
    content: "";
    background-color: currentColor;
    width: 1rem;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
    transition: 0.2s cubic-bezier(0, 0, 1, 1);
  }
  .p-footer__navTitleIcon.--accordion::after {
    rotate: 90deg;
  }
  .p-footer__navTitleIcon.--accordion.is-open::after {
    rotate: 0deg;
  }
  .p-footer__navTitleIcon.--accordion.is-open::before {
    opacity: 0;
  }
  .p-footer__navTitleIcon.--normal {
    --color1: currentColor;
    width: 7.5px;
  }
}
.p-footer__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}
@media (width < 768px) {
  .p-footer__navList {
    display: none;
    grid-column: 1/3;
    padding-left: 1rem;
    margin-bottom: 2rem;
  }
}
.p-footer__navItem {
  display: grid;
}
.p-footer__navItem a {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.1;
  color: #000;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (hover: hover) {
  .p-footer__navItem a:hover {
    color: #1E52A6;
  }
}
@media (width < 992px) {
  .p-footer__navItem a {
    line-height: 1.4;
  }
}
@media (width < 768px) {
  .p-footer__navItem a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1rem 2rem 1rem 0;
  }
}
.p-footer__subInner {
  padding: 3rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  border-bottom: 1px solid #DDD;
}
.p-footer__subLinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}
.p-footer__subLinkIcon.--01 {
  width: 1rem;
}
.p-footer__subLinkIcon.--02 {
  width: 1.3rem;
}
.p-footer__subLinkItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-footer__subLinkItem a svg {
  width: 1rem;
  height: auto;
}
@media (hover: hover) {
  .p-footer__subLinkItem a:hover {
    color: #1E52A6;
  }
}
.p-footer__sns {
  padding: 3rem 0;
  background-color: #f5f5f5;
}
@media (width < 768px) {
  .p-footer__sns {
    padding: 4rem 0 3rem 0;
  }
}
.p-footer__snsInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 6rem;
}
.p-footer__snsLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
  -webkit-transition: opacity 0.3s cubic-bezier(0, 0, 1, 1);
  transition: opacity 0.3s cubic-bezier(0, 0, 1, 1);
}
.p-footer__snsLink img {
  max-width: 3.2rem;
}
@media (width < 768px) {
  .p-footer__snsLink {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 1.5rem;
    text-align: center;
  }
}
@media (hover: hover) {
  .p-footer__snsLink:hover {
    opacity: 0.7;
  }
}
.p-footer__bottom {
  background-color: #1E52A6;
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
  overflow: hidden;
}
.p-footer__bottomInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}
.p-footer__bottomLinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
}
@media (width < 768px) {
  .p-footer__bottomLinks {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 0rem;
  }
}
.p-footer__bottomLinks li:not(:last-child) {
  position: relative;
  padding-right: 2rem;
}
@media (width < 768px) {
  .p-footer__bottomLinks li:not(:last-child) {
    padding-right: 0;
  }
}
.p-footer__bottomLinks li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 1.2rem;
  background-color: #ffffff;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (width < 768px) {
  .p-footer__bottomLinks li:not(:last-child)::after {
    display: none;
  }
}
.p-footer__bottomLinks li a {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  color: #ffffff;
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(#fff)) no-repeat 100% 100%;
  background: linear-gradient(0deg, #fff, #fff) no-repeat 100% 100%;
  background-size: 0 1px;
  -webkit-transition: background-size 0.2s cubic-bezier(0, 0, 1, 1);
  transition: background-size 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (hover: hover) {
  .p-footer__bottomLinks li a:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
.p-footer__externalIcon {
  width: 1.4rem;
  height: auto;
}
.p-footer__copyright {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
  text-align: center;
}
@media (width < 768px) {
  .p-footer__copyright {
    font-size: 1rem;
  }
}

/*--------------------------------------------
  GLOBAL NAVIGATION 
--------------------------------------------*/
.p-gnav__formButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.8;
  background-color: #1E52A6;
  padding: 3.2rem 2.8rem;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (hover: hover) {
  .p-gnav__formButton:hover {
    background-color: #2D85E3;
  }
}
.p-gnav__formButtonIcon {
  width: 2rem;
  height: 1.3rem;
}
.p-gnav__inner {
  display: grid;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  grid-template-columns: 1fr 17.6rem;
}
.p-gnav__listFrame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  row-gap: 3px;
}
.p-gnav__mainList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}
.p-gnav__mainLink {
  font-size: 1.7rem;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  background: -webkit-gradient(linear, left bottom, left top, from(#1E52A6), to(#1E52A6)) no-repeat 100% 100%;
  background: linear-gradient(0deg, #1E52A6, #1E52A6) no-repeat 100% 100%;
  background-size: 0 1px;
  -webkit-transition: background-size 0.3s, color 0.3s;
  transition: background-size 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-gnav__mainLink:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
    color: #1E52A6;
  }
}
.p-gnav__mainLinkIcon {
  fill: none;
  stroke: currentColor;
  width: 1.2rem;
  height: auto;
  translate: 0 25%;
}
.p-gnav__subList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
}
.p-gnav__subLink {
  font-size: 1.3rem;
  line-height: 1.8;
  color: #000000;
}
.p-gnav__subLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 5px;
  -moz-column-gap: 5px;
  column-gap: 5px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-gnav__subIcon {
  height: auto;
}
.p-gnav__subIcon.--01 {
  width: 1rem;
}
.p-gnav__subIcon.--02 {
  width: 1.3rem;
}
.p-gnav__mainItem {
  padding-bottom: 2rem;
}
@media (hover: hover) {
  .p-gnav__mainItem:hover .p-megamenu {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

.p-megamenu {
  background-color: #F5F5F5;
  opacity: 0;
  width: 100%;
  pointer-events: none;
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
  position: fixed;
  left: 0;
  top: var(--h_height);
  z-index: 1000;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.p-megamenu__inner {
  padding: 5rem 12rem;
}
.p-megamenu__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
  row-gap: 5.4rem;
}
.p-megamenu__item:first-of-type {
  grid-column: 1/6;
  grid-row: 1/2;
}
.p-megamenu__item:first-of-type .p-megamenu__link {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-megamenu__item:first-of-type .p-megamenu__link > span:first-of-type {
  display: inline-block;
  position: relative;
}
.p-megamenu__item:first-of-type .p-megamenu__link > span:first-of-type::after {
  background-color: #1E52A6;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: top right;
  transform-origin: top right;
  z-index: 1;
}
@media (hover: hover) {
  .p-megamenu__item:first-of-type .p-megamenu__link:hover > span:first-of-type::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: top left;
    transform-origin: top left;
  }
  .p-megamenu__item:first-of-type .p-megamenu__link:hover .p-megamenu__iconFrame {
    background-color: #EBEBEB;
  }
  .p-megamenu__item:first-of-type .p-megamenu__link:hover .p-megamenu__icon {
    stroke: #000;
  }
  .p-megamenu__item:first-of-type .p-megamenu__link:hover .p-megamenu__icon:first-of-type {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  .p-megamenu__item:first-of-type .p-megamenu__link:hover .p-megamenu__icon:last-of-type {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
.p-megamenu__item:not(.p-megamenu__item:first-of-type) .p-megamenu__link {
  padding-bottom: 1.7rem;
  padding: 1.7rem 1rem 1.7rem 1rem;
  -webkit-box-shadow: 0 -1px 0 #DDD inset;
  box-shadow: 0 -1px 0 #DDD inset;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
  -webkit-transition: background-size 0.3s, color 0.3s;
  transition: background-size 0.3s, color 0.3s;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.p-megamenu__item:not(.p-megamenu__item:first-of-type) .p-megamenu__link::after {
  background-color: #1E52A6;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: top right;
  transform-origin: top right;
  z-index: 1;
}
@media (hover: hover) {
  .p-megamenu__item:not(.p-megamenu__item:first-of-type) .p-megamenu__link:hover {
    color: #1E52A6;
  }
  .p-megamenu__item:not(.p-megamenu__item:first-of-type) .p-megamenu__link:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: top left;
    transform-origin: top left;
  }
}
.p-megamenu__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-megamenu__iconFrame {
  width: 5.4rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #1E52A6;
  display: grid;
  place-items: center;
  display: grid;
  overflow: clip;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-megamenu__iconFrame {
    width: 4.5rem;
  }
}
@media (width < 768px) {
  .p-megamenu__iconFrame {
    width: 3.78rem;
  }
}
.p-megamenu__iconBox {
  display: grid;
  width: 25%;
  overflow: clip;
}
.p-megamenu__icon {
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: #ffffff;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-megamenu__icon:first-of-type {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.p-megamenu__subIcon {
  stroke: currentColor;
  width: 1.6rem;
  height: 1.5rem;
  -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

/*--------------------------------------------
  HEADER MAIN
--------------------------------------------*/
.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 3;
}

.p-header {
  display: grid;
  grid-template-columns: 29.8611111111% 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: #ffffff;
}
@media (width < 992px) {
  .p-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2rem 1.5rem;
  }
}
.p-header__logoFrame {
  padding: 2rem 3.5rem;
}
.p-header__logoFrame img {
  -webkit-backface-visibility: hidden;
}
@media (width < 992px) {
  .p-header__logoFrame {
    padding: 0;
    max-width: 60%;
  }
}
@media (992px <= width) {
  .p-header__toggleFrame {
    display: none;
  }
}
@media (width < 992px) {
  .p-header__gnavFrame {
    display: none;
  }
  .p-header__toggle {
    width: 3rem;
    height: 1.5rem;
    position: relative;
  }
  .p-header__toggle > i {
    width: 100%;
    height: 2px;
    background-color: #000;
    position: absolute;
    left: 0;
    -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }
  .p-header__toggle > i:nth-of-type(1) {
    top: 0;
  }
  .p-header__toggle > i:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .p-header__toggle > i:nth-of-type(3) {
    top: calc(100% - 2px);
  }
  html.slideout-open .p-header__toggle > i:nth-of-type(1) {
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  html.slideout-open .p-header__toggle > i:nth-of-type(2) {
    opacity: 0;
  }
  html.slideout-open .p-header__toggle > i:nth-of-type(3) {
    top: 50%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

@media (992px <= width) {
  .p-hamburger {
    display: none;
  }
}
.p-hamburger {
  position: fixed;
  left: 0;
  top: var(--h_height, 9.1rem);
  width: 100%;
  overflow: scroll;
  height: calc(100% - var(--h_height));
  background-color: #1E52A6;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 1, 1);
  transition: 0.4s cubic-bezier(0, 0, 1, 1);
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  pointer-events: none;
}
html.slideout-open .p-hamburger {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  pointer-events: all;
}
.p-hamburger__inner {
  padding: 4rem;
}
.p-hamburger__list {
  display: grid;
  margin-bottom: 4.5rem;
  max-width: 35rem;
  margin-inline: auto;
}
.p-hamburger__item {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38);
}
.p-hamburger__item:last-of-type {
  border-bottom: none;
}
.p-hamburger__item.--accordion {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-hamburger__link {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  color: #ffffff;
  position: relative;
}
.p-hamburger__linkIconFrame {
  display: inline-block;
  width: 3rem;
  aspect-ratio: 1;
  position: relative;
  color: #ffffff;
}
.p-hamburger__linkIconFrame::after, .p-hamburger__linkIconFrame::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 26.6666666667%;
  height: 2px;
  background-color: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-hamburger__linkIconFrame::before {
  rotate: 90deg;
}
.p-hamburger__linkIconFrame.is-open::before {
  rotate: 0deg;
}
.p-hamburger__linkIconFrame.is-open::after {
  opacity: 0;
}
.p-hamburger__btnFrame {
  max-width: 35rem;
  margin-inline: auto;
}
.p-hamburger__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2rem;
  background-color: #ffffff;
  color: #1E52A6;
  border-radius: 8px;
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: 500;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}
.p-hamburger__btnIcon {
  --color1: currentColor;
  width: 19.5px;
  height: auto;
}
.p-hamburger__subList {
  display: grid;
  row-gap: 1.5rem;
  padding-left: 2rem;
  padding-top: 2rem;
  margin-bottom: 2rem;
  grid-column: 1/3;
}
.p-hamburger__subLink {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  color: #ffffff;
}

.p-global {
  position: fixed;
  top: var(--h_height);
  left: 0;
  width: 100%;
  z-index: 3;
  height: calc(100vh - var(--h_height));
  opacity: 0;
  overflow: scroll;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-global.is-act {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.p-global__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(51, 51, 51, 0.5);
  mix-blend-mode: multiply;
  z-index: 1;
  top: 0;
  left: 0;
}
@media (width < 576px) {
  .p-global__overlay {
    height: 125%;
  }
}
.p-global__frame {
  max-width: 120rem;
  width: 95%;
  padding: 7.5rem 3rem;
  background-color: #f3f3f3;
  margin-inline: auto;
  position: relative;
  z-index: 2;
  display: grid;
  row-gap: 7rem;
}
@media (width < 768px) {
  .p-global__frame {
    row-gap: 3rem;
    padding: 5rem 1.5rem;
  }
}
.p-global__inner {
  max-width: 82rem;
  margin-inline: auto;
  width: 100%;
}
.p-global__ttl {
  color: #1E52A6;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 2rem;
}
@media (width < 992px) {
  .p-global__ttl {
    font-size: 2rem;
  }
}
@media (width < 768px) {
  .p-global__ttl {
    font-size: 1.6rem;
  }
}
.p-global__copy {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media (width < 992px) {
  .p-global__copy {
    font-size: 1.5rem;
  }
}
@media (width < 768px) {
  .p-global__copy {
    font-size: 1.3rem;
  }
}
.p-global__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 8rem;
  -moz-column-gap: 8rem;
  column-gap: 8rem;
  row-gap: 1rem;
}
@media (width < 992px) {
  .p-global__list {
    -webkit-column-gap: 5rem;
    -moz-column-gap: 5rem;
    column-gap: 5rem;
  }
}
@media (width < 768px) {
  .p-global__list {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
}
@media (width < 576px) {
  .p-global__list {
    grid-template-columns: 1fr;
  }
}
.p-global__item {
  display: grid;
  row-gap: 1.5rem;
}
@media (width < 992px) {
  .p-global__item {
    row-gap: 1rem;
  }
}
@media (width < 768px) {
  .p-global__item {
    row-gap: 0;
  }
}
.p-global__link {
  padding: 1.7rem 2rem 1.7rem 0rem;
  -webkit-box-shadow: inset 0 -1px 0 #ddd;
  box-shadow: inset 0 -1px 0 #ddd;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
  -webkit-transition: background-size 0.3s, color 0.3s;
  transition: background-size 0.3s, color 0.3s;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (width < 992px) {
  .p-global__link {
    font-size: 1.5rem;
  }
}
@media (width < 768px) {
  .p-global__link {
    font-size: 1.2rem;
  }
}
.p-global__link::after {
  background-color: #1E52A6;
  content: "";
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform-origin: top right;
  transform-origin: top right;
  z-index: 1;
}
@media (hover: hover) {
  .p-global__link:hover {
    color: #1E52A6;
  }
  .p-global__link:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: top left;
    transform-origin: top left;
  }
}
.p-global__subIcon {
  stroke: currentColor;
  width: 1.6rem;
  height: 1.5rem;
  -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.p-global__close {
  position: absolute;
  top: 2.5rem;
  right: 5%;
  border-radius: 7px;
  width: 5rem;
  aspect-ratio: 1;
  cursor: pointer;
}
.p-global__close > i {
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-global__close > i:nth-of-type(1) {
  rotate: 60deg;
}
.p-global__close > i:nth-of-type(2) {
  rotate: -60deg;
}

/*--------------------------------------------
  SIDEBAR
--------------------------------------------*/
/*--------------------------------------------
  BREADCRUMB
--------------------------------------------*/
.p-subHeader__inner {
  padding-top: 3.7rem;
  padding-bottom: 6rem;
}
@media (width < 992px) {
  .p-subHeader__inner {
    padding-top: 3.2rem;
    padding-bottom: 5rem;
  }
}
@media (width < 768px) {
  .p-subHeader__inner {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}
.p-subHeader__ttlFrame {
  display: grid;
  row-gap: 1.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media (width < 768px) {
  .p-subHeader__ttlFrame {
    row-gap: 1rem;
  }
}
.p-subHeader__ttl {
  line-height: 1;
  text-align: center;
}
.p-subHeader__ttl.--ja {
  font-size: 4.8rem;
  font-weight: 500;
  letter-spacing: 2.88px;
  overflow: hidden;
}
@media (width < 992px) {
  .p-subHeader__ttl.--ja {
    font-size: 4rem;
  }
}
@media (width < 768px) {
  .p-subHeader__ttl.--ja {
    font-size: 3.4rem;
    letter-spacing: 2.04px;
    line-height: 1.3;
  }
}
.p-subHeader__ttl.--en {
  font-size: 2rem;
  letter-spacing: 1.2px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  color: #1E52A6;
}
@media (width < 992px) {
  .p-subHeader__ttl.--en {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-subHeader__ttl.--en {
    font-size: 1.4rem;
  }
}

/*--------------------------------------------
  FRAMEWORK
--------------------------------------------*/
/*--------------------------------------------
  XXXXXX
--------------------------------------------*/
.p-homeFv {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 0;
  padding-top: calc(var(--h_height) - 2rem);
}
@media (width < 576px) {
  .p-homeFv {
    position: relative;
    padding-top: var(--h_height);
    max-height: 100vh;
  }
}
.p-homeFv__movieFrame {
  display: grid;
  aspect-ratio: 1440/780;
  position: relative;
  max-height: 100vh;
  width: 100%;
}
@media (width < 768px) {
  .p-homeFv__movieFrame {
    aspect-ratio: 780/525;
  }
}
@media (width < 576px) {
  .p-homeFv__movieFrame {
    display: none;
  }
}
.p-homeFv__movieFrame video {
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% 0;
  width: 102.0833333333%;
  height: 102%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}
.p-homeFv__btnFrame {
  position: absolute;
  left: 50%;
  bottom: 10%;
  translate: -50% 0;
}
@media (width < 992px) {
  .p-homeFv__btnFrame {
    bottom: 7.5%;
  }
}
@media (width < 768px) {
  .p-homeFv__btnFrame {
    bottom: 5%;
  }
}
.p-homeFv__btn {
  width: 17rem;
  height: 17rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background-color: hsla(0, 0%, 45%, 0.4);
  border-radius: 50%;
  cursor: pointer;
}
.p-homeFv__btn > * {
  grid-column: 1;
  grid-row: 1;
}
@media (width < 992px) {
  .p-homeFv__btn {
    width: 12rem;
    height: 12rem;
  }
}
@media (width < 576px) {
  .p-homeFv__btn {
    background-color: transparent;
  }
}
.p-homeFv__btnCircle {
  display: grid;
  width: 100%;
}
.p-homeFv__btnCircle svg {
  width: 100%;
  height: 100%;
}
.p-homeFv__btnText {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
}
@media (width < 768px) {
  .p-homeFv__btnText {
    font-size: 1.8rem;
  }
}
@media (width < 576px) {
  .p-homeFv__btnText {
    font-size: 1.4rem;
  }
}
.p-homeFv__btnIconFrame {
  display: grid;
  row-gap: 1.3rem;
  place-items: center;
}
@media (width < 576px) {
  .p-homeFv__btnIconFrame {
    width: 1.875rem;
  }
}
.p-homeFv__btnIcon {
  stroke: #ffffff;
  width: 1.6rem;
}
.p-homeFv__sliderFrame {
  position: relative;
}
@media (576px <= width) {
  .p-homeFv__sliderFrame {
    display: none;
  }
}
@media (width < 576px) {
  .p-homeFv__sliderFrame {
    /* ズーム */
  }
  .p-homeFv__sliderFrame .splide__slide img {
    -webkit-transition: 5s ease-out;
    transition: 5s ease-out;
  }
  .p-homeFv__sliderFrame .splide__slide.is-active img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
  }
  .p-homeFv__sliderFrame {
    /* スライドのサイズ調整 */
  }
  .p-homeFv__sliderFrame .splide__slide img {
    height: auto;
    width: 100%;
  }
}

.p-modal {
  width: 100%;
  background: rgb(0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  overflow: auto;
  height: 100vh;
}
.p-modal.--sakai {
  background-color: #ffffff;
}
.p-modal.--sakai .p-modal__close > span {
  background-color: #000;
}
.p-modal.--sakai .p-modal__close > span:nth-of-type(1) {
  rotate: 45deg;
}
.p-modal.--sakai .p-modal__close > span:nth-of-type(2) {
  rotate: -45deg;
}
.p-modal.--sakai .p-modal__close .p-modal__closeText {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
}
@media (width < 768px) {
  .p-modal {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}
.p-modal__overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
}
.p-modal__container {
  margin-top: 10vh;
  margin-bottom: 10vh;
  width: 80%;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media (width < 576px) {
  .p-modal__container {
    width: 100%;
    height: 100%;
    margin: 0;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.p-modal__close {
  position: fixed;
  top: 2.5rem;
  right: 5%;
  border-radius: 7px;
  width: 5rem;
  aspect-ratio: 1;
  cursor: pointer;
}
.p-modal__close > span {
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.p-modal__close > span:nth-of-type(1) {
  rotate: 60deg;
}
.p-modal__close > span:nth-of-type(2) {
  rotate: -60deg;
}
.p-modal__movieFrame {
  width: auto;
  aspect-ratio: 16/9;
  max-height: 85vh;
  margin-inline: auto;
  position: relative;
}
.p-modal__movieFrame > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (width < 768px) {
  .p-modalSakai {
    width: 80%;
    margin-inline: auto;
  }
}

html.modal-open {
  overflow: hidden;
}

.p-homeAbout {
  position: relative;
  z-index: 1;
}
.p-homeAbout__frame {
  padding-top: 22rem;
  padding-bottom: 20rem;
  background-color: #1E52A6;
}
@media (width < 992px) {
  .p-homeAbout__frame {
    padding-top: 17rem;
    padding-bottom: 15rem;
  }
}
@media (width < 768px) {
  .p-homeAbout__frame {
    padding-top: 8.8rem;
    padding-bottom: 0;
  }
}
.p-homeAbout__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}
@media (width < 768px) {
  .p-homeAbout__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 8rem;
  }
}
@media (768px <= width) {
  .p-homeAbout__textFrame {
    width: 46.6666666667%;
    position: -webkit-sticky;
    position: sticky;
    top: var(--h_height, 15rem);
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-homeAbout__imgFrame {
  width: 50.3472222222vw;
  margin-left: auto;
  margin-right: min(-3rem, 60rem - 50vw);
  display: grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (width < 768px) {
  .p-homeAbout__imgFrame {
    width: 100vw;
    margin-left: -2rem;
    -webkit-column-gap: 2.5641025641%;
    -moz-column-gap: 2.5641025641%;
    column-gap: 2.5641025641%;
    row-gap: 1rem;
  }
}
.p-homeAbout__img {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-homeAbout__img.--01 {
  width: 100%;
}
.p-homeAbout__img.--02 {
  width: 105.5263157895%;
  grid-column: 2/3;
  grid-row: 2/3;
  margin-left: auto;
}
@media (width < 768px) {
  .p-homeAbout__img.--02 {
    grid-column: 2/3;
    grid-row: 2/3;
    width: 100%;
    padding-bottom: 6rem;
  }
}
.p-homeAbout__img.--03 {
  width: 83.1578947368%;
  grid-column: 1/2;
  grid-row: 2/3;
  margin-top: 35%;
}
@media (width < 768px) {
  .p-homeAbout__img.--03 {
    grid-column: 1/2;
    grid-row: 1/3;
    width: 97.3684210526%;
    margin-top: auto;
  }
}

.p-homeNews {
  background-color: #ffffff;
  position: relative;
}
.p-homeNews__frame {
  padding-top: 16rem;
  padding-bottom: 10rem;
}
@media (width < 992px) {
  .p-homeNews__frame {
    padding-top: 14rem;
    padding-bottom: 8rem;
  }
}
@media (width < 768px) {
  .p-homeNews__frame {
    padding-top: 12rem;
    padding-bottom: 6rem;
  }
}
.p-homeNews__inner {
  display: grid;
  grid-template-columns: 25% 73.3333333333%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 1.6666666667%;
  -moz-column-gap: 1.6666666667%;
  column-gap: 1.6666666667%;
  position: relative;
}
@media (width < 768px) {
  .p-homeNews__inner {
    grid-template-columns: 1fr;
  }
}
@media (768px <= width) {
  .p-homeNews__textFrame {
    position: -webkit-sticky;
    position: sticky;
    top: var(--h_height, 15rem);
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media (width < 768px) {
  .p-homeNews__textFrame {
    display: contents;
  }
}
@media (width < 768px) {
  .p-homeNews__ttlFrame {
    grid-row: 1/2;
  }
}
@media (width < 768px) {
  .p-homeNews__btnFrame {
    grid-row: 3/4;
  }
}
@media (width < 768px) {
  .p-homeNews__listFrame {
    grid-row: 2/3;
    margin-bottom: 3.5rem;
  }
}
.p-homeNews__list {
  display: grid;
}
.p-homeNews__item {
  border-bottom: 1px solid #DDD;
}
.p-homeNews__item:first-of-type {
  border-top: 1px solid #DDD;
}
.p-homeNews__title {
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: 400;
  -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (width < 768px) {
  .p-homeNews__title {
    font-size: 1.2rem;
  }
}
.p-homeNews__infoFrame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (width < 768px) {
  .p-homeNews__infoFrame {
    -webkit-column-gap: 1.3rem;
    -moz-column-gap: 1.3rem;
    column-gap: 1.3rem;
  }
}
.p-homeNews__date {
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 400;
  color: #707070;
}
@media (width < 768px) {
  .p-homeNews__date {
    font-size: 1.1rem;
  }
}
.p-homeNews__tagList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 6px;
  -moz-column-gap: 6px;
  column-gap: 6px;
}
@media (width < 768px) {
  .p-homeNews__tagList {
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    column-gap: 4px;
  }
}
.p-homeNews__tagItem {
  font-size: 1.2rem;
  color: #ffffff;
  line-height: 1;
  font-weight: 400;
  padding: 4px 7px 5px 7px;
  border-radius: 3px;
  background-color: var(--tag_bg, #1E52A6);
}
@media (width < 768px) {
  .p-homeNews__tagItem {
    font-size: 9px;
  }
}
.p-homeNews__tagItem.--pdf {
  --tag_bg: #ED3421;
  text-transform: uppercase;
}
.p-homeNews__link {
  display: grid;
  row-gap: 2rem;
  padding: 2.5rem 4rem 2.5rem 0;
  position: relative;
}
@media (hover: hover) {
  .p-homeNews__link:hover .p-homeNews__title {
    color: #1E52A6;
  }
}
@media (width < 992px) {
  .p-homeNews__link {
    padding: 1.5rem 2rem 1.5rem 0;
  }
}
@media (width < 768px) {
  .p-homeNews__link {
    padding: 3rem 4rem 3rem 0;
    row-gap: 4px;
  }
}
.p-homeNews__icon {
  position: absolute;
  width: 15px;
  height: auto;
  right: 3rem;
  top: 50%;
  translate: 0 -50%;
}
@media (width < 768px) {
  .p-homeNews__icon {
    right: 1.5rem;
  }
}

/*--------------------------------------------
  Our Products Section
--------------------------------------------*/
.p-homeProducts {
  background-color: #ffffff;
  position: relative;
}
.p-homeProducts__frame {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media (width < 992px) {
  .p-homeProducts__frame {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.p-homeProducts__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 4.1666666667%;
  -moz-column-gap: 4.1666666667%;
  column-gap: 4.1666666667%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media (width < 768px) {
  .p-homeProducts__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-homeProducts__imgFrame {
  width: 57.0833333333vw;
  display: grid;
  margin-left: min(-4rem, 60rem - 50vw);
}
@media (768px <= width) {
  .p-homeProducts__imgFrame {
    position: -webkit-sticky;
    position: sticky;
    top: var(--h_height, 9.1rem);
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-homeProducts__imgFrame > * {
  grid-column: 1;
  grid-row: 1;
}
@media (width < 768px) {
  .p-homeProducts__imgFrame {
    width: 100vw;
    margin-left: -2rem;
    row-gap: 3rem;
  }
}
.p-homeProducts__ttlFrame {
  position: relative;
  padding: 5.5rem 12rem 7.5rem 12rem;
  z-index: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (width < 992px) {
  .p-homeProducts__ttlFrame {
    padding: 3.5rem 2.5rem;
  }
}
@media (width < 768px) {
  .p-homeProducts__ttlFrame {
    padding: 3rem 2rem;
  }
}
.p-homeProducts__ttlBg {
  display: grid;
}
.p-homeProducts__ttlBg.is-ImgNum1 .p-homeProducts__ttlBgImg:nth-of-type(1) {
  opacity: 1;
}
.p-homeProducts__ttlBg.is-ImgNum2 .p-homeProducts__ttlBgImg:nth-of-type(2) {
  opacity: 1;
}
.p-homeProducts__ttlBg.is-ImgNum3 .p-homeProducts__ttlBgImg:nth-of-type(3) {
  opacity: 1;
}
.p-homeProducts__ttlBg.is-ImgNum4 .p-homeProducts__ttlBgImg:nth-of-type(4) {
  opacity: 1;
}
.p-homeProducts__ttlBg.is-ImgNum5 .p-homeProducts__ttlBgImg:nth-of-type(5) {
  opacity: 1;
}
.p-homeProducts__ttlBg.is-ImgNum6 .p-homeProducts__ttlBgImg:nth-of-type(6) {
  opacity: 1;
}
.p-homeProducts__ttlBgImg {
  grid-column: 1;
  grid-row: 1;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.p-homeProducts__ttlBgImg:not(.--default) {
  opacity: 0;
}
.p-homeProducts__listFrame {
  width: 37.3333333333%;
  padding-top: 50rem;
  padding-bottom: 20rem;
}
@media (width < 992px) {
  .p-homeProducts__listFrame {
    padding-top: 25rem;
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-homeProducts__listFrame {
    padding: 0;
    width: 100%;
  }
}
.p-homeProducts__menu {
  margin-bottom: 7.2rem;
}
@media (width < 992px) {
  .p-homeProducts__menu {
    margin-bottom: 5rem;
  }
}
@media (width < 768px) {
  .p-homeProducts__menu {
    margin-bottom: 3rem;
  }
}
.p-homeProducts__menuList {
  display: grid;
}
.p-homeProducts__menuItem {
  border-bottom: 1px solid #DDD;
}
.p-homeProducts__menuLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 3.4rem 0;
}
@media (hover: hover) {
  .p-homeProducts__menuLink:hover .p-homeProducts__menuTextFrame {
    translate: 2rem 0;
  }
  .p-homeProducts__menuLink:hover .p-homeProducts__menuText {
    color: #1E52A6;
  }
  .p-homeProducts__menuLink:hover .p-homeProducts__menuArrow {
    color: #1E52A6;
  }
  .p-homeProducts__menuLink:hover .p-homeProducts__menuArrow:first-of-type {
    translate: 0% 0;
  }
  .p-homeProducts__menuLink:hover .p-homeProducts__menuArrow:last-of-type {
    translate: 100% 0;
  }
}
@media (width < 992px) {
  .p-homeProducts__menuLink {
    padding: 2rem 0;
  }
}
@media (width < 768px) {
  .p-homeProducts__menuLink {
    padding: 1.5rem 0;
  }
}
.p-homeProducts__menuTextFrame {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeProducts__menuNum {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  color: #1E52A6;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (width < 992px) {
  .p-homeProducts__menuNum {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-homeProducts__menuNum {
    font-size: 1.05rem;
  }
}
.p-homeProducts__menuText {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
  grid-column: 2/3;
  grid-row: 2/3;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-homeProducts__menuText {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-homeProducts__menuText {
    font-size: 1.4rem;
  }
}
.p-homeProducts__menuArrowFrame {
  width: 1.5rem;
  overflow: clip;
  display: grid;
  place-items: center;
  margin-right: 2rem;
}
@media (width < 768px) {
  .p-homeProducts__menuArrowFrame {
    width: 1.2rem;
  }
}
.p-homeProducts__menuArrow {
  width: 100%;
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeProducts__menuArrow:first-of-type {
  translate: -100% 0;
}

/*--------------------------------------------
  Technology Section
--------------------------------------------*/
.p-homeTech {
  background-color: #ffffff;
  position: relative;
}
.p-homeTech__frame {
  padding-bottom: 15rem;
}
@media (width < 992px) {
  .p-homeTech__frame {
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-homeTech__frame {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
}
@media (768px <= width) {
  .p-homeTech__ttlFrame {
    position: -webkit-sticky;
    position: sticky;
    top: var(--h_height, 9.1rem);
    z-index: 1;
  }
}
.p-homeTech__ttlFrame {
  padding-bottom: 3.5rem;
  background-color: #ffffff;
}
@media (width < 992px) {
  .p-homeTech__ttlFrame {
    padding-bottom: 2rem;
  }
}
@media (width < 768px) {
  .p-homeTech__ttlFrame {
    padding-bottom: 5.6rem;
  }
}
.p-homeTech__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 3.5rem;
}
@media (width < 992px) {
  .p-homeTech__cards {
    margin-bottom: 3rem;
  }
}
@media (width < 768px) {
  .p-homeTech__cards {
    grid-template-columns: 1fr;
    margin-bottom: 1rem;
  }
}
.p-homeTech__card {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}
@media (hover: hover) {
  .p-homeTech__card:hover .p-homeTech__cardImg img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .p-homeTech__card:hover .p-homeTech__cardOverlay::before {
    opacity: 0;
  }
  .p-homeTech__card:hover .p-homeTech__cardOverlay::after {
    opacity: 0.8;
  }
}
.p-homeTech__cardImg {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
}
.p-homeTech__cardImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 1, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0, 0, 1, 1);
  transition: transform 0.3s cubic-bezier(0, 0, 1, 1);
  transition: transform 0.3s cubic-bezier(0, 0, 1, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 1, 1);
}
.p-homeTech__cardOverlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1E52A6;
  opacity: 0.8;
}
.p-homeTech__cardOverlay::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #1E52A6;
  mix-blend-mode: multiply;
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeTech__cardOverlay::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #1E52A6;
  opacity: 0.8;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeTech__cardContent {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 4rem;
  color: #ffffff;
  text-align: center;
}
.p-homeTech__cardTitleFrame {
  display: grid;
  grid-template-columns: auto 1fr;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 2.5rem;
}
@media (width < 992px) {
  .p-homeTech__cardTitleFrame {
    margin-bottom: 2rem;
  }
}
.p-homeTech__cardNum {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (width < 992px) {
  .p-homeTech__cardNum {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-homeTech__cardNum {
    font-size: 1rem;
  }
}
.p-homeTech__cardTitle {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  grid-column: 2/3;
  grid-row: 2/3;
}
@media (width < 992px) {
  .p-homeTech__cardTitle {
    font-size: 2.2rem;
  }
}
@media (width < 768px) {
  .p-homeTech__cardTitle {
    font-size: 1.5rem;
  }
}
.p-homeTech__cardTitleEn {
  font-size: 1.2rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  line-height: 1.6;
  grid-column: 2/3;
  grid-row: 3/4;
}
@media (width < 768px) {
  .p-homeTech__cardTitleEn {
    font-size: 9px;
  }
}
.p-homeTech__cardTxt {
  font-size: 1.5rem;
  line-height: 1.8;
}
@media (width < 992px) {
  .p-homeTech__cardTxt {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-homeTech__cardTxt {
    font-size: 1.1rem;
  }
}
.p-homeTech__menuList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 7.2rem;
}
@media (width < 768px) {
  .p-homeTech__menuList {
    grid-template-columns: 1fr;
    row-gap: 0;
    margin-bottom: 3rem;
  }
}
.p-homeTech__menuLink {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 1fr auto;
  padding-bottom: 2.4rem;
  -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  border-bottom: 1px solid #DDD;
}
@media (width < 992px) {
  .p-homeTech__menuLink {
    padding-bottom: 2rem;
  }
}
@media (width < 768px) {
  .p-homeTech__menuLink {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
@media (hover: hover) {
  .p-homeTech__menuLink:hover {
    border-color: #1E52A6;
  }
  .p-homeTech__menuLink:hover .p-homeTech__menuText {
    color: #1E52A6;
  }
  .p-homeTech__menuLink:hover .p-homeTech__menuArrow {
    color: #1E52A6;
  }
  .p-homeTech__menuLink:hover .p-homeTech__menuArrow:first-of-type {
    translate: 0% 0;
  }
  .p-homeTech__menuLink:hover .p-homeTech__menuArrow:last-of-type {
    translate: 100% 0;
  }
}
.p-homeTech__menuTextFrame {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeTech__menuNum {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #1E52A6;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (width < 992px) {
  .p-homeTech__menuNum {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-homeTech__menuNum {
    font-size: 1.05rem;
  }
}
.p-homeTech__menuText {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
  grid-column: 2/3;
  grid-row: 2/3;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-homeTech__menuText {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-homeTech__menuText {
    font-size: 1.4rem;
  }
}
.p-homeTech__menuArrowFrame {
  display: grid;
  place-items: center;
  width: 1.5rem;
  overflow: clip;
  margin-right: 2.5rem;
}
@media (width < 768px) {
  .p-homeTech__menuArrowFrame {
    width: 1.2rem;
  }
}
.p-homeTech__menuArrow {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
  stroke: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeTech__menuArrow:first-of-type {
  translate: -100% 0;
}

/*--------------------------------------------
  Sustainability Section
--------------------------------------------*/
.p-homeSustainability {
  position: relative;
  z-index: 1;
}
.p-homeSustainability__frame {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background-color: #ffffff;
}
@media (width < 992px) {
  .p-homeSustainability__frame {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
@media (width < 768px) {
  .p-homeSustainability__frame {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.p-homeSustainability__ttlFrame {
  margin-bottom: 5rem;
}
@media (width < 992px) {
  .p-homeSustainability__ttlFrame {
    margin-bottom: 3rem;
  }
}
@media (width < 768px) {
  .p-homeSustainability__ttlFrame {
    margin-bottom: 5.6rem;
  }
}
.p-homeSustainability__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.7rem;
  margin-bottom: 6rem;
}
@media (width < 992px) {
  .p-homeSustainability__cards {
    gap: 2rem;
    margin-bottom: 4rem;
  }
}
@media (width < 576px) {
  .p-homeSustainability__cards {
    max-width: 300px;
    margin-inline: auto;
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }
}
.p-homeSustainability__cardLink {
  display: block;
  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (hover: hover) {
  .p-homeSustainability__cardLink:hover .p-homeSustainability__cardImg img {
    scale: 1.05;
  }
  .p-homeSustainability__cardLink:hover .p-homeSustainability__cardTxt {
    color: #1E52A6;
  }
}
.p-homeSustainability__cardImg {
  display: block;
  margin-bottom: 1.3rem;
  overflow: hidden;
}
.p-homeSustainability__cardImg img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-homeSustainability__cardTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}
@media (width < 992px) {
  .p-homeSustainability__cardTxt {
    font-size: 1.2rem;
  }
}
.p-homeSustainability__cardIcon {
  width: 1.4rem;
  height: auto;
  stroke: currentColor;
}
@media (width < 992px) {
  .p-homeSustainability__cardIcon {
    font-size: 1.2rem;
  }
}
.p-homeSustainability__cardNote {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
}
@media (width < 992px) {
  .p-homeSustainability__cardNote {
    font-size: 1rem;
  }
}

/*--------------------------------------------
  Banner Section (Gallery & Recruit)
--------------------------------------------*/
.p-homeBanner {
  position: relative;
  z-index: 1;
}
.p-homeBanner__frame {
  padding-top: 9rem;
  padding-bottom: 9rem;
  background-color: #1E52A6;
}
@media (width < 992px) {
  .p-homeBanner__frame {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}
@media (width < 768px) {
  .p-homeBanner__frame {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.p-homeBanner__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media (width < 768px) {
  .p-homeBanner__list {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
  }
}
.p-homeBanner__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 5.5rem 1rem 6.5rem 1rem;
  background-color: #ffffff;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (hover: hover) {
  .p-homeBanner__link:hover {
    background-color: #2D85E3;
  }
  .p-homeBanner__link:hover .p-homeBanner__en {
    color: #ffffff;
  }
  .p-homeBanner__link:hover .p-homeBanner__en span {
    translate: 0 -1.25em;
  }
  .p-homeBanner__link:hover .p-homeBanner__ja {
    color: #ffffff;
  }
}
.p-homeBanner__en {
  font-size: 6.3rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  line-height: 1.25;
  color: #1E52A6;
  overflow: clip;
}
.p-homeBanner__en span {
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
  text-shadow: 0 1.25em 0 currentColor;
  display: inline-block;
}
@media (width < 992px) {
  .p-homeBanner__en {
    font-size: 5.5rem;
  }
}
@media (width < 768px) {
  .p-homeBanner__en {
    font-size: 5rem;
  }
}
.p-homeBanner__ja {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 768px) {
  .p-homeBanner__ja {
    font-size: 1.2rem;
  }
}

/*--------------------------------------------
  IHI ing Section
--------------------------------------------*/
.p-homeIng {
  position: relative;
  z-index: 1;
}
.p-homeIng__frame {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background-color: #ffffff;
}
@media (width < 992px) {
  .p-homeIng__frame {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
.p-homeIng__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 4rem;
}
@media (width < 768px) {
  .p-homeIng__head {
    margin-bottom: 2.8rem;
  }
}
.p-homeIng__logo {
  margin-bottom: 2rem;
}
@media (width < 768px) {
  .p-homeIng__logo {
    margin-bottom: 0;
  }
}
.p-homeIng__logo img {
  max-width: 25rem;
  width: 100%;
  height: auto;
}
@media (width < 768px) {
  .p-homeIng__logo img {
    max-width: 17.5rem;
  }
}
.p-homeIng__catch {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  color: #ffffff;
  letter-spacing: 0.05em;
}
.p-homeIng__slider {
  margin-bottom: 4rem;
}
.p-homeIng__sliderTrack .splide__track {
  overflow: visible;
}
.p-homeIng__slide {
  width: 100%;
  max-width: 38rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media (width < 768px) {
  .p-homeIng__slide {
    max-width: 26rem;
  }
}
.p-homeIng__slideLink {
  display: block;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (hover: hover) {
  .p-homeIng__slideLink:hover .p-homeIng__slideImg img {
    scale: 1.05;
  }
  .p-homeIng__slideLink:hover .p-homeIng__slideText {
    color: #1E52A6;
  }
}
.p-homeIng__slideImg {
  display: block;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.p-homeIng__slideImg img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.p-homeIng__slideText {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}
@media (width < 768px) {
  .p-homeIng__slideText {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
}
.p-homeIng__slideIcon {
  width: 1.4rem;
  height: auto;
  stroke: currentColor;
}
.p-homeIng__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-homeIng__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 1.2rem;
  position: absolute;
  width: 100%;
  left: 50%;
  bottom: 0;
  translate: -50% 185%;
  pointer-events: none;
}
@media (width < 768px) {
  .p-homeIng__nav {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    bottom: auto;
    top: 50%;
    translate: -50% -125%;
    pointer-events: none;
    padding: 0 3.75rem;
  }
}
.p-homeIng__sliderArrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  background-color: #1E52A6;
  color: #ffffff;
  pointer-events: all;
  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (width < 768px) {
  .p-homeIng__sliderArrow {
    pointer-events: all;
    width: 3.78rem;
    height: 3.78rem;
  }
}
.p-homeIng__sliderArrow svg {
  width: 0.8rem;
  height: auto;
}
@media (hover: hover) {
  .p-homeIng__sliderArrow:hover {
    opacity: 0.7;
  }
}

/*--------------------------------------------
  PAGENAME
--------------------------------------------*/
/*--------------------------------------------
  FRAMEWORK
--------------------------------------------*/
/*--------------------------------------------
  BLOCK NAME
--------------------------------------------*/
/*--------------------------------------------
  Company FV Section
--------------------------------------------*/
.p-companyFv {
  position: relative;
}
.p-companyFv__imgFrame {
  position: -webkit-sticky;
  position: sticky;
  top: var(--h_height);
  grid-column: 1/2;
  grid-row: 1/2;
  height: calc(100vh - var(--h_height));
}
.p-companyFv__imgFrame img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 65%;
  object-position: 65%;
}
.p-companyFv__img {
  height: 100%;
}
.p-companyFv__inner {
  display: grid;
}
.p-companyFv__listFrame {
  position: relative;
  z-index: 2;
  grid-column: 1/2;
  grid-row: 2/3;
  padding-top: 26.2rem;
  padding-bottom: 8.6rem;
}
@media (width < 992px) {
  .p-companyFv__listFrame {
    padding-top: 24rem;
    padding-bottom: 7rem;
    margin-top: -25vh;
  }
}
.p-companyFv__listBg {
  grid-column: 1/2;
  grid-row: 2/3;
  background-color: #1E52A6;
  mix-blend-mode: multiply;
}
@media (width < 768px) {
  .p-companyFv__listBg {
    margin-top: -25vh;
  }
}
.p-companyFv__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}
@media (width < 992px) {
  .p-companyFv__list {
    gap: 2.5rem;
  }
}
@media (width < 576px) {
  .p-companyFv__list {
    width: 88.5714285714%;
    margin-inline: auto;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.p-companyFv__item {
  display: grid;
  row-gap: 2.4rem;
}
@media (width < 992px) {
  .p-companyFv__item {
    row-gap: 2rem;
  }
}
@media (width < 768px) {
  .p-companyFv__item {
    row-gap: 1.7rem;
  }
}

.p-companyLocations {
  position: relative;
  z-index: 1;
  grid-column: 1/2;
  grid-row: 3/4;
  background-color: #ffffff;
}
.p-companyLocations__inner {
  padding-top: 18rem;
  padding-bottom: 16rem;
}
@media (width < 992px) {
  .p-companyLocations__inner {
    padding-top: 15rem;
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-companyLocations__inner {
    padding-top: 9.5rem;
    padding-bottom: 7.5rem;
  }
}
.p-companyLocations__ttlFrame {
  display: grid;
  row-gap: 1.5rem;
}
@media (width < 768px) {
  .p-companyLocations__ttlFrame {
    row-gap: 1rem;
  }
}
.p-companyLocations__ttl {
  line-height: 1;
  text-align: center;
}
.p-companyLocations__ttl.--ja {
  font-size: 3rem;
  font-weight: 700;
  color: #333;
}
@media (width < 992px) {
  .p-companyLocations__ttl.--ja {
    font-size: 2.6rem;
  }
}
@media (width < 768px) {
  .p-companyLocations__ttl.--ja {
    font-size: 2.2rem;
  }
}
.p-companyLocations__ttl.--en {
  font-size: 2rem;
  letter-spacing: 1.2px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  color: #1E52A6;
}
@media (width < 992px) {
  .p-companyLocations__ttl.--en {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-companyLocations__ttl.--en {
    font-size: 1.4rem;
    letter-spacing: 0.84px;
  }
}
.p-companyLocations__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media (width < 768px) {
  .p-companyLocations__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-companyLocations__imgFrame {
  width: 48.3333333333%;
}
@media (width < 768px) {
  .p-companyLocations__imgFrame {
    width: 111.4285714286%;
    margin-left: -2rem;
  }
}
.p-companyLocations__img {
  margin-left: min(-4rem, 60rem - 50vw);
  width: 48.6111111111vw;
}
.p-companyLocations__img > img {
  width: 100%;
}
@media (width < 768px) {
  .p-companyLocations__img {
    margin-left: 0;
    width: 100%;
  }
}
.p-companyLocations__list {
  width: 47.0833333333%;
  display: grid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (width < 768px) {
  .p-companyLocations__list {
    width: 100%;
  }
}
.p-companyLocations__item {
  border-bottom: 1px solid #DDD;
}
@media (768px <= width) {
  .p-companyLocations__item:first-of-type {
    border-top: 1px solid #DDD;
  }
}
.p-companyLocations__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 2.4rem 0;
}
@media (hover: hover) {
  .p-companyLocations__link:hover .p-companyLocations__linkText {
    translate: 2rem 0;
  }
  .p-companyLocations__link:hover .p-companyLocations__name {
    color: #1E52A6;
  }
  .p-companyLocations__link:hover .p-companyLocations__menuArrow {
    color: #1E52A6;
  }
  .p-companyLocations__link:hover .p-companyLocations__menuArrow:first-of-type {
    translate: 0% 0;
  }
  .p-companyLocations__link:hover .p-companyLocations__menuArrow:last-of-type {
    translate: 100% 0;
  }
}
@media (width < 992px) {
  .p-companyLocations__link {
    padding: 1.5rem 0;
  }
}
.p-companyLocations__linkText {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-companyLocations__num {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #1E52A6;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (width < 992px) {
  .p-companyLocations__num {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-companyLocations__num {
    font-size: 1.05rem;
  }
}
.p-companyLocations__name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #000;
  grid-column: 2/3;
  grid-row: 2/3;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-companyLocations__name {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-companyLocations__name {
    font-size: 1.4rem;
  }
}
.p-companyLocations__menuArrowFrame {
  width: 1.5rem;
  overflow: clip;
  display: grid;
  place-items: center;
  margin-right: 2rem;
}
@media (width < 768px) {
  .p-companyLocations__menuArrowFrame {
    width: 1.2rem;
  }
}
.p-companyLocations__menuArrow {
  width: 100%;
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: currentColor;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-companyLocations__menuArrow:first-of-type {
  translate: -100% 0;
}

.p-companyBtn__inner {
  padding-bottom: 10.6rem;
}
.p-companyBtn__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 4.2rem;
  -moz-column-gap: 4.2rem;
  column-gap: 4.2rem;
  row-gap: 1.8rem;
}
@media (width < 992px) {
  .p-companyBtn__list {
    -webkit-column-gap: 3.5rem;
    -moz-column-gap: 3.5rem;
    column-gap: 3.5rem;
    row-gap: 1.5rem;
  }
}
@media (width < 768px) {
  .p-companyBtn__list {
    grid-template-columns: 1fr;
    row-gap: 1.1875rem;
  }
}

/*--------------------------------------------
  concreteEngineering Contents
--------------------------------------------*/
.p-concreteEngineeringContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-concreteEngineeringContents__introductionInner {
  padding-top: 14.4rem;
  padding-bottom: 8.9rem;
  margin-bottom: 14.4rem;
}
.p-concreteEngineeringContents__introductionInner::after {
  content: "";
  width: calc(100% - 4rem);
  height: 1px;
  background-color: #D8D8D8;
  max-width: 120rem;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__introductionInner::after {
    width: calc(100% - 4rem);
  }
}
@media (width < 992px) {
  .p-concreteEngineeringContents__introductionInner {
    padding-top: 12rem;
    padding-bottom: 7.5rem;
    margin-bottom: 12rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__introductionInner {
    padding-top: 8rem;
    padding-bottom: 6.23rem;
    margin-bottom: 10rem;
  }
}
.p-concreteEngineeringContents__secTtl {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #333;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__secTtl {
    font-size: 2.8rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__secTtl {
    font-size: 2.2rem;
  }
}
.p-concreteEngineeringContents__secText {
  text-align: center;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__secText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__secText {
    font-size: 1.4rem;
  }
}
.p-concreteEngineeringContents__introductionItemCopy {
  text-align: center;
  color: #1E52A6;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
  padding-bottom: 8px;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__introductionItemCopy {
    font-size: 2rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__introductionItemCopy {
    font-size: 1.8rem;
  }
}
.p-concreteEngineeringContents__introductionItemCopy::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background-color: currentColor;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.p-concreteEngineeringContents__introductionItemText {
  text-align: center;
  color: #333;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 1.2rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__introductionItemText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__introductionItemText {
    margin-top: 8.4px;
  }
}
.p-concreteEngineeringContents__introductionList {
  display: grid;
  row-gap: 8rem;
  margin-top: 6.4rem;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__introductionList {
    margin-top: 4.48rem;
    row-gap: 4.48rem;
  }
}
.p-concreteEngineeringContents__subList {
  margin-top: 3.2rem;
  display: grid;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  row-gap: 3.2rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__subList {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__subList {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
}
@media (width < 576px) {
  .p-concreteEngineeringContents__subList {
    row-gap: 2.4rem;
    margin-top: 2.2rem;
  }
}
@media (576px <= width) {
  .p-concreteEngineeringContents__subList.--two {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-concreteEngineeringContents__subList.--three {
    grid-template-columns: repeat(3, 1fr);
  }
  .p-concreteEngineeringContents__subList.--four {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-concreteEngineeringContents__subList.--mgt48 {
  margin-top: 4.8rem;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__subList.--mgt48 {
    margin-top: 3.3rem;
  }
}
.p-concreteEngineeringContents__subItemImg {
  margin-bottom: 8px;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__subItemImg {
    margin-bottom: 5.6px;
  }
}
.p-concreteEngineeringContents__subItemCopy {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__subItemCopy {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__subItemCopy {
    font-size: 1.2rem;
  }
}
.p-concreteEngineeringContents__subItemCopy.--ls {
  letter-spacing: -0.56px;
}
.p-concreteEngineeringContents__subItemText {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  color: #333;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__subItemText {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__subItemText {
    font-size: 1.2rem;
  }
}
.p-concreteEngineeringContents__achievementsInner {
  display: grid;
  row-gap: 14.4rem;
  margin-bottom: 14.4rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__achievementsInner {
    row-gap: 12rem;
    margin-bottom: 12rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__achievementsInner {
    row-gap: 10rem;
    margin-bottom: 10rem;
  }
}
.p-concreteEngineeringContents__accessInner {
  margin-bottom: 13.8rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__accessInner {
    margin-bottom: 12rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessInner {
    margin-bottom: 8.8rem;
  }
}
.p-concreteEngineeringContents__accessLayout {
  display: grid;
  -webkit-column-gap: 6.4rem;
  -moz-column-gap: 6.4rem;
  column-gap: 6.4rem;
  margin-top: 4.8rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__accessLayout {
    -webkit-column-gap: 5rem;
    -moz-column-gap: 5rem;
    column-gap: 5rem;
    margin-top: 4rem;
  }
}
@media (768px <= width) {
  .p-concreteEngineeringContents__accessLayout {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessLayout {
    margin-top: 3.36rem;
    row-gap: 4.48rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-concreteEngineeringContents__accessCopy {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
  color: #333;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__accessCopy {
    font-size: 1.8rem;
  }
}
@media (width < 576px) {
  .p-concreteEngineeringContents__accessCopy {
    width: 100vw;
    margin-left: -2rem;
    text-align: center;
  }
}
.p-concreteEngineeringContents__accessText {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  margin-bottom: 1.6rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__accessText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessText {
    font-size: 1.12rem;
  }
}
.p-concreteEngineeringContents__accessList {
  display: grid;
  row-gap: 1.6rem;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessList {
    row-gap: 1.12rem;
  }
}
.p-concreteEngineeringContents__accessItem {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 400;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}
@media (width < 992px) {
  .p-concreteEngineeringContents__accessItem {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessItem {
    font-size: 1.12rem;
  }
}
.p-concreteEngineeringContents__accessItem::before {
  content: "";
  width: 6px;
  aspect-ratio: 1;
  background-color: currentColor;
  border-radius: 50%;
  margin-top: 0.65em;
  translate: 0 -50%;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessItem::before {
    width: 4px;
  }
}
.p-concreteEngineeringContents__accessMapFrame {
  position: relative;
}
@media (width < 768px) {
  .p-concreteEngineeringContents__accessMapFrame {
    aspect-ratio: 350/266;
  }
}
.p-concreteEngineeringContents__accessMapFrame iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*--------------------------------------------
  executivelist Contents
--------------------------------------------*/
.p-executivelistContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-executivelistContents__inner {
  padding-bottom: 12.8rem;
}
@media (width < 768px) {
  .p-executivelistContents__inner {
    padding-bottom: 8.8rem;
  }
}
.p-executivelistContents__table div {
  display: grid;
  grid-template-columns: 20.3333333333% 1fr;
  border-bottom: 1px solid #D8D8D8;
}
@media (width < 992px) {
  .p-executivelistContents__table div {
    grid-template-columns: 30% 1fr;
  }
}
@media (width < 768px) {
  .p-executivelistContents__table div {
    grid-template-columns: 40% 1fr;
  }
}
.p-executivelistContents__table div:first-of-type {
  border-top: 1px solid #D8D8D8;
}
.p-executivelistContents__table dt, .p-executivelistContents__table dd {
  padding: 1.6rem;
  font-size: 2rem;
  line-height: 1.6;
}
@media (width < 992px) {
  .p-executivelistContents__table dt, .p-executivelistContents__table dd {
    padding: 1.4rem;
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-executivelistContents__table dt, .p-executivelistContents__table dd {
    padding: 1.12rem;
    font-size: 1.4rem;
  }
}
.p-executivelistContents__table dt {
  background-color: #f3f3f3;
}
@media (width < 768px) {
  .p-executivelistContents__table dd {
    font-size: 1.2rem;
  }
}
.p-executivelistContents__attention {
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: 400;
}
@media (width < 768px) {
  .p-executivelistContents__attention {
    font-size: 1.2rem;
  }
}

/*--------------------------------------------
  health_management FV Section
--------------------------------------------*/
.p-healthManagement {
  position: relative;
  z-index: 1;
}

.p-healthManagementContents {
  position: relative;
  z-index: 1;
}
.p-healthManagementContents__inner {
  padding-top: calc(var(--h_height) + 13rem);
  margin-top: calc((var(--h_height) + 13rem) * -1);
  position: relative;
}
.p-healthManagementContents__inner:nth-of-type(1) {
  z-index: 8;
}
.p-healthManagementContents__inner:nth-of-type(2) {
  z-index: 7;
}
.p-healthManagementContents__inner:nth-of-type(3) {
  z-index: 6;
}
.p-healthManagementContents__inner:nth-of-type(4) {
  z-index: 5;
}
.p-healthManagementContents__inner:nth-of-type(5) {
  z-index: 4;
}
.p-healthManagementContents__inner:nth-of-type(6) {
  z-index: 3;
}
.p-healthManagementContents__inner:nth-of-type(7) {
  z-index: 2;
}
.p-healthManagementContents__inner:nth-of-type(8) {
  z-index: 1;
}
.p-healthManagementContents__tabButtonFrame {
  background-color: #f3f3f3;
  padding: 1.5rem 1rem;
  display: grid;
  place-items: center;
}
.p-healthManagementContents__tabButtonFrame.is-open .p-healthManagementContents__tabButton i:first-of-type {
  rotate: 0deg;
}
.p-healthManagementContents__tabButtonFrame.is-open .p-healthManagementContents__tabButton i:last-of-type {
  opacity: 0;
}
.p-healthManagementContents__tabButton {
  width: 1.5rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.p-healthManagementContents__tabButton i {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 2px;
  background-color: #1E52A6;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.p-healthManagementContents__tabButton i:first-of-type {
  rotate: 90deg;
}
.p-healthManagementContents__imgFrame {
  position: relative;
  z-index: 11;
}
.p-healthManagementContents__tabFrame {
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  top: var(--h_height);
  background-color: #1E52A6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: -1px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.3);
}
@media (width < 768px) {
  .p-healthManagementContents__tabFrame {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-healthManagementContents__tabList {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-healthManagementContents__tabList.--01 {
  grid-template-columns: repeat(3, 1fr);
}
.p-healthManagementContents__tabList.--02 {
  grid-template-columns: repeat(6, 1fr);
}
@media (width < 768px) {
  .p-healthManagementContents__tabList.--02 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width < 992px) {
  .p-healthManagementContents__tabList {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__tabList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width < 768px) {
  .p-healthManagementContents__tabListBox {
    display: none;
  }
}
.p-healthManagementContents__tabItem {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  height: 100%;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-healthManagementContents__tabItem:last-of-type {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
@media (width < 768px) {
  .p-healthManagementContents__tabItem {
    display: grid;
  }
  .p-healthManagementContents__tabItem:nth-of-type(1), .p-healthManagementContents__tabItem:nth-of-type(2), .p-healthManagementContents__tabItem:nth-of-type(3), .p-healthManagementContents__tabItem:nth-of-type(4), .p-healthManagementContents__tabItem:nth-of-type(5), .p-healthManagementContents__tabItem:nth-of-type(6) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.p-healthManagementContents__tabLink {
  display: grid;
  place-items: center;
  row-gap: 1rem;
  color: #ffffff;
  padding: 2rem 1rem;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.2;
}
@media (width < 992px) {
  .p-healthManagementContents__tabLink {
    font-size: 1.1rem;
    padding: 2rem 0.5rem;
    text-align: center;
    row-gap: 1rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__tabLink {
    font-size: 1.2rem;
    line-height: 1.4;
    row-gap: 0.5rem;
    padding: 1rem 0.5rem;
  }
}
.p-healthManagementContents__tabIconFrame {
  width: 1.25rem;
  overflow: clip;
  display: grid;
}
.p-healthManagementContents__tabIcon {
  grid-column: 1;
  grid-row: 1;
  height: auto;
  stroke: currentColor;
  fill: none;
}
.p-healthManagementContents__tabIcon:first-of-type {
  translate: 0 -125%;
}
.p-healthManagementContents__frame {
  padding-top: 13.5rem;
  padding-bottom: 13.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 14.4rem;
}
@media (width < 992px) {
  .p-healthManagementContents__frame {
    padding-top: 10rem;
    padding-bottom: 10rem;
    row-gap: 11rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__frame {
    padding-top: 8rem;
    padding-bottom: 8rem;
    row-gap: 10.3rem;
  }
}
.p-healthManagementContents__ttlFrame {
  text-align: center;
  margin-bottom: 8rem;
}
.p-healthManagementContents__ttlFrame.--07 {
  margin-bottom: 3rem;
}
@media (width < 992px) {
  .p-healthManagementContents__ttlFrame.--07 {
    margin-bottom: 2rem;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__ttlFrame {
    margin-bottom: 5rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__ttlFrame {
    margin-bottom: 4.5rem;
    display: grid;
  }
}
.p-healthManagementContents__ttlNum {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  color: #1E52A6;
  line-height: 1.6;
}
@media (width < 992px) {
  .p-healthManagementContents__ttlNum {
    font-size: 2.8rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__ttlNum {
    font-size: 2.24rem;
  }
}
.p-healthManagementContents__ttlText {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (width < 992px) {
  .p-healthManagementContents__ttlText {
    font-size: 2.8rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__ttlText {
    font-size: 2.2rem;
  }
}
.p-healthManagementContents__copy {
  text-align: center;
  color: #1E52A6;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
  padding-bottom: 8px;
  margin-bottom: 2.4rem;
}
@media (width < 992px) {
  .p-healthManagementContents__copy {
    font-size: 2rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__copy {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.p-healthManagementContents__copy.--sub {
  color: #000;
  border-bottom: 1px solid #D8D8D8;
  text-align: left;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
}
.p-healthManagementContents__copy.--sub::after {
  display: none;
}
@media (width < 992px) {
  .p-healthManagementContents__copy.--sub {
    font-size: 1.6rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__copy.--sub {
    font-size: 1.4rem;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}
.p-healthManagementContents__copy.--07 {
  color: #000;
  margin-bottom: 6.4rem;
}
.p-healthManagementContents__copy.--07::after {
  display: none;
}
@media (width < 992px) {
  .p-healthManagementContents__copy.--07 {
    font-size: 1.6rem;
    margin-bottom: 5.5rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__copy.--07 {
    font-size: 1.4rem;
    margin-bottom: 4.8rem;
  }
}
.p-healthManagementContents__copy::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background-color: currentColor;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
}
.p-healthManagementContents__text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
@media (width < 992px) {
  .p-healthManagementContents__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__text {
    line-height: 1.6;
  }
  .p-healthManagementContents__text.--sp12 {
    font-size: 1.2rem;
  }
}
.p-healthManagementContents__textLink {
  margin-top: 2.4rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (hover: hover) {
  .p-healthManagementContents__textLink:hover .p-healthManagementContents__textLinkText {
    opacity: 0.6;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__textLink {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.p-healthManagementContents__textLinkText {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  text-decoration: underline;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-healthManagementContents__textLinkIcon {
  font-size: 1.2rem;
  color: #ffffff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1;
  font-weight: 400;
  padding: 4px 7px 5px 7px;
  border-radius: 3px;
  text-transform: uppercase;
  background-color: #ED3421;
  word-break: initial;
}
@media (width < 768px) {
  .p-healthManagementContents__textLinkIcon {
    font-size: 9px;
  }
}
.p-healthManagementContents__img.--figure03 {
  position: relative;
}
@media (width < 992px) {
  .p-healthManagementContents__img.--figure03 {
    overflow-x: auto;
  }
  .p-healthManagementContents__img.--figure03 > img {
    width: 120rem;
    max-width: none;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__img.--figure03 > img {
    width: 90rem;
  }
}
.p-healthManagementContents__table {
  margin-top: 5rem;
  margin-bottom: 8.8rem;
}
.p-healthManagementContents__table > div {
  display: grid;
  grid-template-columns: 35.8333333333% 1fr;
  border-bottom: 1px solid #D8D8D8;
}
@media (width < 768px) {
  .p-healthManagementContents__table > div {
    grid-template-columns: 27.1428571429% 1fr;
  }
}
.p-healthManagementContents__table > div:first-of-type {
  border-top: 1px solid #D8D8D8;
}
.p-healthManagementContents__table dt {
  padding: 1.6rem;
  background-color: #f3f3f3;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (width < 992px) {
  .p-healthManagementContents__table dt {
    font-size: 1.6rem;
    padding: 1.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__table dt {
    font-size: 1.4rem;
    padding: 1rem;
  }
}
.p-healthManagementContents__table dd {
  padding: 1.6rem 3.2rem;
}
@media (width < 992px) {
  .p-healthManagementContents__table dd {
    padding: 1rem;
  }
}
.p-healthManagementContents__tableText {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
@media (width < 992px) {
  .p-healthManagementContents__tableText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__tableText {
    font-size: 1.2rem;
  }
}
.p-healthManagementContents__tableList {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  list-style: disc;
  padding-left: 1.5em;
}
.p-healthManagementContents__tableList:not(.--ordered) li::marker {
  font-size: 1rem;
}
@media (width < 768px) {
  .p-healthManagementContents__tableList:not(.--ordered) li::marker {
    font-size: 0.75rem;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__tableList {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__tableList {
    font-size: 1.2rem;
  }
}
.p-healthManagementContents__tableList.--ordered {
  list-style: decimal;
}
.p-healthManagementContents__introFrame {
  display: grid;
  grid-template-columns: 45.5% 1fr;
  -webkit-column-gap: 3.3333333333%;
  -moz-column-gap: 3.3333333333%;
  column-gap: 3.3333333333%;
  margin-bottom: 15.2rem;
}
@media (width < 992px) {
  .p-healthManagementContents__introFrame {
    margin-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__introFrame {
    margin-bottom: 6rem;
    grid-template-columns: 1fr;
    row-gap: 2.8rem;
  }
}
.p-healthManagementContents__introCopy {
  color: #1E52A6;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 2.4rem;
}
.p-healthManagementContents__introCopy.--large {
  font-size: 2.8rem;
}
@media (width < 992px) {
  .p-healthManagementContents__introCopy.--large {
    font-size: 2.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__introCopy.--large {
    font-size: 1.8rem;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__introCopy {
    font-size: 2rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__introCopy {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__introImgFrame {
    max-width: 54.6rem;
    width: 100%;
    margin-inline: auto;
  }
}
.p-healthManagementContents__introText {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: #333;
}
@media (width < 992px) {
  .p-healthManagementContents__introText {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.p-healthManagementContents__introNameFrame {
  display: grid;
  grid-template-columns: repeat(3, auto);
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width < 768px) {
  .p-healthManagementContents__introNameFrame {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    row-gap: 5px;
  }
}
.p-healthManagementContents__introDate {
  grid-column: 1/4;
  grid-row: 1/2;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
@media (width < 768px) {
  .p-healthManagementContents__introDate {
    grid-row: 1/2;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.p-healthManagementContents__introCompany {
  grid-column: 1/2;
  grid-row: 2/3;
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}
@media (width < 768px) {
  .p-healthManagementContents__introCompany {
    grid-row: 2/3;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.p-healthManagementContents__introRoll {
  grid-column: 2/3;
  grid-row: 2/3;
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  margin-left: 3rem;
}
@media (width < 768px) {
  .p-healthManagementContents__introRoll {
    grid-row: 3/4;
    grid-column: 1/2;
    font-size: 1.4rem;
    line-height: 1.6;
    margin-left: 0;
  }
}
.p-healthManagementContents__introName {
  grid-column: 3/4;
  grid-row: 2/3;
  color: #333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  margin-left: 1rem;
}
@media (width < 768px) {
  .p-healthManagementContents__introName {
    grid-row: 3/4;
    grid-column: 1/2;
    font-size: 1.4rem;
    line-height: 1.6;
    margin-left: auto;
    margin-right: 3em;
  }
}
.p-healthManagementContents__textList {
  display: grid;
  row-gap: 7.2rem;
}
@media (width < 768px) {
  .p-healthManagementContents__textList {
    row-gap: 5rem;
  }
  .p-healthManagementContents__textList.--spRow28 {
    row-gap: 2.8rem;
  }
}
.p-healthManagementContents__dataFrame {
  margin-top: 4rem;
}
@media (width < 768px) {
  .p-healthManagementContents__dataFrame {
    margin-top: 2.8rem;
  }
}
.p-healthManagementContents__dataTitle {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.6rem;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTitle {
    font-size: 1.6rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__dataTitle {
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 1.2rem;
  }
  .p-healthManagementContents__dataTitle.--spLeft {
    text-align: left;
  }
}
.p-healthManagementContents__dataInner {
  display: grid;
  grid-template-columns: 73.1666666667% auto;
  -webkit-column-gap: 2.4rem;
  -moz-column-gap: 2.4rem;
  column-gap: 2.4rem;
}
@media (width < 768px) {
  .p-healthManagementContents__dataInner {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
  }
}
.p-healthManagementContents__dataTableWrap {
  overflow-x: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}
@media (width < 768px) {
  .p-healthManagementContents__dataTableWrap {
    width: 100%;
  }
}
.p-healthManagementContents__dataTableFrame {
  display: grid;
  grid-template-columns: 1fr 13.2rem;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  overflow-x: auto;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTableFrame {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-healthManagementContents__dataTable {
  border-collapse: collapse;
}
@media (width < 768px) {
  .p-healthManagementContents__dataTable.--03 {
    width: 100%;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable.--05 {
    width: 100%;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable.--06 {
    width: 100%;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}
.p-healthManagementContents__dataTable th {
  background-color: #1E52A6;
  color: #ffffff;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8;
  padding: 1.2rem;
  border: 1px solid #D8D8D8;
  text-align: center;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable th {
    font-size: 1.2rem;
    padding: 0.8rem;
  }
}
.p-healthManagementContents__dataTable td {
  background-color: #ffffff;
  color: #000;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8;
  padding: 1.2rem;
  border: 1px solid #D8D8D8;
  text-align: center;
}
.p-healthManagementContents__dataTable td .--mid {
  font-size: 1.3rem;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable td {
    font-size: 1.2rem;
    padding: 0.8rem;
  }
}
.p-healthManagementContents__dataTable td small {
  font-size: 1.1rem;
}
.p-healthManagementContents__dataTable.--05 th,
.p-healthManagementContents__dataTable.--05 td {
  font-size: 1.3rem;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable.--05 th,
  .p-healthManagementContents__dataTable.--05 td {
    font-size: 1.1rem;
  }
}
.p-healthManagementContents__dataTable.--05 th:first-child:not(:last-child),
.p-healthManagementContents__dataTable.--05 td:first-child:not(:last-child) {
  text-align: left;
}
.p-healthManagementContents__dataTable.--06 th,
.p-healthManagementContents__dataTable.--06 td {
  font-size: 1.3rem;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable.--06 th,
  .p-healthManagementContents__dataTable.--06 td {
    font-size: 1.1rem;
  }
}
.p-healthManagementContents__dataTable.--06 th:first-child:not(:last-child),
.p-healthManagementContents__dataTable.--06 td:first-child:not(:last-child) {
  text-align: left;
}
.p-healthManagementContents__dataTable.--06 .--sticky {
  width: 20rem;
}
.p-healthManagementContents__dataTable.--06 .p-healthManagementContents__dataTableBody {
  display: grid;
  grid-template-rows: 36% 36% 72% 24%;
}
@media (width < 992px) {
  .p-healthManagementContents__dataTable.--06 .p-healthManagementContents__dataTableBody {
    grid-template-rows: 24% 24% 64% 24%;
  }
}
.p-healthManagementContents__dataTable.--06 td.--last {
  display: block;
  height: 100%;
}
.p-healthManagementContents__dataTable .--sticky {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
}
.p-healthManagementContents__dataTable td.--last {
  text-align: center;
}
.p-healthManagementContents__dataNote {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
}
@media (width < 992px) {
  .p-healthManagementContents__dataNote {
    font-size: 1rem;
  }
}
.p-healthManagementContents__dataDesc {
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 400;
  margin-top: 1.2rem;
}
@media (width < 768px) {
  .p-healthManagementContents__dataDesc {
    font-size: 1rem;
  }
}
.p-healthManagementContents__evalFrame {
  margin-top: 4rem;
}
@media (width < 768px) {
  .p-healthManagementContents__evalFrame {
    margin-top: 3rem;
  }
}
.p-healthManagementContents__evalLink {
  color: #1E52A6;
  word-break: break-all;
}
.p-healthManagementContents__contentsImgFrame.--04 {
  margin-top: 6.4rem;
  display: grid;
  row-gap: 8px;
}
@media (width < 768px) {
  .p-healthManagementContents__contentsImgFrame.--04 {
    margin-top: 4.8rem;
  }
}
.p-healthManagementContents__contentsImgDesc {
  font-size: 1.9rem;
  color: #333;
  font-weight: 700;
  line-height: 1.8;
}
.p-healthManagementContents__textInner {
  background-color: #f3f3f3;
  border-radius: 6px;
  padding: 4rem;
}
@media (width < 992px) {
  .p-healthManagementContents__textInner {
    padding: 3rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__textInner {
    padding: 4rem 2rem;
  }
}
.p-healthManagementContents__textInner.--01 {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media (width < 992px) {
  .p-healthManagementContents__textInner.--01 {
    grid-template-columns: 1fr 40%;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__textInner.--01 {
    grid-template-columns: 1fr;
    row-gap: 3rem;
    padding: 2.8rem 2rem;
  }
}
.p-healthManagementContents__textInner.--02 {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 6.4rem;
  margin-bottom: 6.4rem;
}
@media (width < 992px) {
  .p-healthManagementContents__textInner.--02 {
    grid-template-columns: 1fr 40%;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__textInner.--02 {
    grid-template-columns: 1fr;
    margin-top: 4.8rem;
    margin-bottom: 4.4rem;
  }
}
@media (768px <= width) {
  .p-healthManagementContents__textInner.--02 .--columnALL {
    grid-column: 1/3;
  }
}
.p-healthManagementContents__textInner.--03 {
  margin-top: 2.4rem;
  margin-bottom: 4rem;
}
@media (width < 768px) {
  .p-healthManagementContents__textInner.--03 {
    padding: 2.8rem;
  }
}
.p-healthManagementContents__graphFrame {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 3rem;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (width < 992px) {
  .p-healthManagementContents__graphFrame {
    -webkit-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__graphFrame {
    grid-template-columns: 1fr;
    row-gap: 4rem;
  }
}
.p-healthManagementContents__graphDesc {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  line-height: 1.8;
  text-align: center;
}
@media (width < 992px) {
  .p-healthManagementContents__graphDesc {
    font-size: 1.6rem;
  }
}
.p-healthManagementContents__graphDesc.--physical {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media (width < 992px) {
  .p-healthManagementContents__graphDesc.--physical {
    font-size: 1.4rem;
  }
}
.p-healthManagementContents__graphImg {
  -ms-flex-item-align: end;
  align-self: flex-end;
}
.p-healthManagementContents__graphImg img {
  width: 100%;
}
@media (768px <= width) {
  .p-healthManagementContents__graphImg {
    max-width: 28rem;
  }
}
.p-healthManagementContents__graphCopy {
  color: #1E52A6;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.2;
}
.p-healthManagementContents__graphCopy.--columnALL {
  margin-top: 6.4rem;
  margin-bottom: 1.3rem;
}
@media (width < 768px) {
  .p-healthManagementContents__graphCopy.--columnALL {
    margin-top: 3rem;
    margin-bottom: 1rem;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__graphCopy {
    font-size: 1.6rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__graphCopy {
    font-size: 1.4rem;
  }
}
.p-healthManagementContents__graphTextList {
  font-size: 1.5rem;
  line-height: 1.8;
}
@media (width < 992px) {
  .p-healthManagementContents__graphTextList {
    font-size: 1.3rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__graphTextList {
    font-size: 1.2rem;
  }
}
.p-healthManagementContents__graphItem {
  display: grid;
}
.p-healthManagementContents__evaluationFrame {
  padding: 3.2rem 3.2rem 2rem 3.2rem;
  border: 1px solid #D8D8D8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 1.6rem;
}
@media (width < 768px) {
  .p-healthManagementContents__evaluationFrame {
    padding: 2.2rem 1.8rem 1.4rem 1.8rem;
    min-height: 27rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.p-healthManagementContents__evaluationLogo {
  margin-inline: auto;
}
.p-healthManagementContents__evaluationLogo.--01 {
  width: 53.5019455253%;
}
.p-healthManagementContents__evaluationLogo.--02 {
  width: 30.3501945525%;
}
.p-healthManagementContents__evaluationLinkFrame {
  display: grid;
}
.p-healthManagementContents__evaluationLinkFrame a {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
  text-decoration-color: transparent;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (hover: hover) {
  .p-healthManagementContents__evaluationLinkFrame a:hover {
    -webkit-text-decoration-color: #000;
    text-decoration-color: #000;
  }
}
@media (width < 992px) {
  .p-healthManagementContents__evaluationLinkFrame a {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__evaluationLinkFrame a {
    font-size: 1.2rem;
  }
  .p-healthManagementContents__evaluationLinkFrame a span {
    line-height: 1.5;
  }
}
.p-healthManagementContents__evaluationList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 6rem;
  -moz-column-gap: 6rem;
  column-gap: 6rem;
}
@media (width < 992px) {
  .p-healthManagementContents__evaluationList {
    -webkit-column-gap: 3.5rem;
    -moz-column-gap: 3.5rem;
    column-gap: 3.5rem;
  }
}
@media (width < 768px) {
  .p-healthManagementContents__evaluationList {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3.6rem;
  }
}
.p-healthManagementContents__evaluationList > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 0;
}
.p-healthManagementContents__scrollGuideFrame {
  position: absolute;
  background-color: rgba(242, 242, 242, 0.9);
  border-radius: 1rem;
  max-width: 30rem;
  width: 68.2051282051%;
  left: 50%;
  top: 5%;
  translate: -50% 0;
  display: grid;
  place-items: center;
  padding: 2rem 1rem;
  row-gap: 1rem;
  -webkit-transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.is-view .p-healthManagementContents__scrollGuideFrame {
  opacity: 0;
  visibility: visible;
  pointer-events: none;
}
@media (768px <= width) {
  .p-healthManagementContents__scrollGuideFrame.--01 {
    display: none;
  }
}
@media (992px <= width) {
  .p-healthManagementContents__scrollGuideFrame.--02, .p-healthManagementContents__scrollGuideFrame.--03, .p-healthManagementContents__scrollGuideFrame.--04 {
    display: none;
  }
}
.p-healthManagementContents__scrollGuideText {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.2rem;
  text-align: center;
  color: #333;
}
.p-healthManagementContents__scrollGuideIconFrame {
  position: relative;
  width: 6.5rem;
  height: 2.1rem;
  color: #333;
  display: grid;
  place-items: center;
}
.p-healthManagementContents__scrollGuideIconFrame::after, .p-healthManagementContents__scrollGuideIconFrame::before {
  content: "";
  width: 2px;
  height: 100%;
  border-radius: 100vmax;
  background-color: currentColor;
  position: absolute;
  top: 0;
}
.p-healthManagementContents__scrollGuideIconFrame::after {
  left: 0;
}
.p-healthManagementContents__scrollGuideIconFrame::before {
  right: 0;
}
.p-healthManagementContents__scrollGuideIconBox {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 4.5rem;
}
.p-healthManagementContents__scrollGuideIcon {
  grid-column: 1;
  grid-row: 1;
  stroke: currentColor;
  height: auto;
}
.p-healthManagementContents__scrollGuideIcon:first-of-type {
  -webkit-animation: arrow02 infinite 2s;
  animation: arrow02 infinite 2s;
}
.p-healthManagementContents__scrollGuideIcon:last-of-type {
  -webkit-animation: arrow01 infinite 2s;
  animation: arrow01 infinite 2s;
}
.p-healthManagementContents__evaluationLinkIcon {
  width: 1.4rem;
  height: auto;
}
.p-healthManagementContents__evaluationLinkInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5em;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

@-webkit-keyframes arrow01 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  80% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@keyframes arrow01 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  80% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@-webkit-keyframes arrow02 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  80% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@keyframes arrow02 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  80% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
/*--------------------------------------------
  history FV Section
--------------------------------------------*/
.p-history {
  position: relative;
}

.p-historyContents__inner {
  padding-top: 14.3rem;
  padding-bottom: 12.8rem;
}
@media (width < 992px) {
  .p-historyContents__inner {
    padding-top: 12rem;
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-historyContents__inner {
    padding-top: 8rem;
    padding-bottom: 8.8rem;
  }
}

/*--------------------------------------------
  license Contents
--------------------------------------------*/
.p-licenseContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-licenseContents__inner {
  padding-bottom: 12.8rem;
}
@media (width < 768px) {
  .p-licenseContents__inner {
    padding-bottom: 10rem;
  }
}
.p-licenseContents__inner {
  display: grid;
  row-gap: 8.8rem;
}
.p-licenseContents__item {
  display: grid;
  -webkit-column-gap: 1.8rem;
  -moz-column-gap: 1.8rem;
  column-gap: 1.8rem;
  row-gap: 2.4rem;
}
.p-licenseContents__item:not(.--08) .p-licenseContents__img {
  max-width: 18rem;
  margin-inline: auto;
}
@media (width < 768px) {
  .p-licenseContents__item:not(.--08) .p-licenseContents__img {
    max-width: 13.6rem;
  }
}
@media (768px <= width) {
  .p-licenseContents__item {
    grid-template-columns: max(15rem, 15%) 1fr;
  }
  .p-licenseContents__item.--03, .p-licenseContents__item.--04, .p-licenseContents__item.--05 {
    grid-template-columns: repeat(2, max(15rem, 15%) 1fr);
  }
  .p-licenseContents__item.--03 .p-licenseContents__copy, .p-licenseContents__item.--04 .p-licenseContents__copy, .p-licenseContents__item.--05 .p-licenseContents__copy {
    grid-column: 1/5;
  }
  .p-licenseContents__item.--03 .--02.p-licenseContents__desc, .p-licenseContents__item.--04 .--02.p-licenseContents__desc, .p-licenseContents__item.--05 .--02.p-licenseContents__desc {
    grid-column: 3/5;
    grid-row: 2/3;
  }
  .p-licenseContents__item.--03 .--02.p-licenseContents__img, .p-licenseContents__item.--04 .--02.p-licenseContents__img, .p-licenseContents__item.--05 .--02.p-licenseContents__img {
    grid-column: 3/4;
    grid-row: 3/4;
  }
  .p-licenseContents__item.--03 .--02.p-licenseContents__text, .p-licenseContents__item.--04 .--02.p-licenseContents__text, .p-licenseContents__item.--05 .--02.p-licenseContents__text {
    grid-column: 4/5;
    grid-row: 3/4;
  }
  .p-licenseContents__item.--01 .p-licenseContents__text, .p-licenseContents__item.--02 .p-licenseContents__text, .p-licenseContents__item.--07 .p-licenseContents__text {
    grid-column: 1/3;
  }
  .p-licenseContents__item.--07 .p-licenseContents__text {
    max-width: 60rem;
  }
  .p-licenseContents__item.--08 .p-licenseContents__img {
    grid-column: 1/3;
    max-width: 60rem;
  }
  .p-licenseContents__item.--09 .p-licenseContents__img {
    grid-row: 3/5;
  }
}
@media (width < 768px) {
  .p-licenseContents__item.--02 .p-licenseContents__text {
    margin-left: 0;
  }
}
.p-licenseContents__copy {
  color: #ffffff;
  line-height: 1.6;
  font-size: 1.7rem;
  background-color: #1E52A6;
  padding: 1rem 2.6rem;
}
@media (768px <= width) {
  .p-licenseContents__copy {
    grid-column: 1/3;
  }
}
@media (width < 768px) {
  .p-licenseContents__copy {
    font-size: 1.8rem;
    padding: 1rem 1.2rem;
  }
}
.p-licenseContents__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
@media (768px <= width) {
  .p-licenseContents__desc {
    grid-column: 1/3;
  }
}
@media (width < 768px) {
  .p-licenseContents__desc {
    font-weight: 700;
    line-height: 1.6;
    font-size: 1.4rem;
  }
}
@media (768px <= width) {
  .p-licenseContents__img {
    grid-column: 1/2;
  }
}
.p-licenseContents__imgSub {
  max-width: 22.4rem;
}
@media (768px <= width) {
  .p-licenseContents__imgSub {
    grid-column: 2/3;
    grid-row: 4/5;
  }
}
@media (width < 768px) {
  .p-licenseContents__imgSub {
    margin-inline: auto;
  }
}
.p-licenseContents__text {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
}
@media (768px <= width) {
  .p-licenseContents__text {
    grid-column: 2/3;
  }
}
@media (width < 768px) {
  .p-licenseContents__text {
    line-height: 1.6;
  }
  .p-licenseContents__text .--underLine {
    border-bottom: 1px solid #D8D8D8;
    padding: 0.25em 0;
    display: block;
  }
  .p-licenseContents__text .--underLine:first-of-type {
    border-top: 1px solid #D8D8D8;
  }
}

/*--------------------------------------------
  offices FV Section
--------------------------------------------*/
.p-offices {
  position: relative;
}

.p-officesContents {
  position: relative;
  z-index: 1;
}
.p-officesContents__frame {
  padding-top: 14.5rem;
  padding-bottom: 14rem;
  display: grid;
  row-gap: 13.6rem;
}
@media (width < 992px) {
  .p-officesContents__frame {
    padding-top: 12rem;
    padding-bottom: 12rem;
    row-gap: 12rem;
  }
}
@media (width < 768px) {
  .p-officesContents__frame {
    padding-top: 8rem;
    padding-bottom: 8rem;
    row-gap: 8rem;
  }
}
.p-officesContents__inner {
  padding-top: calc(var(--h_height) + 13rem);
  margin-top: calc((var(--h_height) + 13rem) * -1);
  position: relative;
}
.p-officesContents__inner:nth-of-type(1) {
  z-index: 6;
}
.p-officesContents__inner:nth-of-type(2) {
  z-index: 5;
}
.p-officesContents__inner:nth-of-type(3) {
  z-index: 4;
}
.p-officesContents__inner:nth-of-type(4) {
  z-index: 3;
}
.p-officesContents__inner:nth-of-type(5) {
  z-index: 2;
}
.p-officesContents__inner:nth-of-type(6) {
  z-index: 1;
}
@media (width < 768px) {
  .p-officesContents__inner {
    padding-top: calc(var(--h_height) + 15.5rem);
    margin-top: calc((var(--h_height) + 15.5rem) * -1);
  }
}
.p-officesContents__ttl {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 4.8rem;
}
@media (width < 992px) {
  .p-officesContents__ttl {
    font-size: 2.8rem;
  }
}
@media (width < 768px) {
  .p-officesContents__ttl {
    font-size: 2.2rem;
  }
}
.p-officesContents__copy {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (width < 992px) {
  .p-officesContents__copy {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-officesContents__copy {
    font-size: 1.4rem;
  }
  .p-officesContents__copy span {
    font-size: 9px;
    line-height: 1.2;
    display: inline-block;
  }
}
.p-officesContents__copy.--intro {
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
}
@media (width < 768px) {
  .p-officesContents__copy.--intro {
    padding-bottom: 8px;
    margin-bottom: 8px;
    font-size: 1.8rem;
    text-align: center;
  }
}
.p-officesContents__text {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
}
@media (width < 992px) {
  .p-officesContents__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-officesContents__text {
    font-size: 1.2rem;
  }
}
.p-officesContents__imgFrame {
  position: relative;
  z-index: 8;
}
.p-officesContents__tabFrame {
  position: -webkit-sticky;
  position: sticky;
  z-index: 7;
  top: var(--h_height);
  background-color: #1E52A6;
  margin-top: -1px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.3);
}
.p-officesContents__tabList {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
@media (width < 992px) {
  .p-officesContents__tabList {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (width < 768px) {
  .p-officesContents__tabList {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-officesContents__tabItem {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.p-officesContents__tabItem:last-of-type {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
@media (width < 768px) {
  .p-officesContents__tabItem {
    display: grid;
  }
  .p-officesContents__tabItem:nth-of-type(1), .p-officesContents__tabItem:nth-of-type(2), .p-officesContents__tabItem:nth-of-type(3) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.p-officesContents__tabLink {
  display: grid;
  place-items: center;
  row-gap: 2rem;
  color: #ffffff;
  padding: 2rem 1rem;
  font-size: 1.4rem;
}
@media (width < 992px) {
  .p-officesContents__tabLink {
    font-size: 1.3rem;
    padding: 2rem 1rem;
    text-align: center;
    row-gap: 1rem;
  }
}
@media (width < 768px) {
  .p-officesContents__tabLink {
    font-size: 1.2rem;
    line-height: 1.2;
    row-gap: 0.5rem;
  }
}
.p-officesContents__tabIconFrame {
  width: 1.25rem;
  overflow: clip;
  display: grid;
}
.p-officesContents__tabIcon {
  grid-column: 1;
  grid-row: 1;
  height: auto;
  stroke: currentColor;
  fill: none;
}
.p-officesContents__tabIcon:first-of-type {
  translate: 0 -125%;
}
.p-officesContents__introList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-bottom: 4rem;
}
@media (width < 992px) {
  .p-officesContents__introList {
    -webkit-column-gap: 3rem;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
}
@media (width < 768px) {
  .p-officesContents__introList {
    grid-template-columns: 1fr;
    row-gap: 5.5rem;
  }
}
.p-officesContents__introItem {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 3rem;
}
@media (width < 768px) {
  .p-officesContents__introItem {
    grid-template-rows: auto;
    grid-row: auto;
  }
}
.p-officesContents__introItemMapFrame {
  aspect-ratio: 580/380;
  position: relative;
  overflow: clip;
}
@media (width < 768px) {
  .p-officesContents__introItemMapFrame {
    aspect-ratio: 350/229;
  }
}
.p-officesContents__introItemMapFrame > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-officesContents__mapLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #1E52A6;
  font-weight: 400;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-officesContents__mapLinkText {
  font-size: 1.6rem;
}
@media (width < 992px) {
  .p-officesContents__mapLinkText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-officesContents__mapLinkText {
    font-size: 1.2rem;
  }
}
.p-officesContents__mapLinkIcon {
  width: 1rem;
  height: auto;
  stroke: currentColor;
}
@media (width < 992px) {
  .p-officesContents__mapLinkIcon {
    font-size: 1.2rem;
  }
}
.p-officesContents__table > div {
  display: grid;
  grid-template-columns: 35.8333333333% 1fr;
  border-bottom: 1px solid #D8D8D8;
}
@media (width < 768px) {
  .p-officesContents__table > div {
    grid-template-columns: 27.1428571429% 1fr;
  }
}
.p-officesContents__table > div:first-of-type {
  border-top: 1px solid #D8D8D8;
}
.p-officesContents__table dt {
  padding: 1.6rem;
  background-color: #f3f3f3;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (width < 992px) {
  .p-officesContents__table dt {
    padding: 1.4rem;
  }
}
@media (width < 768px) {
  .p-officesContents__table dt {
    padding: 1rem;
  }
}
.p-officesContents__table dd {
  padding: 1.6rem 3.2rem;
}
@media (width < 992px) {
  .p-officesContents__table dd {
    padding: 1rem;
  }
}

/*--------------------------------------------
  organization FV Section
--------------------------------------------*/
.p-organization {
  position: relative;
}

.p-organizationContents__inner {
  padding-bottom: 12.8rem;
}
@media (width < 992px) {
  .p-organizationContents__inner {
    padding-bottom: 10rem;
  }
}
@media (width < 768px) {
  .p-organizationContents__inner {
    background-color: #f3f3f3;
    padding-bottom: 2rem;
    padding-top: 2rem;
    margin-bottom: 8.8rem;
  }
}

/*--------------------------------------------
  outline Contents
--------------------------------------------*/
.p-outlineContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-outlineContents__inner {
  padding-bottom: 12.8rem;
  padding-top: 12.8rem;
}
@media (width < 768px) {
  .p-outlineContents__inner {
    padding-top: 8.8rem;
    padding-bottom: 8.8rem;
  }
}
.p-outlineContents__table div {
  display: grid;
  grid-template-columns: 20.3333333333% 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #D8D8D8;
}
@media (width < 992px) {
  .p-outlineContents__table div {
    grid-template-columns: 30% 1fr;
  }
}
@media (width < 768px) {
  .p-outlineContents__table div {
    grid-template-columns: 27.1428571429% 1fr;
  }
}
.p-outlineContents__table div:first-of-type {
  border-top: 1px solid #D8D8D8;
}
.p-outlineContents__table dt, .p-outlineContents__table dd {
  padding: 1.6rem;
  line-height: 1.6;
  min-height: 11.8rem;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
@media (width < 992px) {
  .p-outlineContents__table dt, .p-outlineContents__table dd {
    padding: 1.4rem;
  }
}
@media (width < 768px) {
  .p-outlineContents__table dt, .p-outlineContents__table dd {
    padding: 1.6rem 0.8rem;
    min-height: auto;
  }
}
.p-outlineContents__table dt {
  background-color: #f3f3f3;
  font-size: 2rem;
  font-weight: 700;
}
@media (width < 992px) {
  .p-outlineContents__table dt {
    font-size: 1.8rem;
  }
}
@media (width < 768px) {
  .p-outlineContents__table dt {
    font-size: 1.4rem;
  }
}
.p-outlineContents__table dd {
  font-size: 1.6rem;
  font-weight: 400;
}
@media (width < 992px) {
  .p-outlineContents__table dd {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-outlineContents__table dd {
    font-size: 1.2rem;
  }
}
.p-outlineContents__mapLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #1E52A6;
  font-weight: 400;
  -webkit-column-gap: 8px;
  -moz-column-gap: 8px;
  column-gap: 8px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-outlineContents__mapLinkText {
  font-size: 1.6rem;
}
@media (width < 992px) {
  .p-outlineContents__mapLinkText {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-outlineContents__mapLinkText {
    font-size: 1.2rem;
  }
}
.p-outlineContents__mapLinkIcon {
  width: 1rem;
  height: auto;
  stroke: currentColor;
}
@media (width < 992px) {
  .p-outlineContents__mapLinkIcon {
    font-size: 1.2rem;
  }
}

/*--------------------------------------------
  public Notice Contents
--------------------------------------------*/
.p-publicNoticeContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-publicNoticeContents__inner {
  padding-bottom: 12.8rem;
  padding-top: 8rem;
}
@media (width < 768px) {
  .p-publicNoticeContents__inner {
    padding-top: 4rem;
    padding-bottom: 10rem;
  }
}
.p-publicNoticeContents__introText {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}
@media (width < 992px) {
  .p-publicNoticeContents__introText {
    font-size: 1.6rem;
  }
}
@media (width < 768px) {
  .p-publicNoticeContents__introText {
    line-height: 1.5;
    letter-spacing: 0.8px;
    text-align: left;
  }
}
.p-publicNoticeContents__ttl {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 2.4rem;
}
@media (width < 992px) {
  .p-publicNoticeContents__ttl {
    font-size: 2.8rem;
  }
}
@media (width < 768px) {
  .p-publicNoticeContents__ttl {
    font-size: 2.2rem;
  }
}
.p-publicNoticeContents__list:has(+ *) {
  margin-bottom: 8.8rem;
}
.p-publicNoticeContents__item {
  border-bottom: 1px solid #D8D8D8;
}
.p-publicNoticeContents__item:first-of-type {
  border-top: 1px solid #D8D8D8;
}
.p-publicNoticeContents__item > span {
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 8px;
  display: inline-block;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
}
@media (width < 992px) {
  .p-publicNoticeContents__item > span {
    font-size: 1.4rem;
  }
}
.p-publicNoticeContents__text {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 2.4rem;
  line-height: 1.8;
}
@media (width < 992px) {
  .p-publicNoticeContents__text {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.p-publicNoticeContents__copy {
  color: #ffffff;
  line-height: 1.6;
  font-size: 1.7rem;
  background-color: #1E52A6;
  padding: 1rem 2.6rem;
}
@media (width < 768px) {
  .p-publicNoticeContents__copy {
    font-size: 1.8rem;
    padding: 1rem 1.2rem;
  }
}
.p-publicNoticeContents__link {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 1fr auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  max-width: 30rem;
  -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@media (width < 992px) {
  .p-publicNoticeContents__link {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media (width < 768px) {
  .p-publicNoticeContents__link {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    max-width: 24.4rem;
  }
}
@media (hover: hover) {
  .p-publicNoticeContents__link:hover {
    --hover_bg: #2D85E3;
  }
  .p-publicNoticeContents__link:hover .p-publicNoticeContents__icon:first-of-type {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  .p-publicNoticeContents__link:hover .p-publicNoticeContents__icon:last-of-type {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  .p-publicNoticeContents__link:hover .p-publicNoticeContents__linkText::after {
    opacity: 1;
  }
}
.p-publicNoticeContents__linkText {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  color: currentColor;
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-publicNoticeContents__linkText::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  background-color: #1E52A6;
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-publicNoticeContents__linkText {
    font-size: 1.4rem;
  }
}
.p-publicNoticeContents__iconFrame {
  width: 4.3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #1E52A6;
  display: grid;
  place-items: center;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
@media (width < 992px) {
  .p-publicNoticeContents__iconFrame {
    width: 3.5rem;
  }
}
@media (width < 768px) {
  .p-publicNoticeContents__iconFrame {
    width: 3.6rem;
  }
}
.p-publicNoticeContents__iconBox {
  display: grid;
  width: 25.1162790698%;
  overflow: clip;
}
.p-publicNoticeContents__icon {
  height: auto;
  grid-column: 1;
  grid-row: 1;
  stroke: #ffffff;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 1, 1);
  transition: 0.2s cubic-bezier(0, 0, 1, 1);
}
.p-publicNoticeContents__icon:first-of-type {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

/*--------------------------------------------
  sakaiFactory FV Section
--------------------------------------------*/
@-webkit-keyframes loop01 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes loop01 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes loop02 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@keyframes loop02 {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
.p-sakaiFactory {
  position: relative;
}

.p-sakaiFactoryContents {
  position: relative;
  z-index: 1;
}
.p-sakaiFactoryContents__inner.--official {
  padding-top: 10rem;
  padding-bottom: 5.6rem;
}
@media (width < 992px) {
  .p-sakaiFactoryContents__inner.--official {
    padding-top: 8rem;
    padding-bottom: 4.5rem;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__inner.--official {
    padding-top: 7rem;
    padding-bottom: 4rem;
  }
}
.p-sakaiFactoryContents__inner.--sakai {
  padding-top: 12.8rem;
  padding-bottom: 7.3rem;
}
@media (width < 992px) {
  .p-sakaiFactoryContents__inner.--sakai {
    padding-top: 10rem;
    padding-bottom: 6rem;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__inner.--sakai {
    padding-top: 9rem;
    padding-bottom: 5.7rem;
    display: grid;
    row-gap: 4rem;
  }
}
.p-sakaiFactoryContents__copy {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 6.4rem;
}
@media (width < 992px) {
  .p-sakaiFactoryContents__copy {
    font-size: 2.8rem;
    margin-bottom: 5rem;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__copy {
    font-size: 2.2rem;
    margin-bottom: 3.5rem;
  }
  .--sakai .p-sakaiFactoryContents__copy {
    margin-bottom: 0;
  }
}
.p-sakaiFactoryContents__textFrame {
  max-width: 100rem;
  margin-inline: auto;
}
.p-sakaiFactoryContents__text {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
@media (width < 992px) {
  .p-sakaiFactoryContents__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__text {
    line-height: 1.6;
  }
}
.p-sakaiFactoryContents__loopFrame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-sakaiFactoryContents__loopFrame.--left .p-sakaiFactoryContents__loopItem {
  -webkit-animation: loop02 50s linear infinite;
  animation: loop02 50s linear infinite;
}
.p-sakaiFactoryContents__loopItem {
  display: grid;
  grid-template-columns: repeat(4, 58rem);
  -webkit-animation: loop01 50s linear infinite;
  animation: loop01 50s linear infinite;
}
.p-sakaiFactoryContents__loopItem img {
  width: 58rem;
}
@media (width < 768px) {
  .p-sakaiFactoryContents__loopItem {
    grid-template-columns: repeat(2, 39rem);
  }
}
.p-sakaiFactoryContents__sakaiFrame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 4.8rem;
}
@media (width < 992px) {
  .p-sakaiFactoryContents__sakaiFrame {
    margin-bottom: 3.5rem;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__sakaiFrame {
    display: contents;
  }
}
.p-sakaiFactoryContents__sakaiTextFrame {
  width: 48.3333333333%;
}
@media (width < 768px) {
  .p-sakaiFactoryContents__sakaiTextFrame {
    width: 100%;
    grid-row: 2/3;
  }
}
.p-sakaiFactoryContents__sakaiImgFrame {
  margin-right: min(-4rem, 60rem - 50vw);
  width: 48.6111111111vw;
}
@media (width < 768px) {
  .p-sakaiFactoryContents__sakaiImgFrame {
    width: 111.4285714286%;
    margin-right: 0;
    margin-left: -2rem;
    grid-row: 4/5;
  }
}
.p-sakaiFactoryContents__mapFrame {
  position: relative;
}
@media (768px <= width) {
  .p-sakaiFactoryContents__mapFrame {
    background-color: #f3f3f3;
  }
}
@media (hover: hover) {
  .p-sakaiFactoryContents__mapFrame:hover .p-sakaiFactoryContents__modalBtn {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
@media (width < 768px) {
  .p-sakaiFactoryContents__mapFrame {
    grid-row: 3/4;
  }
}
.p-sakaiFactoryContents__mapImg {
  width: 63.8333333333%;
  margin-inline: auto;
}
@media (width < 768px) {
  .p-sakaiFactoryContents__mapImg {
    width: 100%;
  }
}
@media (768px <= width) {
  .p-sakaiFactoryContents__btnFrame {
    margin-top: 7.2rem;
  }
}
.p-sakaiFactoryContents__modalBtn {
  display: grid;
  place-items: center;
  background-color: #1E52A6;
  width: 6.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media (768px <= width) {
  .p-sakaiFactoryContents__modalBtn {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
@media (orientation: portrait) {
  .p-sakaiFactoryContents__modalBtn {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
.p-sakaiFactoryContents__modalBtn {
  -webkit-transition: all 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: all 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.p-sakaiFactoryContents__modalBtn > i {
  grid-column: 1;
  grid-row: 1;
  width: 30.7692307692%;
  height: 1px;
  background-color: #ffffff;
}
.p-sakaiFactoryContents__modalBtn > i:first-of-type {
  rotate: 90deg;
}

/*--------------------------------------------
  topmessage Contents
--------------------------------------------*/
.p-topmessageContents {
  /*--------------------------------------------
    共通 セクション見出し
  --------------------------------------------*/
}
.p-topmessageContents__inner {
  padding-bottom: 12.8rem;
  display: grid;
  grid-template-columns: 1fr 30.3333333333%;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
}
@media (width < 768px) {
  .p-topmessageContents__inner {
    grid-template-columns: 1fr;
    row-gap: 3rem;
    padding-bottom: 8.8rem;
  }
}
@media (width < 768px) {
  .p-topmessageContents__imgFrame {
    grid-row: 1/2;
  }
}
.p-topmessageContents__img {
  max-width: 36.4rem;
  margin-inline: auto;
}
@media (width < 768px) {
  .p-topmessageContents__img {
    width: 68.5714285714%;
  }
}
.p-topmessageContents__copy {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 4rem;
}
@media (width < 992px) {
  .p-topmessageContents__copy {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
@media (width < 768px) {
  .p-topmessageContents__copy {
    font-size: 2.2rem;
    margin-bottom: 1.68rem;
  }
}
.p-topmessageContents__textBox {
  display: grid;
  row-gap: 2.5rem;
  margin-bottom: 5rem;
}
@media (width < 992px) {
  .p-topmessageContents__textBox {
    row-gap: 2rem;
    margin-bottom: 3rem;
  }
}
.p-topmessageContents__text {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
.p-topmessageContents__text.--name {
  font-weight: 700;
}
@media (width < 768px) {
  .p-topmessageContents__text.--name {
    line-height: 1.2;
  }
  .p-topmessageContents__text.--name span {
    font-size: 1.6rem;
  }
}
@media (width < 992px) {
  .p-topmessageContents__text {
    font-size: 1.4rem;
  }
}
@media (width < 768px) {
  .p-topmessageContents__text {
    line-height: 1.6;
  }
}

/*--------------------------------------------
  XXXX
--------------------------------------------*/
/*--------------------------------------------
  OBJECT
--------------------------------------------*/
/*--------------------------------------------
  HERO
--------------------------------------------*/
/*--------------------------------------------
  HEADER
--------------------------------------------*/
/*# sourceMappingURL=style.css.map */
