@charset "UTF-8";
.bg-primary {
  background-color: var(--theme-color, #004ea2);
}

.btn-primary {
  --bs-btn-bg: var(--theme-color, #004ea2);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-secondary {
  background-color: #867439;
}

.btn-secondary {
  --bs-btn-bg: #867439;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-light {
  background-color: #f8f7f3;
}

.btn-light {
  --bs-btn-bg: #f8f7f3;
}

.bg-dark {
  background-color: #000;
}

.btn-dark {
  --bs-btn-bg: #000;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-white {
  background-color: #fff;
}

.btn-white {
  --bs-btn-bg: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-orange {
  background-color: #dd5e25;
}

.btn-orange {
  --bs-btn-bg: #dd5e25;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

.bg-gold {
  background-color: #ad9a5c;
}

.btn-gold {
  --bs-btn-bg: #ad9a5c;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}

h1 {
  font-size: 4.8rem;
}

.fs-1 {
  font-size: 4.8rem;
}

h2 {
  font-size: 4.2rem;
}

.fs-2 {
  font-size: 4.2rem;
}

h3 {
  font-size: 3.6rem;
}

.fs-3 {
  font-size: 3.6rem;
}

h4 {
  font-size: 3.2rem;
}

.fs-4 {
  font-size: 3.2rem;
}

h5 {
  font-size: 2.8rem;
}

.fs-5 {
  font-size: 2.8rem;
}

h6 {
  font-size: 2.4rem;
}

.fs-6 {
  font-size: 2.4rem;
}

html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: auto !important;
}

body {
  position: relative;
  overflow-x: hidden;
  background-color: #fff;
  color: #333;
  letter-spacing: 0;
  font-family: "kozuka-gothic-pro", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75;
}

.dark {
  --btn-border-color: #fff;
  --btn-hover-bg-color: #fff;
  --btn-hover-text-color: #262017;
  --btn-text-color: #fff;
  --link-color: #fff;
  --text-color: #fff;
}
.dark * {
  color: var(--text-color, #262017);
}

@media (max-width: 1200px) {
  html {
    font-size: 0.8333333333vw;
  }
}
* {
  color: var(--text-color, #333);
  letter-spacing: 0.05em;
}

em {
  font-style: normal;
}

p {
  line-height: 1.75;
}
p:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

address {
  font-style: normal;
}

ul, ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

dl, dt, dd {
  margin-bottom: 0;
}

figure {
  margin-bottom: 0;
}

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

.img-cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.img-border {
  border: 1px solid #ccc;
}

.img-fluid {
  width: var(--width-pc) !important;
}

iframe {
  vertical-align: bottom;
}

.hr-01 {
  border-top: 5px solid #707070;
  border-bottom: none;
  opacity: 1;
}

a {
  color: var(--text-color, #0e1346);
  text-decoration: none;
}
a:hover {
  color: inherit;
}

[data-link]:hover {
  text-decoration: none;
}

[data-link=banner] {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.mt-lg {
  margin-top: 6rem !important;
}
.mt-md {
  margin-top: 4rem !important;
}
.mt-sm {
  margin-top: 3rem !important;
}

.mb-lg {
  margin-bottom: 6rem !important;
}
.mb-md {
  margin-bottom: 4rem !important;
}
.mb-sm {
  margin-bottom: 3rem !important;
}

.link-primary {
  display: inline-block;
  --bs-link-color-rgb: 140, 59, 59;
}
.link-underline {
  text-decoration: underline;
}
.link-external {
  gap: 0 0.36em;
  text-decoration: underline;
}
.link-external::before {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><g fill='%236B1B7E'><path d='M19.05 8.53c-.36 0-.65.29-.65.65v11.51H1.31V3.59h11.5c.36 0 .65-.29.65-.65 0-.36-.29-.65-.65-.66H.65c-.36 0-.65.29-.65.65v18.41c0 .36.29.65.65.65h18.4c.36 0 .65-.29.65-.65V9.18c0-.36-.29-.65-.65-.65'/><path d='M21.35 0h-5.98c-.36 0-.65.29-.65.65 0 .36.29.65.65.65h4.4L9.4 11.68c-.26.26-.26.67 0 .93s.67.26.92 0L20.69 2.23v4.4c0 .36.3.65.66.65.36 0 .65-.29.65-.65V.65c0-.36-.29-.66-.65-.66'/></g></svg>");
  background-size: contain;
  background-repeat: no-repeat;
}

.list-dot {
  list-style-type: none;
}
.list-dot li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.875;
}
.list-dot li::before {
  content: "・";
}
.list-circle li {
  margin-left: 1em;
  text-indent: -1em;
}
.list-circle li::before {
  content: "●";
}
.list-note {
  list-style-type: none;
}
.list-note li {
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
.list-note li::before {
  content: "※";
}
.list-note.sm {
  font-size: 1.4rem;
}
.list-note.msm {
  font-size: 1.3rem;
}
.list-note.xsm {
  font-size: 1.2rem;
}
.list-num {
  padding-left: 1.5em;
  list-style-type: decimal;
}
.list-num li {
  line-height: 1.875;
}

.video-wrap {
  width: 100%;
  aspect-ratio: 16/9;
}
.video-wrap video {
  width: 100%;
  height: 100%;
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

#pageTop {
  width: 5.4rem;
  height: 4rem;
  position: fixed;
  right: 2.2rem;
  bottom: 4.8rem;
  z-index: 9;
  display: block;
  background-color: #004ea2;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
          clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
#pageTop::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.25rem);
  left: calc(50% - 0.5rem);
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#pageTop.is-active {
  opacity: 1;
  visibility: visible;
}

.bg-primary {
  background-color: var(--theme-color, #004ea2) !important;
  --text-color: #fff;
}
.bg-01 {
  background-color: #eceff1;
}
.bg-02 {
  background-color: #e6edf6;
}
.bg-wh {
  background-color: #fff;
}

.bg-obj > * {
  position: absolute;
  z-index: -1;
  opacity: 0.15;
}

.js-modal__trigger:hover {
  cursor: pointer;
}

.js-bg-layer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.js-bg-layer.is-show {
  opacity: 1;
  visibility: visible;
}

.mx-auto {
  margin-right: auto;
  margin-left: auto;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.link-ext01 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.link-ext01::after {
  content: "";
  width: 1em;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 12"><path d="M2 0h12v10H2Zm11 1H3v8h10Z"/><path d="M9.5 12H0V4.5h1V11h8.5Z"/></svg>');
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}

.text-serif {
  font-family: "Noto Serif JP", serif;
}
.text-en {
  font-family: "roboto", sans-serif;
}
.text-unset {
  font-family: initial;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: right;
}
.text-bold {
  font-weight: 700;
}
.text-white {
  color: #fff !important;
  --bs-link-color: #fff;
  --bs-link-hover-color: #fff;
  --text-color: #fff;
}
.text-white .fill {
  fill: #fff;
}
.text-secondary {
  color: #8e7244;
}
.text-black {
  color: #000;
}
.text-primary {
  color: #004ea2;
  --text-color: #004ea2;
}
.text-md {
  font-size: 1.8rem;
}
.text-sm {
  font-size: 1.4rem;
}

.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}

.lh-1 {
  line-height: 1;
}

.ls-0 {
  letter-spacing: 0;
}
.ls-lg {
  letter-spacing: 0.2em;
}

.tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tags .date {
  display: block;
  color: var(--theme-color, #004ea2);
  font-size: 1.8rem;
}
.tags .tag {
  padding: 0.5rem 2rem;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
}

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .tabOnly {
    display: none !important;
  }
}
@media screen and (max-width: 575px) {
  .spOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .text-pc-center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.4285714286vw;
  }
  body {
    font-size: 2.4rem;
  }
  .img-fluid {
    width: var(--width-sp) !important;
  }
  .mt-lg {
    margin-top: 6rem !important;
  }
  .mt-md {
    margin-top: 4rem !important;
  }
  .mt-sm {
    margin-top: 3rem !important;
  }
  .mb-lg {
    margin-bottom: 6rem !important;
  }
  .mb-md {
    margin-bottom: 4rem !important;
  }
  .mb-sm {
    margin-bottom: 3rem !important;
  }
  .mx-sp-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .text-sp-center {
    text-align: center;
  }
  .list-note.msm {
    font-size: 1.2rem;
  }
  .list-note.sm {
    font-size: 1.2rem;
  }
  #pageTop {
    right: 1.2rem;
    bottom: 4rem;
  }
}
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
.header__inner {
  height: 10rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header__title {
  height: 100%;
  margin: 0;
  padding: 1rem;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .header__title::after {
    content: "";
    width: 4rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
            clip-path: polygon(0 0, 0% 100%, 100% 0);
  }
}
.header__title--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__title--logo {
  padding: 0.8rem;
  display: block;
}
.header__title--text {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
}
.header__navi {
  position: relative;
}
@media screen and (min-width: 769px) {
  .header__navi {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (min-width: 769px) {
  .header__menu {
    height: 100%;
    display: grid;
    grid-template-rows: 1fr 1fr;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.header__menu ul {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .header__menu ul {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 769px) {
  .header__menuTop {
    padding-right: 14rem;
    background-color: rgba(0, 0, 0, 0.4);
    font-size: 1.4rem;
    --text-color: #fff;
  }
}
@media screen and (min-width: 769px) {
  .header__menuBottom {
    padding-right: 18rem;
    background-color: #fff;
  }
}
.header__buttons {
  width: 14rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.header__contact {
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #004ea2;
  -webkit-clip-path: polygon(4rem 0%, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(4rem 0%, 100% 0, 100% 100%, 0% 100%);
  --text-color: #fff;
}
.header__contact--icon {
  width: 3.2rem;
}
.header__contact--text {
  letter-spacing: 0;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
}
.header__hamburger {
  width: 13rem;
  height: 10rem;
  margin-left: auto;
  padding: 0 0 0 2rem;
  position: relative;
  z-index: 2;
  gap: 0.6rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: none;
  background-color: #004ea2;
  -webkit-clip-path: polygon(4rem 0%, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(4rem 0%, 100% 0, 100% 100%, 0% 100%);
}
.header__hamburger .inner {
  width: 5rem;
  height: 4rem;
  margin: 0 auto;
  position: relative;
  display: block;
}
.header__hamburger .inner > span {
  width: 100%;
  height: 2px;
  position: absolute;
  right: 0;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__hamburger .inner > span:nth-child(1) {
  top: 0;
}
.header__hamburger .inner > span:nth-child(2) {
  top: calc(50% - 1px);
}
.header__hamburger .inner > span:nth-child(3) {
  top: calc(100% - 2px);
}
.header__hamburger.is-open .inner > span:nth-child(1) {
  width: 100%;
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.header__hamburger.is-open .inner > span:nth-child(2) {
  width: 0;
  opacity: 0;
}
.header__hamburger.is-open .inner > span:nth-child(3) {
  top: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 769px) {
  .header__hamburger {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .header {
    background-color: #fff;
  }
  .header__title--logo img {
    width: 9.8rem;
  }
  .header__title--text {
    font-size: 2.4rem;
    line-height: 1.3333333333;
  }
  .header__navi {
    width: 100%;
    height: calc(100dvh - 10rem);
    padding: 5rem;
    position: fixed;
    top: 10rem;
    left: 0;
    z-index: 999;
    display: none;
    background-color: #004ea2;
  }
  .header__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .header__menuTop {
    margin-top: 3rem;
  }
  .header__menuTop--list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 1.5rem;
  }
  .header__menuTop--list li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .header__menuTop--list a {
    padding: 1em 0.75em;
    display: block;
    background-color: #fff;
    font-weight: 700;
    -webkit-clip-path: polygon(100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%, 0 0);
            clip-path: polygon(100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%, 0 0);
  }
  .header__menuBottom {
    font-size: 2.8rem;
    --text-color: #fff;
  }
  .header__menuBottom ul {
    font-weight: 900;
  }
  .header__menuBottom li {
    padding: 0.75em 0;
    border-bottom: 1px solid #fff;
  }
  .header__menuBottom a {
    display: block;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'><path d='M15.419,29.073,3.453,7.6l.838-.49L15.42,27.082,26.615,7.073l.837.491Z' transform='translate(-7.073 27.453) rotate(-90)' fill='%23fff'/></svg>");
    background-position: right 2rem center;
    background-size: 2.4rem auto;
    background-repeat: no-repeat;
  }
  .header__policy {
    margin-top: 1em;
    text-align: right;
    --text-color: #fff;
  }
  .header__policy a {
    text-decoration: underline;
  }
  .header__buttons {
    display: none;
  }
}
.footer {
  padding-top: 5rem;
  padding-bottom: 3.6rem;
  position: relative;
  overflow: hidden;
}
.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer__title {
  margin-bottom: 2.4rem;
}
.footer__title--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.2rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__title--logo img {
  width: 11.6rem;
}
.footer__title--text {
  font-weight: 700;
}
.footer__info--address {
  font-size: 1.4rem;
}
.footer__info--address dt {
  font-weight: 500;
}
.footer__info--address dt::before {
  content: "[ ";
}
.footer__info--address dt::after {
  content: " ]";
}
.footer__info--address dd {
  margin-top: 0.25em;
  line-height: 1.5;
}
.footer__navi {
  padding-top: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  font-size: 1.4rem;
}
.footer__navi--list > li {
  padding-left: 2rem;
  position: relative;
  line-height: 1;
}
.footer__navi--list > li::before {
  content: "";
  width: 1rem;
  height: 1.2rem;
  position: absolute;
  top: 0.1em;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.footer__navi--list > li + li {
  margin-top: 2.4rem;
}
.footer__navi--list > li > a {
  font-weight: 700;
}
.footer__navi--child {
  margin-top: 1.6rem;
}
.footer__navi--child > li + li {
  margin-top: 1.4rem;
}
.footer__copyright {
  position: relative;
  z-index: 2;
  text-align: right;
  --text-color: #fff;
}
.footer__copyright::before {
  content: "";
  height: 9rem;
  position: absolute;
  right: calc(50% - 50vw);
  bottom: -3.6rem;
  left: 34.5rem;
  z-index: -1;
  background-color: #004ea2;
  -webkit-clip-path: polygon(9rem 0%, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(9rem 0%, 100% 0, 100% 100%, 0% 100%);
}
.footer__copyright p {
  line-height: 1;
}
.footer__pageTop {
  width: 9rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: block;
  background-color: #000;
  aspect-ratio: 1;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.footer__pageTop::before {
  content: "";
  width: 1rem;
  height: 0.8rem;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  background-color: #fff;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

@media screen and (max-width: 768px) {
  .footer {
    padding-top: 10rem;
    padding-bottom: 0;
  }
  .footer__inner {
    display: block;
  }
  .footer__info {
    text-align: center;
  }
  .footer__info--address {
    font-size: 2.4rem;
  }
  .footer__title--link {
    gap: 2.4rem 0;
  }
  .footer__title--logo img {
    width: 17.4rem;
  }
  .footer__title--text {
    font-size: 2.8rem;
  }
  .footer__navi {
    display: none;
  }
  .footer__copyright {
    height: 22rem;
    margin-top: 9rem;
    padding-top: 4.8rem;
    text-align: center;
    font-size: 2rem;
  }
  .footer__copyright::before {
    height: 100%;
    top: 0;
    right: -5rem;
    bottom: auto;
    left: -5rem;
    -webkit-clip-path: polygon(12rem 0, 100% 0, 100% 100%, 0 100%, 0 12rem);
            clip-path: polygon(12rem 0, 100% 0, 100% 100%, 0 100%, 0 12rem);
  }
  .footer__pageTop {
    width: 22rem;
  }
  .footer__pageTop::before {
    width: 2rem;
    height: 1.8rem;
    top: 7rem;
    right: 3rem;
    bottom: auto;
  }
}
.main {
  position: relative;
}
.main__block {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.main__container {
  max-width: 118rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 5rem;
  padding-left: 5rem;
}
.main__container + .main__container {
  margin-top: 12rem;
}
.main__container.full {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}
.main__headline {
  width: 100%;
  height: 48rem;
  padding-top: 10rem;
  position: relative;
  z-index: 2;
  background-color: #e2e2e2;
}
.main__headline::before {
  content: "";
  width: 30rem;
  height: 75rem;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #004ea2;
  opacity: 0.6;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.main__headline .main__container {
  height: 100%;
  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;
}
.main__headline--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
.main__headline--main {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 4.8rem;
  line-height: 1;
}
.main__headline--label {
  font-style: italic;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
}
.main__headline--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.main__headline--bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.2);
}
.main__headline--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main__headline.is-noImage {
  height: auto;
  padding-top: 21rem;
  background: none;
}
.main__headline.is-noImage .main__headline--title::after {
  content: "";
  width: 10rem;
  height: 1px;
  margin-top: 1rem;
  background-color: #004ea2;
}
.main__lead {
  text-align: center;
}
.main__lead--title {
  margin-bottom: 1.2em;
  color: #ccbc9d;
  font-size: 3.2rem;
  line-height: 1.875;
}
.main__lead--text p {
  letter-spacing: 0.2em;
  line-height: 2;
}

.common__pageNavi--title {
  margin-bottom: 1.75em;
  font-weight: 900;
  font-size: 3.6rem;
}
.common__pageNavi--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem 3rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common__pageNavi--item {
  width: 30rem;
}
.common__pageNavi--item .btn__01 {
  width: 100%;
  height: 7rem;
  margin-top: 0;
}
.common__pageNavi--item .btn__01::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.common__pageNavi--item .btn__01--text {
  font-size: 2rem;
}
.common__pageNavi--item .btn__01.is-current {
  background-color: #004ea2;
  pointer-events: none;
}
.common__pageNavi--item .btn__01.is-current::after {
  content: none;
}
.common__pageNavi--item .btn__01.is-current .btn__01--text {
  color: #fff;
}
.common__pageNavi--category .btn__01 {
  padding: 0;
}
.common__pageNavi--category .btn__01::after {
  content: none;
}
.common__contact {
  padding-top: 10rem;
  padding-bottom: 10rem;
  position: relative;
  z-index: 2;
}
.common__contact--lead {
  margin-bottom: 5rem;
}
.common__contactInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common__contactInfo--item {
  width: 42rem;
  max-width: 100%;
  height: 9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.common__contactInfo--tel {
  padding-left: 3rem;
  gap: 1rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-left: 1px solid #fff;
}
.common__contactInfo--tel dt {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 1.8rem;
}
.common__contactInfo--tel dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1;
}
.common__contactInfo--tel dd svg {
  width: 3rem;
}
.common__contactInfo--mail {
  padding: 0 3rem;
  gap: 0 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid;
  background-color: rgba(0, 78, 162, 0.75);
}
.common__contactInfo--mail::after {
  content: "";
  width: 0.8rem;
  height: 1rem;
  margin-left: auto;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.common__contactInfo--mail span {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 1.8rem;
}
.common__contact--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.common__contact--bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.common__contact--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common__navi {
  max-width: 94rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.common__navi > li {
  width: 20.8rem;
}
.common__navi--item {
  position: relative;
  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;
  border: 0.8rem solid rgba(33, 20, 12, 0.16);
  aspect-ratio: 1/0.784;
}
.common__navi--item .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.common__navi--item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.common__navi--item .image::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(33, 20, 12, 0.35);
}
.common__navi--item .text {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}
.common__navi--item .text dt {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 1.4rem;
}
.common__navi--item .text dd {
  font-size: 2rem;
}
.common__navi--note {
  margin-top: 8rem;
}
.common__navi--note p {
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  line-height: 1.4285714286;
}
.common__naviFixed {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
}
.common__naviFixed--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.common__naviFixed--item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.common__naviFixed--link {
  width: 100%;
  height: 10rem;
  padding-left: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-clip-path: polygon(0 0, calc(100% - 10rem) 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, calc(100% - 10rem) 0, 100% 100%, 0% 100%);
}
.common__naviFixed--text {
  letter-spacing: 0;
}
.common__naviFixed--youtube {
  background-color: #eceff1;
}
.common__naviFixed--youtube .common__naviFixed--icon {
  width: 4.8rem;
}
.common__naviFixed--youtube .common__naviFixed--text {
  font-weight: 700;
  font-size: 3.2rem;
}
.common__naviFixed--contact {
  background-color: #e4edf6;
}
.common__naviFixed--contact .common__naviFixed--icon {
  width: 4.2rem;
}
.common__naviFixed--contact .common__naviFixed--text {
  color: #004ea2;
  font-weight: 500;
}

.lower .common__contact::before {
  background: -webkit-gradient(linear, left top, left bottom, from(#242424), color-stop(50%, rgba(36, 36, 36, 0)));
  background: linear-gradient(-180deg, #242424 0%, rgba(36, 36, 36, 0) 50%);
}

@media screen and (min-width: 769px) {
  .main__headline--main.is-sm {
    font-size: 3.2rem;
    line-height: 1.6875;
  }
  .common__pageNavi--list.col2 .common__pageNavi--item {
    width: 36rem;
  }
  .common__pageNavi--list.col3 .common__pageNavi--item {
    width: calc((100% - 6rem) / 3);
  }
  .common__pageNavi--list.col4 .common__pageNavi--item {
    width: calc((100% - 9rem) / 4);
  }
}
@media screen and (max-width: 768px) {
  .main__block[class*=bg-] {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .main__container {
    padding-right: 5rem;
    padding-left: 5rem;
  }
  .main__container + .main__container {
    margin-top: 9rem;
  }
  .main__headline {
    height: 40rem;
  }
  .main__headline::before {
    width: 24rem;
    height: 60rem;
  }
  .main__headline .main__container {
    position: relative;
    z-index: 2;
  }
  .main__headline--title {
    gap: 1.6rem 0;
  }
  .main__headline--main {
    font-size: 4.2rem;
    line-height: 1.4285714286;
  }
  .main__headline--label {
    font-size: 2.4rem;
  }
  .common__pageNavi--item {
    width: 50rem;
  }
  .common__pageNavi--item .btn__01 {
    height: 9rem;
  }
  .common__pageNavi--item .btn__01--text {
    font-size: 2.8rem;
  }
  .common__contactInfo {
    gap: 5rem 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .common__contactInfo--item {
    width: 50rem;
    height: 10rem;
  }
  .common__contactInfo--tel {
    padding-left: 0;
    gap: 0;
    border-left: none;
    text-align: center;
  }
  .common__contactInfo--tel dt {
    font-size: 2.8rem;
  }
  .common__contactInfo--tel dd {
    font-size: 6rem;
  }
  .common__contactInfo--tel dd svg {
    width: 5.4rem;
  }
  .common__contactInfo--mail {
    padding: 0 3rem;
  }
  .common__contactInfo--mail::after {
    width: 1.8rem;
    height: 2rem;
  }
  .common__contactInfo--mail svg {
    width: 4.8rem;
  }
  .common__contactInfo--mail span {
    font-size: 2.8rem;
  }
}
.breadcrumbs {
  padding: 1rem 0;
  font-size: 1.4rem;
}
.breadcrumbs__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25em 0.5em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.btn__01 {
  width: 28rem;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  height: 6rem;
  margin-top: 5rem;
  padding: 0 4.8rem;
  position: relative;
  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;
  background-color: #fff;
  -webkit-box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.3);
}
.btn__01 + .btn__01 {
  margin-top: 2rem;
}
.btn__01::after {
  content: "";
  width: 0.8rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 2.4rem;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.btn__01--text {
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
  line-height: 1.2;
  --text-color: #004ea2;
}
.btn__01--text small {
  letter-spacing: 0;
  font-size: 1.1rem;
}
.btn__01--youtube {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 2.4rem;
}
.btn__01--youtube svg {
  width: 3.6rem;
}
.btn__01--icon {
  width: 3.6rem;
  position: absolute;
  top: 50%;
  left: 1.2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.btn__01.is-circle {
  width: 17rem;
  height: 17rem;
  padding: 0 3.6rem;
  border-radius: 50%;
}
.btn__01.is-circle::after {
  width: 1.2rem;
  height: 1.6rem;
  top: calc(50% - 0.8rem);
  right: 1.5rem;
}
.btn__01.is-circle .btn__01--text {
  letter-spacing: 0.05em;
  font-size: 1.8rem;
}

.link[target=_blank] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 0.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.link[target=_blank]::after {
  content: "";
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,<svg viewBox='0 0 15 15' xmlns='http://www.w3.org/2000/svg'><path fill='%23333333' d='M12 6.615C11.8011 6.615 11.6103 6.69402 11.4697 6.83467C11.329 6.97532 11.25 7.16609 11.25 7.365V12.75C11.25 12.9489 11.171 13.1397 11.0303 13.2803C10.8897 13.421 10.6989 13.5 10.5 13.5H2.25C2.05109 13.5 1.86032 13.421 1.71967 13.2803C1.57902 13.1397 1.5 12.9489 1.5 12.75V4.5C1.5 4.30109 1.57902 4.11032 1.71967 3.96967C1.86032 3.82902 2.05109 3.75 2.25 3.75H7.635C7.83391 3.75 8.02468 3.67098 8.16533 3.53033C8.30598 3.38968 8.385 3.19891 8.385 3C8.385 2.80109 8.30598 2.61032 8.16533 2.46967C8.02468 2.32902 7.83391 2.25 7.635 2.25H2.25C1.65326 2.25 1.08097 2.48705 0.65901 2.90901C0.237053 3.33097 0 3.90326 0 4.5V12.75C0 13.3467 0.237053 13.919 0.65901 14.341C1.08097 14.7629 1.65326 15 2.25 15H10.5C11.0967 15 11.669 14.7629 12.091 14.341C12.5129 13.919 12.75 13.3467 12.75 12.75V7.365C12.75 7.16609 12.671 6.97532 12.5303 6.83467C12.3897 6.69402 12.1989 6.615 12 6.615ZM14.94 0.465C14.8639 0.281738 14.7183 0.136106 14.535 0.0599999C14.4448 0.0215692 14.348 0.00118499 14.25 0H9.75C9.55109 0 9.36032 0.0790176 9.21967 0.21967C9.07902 0.360322 9 0.551088 9 0.75C9 0.948912 9.07902 1.13968 9.21967 1.28033C9.36032 1.42098 9.55109 1.5 9.75 1.5H12.4425L4.7175 9.2175C4.6472 9.28722 4.59141 9.37017 4.55333 9.46157C4.51525 9.55296 4.49565 9.65099 4.49565 9.75C4.49565 9.84901 4.51525 9.94704 4.55333 10.0384C4.59141 10.1298 4.6472 10.2128 4.7175 10.2825C4.78722 10.3528 4.87017 10.4086 4.96157 10.4467C5.05296 10.4847 5.15099 10.5043 5.25 10.5043C5.34901 10.5043 5.44704 10.4847 5.53843 10.4467C5.62983 10.4086 5.71278 10.3528 5.7825 10.2825L13.5 2.5575V5.25C13.5 5.44891 13.579 5.63968 13.7197 5.78033C13.8603 5.92098 14.0511 6 14.25 6C14.4489 6 14.6397 5.92098 14.7803 5.78033C14.921 5.63968 15 5.44891 15 5.25V0.75C14.9988 0.651992 14.9784 0.555167 14.94 0.465Z'/></svg>");
}

.arrow__01 {
  width: 4rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--text-color, #004ea2);
  border-radius: 50%;
  aspect-ratio: 1;
}
.arrow__01::before {
  content: "";
  width: 0.4rem;
  height: 0.5rem;
  background-color: var(--text-color, #004ea2);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}

@media screen and (min-width: 769px) {
  .btn__01 {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .btn__01:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 768px) {
  .btn__01 {
    width: 50rem;
    height: 9rem;
    margin-top: 5rem;
    margin-right: auto;
    margin-left: auto;
  }
  .btn__01 + .btn__01 {
    margin-top: 4rem;
  }
  .btn__01::after {
    width: 1.4rem;
    height: 1.5rem;
    top: calc(50% - 0.75rem);
    right: 3.6rem;
  }
  .btn__01--text {
    font-size: 2.8rem;
  }
  .btn__01--text small {
    font-size: 2rem;
  }
  .btn__01--youtube {
    font-size: 3.6rem;
  }
  .btn__01--youtube svg {
    width: 5.4rem;
  }
  .btn__01--icon {
    width: 5rem;
    left: 2rem;
  }
  .btn__01.is-circle {
    width: 24rem;
    height: 24rem;
    margin-top: 6.4rem;
  }
  .btn__01.is-circle::after {
    width: 1.8rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
  }
  .btn__01.is-circle .btn__01--text {
    font-size: 2.4rem;
  }
  .btn__grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .btn__grid.left {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .btn__grid.sp-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .arrow__01 {
    width: 6rem;
  }
  .arrow__01::before {
    width: 0.6rem;
    height: 0.8rem;
  }
}
.heading__01 {
  margin-bottom: 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.heading__01--label {
  display: block;
  color: var(--text-color, #004ea2);
  font-style: italic;
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 1;
}
.heading__01--label.is-large {
  font-size: 8rem;
}
.heading__01--label.is-edging {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 500;
  -webkit-text-stroke: 1px var(--text-color, #004ea2);
}
.heading__01--main {
  display: inline-block;
  color: var(--text-color, #000);
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2rem;
  line-height: 1;
}
.heading__01--main.is-border {
  padding-bottom: 0.5em;
  border-bottom: 1px solid;
}
.heading__01.text-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.heading__lead {
  margin-bottom: 7rem;
}

@media screen and (max-width: 768px) {
  .heading__01 {
    gap: 3rem 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .heading__01--label {
    font-size: 5.4rem;
  }
  .heading__01--label.is-large {
    font-size: 7.2rem;
  }
  .heading__01--main {
    font-size: 2.8rem;
  }
  .heading__lead {
    max-width: 50rem;
    margin-right: auto;
    margin-left: auto;
  }
}
.breadcrumbs {
  margin-bottom: 7rem;
}
.breadcrumbs .item + .item::before {
  content: "＞";
}

.pager__archive {
  margin-top: 12rem;
}
.pager__archive--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pager__archive .page-numbers {
  width: 4rem;
  height: 4rem;
  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;
  border-radius: 50%;
  color: #004ea2;
  font-family: "roboto", sans-serif;
  font-weight: 500;
}
.pager__archive .page-numbers.current {
  background-color: #004ea2;
  color: #fff;
}
.pager__archive .page-numbers.prev, .pager__archive .page-numbers.next {
  border: 1px solid #004ea2;
}
.pager__archive .page-numbers.prev::before, .pager__archive .page-numbers.next::before {
  content: "";
  width: 0.8rem;
  height: 1rem;
  margin-right: -0.2rem;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.pager__archive .page-numbers.prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 6.4rem;
  }
  .pager__archive {
    margin-top: 9rem;
  }
  .pager__archive--inner {
    gap: 0 1rem;
  }
  .pager__archive .page-numbers {
    width: 7rem;
    height: 7rem;
  }
  .pager__archive .page-numbers.prev::before, .pager__archive .page-numbers.next::before {
    width: 1.6rem;
    height: 1.8rem;
    margin-right: -0.4rem;
  }
}
.module__01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
}
.module__01 p + p {
  margin-top: 2rem;
}
.module__01--visual {
  padding: 2rem 1.6rem;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  background-color: #fff;
  text-align: center;
}
.module__01 .title {
  margin-bottom: 1rem;
  color: var(--theme-color, #004ea2);
  font-weight: 600;
  font-size: 2.4rem;
}
.module__01 .note {
  margin-top: 2rem;
}
.module__01 .image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.module__01.is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.module__02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
}
.module__02 .image {
  margin-top: 2rem;
}

.common__01--grid {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.common__01--grid.is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.common__01--visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
.common__02--content {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common__02--content .title {
  color: #004ea2;
  font-weight: 600;
  font-size: 2.2rem;
}
.common__02--content .sentence {
  margin-top: 2.5rem;
}
.common__02--button {
  margin-top: 6rem;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.common__02--button .title {
  color: #004ea2;
  font-weight: 700;
  font-size: 2.4rem;
}
.common__02--button .text {
  margin-top: 1rem;
}
.common__02--button .btn__01 {
  margin-top: 2rem;
}

.tab__button {
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tab__panel {
  position: relative;
}
.tab__panel--box {
  display: none;
}
.tab__panel--box.is-active {
  display: block;
  -webkit-animation: fadeIn 0.3s ease-in-out;
          animation: fadeIn 0.3s ease-in-out;
}
.tab__01 .tab__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tab__01 .tab__button {
  height: 9rem;
  padding: 0 7.6rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #eceff1;
  color: #004ea2;
  font-weight: 900;
  font-size: 2.4rem;
}
.tab__01 .tab__button::after {
  content: "";
  width: 2rem;
  height: 1.8rem;
  position: absolute;
  top: calc(50% - 0.9rem);
  right: 3.6rem;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.tab__01 .tab__button.is-active {
  background-color: #004ea2;
  color: #fff;
  pointer-events: none;
}
.tab__01 .tab__button.is-active::after {
  content: none;
}
.tab__01 .tab__panel {
  padding: 7rem;
  background-color: #004ea2;
  --text-color: #fff;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.grid {
  display: grid;
}
.grid.col2 {
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
.grid.col3 {
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
}
.grid-card.col2 {
  gap: 4rem 4rem;
}
.grid-card.col3 {
  gap: 4rem 5rem;
}

.banner-item {
  display: block;
}
.banner-item img {
  width: 100%;
}
.banner-item.border {
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--theme-color, #004ea2);
}

.card__01 {
  display: block;
  background-color: #fff;
}
.card__01--image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.681;
}
.card__01--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card__01--body {
  padding: 3rem;
}
.card__01--title {
  margin-bottom: 2rem;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
}
.card__01--title::after {
  content: "";
  width: 5rem;
  height: 3px;
  margin: 1rem auto;
  display: block;
  background-color: var(--theme-color, #004ea2);
}
.card__01--title:last-child {
  margin-bottom: 0;
}
.card__01[href] img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.card__01[href]:hover {
  opacity: 1;
}
.card__01[href]:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.gallery__01 {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
}
.gallery__01--item {
  aspect-ratio: 1/0.668;
}
.gallery__01--item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery__01 .item1 {
  grid-area: 1/1/3/3;
}
.gallery__01 .item2 {
  grid-area: 1/3/2/4;
}
.gallery__01 .item3 {
  grid-area: 1/4/2/5;
}
.gallery__01 .item4 {
  grid-area: 2/3/3/4;
}
.gallery__01 .item5 {
  grid-area: 2/4/3/5;
}
.gallery__01 .item6 {
  grid-area: 3/1/4/2;
}
.gallery__01 .item7 {
  grid-area: 3/2/4/3;
}
.gallery__01 .item8 {
  grid-area: 3/3/4/4;
}
.gallery__01 .item9 {
  grid-area: 3/4/4/5;
}
.gallery__02 {
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr 1fr;
}
.gallery__02--item {
  aspect-ratio: 1/0.714;
}
.gallery__02--item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery__03--item {
  display: block;
}
.gallery__03--item > * {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery__03--item.is-map {
  aspect-ratio: 1/0.345;
}
.gallery__03--title {
  margin-top: 4rem;
  color: var(--theme-color, #004ea2);
  letter-spacing: 0;
  font-size: 2.4rem;
  line-height: 1.4583333333;
}
.gallery__03--text {
  margin-top: 2rem;
}

.tags__01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tags__01 .tag {
  padding: 0 2rem;
  display: inline-block;
  border-radius: 1.5rem;
  background-color: var(--theme-color, #004ea2);
  color: #fff;
  font-size: 1.4rem;
  line-height: 3rem;
}

@media screen and (max-width: 768px) {
  .module__01 {
    gap: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .module__01.is-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .module__02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .common__01--grid {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .common__02 .sentence p + p {
    margin-top: 2rem;
  }
  .tab__01 .tab__button {
    height: 14rem;
    padding: 0 2rem;
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .tab__01 .tab__button::after {
    position: relative;
    top: auto;
    right: auto;
  }
  .tab__01 .tab__panel {
    padding: 5rem;
  }
}
.js-slider01-control .swiper-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.js-slider01-control .swiper-button {
  height: auto;
  margin: 0;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  -webkit-transform: none;
          transform: none;
}
.js-slider01-control .swiper-button::after {
  color: #000;
  font-size: 2rem;
}
.js-slider01-control .swiper-pause {
  width: 2rem;
  height: 2rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.js-slider01-control .swiper-pause::before, .js-slider01-control .swiper-pause::after {
  content: "";
  width: 0.4rem;
  height: 100%;
  background-color: var(--theme-color, #004ea2);
}
.js-slider01-control .swiper-pause.paused::before {
  width: 2rem;
  height: 1rem;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.js-slider01-control .swiper-pause.paused::after {
  display: none;
}

.slider__01--card .pic {
  margin-bottom: 1.6rem;
  display: block;
  overflow: hidden;
  aspect-ratio: 296/400;
}
.slider__01--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.slider__01--card .pic.asp-auto {
  aspect-ratio: auto;
}
.slider__01--card .tag {
  padding: 0 0.8rem;
  display: inline-block;
  border-radius: 0.3rem;
  background-color: var(--theme-color, #004ea2);
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
}
.slider__01--card .tag + .name {
  margin-top: 0.8rem;
}
.slider__01--card .name {
  font-weight: 500;
  line-height: 1.75;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  white-space: wrap;
  -webkit-line-clamp: 2;
}
.slider__01 .swiper {
  overflow: visible !important;
}
.slider__01 .swiper-wrapper {
  height: auto;
}
.slider__01 .swiper-slide {
  width: 29.6rem;
}
.slider__01--control {
  margin-top: 8rem;
  padding: 2rem 0;
}
.slider__02--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.5;
}
.slider__02--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.slider__02 .swiper {
  overflow: visible !important;
}
.slider__02 .swiper-wrapper {
  height: auto;
}
.slider__02 .swiper-slide {
  width: 83.2rem;
}
.slider__02--control {
  margin-top: 4rem;
}
.slider__03--card .pic {
  display: block;
  overflow: hidden;
  aspect-ratio: 1/0.68;
}
.slider__03--card .pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.slider__03--card .pic + p {
  margin-top: 2.4rem;
}
.slider__03 .swiper {
  overflow: visible !important;
}
.slider__03 .swiper-wrapper {
  height: auto;
}
.slider__03 .swiper-slide {
  width: 36rem;
}
.slider__03--control {
  margin-top: 10rem;
}

@media screen and (min-width: 769px) {
  .slider__01 {
    position: relative;
  }
  .slider__01 .btn__01 {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .slider__01--control {
    margin-top: 2.5rem;
    padding: 0;
  }
  .slider__01 .btn__01 {
    margin-top: 4rem;
  }
  .slider__02 .swiper-slide {
    width: 100%;
  }
  .slider__02--control {
    margin-top: 3.5rem;
  }
}
.tableDl__01--inner {
  padding-bottom: 3.2rem;
  display: grid;
  grid-template-columns: var(--head-width) 1fr;
  border-bottom: 1px solid #c7c7c7;
}
.tableDl__01--inner + .tableDl__01--inner {
  margin-top: 3.2rem;
}
.tableDl__01 dt {
  padding-left: 1.9rem;
  position: relative;
  font-weight: 700;
}
.tableDl__01 dt::before {
  content: "";
  width: 1.4rem;
  height: 2rem;
  position: absolute;
  top: 0.25em;
  left: 0;
  display: inline-block;
  background-color: #004ea2;
  -webkit-clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
          clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
}
.tableDl__01 dd p:not(:last-child) {
  margin-bottom: 1em;
}
.table__01 {
  width: 100%;
  border-collapse: collapse;
}
.table__01 th, .table__01 td {
  padding: 1.25em 1em;
}
.table__01 thead th {
  border: 1px solid #fff;
  background-color: #004ea2;
  color: #fff;
  font-weight: 900;
}
.table__01 tbody tr:nth-child(even) {
  background-color: #eceff1;
}

.list__01--list {
  display: grid;
  gap: 0 4.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.list__01--item {
  width: 100%;
  padding: 1.8rem;
  padding-left: 1rem;
  position: relative;
  border-bottom: 1px solid #ccc;
}
.list__01--item::after {
  content: "";
  width: 1rem;
  height: 1.4rem;
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 0;
  background-image: url("data: image/svg+xml,<svg width='8' height='13' viewBox='0 0 8 13' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 1.31625L1.34583 0L8 6.5L1.34583 13L0 11.6838L5.30417 6.5L0 1.31625Z' fill='%23261F88'/></svg>");
}
.list__02--list {
  display: grid;
  gap: 4.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.list__02--item .title {
  margin-top: 0.5rem;
  color: var(--theme-color, #004ea2);
  text-align: center;
  font-weight: 600;
  font-size: 2.2rem;
}
.list__02 .note {
  text-align: center;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .table__scroll {
    margin: 0 -5rem;
    padding: 0 5rem;
    overflow-x: scroll;
  }
  .table__scroll table {
    width: 148.5rem;
  }
  .tableDl__01--inner {
    padding-bottom: 4.8rem;
    display: block;
  }
  .tableDl__01--inner + .tableDl__01--inner {
    margin-top: 4.8rem;
  }
  .tableDl__01 dt {
    margin-bottom: 0.5em;
    padding-left: 3rem;
    font-size: 2.8rem;
  }
  .tableDl__01 dt::before {
    width: 2rem;
    height: 3rem;
  }
  .table__01--content {
    display: block;
  }
  .table__01--head {
    padding: 2rem 2rem 0 2rem;
    border-bottom: none;
    text-align: left;
  }
  .table__01--head:first-of-type {
    padding-top: 0;
  }
  .table__01--detail {
    padding: 1rem 2rem 2rem 2rem;
    border-bottom: none;
    border-bottom: 1px solid var(--theme-color, #004ea2);
  }
  .table__01 .list-note {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .list__01--list {
    grid-template-columns: 1fr;
  }
  .list__02--list {
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
*:focus {
  outline: none;
}

input::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
input::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

textarea {
  vertical-align: bottom;
}
textarea::-webkit-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-ms-input-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea::-moz-placeholder {
  color: var(--placeholder-color, #ccc);
}
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

.form__box {
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #c7c7c7;
}
.form__box:last-of-type {
  border-bottom: 1px solid #c7c7c7;
}
.form__box:last-of-type .form__label::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  display: inline-block;
  background-color: #004ea2;
}
.form__label {
  width: var(--label-width, 31rem);
  padding-left: 5rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
  line-height: 1.5;
  --text-color: #004ea2;
}
.form__label::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: -1px;
  left: 0;
  display: inline-block;
  background-color: #004ea2;
}
.form__body {
  padding: 4.8rem 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.form__inner + .form__inner {
  margin-top: 3rem;
}
.form__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__group--zipCode .form__control {
  width: 14rem;
}
.form__control {
  width: 100%;
  padding: 1.125em 1.25em;
  background-color: #eceff1;
  font-size: max(1.6rem, 16px);
  line-height: 1.5;
}
.form__control.w-25 {
  width: 25%;
}
.form__doui dt {
  margin-bottom: 0.5em;
  font-weight: 900;
}
.form__doui dd a {
  color: #004ea2;
  text-decoration: underline;
}
.form__select {
  background-image: url(../../images/arrow_bottom.svg);
  background-position: right 2rem center;
  background-size: 1.6rem;
  background-repeat: no-repeat;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form__select::-ms-expand {
  display: none;
}
.form__checkbox {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.form__checkbox label {
  position: relative;
}
.form__checkbox label > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__checkbox input[type=checkbox] {
  display: none;
}
.form__checkbox input[type=checkbox] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.form__checkbox input[type=checkbox] + span::before {
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 1rem;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  border: 1px solid #ccc;
  background-color: #fff;
}
.form__checkbox input[type=checkbox] + span::after {
  content: "";
  width: 0.5em;
  height: 0.8em;
  position: absolute;
  top: -0.1em;
  left: 0.25em;
  display: block;
  border-right: 3px solid #004ea2;
  border-bottom: 3px solid #004ea2;
  opacity: 0;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
}
.form__checkbox input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.form__radio {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, YuGothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Arial, メイリオ, Meiryo, sans-serif;
}
.form__radio label {
  position: relative;
}
.form__radio input[type=radio] {
  display: none;
}
.form__radio input[type=radio] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: left;
  line-height: 1.75;
}
.form__radio input[type=radio] + span::before {
  content: "";
  width: 1.75em;
  height: 1.75em;
  margin-right: 1rem;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  border: 2px solid var(--primary-color, #000);
  border-radius: 50%;
}
.form__radio input[type=radio] + span::after {
  content: "";
  width: 0.75em;
  height: 0.75em;
  position: absolute;
  top: -0.3em;
  left: 0.5em;
  display: block;
  border-radius: 50%;
  background-color: var(--primary-color, #000);
  opacity: 0;
}
.form__radio input[type=radio]:checked + span::after {
  opacity: 1;
}
.form__textarea {
  height: 28rem;
}
.form__policy {
  padding-top: 5rem;
}
.form__policy p {
  margin-bottom: 1rem;
}
.form__policy .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.form__policy .item {
  position: relative;
}
.form__policy .item::after {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 1px;
  right: -3rem;
  background-image: url("data: image/svg+xml,<svg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M13.3 19.0016H2.85C1.235 19.0016 0 17.7666 0 16.1516V5.70156C0 4.08656 1.235 2.85156 2.85 2.85156H8.55C9.12 2.85156 9.5 3.23156 9.5 3.80156C9.5 4.37156 9.12 4.75156 8.55 4.75156H2.85C2.28 4.75156 1.9 5.13156 1.9 5.70156V16.1516C1.9 16.7216 2.28 17.1016 2.85 17.1016H13.3C13.87 17.1016 14.25 16.7216 14.25 16.1516V10.4516C14.25 9.88156 14.63 9.50156 15.2 9.50156C15.77 9.50156 16.15 9.88156 16.15 10.4516V16.1516C16.15 17.7666 14.915 19.0016 13.3 19.0016Z' fill='%23333333'/><path d='M18.0504 7.6C17.4804 7.6 17.1004 7.22 17.1004 6.65V1.9H12.3504C11.7804 1.9 11.4004 1.52 11.4004 0.95C11.4004 0.38 11.7804 0 12.3504 0H18.0504C18.6204 0 19.0004 0.38 19.0004 0.95V6.65C19.0004 7.22 18.6204 7.6 18.0504 7.6Z' fill='%23333333'/><path d='M7.60039 12.35C7.31539 12.35 7.12539 12.255 6.93539 12.065C6.55539 11.685 6.55539 11.115 6.93539 10.735L17.3854 0.285C17.7654 -0.095 18.3354 -0.095 18.7154 0.285C19.0954 0.665 19.0954 1.235 18.7154 1.615L8.26539 12.065C8.07539 12.255 7.88539 12.35 7.60039 12.35Z' fill='%23333333'/></svg>");
}
.form__policy label {
  font-weight: 600;
}
.form__policy label a {
  text-decoration: underline;
}
.form__button {
  margin-top: 5.5rem;
}
.form__button.btn__grid {
  gap: 5rem;
}

.mwform-checkbox-field.vertical-item {
  width: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .form__box {
    gap: 3rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .form__box + .form__box {
    margin-top: 7rem;
  }
  .form__label {
    width: 100%;
    padding-top: 7rem;
    padding-left: 0;
  }
  .form__label::before {
    width: 30rem;
  }
  .form__body {
    padding: 0;
  }
  .form__group--zipCode .form__control {
    width: 20rem;
  }
  .form__control {
    padding: 1em;
  }
  .form__doui {
    margin-top: 7rem;
    padding-top: 9rem;
    position: relative;
    border-top: 1px solid #c7c7c7;
  }
  .form__doui::before {
    content: "";
    width: 30rem;
    height: 1px;
    position: absolute;
    top: -1px;
    left: 0;
    display: inline-block;
    background-color: #004ea2;
  }
  .form__doui dt {
    font-size: 2.8rem;
  }
}
.home__hero {
  height: 100dvh;
  position: relative;
}
.home__hero--inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.home__hero--inner::before, .home__hero--inner::after {
  content: "";
  position: absolute;
  z-index: 2;
  background-color: rgba(0, 78, 162, 0.6);
  pointer-events: none;
}
.home__hero--inner::before {
  width: 30rem;
  height: 75rem;
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.home__hero--inner::after {
  width: 24rem;
  height: 60rem;
  right: 0;
  bottom: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.home__heroCatch {
  height: 100%;
  padding-top: 20rem;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  --text-color: #fff;
}
.home__heroCatch--text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home__heroCatch--text01 {
  padding-left: 2rem;
}
.home__heroCatch--text02 {
  text-indent: 0.25em;
  font-style: italic;
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.3125;
}
.home__heroVisual {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.home__heroVisual::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.3);
}
.home__heroVisual .swiper {
  height: 100%;
}
.home__hero .slide-image img {
  width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__heroButton {
  width: 24rem;
  position: absolute;
  right: 3rem;
  bottom: -3rem;
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1rem solid #004ea2;
  border-radius: 50%;
  background-color: #fff;
  aspect-ratio: 1;
}
.home__heroButton--icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home__heroButton--iconText {
  letter-spacing: 0;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1;
}
.home__heroButton--line {
  width: 70%;
  height: 1px;
  border: none;
  background-color: #004ea2;
}
.home__heroButton--description::after {
  content: "";
  width: 1.8rem;
  height: 2rem;
  margin: 1rem auto 0;
  display: block;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.home__heroButton--description p {
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 1.4rem;
  line-height: 1.5;
}
.home__strength {
  padding-bottom: 0;
}
.home__strength .main__container {
  position: relative;
  z-index: 2;
}
.home__strength--title {
  margin-bottom: 4.2rem;
}
.home__strengthObject {
  width: 64.4rem;
  height: 74.6rem;
  position: absolute;
  top: -5rem;
  left: 63.2rem;
  z-index: -1;
}
.home__strengthObject--diamond {
  width: 46rem;
  height: 48rem;
  position: absolute;
  background-color: #004ea2;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.home__strengthObject--diamond.diamond01 {
  top: 0;
  left: 0;
  opacity: 0.9;
}
.home__strengthObject--diamond.diamond02 {
  width: 50rem;
  height: 52rem;
  top: 7.2rem;
  left: 7.6rem;
  opacity: 0.6;
}
.home__strengthObject--diamond.diamond03 {
  right: 0;
  bottom: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#004ea2), to(rgba(0, 78, 162, 0)));
  background: linear-gradient(180deg, #004ea2 0%, rgba(0, 78, 162, 0) 100%);
  opacity: 0.3;
}
.home__movie {
  position: relative;
  z-index: 2;
}
.home__movie::before {
  content: "";
  width: 100%;
  height: 33.7rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: -webkit-gradient(linear, left bottom, left top, from(#eceff1), to(rgba(236, 239, 241, 0)));
  background: linear-gradient(0deg, #eceff1 0%, rgba(236, 239, 241, 0) 100%);
}
.home__movie .main__container {
  position: relative;
  z-index: 2;
}
.home__movie .heading__01 {
  margin-bottom: 4.2rem;
}
.home__movie--content {
  margin-top: 5rem;
}
.home__movie--content video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.home__movie--caption {
  margin-top: 0.5em;
}
.home__movie--diamond {
  width: 46rem;
  height: 48rem;
  position: absolute;
  z-index: -1;
  background-color: #004ea2;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.home__movie--diamond.diamond01 {
  width: 50rem;
  height: 52rem;
  top: 10rem;
  left: -31.2rem;
  opacity: 0.6;
}
.home__movie--diamond.diamond02 {
  top: 29.4rem;
  left: -22.4rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#004ea2), to(rgba(0, 78, 162, 0)));
  background: linear-gradient(180deg, #004ea2 0%, rgba(0, 78, 162, 0) 100%);
  opacity: 0.3;
}
.home__newsEvent {
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  z-index: 2;
  background-color: #fff;
}
.home__newsEvent .main__container > * {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
.home__event {
  position: relative;
  z-index: 2;
}
.home__event::before {
  content: "";
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(0, 78, 162, 0.1);
}
.home__event::after {
  content: "";
  width: 46rem;
  height: 48rem;
  position: absolute;
  top: 0;
  left: calc(50vw - 34rem);
  z-index: -1;
  background: #004ea2;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 78, 162)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgb(0, 78, 162) 0%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.3;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.home__event.is-coming {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home__event--coming {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
}
.home__event--comingText {
  font-style: italic;
  font-weight: 700;
  font-size: 2.8rem;
}
.home__event--comingMessage {
  margin-top: 4.2rem;
  font-weight: 700;
}
.home__product {
  padding-top: 13rem;
  padding-bottom: 0;
  position: relative;
  z-index: 2;
}
.home__productHeadline {
  width: 100%;
  height: 40rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}
.home__productHeadline::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 78, 162, 0.6);
}
.home__productHeadline img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__productHeadline--diamond {
  width: 54.2rem;
  height: 56.6rem;
  position: absolute;
  z-index: 2;
  display: block;
  background-color: #000;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.home__productHeadline--diamond.diamond01 {
  bottom: 10.6rem;
  left: -25.7rem;
  opacity: 0.6;
}
.home__productHeadline--diamond.diamond02 {
  top: 6.4rem;
  left: -34.4rem;
  opacity: 0.2;
}
.home__productHeadline--diamond.diamond03 {
  right: -31.2rem;
  bottom: 16rem;
  background-color: #004ea2;
  opacity: 0.79;
}
.home__productHeadline--diamond.diamond04 {
  top: 4.4rem;
  right: -20rem;
  opacity: 0.6;
}
.home__product .heading__01 {
  margin-bottom: 10rem;
}
.home__product--column {
  padding-bottom: 10rem;
  position: relative;
}
.home__product--column::before {
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  left: calc(50% - 50vw);
  z-index: -1;
  background: #eceff1;
  background: -webkit-gradient(linear, left bottom, left top, from(#eceff1), to(rgba(236, 239, 241, 0)));
  background: linear-gradient(0deg, #eceff1 0%, rgba(236, 239, 241, 0) 100%);
}
.home__product--title {
  margin-bottom: 0.75em;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.7142857143;
}
.home__productMenu {
  margin-right: -10rem;
}
.home__productMenu--list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  --text-color: #fff;
}
.home__productMenu--link {
  padding: 2.4rem;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  aspect-ratio: 345/200;
}
.home__productMenu--text {
  text-shadow: 0 0 1rem black;
}
.home__productMenu--text dt {
  font-weight: 700;
  font-size: 1.4rem;
}
.home__productMenu--text dd {
  font-weight: 900;
  font-size: 1.8rem;
}
.home__productMenu--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.home__productMenu--bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.4);
}
.home__productMenu--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__company .main__container {
  position: relative;
  z-index: 1;
}
.home__company .main__container::before {
  content: "";
  width: 46.8rem;
  position: absolute;
  top: -20rem;
  left: -30rem;
  z-index: -1;
  background-color: #004ea2;
  opacity: 0.25;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  aspect-ratio: 1;
}
.home__company .main__container::after {
  content: "";
  width: 32rem;
  position: absolute;
  right: -18rem;
  bottom: -19rem;
  z-index: -1;
  border: 4rem solid #004ea2;
  opacity: 0.1;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  aspect-ratio: 1;
}
.home__companyMenu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  --text-color: #fff;
}
.home__companyMenu--link {
  width: 100%;
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  aspect-ratio: 1;
}
.home__companyMenu--text {
  text-align: center;
}
.home__companyMenu--text dt {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2rem;
}
.home__companyMenu--text dd {
  letter-spacing: 0.2em;
  font-family: "roboto", sans-serif;
  font-style: italic;
  font-weight: 500;
}
.home__companyMenu--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.home__companyMenu--bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.home__companyMenu--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__sustainability {
  padding-top: 0;
  position: relative;
  z-index: 2;
}
.home__sustainability--bg {
  width: 100%;
  height: calc(100% - 8rem);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.home__sustainability--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__sustainability--image {
  aspect-ratio: 1;
}
.home__sustainability--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home__sustainability--content {
  padding-bottom: 2rem;
}
.home__recruit {
  overflow: hidden;
}
.home__recruit .main__container {
  position: relative;
  z-index: 2;
}
.home__recruit--title {
  margin-bottom: 4.2rem;
  -webkit-filter: drop-shadow(0 0 1rem #004ea2);
          filter: drop-shadow(0 0 1rem #004ea2);
}
.home__recruitVisual {
  width: 54.6rem;
  height: 56.5rem;
  position: relative;
}
.home__recruitVisual--image {
  position: absolute;
}
.home__recruitVisual--image.image01 {
  top: 0;
  left: 0;
}
.home__recruitVisual--image.image02 {
  right: 0;
  bottom: 0;
}
.home__recruit--diamond {
  width: 42rem;
  height: 43.8rem;
  position: absolute;
  z-index: -2;
  display: block;
  background-color: #000;
  opacity: 0.15;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.home__recruit--diamond.diamond01 {
  width: 60rem;
  height: 62.6rem;
  top: -10rem;
  left: -43rem;
}
.home__recruit--diamond.diamond02 {
  bottom: -31.8rem;
  left: 0;
}
.home__recruit--diamond.diamond03 {
  top: -13.8rem;
  right: 16.7rem;
}
.home__recruit--diamond.diamond04 {
  width: 60rem;
  height: 62.6rem;
  right: -33.7rem;
  bottom: -10rem;
}
.home__navigation--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.home__navigation--item {
  width: calc((100% - 12rem) / 3);
}
.home__navigation .btn__01 {
  width: 100%;
  margin-top: 0;
}

@media screen and (min-width: 769px) {
  .home__movie--column {
    display: grid;
    gap: 0 7rem;
    grid-template-columns: 1fr 28rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .home__newsEvent .main__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .home__news {
    padding-right: 10rem;
  }
  .home__event {
    padding-left: 10rem;
  }
  .home__product--column {
    z-index: 2;
    display: grid;
    gap: 0 5rem;
    grid-template-columns: 44rem 1fr;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .home__sustainability--column {
    display: grid;
    gap: 0 8rem;
    grid-template-columns: 1fr 40rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .home__recruitVisual {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: -1;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (max-width: 768px) {
  .home__hero {
    height: 100rem;
  }
  .home__hero--inner::before {
    width: 24rem;
    height: 60rem;
  }
  .home__hero--inner::after {
    width: 20rem;
    height: 50rem;
  }
  .home__heroCatch {
    padding-top: 10rem;
  }
  .home__heroScroll {
    position: absolute;
    bottom: 5rem;
    left: 50%;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    --text-color: #fff;
  }
  .home__heroScroll--text {
    letter-spacing: 0.2em;
    font-weight: 500;
    font-size: 2rem;
  }
  .home__heroScroll--arrow {
    width: 2.4rem;
    height: 2.2rem;
  }
  .home__strengthObject {
    width: 48.4rem;
    height: 56rem;
    top: 34rem;
    left: 54rem;
  }
  .home__movie--content {
    margin-top: 3.2rem;
  }
  .home__movie--caption {
    font-size: 2rem;
  }
  .home__movie--diamond.diamond01 {
    width: 34.5rem;
    height: 36rem;
    top: 53rem;
    left: -23.4rem;
  }
  .home__movie--diamond.diamond02 {
    width: 37.5rem;
    height: 39.2rem;
    top: 59.4rem;
    left: -21.6rem;
  }
  .home__newsEvent .main__container {
    padding: 0;
  }
  .home__newsEvent .main__container > * {
    padding-right: 5rem;
    padding-left: 5rem;
  }
  .home__event::before {
    width: 100%;
  }
  .home__event::after {
    left: 39rem;
  }
  .home__event.is-coming {
    display: block;
  }
  .home__event--coming {
    height: 49rem;
  }
  .home__event--comingText {
    font-size: 3.6rem;
  }
  .home__event--comingMessage {
    margin-top: 1em;
    text-align: center;
  }
  .home__product {
    padding-top: 9rem;
  }
  .home__productHeadline {
    height: 30rem;
  }
  .home__productHeadline--diamond {
    width: 40.6rem;
    height: 42.4rem;
  }
  .home__productHeadline--diamond.diamond01 {
    top: -20.4rem;
    left: -19.2rem;
  }
  .home__productHeadline--diamond.diamond02 {
    top: 6.8rem;
    left: -25.8rem;
  }
  .home__productHeadline--diamond.diamond03 {
    top: -22.4rem;
    right: -25.8rem;
  }
  .home__productHeadline--diamond.diamond04 {
    top: 9.2rem;
    right: -17.4rem;
  }
  .home__product--column {
    padding-top: 7rem;
  }
  .home__product--column::before {
    top: 0;
    right: -5rem;
    left: -5rem;
  }
  .home__product--title {
    font-size: 3.6rem;
  }
  .home__productMenu {
    margin: 6rem -5rem;
    padding: 0 5rem;
    overflow: scroll;
  }
  .home__productMenu--list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 3rem;
  }
  .home__productMenu--item {
    width: 50rem;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .home__productMenu--link {
    padding: 2rem 3rem;
  }
  .home__productMenu--text dt {
    font-size: 2.4rem;
  }
  .home__productMenu--text dd {
    font-size: 3.2rem;
  }
  .home__company .main__container::before {
    top: -14rem;
    left: -36rem;
  }
  .home__companyMenu {
    gap: 3rem 0;
    grid-template-columns: 1fr;
  }
  .home__companyMenu--link {
    aspect-ratio: 6/3;
  }
  .home__companyMenu--text dt {
    font-size: 3.2rem;
  }
  .home__companyMenu--text dd {
    font-size: 2rem;
  }
  .home__sustainability--image {
    margin-top: 7rem;
  }
  .home__recruitVisual {
    width: 100%;
    height: 38rem;
    margin-top: 7rem;
    margin-bottom: 2rem;
  }
  .home__recruitVisual--image {
    width: 50.6rem;
  }
  .home__recruitVisual--image.image01 {
    left: -10rem;
  }
  .home__recruitVisual--image.image02 {
    right: -10rem;
  }
  .home__navigation {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
  }
  .home__navigation--list {
    gap: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .home__navigation--item {
    width: 50rem;
  }
}
.company__greeting--column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3rem;
}
.company__greeting--image {
  width: 84rem;
  margin-left: -21rem;
  position: relative;
}
.company__greeting--image .inner {
  display: block;
  -webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
          clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
}
.company__greeting--content {
  margin-top: 14rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.company__greeting--diamond {
  width: 46rem;
  height: 48rem;
  position: absolute;
  z-index: -1;
  background-color: #004ea2;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.company__greeting--diamond.diamond01 {
  width: 20rem;
  height: 20.8rem;
  top: -3.2rem;
  left: 9rem;
  z-index: 2;
  opacity: 0.6;
}
.company__greeting--diamond.diamond02 {
  top: 4rem;
  right: -3rem;
  opacity: 0.9;
}
.company__greeting .no-image .company__greeting--content {
  max-width: 80rem;
  margin: 0 auto;
}
.company__greeting .no-image .diamond01 {
  top: 5rem;
  left: -7rem;
}
.company__philosophy {
  padding-bottom: 13rem;
}
.company__philosophy .main__container {
  position: relative;
  z-index: 2;
}
.company__philosophy--messageCaption {
  margin-top: 4.8rem;
}
.company__philosophy--diamond {
  width: 46rem;
  height: 48rem;
  position: absolute;
  z-index: -1;
  background-color: #004ea2;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.company__philosophy--diamond.diamond01 {
  top: -11.2rem;
  left: -21rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#004ea2), to(rgba(0, 78, 162, 0)));
  background: linear-gradient(180deg, #004ea2 0%, rgba(0, 78, 162, 0) 100%);
  opacity: 0.3;
}
.company__philosophy--diamond.diamond02 {
  width: 40rem;
  height: 41.8rem;
  top: 0;
  right: -20rem;
  opacity: 0.6;
}
.company__philosophy--diamond.diamond03 {
  width: 28rem;
  height: 29.2rem;
  top: 16rem;
  right: -18rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#004ea2), to(rgba(0, 78, 162, 0)));
  background: linear-gradient(180deg, #004ea2 0%, rgba(0, 78, 162, 0) 100%);
  opacity: 0.3;
}
.company__outline--visual {
  margin-bottom: 9rem;
}
.company__access {
  position: relative;
  z-index: 2;
}
.company__access::after {
  content: "";
  width: 40rem;
  height: 100rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: #004ea2;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.company__access--column {
  display: grid;
  gap: 0 7rem;
  grid-template-columns: 64rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.company__access--info dt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 18rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid;
  color: #004ea2;
  font-weight: 900;
  font-size: 2rem;
}
.company__access--info dd {
  margin-top: 3.6rem;
}
.company__access--info dd p:not(:last-child) {
  margin-bottom: 1em;
}
.company__access--map {
  width: 100%;
  height: 42rem;
  margin-top: 7rem;
}
.company__access--map iframe {
  width: 100%;
  height: 100%;
}
.company__history {
  padding-bottom: 0;
}
.company__history--wrap {
  padding: 10rem 0;
  background-color: rgba(0, 78, 162, 0.7);
}
.company__history--content {
  padding-left: 13rem;
  position: relative;
}
.company__history--content::before {
  content: "";
  width: 1px;
  height: calc(100% + 3.2rem);
  position: absolute;
  top: 0;
  left: 28.7rem;
  background-color: #fff;
}
.company__history--content:first-child::before {
  height: calc(100% + 13.2rem);
  top: auto;
  bottom: -3.2rem;
}
.company__history--content:last-child::before {
  height: 2rem;
}
.company__history--content:last-child .company__history--inner {
  position: relative;
}
.company__history--content:last-child .company__history--inner:not(:last-child)::before {
  content: "";
  width: 1px;
  height: calc(100% + 3.2rem);
  position: absolute;
  top: 1.6rem;
  left: 15.7rem;
  background-color: #fff;
}
.company__history--content + .company__history--content {
  margin-top: 3.2rem;
}
.company__history--year {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "roboto", sans-serif;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1;
}
.company__history--year::before {
  content: "";
  width: 1.4rem;
  height: 2rem;
  display: block;
  background-color: #fff;
  -webkit-clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
          clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
}
.company__history--inner {
  display: grid;
  gap: 0 15rem;
  grid-template-columns: 11rem 1fr;
}
.company__history--inner + .company__history--inner {
  margin-top: 3.2rem;
}
.company__history--inner dt {
  position: relative;
  text-align: right;
  font-weight: 700;
}
.company__history--inner dt::after {
  content: "";
  width: 1.2rem;
  position: absolute;
  top: 0.5em;
  left: calc(100% + 4.2rem);
  background-color: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  aspect-ratio: 1;
}
.company__history--inner dd {
  position: relative;
}
.company__history--inner dd::before {
  content: "";
  width: 8rem;
  height: 1px;
  position: absolute;
  top: 1.4rem;
  right: calc(100% + 2rem);
  background-color: #fff;
}
.company__history--inner dd figure {
  margin-top: 1.5em;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .company__greeting {
    padding-bottom: 0;
  }
  .company__greeting .no-image .diamond01 {
    top: 0;
    left: -11rem;
  }
  .company__philosophy {
    padding-bottom: 12rem;
  }
  .company__philosophy--diamond.diamond01 {
    top: -4rem;
    left: -32rem;
  }
  .company__philosophy--diamond.diamond02 {
    width: 32.4rem;
    height: 33.8rem;
    top: auto;
    bottom: -12rem;
  }
  .company__philosophy--diamond.diamond03 {
    width: 22.6rem;
    height: 23.6rem;
    top: auto;
    bottom: -12rem;
  }
  .company__access::after {
    width: 28rem;
    height: 70rem;
  }
  .company__access--column {
    gap: 4.8rem 0;
    grid-template-columns: 1fr;
  }
  .company__access--info dt {
    margin: 0 auto;
    text-align: center;
    font-size: 2.8rem;
  }
  .company__access--info dd {
    text-align: center;
  }
  .company__access--info dd p:not(:last-child) {
    margin-bottom: 0;
  }
  .company__access--map {
    width: auto;
    margin: 7rem -5rem 0;
  }
  .company__history--content {
    padding-left: 6.8rem;
  }
  .company__history--content::before {
    height: calc(100% + 6rem);
    left: 0;
  }
  .company__history--content:first-child::before {
    height: calc(100% + 16rem);
    bottom: -6rem;
  }
  .company__history--content:last-child::before {
    height: 6rem;
  }
  .company__history--content:last-child .company__history--inner:not(:last-child) {
    position: static;
  }
  .company__history--content:last-child .company__history--inner:not(:last-child)::before {
    height: calc(50% + 2rem);
    top: 1.6rem;
    left: 0;
  }
  .company__history--content:last-child .company__history--inner:not(:last-child) dt::after {
    left: -0.8rem;
  }
  .company__history--content + .company__history--content {
    margin-top: 6rem;
  }
  .company__history--year {
    margin-right: 1.6rem;
    position: relative;
    gap: 0 1rem;
    float: left;
    font-size: 3.6rem;
  }
  .company__history--year::before {
    width: 2rem;
    height: 3rem;
  }
  .company__history--inner {
    display: block;
  }
  .company__history--inner + .company__history--inner {
    margin-top: 6rem;
    position: relative;
  }
  .company__history--inner + .company__history--inner dt::after {
    top: 0.5em;
    left: -7.6rem;
  }
  .company__history--inner + .company__history--inner dd::before {
    top: 2rem;
    left: -6.8rem;
  }
  .company__history--inner dt {
    position: static;
    text-align: left;
  }
  .company__history--inner dt::after {
    width: 1.8rem;
    top: 0.25em;
    left: -0.8rem;
  }
  .company__history--inner dd {
    margin-top: 0.25em;
    position: static;
  }
  .company__history--inner dd::before {
    width: 5rem;
    right: auto;
    left: 0;
  }
}
.strength__point {
  padding: 0;
  position: relative;
  z-index: 1;
}
.strength__point--inner {
  padding-top: 20rem;
  padding-bottom: 14rem;
  position: relative;
  z-index: 2;
}
.strength__point--inner::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(255, 255, 255, 0.88);
}
.strength__point--inner.text-white::before {
  background-color: rgba(59, 59, 59, 0.88);
}
.strength__point--bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.strength__point--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.strength__point--content {
  position: relative;
}
.strength__point--count {
  margin-bottom: 3rem;
  padding-left: 3rem;
  position: absolute;
  bottom: 100%;
  left: 0;
  color: #c7c7c7;
  letter-spacing: 0;
  font-family: "roboto", sans-serif;
  font-style: italic;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
}
.strength__point--count span {
  color: var(--text-color, #004ea2);
  letter-spacing: 0;
  font-size: 8rem;
}
.strength__point--title {
  margin-bottom: 6rem;
}
.strength__point--image {
  width: 50rem;
}
.strength__about--title {
  margin-bottom: 5rem;
}
.strength__aboutList {
  margin-top: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
}
.strength__aboutList--inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
.strength__aboutList--inner dt {
  margin-bottom: 0.75em;
  padding: 0.5em 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
  color: #004ea2;
  font-weight: 900;
  font-size: 2rem;
}
.strength__consultation {
  padding-top: 14rem;
  position: relative;
  background-color: #e6edf6;
}
.strength__consultation--title {
  position: absolute;
  top: 0;
  left: 50%;
  color: #fff;
  white-space: nowrap;
  font-style: italic;
  font-weight: 500;
  font-size: 10rem;
  line-height: 0.65;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.strength__consultation--subTitle {
  margin-bottom: 6rem;
  font-weight: 900;
  font-size: 2.8rem;
}
.strength__consultation--list {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(2, 1fr);
  text-align: center;
}
.strength__consultation--list li {
  width: 100%;
  min-height: 5rem;
  position: relative;
  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;
  font-weight: 700;
}
.strength__consultation--list li:nth-child(even)::before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: -2rem;
  background-color: #707070;
}
.strength__consultation--list li.has-underline::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -2rem;
  left: 0;
  background-color: #c7c7c7;
}
.strength__process--lead {
  margin-bottom: 7rem;
}
.strength__processList--item {
  padding-bottom: 5.6rem;
  position: relative;
  display: grid;
  gap: 0 6rem;
  grid-template-columns: 44rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.strength__processList--item + .strength__processList--item {
  margin-top: 4rem;
}
.strength__processList--item:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.strength__processList--item:not(:last-child)::before {
  content: "";
  width: 8rem;
  height: 2rem;
  position: absolute;
  bottom: -1rem;
  left: calc(50% - 4rem);
  background-color: #004ea2;
}
.strength__processList--item:not(:last-child)::after {
  content: "";
  width: 2.8rem;
  height: 2.6rem;
  position: absolute;
  bottom: -1.3rem;
  left: calc(50% - 1.4rem);
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.strength__processList--headline {
  width: 100%;
  height: 12rem;
  position: relative;
  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;
  background-color: #fff;
}
.strength__processList--headlineTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 900;
  font-size: 2.8rem;
  --text-color: #004ea2;
}
.strength__processList--number {
  width: 12rem;
  height: 2.2rem;
  position: absolute;
  top: -1px;
  left: 0;
  display: block;
  background-color: #004ea2;
  font-family: "roboto", sans-serif;
  font-style: italic;
  font-weight: 500;
  line-height: 0.75;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
}
.strength__project {
  position: relative;
  z-index: 2;
}
.strength__project::before, .strength__project::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #004ea2;
}
.strength__project::before {
  width: 30rem;
  height: 75rem;
  top: -1px;
  left: 0;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.strength__project::after {
  width: 44rem;
  height: 110rem;
  right: 0;
  bottom: 0;
  opacity: 0.1;
  -webkit-clip-path: polygon(100% 100%, 0% 100%, 100% 0);
          clip-path: polygon(100% 100%, 0% 100%, 100% 0);
}
.strength__projectPickup * {
  word-break: break-all;
}
.strength__projectPickup--tags {
  margin-bottom: 2.4rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.8rem;
}
.strength__projectPickup--tags .tag {
  padding: 0.2em 3.8rem;
}
.strength__projectPickup--tags .tag-company {
  padding-right: 4.3rem;
  padding-left: 0;
  background-color: #004ea2;
  font-weight: 900;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
  --text-color: #fff;
}
.strength__projectPickup--tags .tag-type {
  margin-left: -1.8rem;
  background-color: #eceff1;
  -webkit-clip-path: polygon(1.8rem 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
          clip-path: polygon(1.8rem 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
}
.strength__projectPickup--title {
  margin-bottom: 1em;
  letter-spacing: 0;
  font-weight: 900;
  font-size: 2.8rem;
}
.strength__projectPickupInfo {
  margin-top: 7rem;
}
.strength__projectPickupInfo--inner + .strength__projectPickupInfo--inner {
  margin-top: 5rem;
}
.strength__projectPickupInfo dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  border-bottom: 1px solid #004ea2;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 3.2rem) 100%, 0% 100%);
}
.strength__projectPickupInfo--label {
  width: 17rem;
  padding: 0.375em 1em;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-weight: 900;
  -webkit-clip-path: polygon(1.8rem 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
          clip-path: polygon(1.8rem 0, 100% 0, calc(100% - 1.8rem) 100%, 0% 100%);
}
.strength__projectPickupInfo--title {
  padding-top: 0.15em;
  font-size: 2rem;
}
.strength__projectPickupInfo dd {
  margin-top: 1em;
}

@media screen and (min-width: 769px) {
  .strength__point--inner::after {
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
    background-color: #004ea2;
  }
  .strength__point--inner:nth-child(odd)::after {
    right: 0;
    left: calc(50% + 6rem);
    -webkit-clip-path: polygon(30rem 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(30rem 0, 100% 0, 100% 100%, 0% 100%);
  }
  .strength__point--inner:nth-child(even)::after {
    right: calc(50% - 6rem);
    left: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 30rem) 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, calc(100% - 30rem) 100%, 0% 100%);
  }
  .strength__point--inner:nth-child(even) .strength__point--column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .strength__point--column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .strength__point--content {
    width: 48rem;
  }
  .strength__projectPickup--column {
    display: grid;
    gap: 0 7rem;
    grid-template-columns: 54rem minmax(0, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .strength__projectPickup--content {
    max-width: 40rem;
  }
  .strength__projectPickup--tags::before {
    content: "";
    width: 7rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    background-color: #004ea2;
  }
}
@media screen and (max-width: 768px) {
  .strength__point--count {
    font-size: 3.2rem;
  }
  .strength__point--title {
    margin-bottom: 4.8rem;
  }
  .strength__point--image {
    width: 100%;
    margin-top: 5rem;
  }
  .strength__point .point02::after {
    content: "";
    width: 9rem;
    height: 23rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #004ea2;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
            clip-path: polygon(0 0, 0% 100%, 100% 0);
  }
  .strength__point .point03::after {
    content: "";
    width: 73.8rem;
    height: 184rem;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: #004ea2;
    opacity: 0.88;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
            clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  }
  .strength__aboutList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .strength__aboutList--inner dt {
    font-size: 2.8rem;
  }
  .strength__consultation {
    padding-top: 12.6rem;
  }
  .strength__consultation--title {
    font-size: 8rem;
  }
  .strength__consultation--subTitle {
    font-size: 3.6rem;
  }
  .strength__process--lead {
    margin-bottom: 4.2rem;
  }
  .strength__processList--item {
    gap: 1em 0;
    grid-template-columns: 1fr;
  }
  .strength__processList--item + .strength__processList--item {
    margin-top: 6rem;
  }
  .strength__processList--item:last-child {
    padding-bottom: 0;
  }
  .strength__processList--headline {
    height: 13rem;
  }
  .strength__processList--headlineTitle {
    gap: 0 2.6rem;
    font-size: 3.8rem;
  }
  .strength__processList--headline img {
    width: auto;
    height: 4rem;
  }
  .strength__processList--number {
    width: 16.4rem;
    height: 3.2rem;
  }
  .strength__project::before {
    width: 16rem;
    height: 40rem;
  }
  .strength__projectPickup--tags {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .strength__projectPickup--tags .tag {
    width: 56rem;
    height: 9rem;
    padding: 0.2em 4rem;
    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;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
  }
  .strength__projectPickup--tags .tag-company {
    z-index: 2;
  }
  .strength__projectPickup--tags .tag-type {
    margin-top: -1rem;
    margin-left: auto;
  }
  .strength__projectPickup--title {
    text-align: center;
    font-size: 3.6rem;
  }
  .strength__projectPickup--image {
    margin-bottom: 3.2rem;
  }
  .strength__projectPickupInfo--inner + .strength__projectPickupInfo--inner {
    margin-top: 7rem;
  }
  .strength__projectPickupInfo dt {
    padding-bottom: 2.8rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: none;
  }
  .strength__projectPickupInfo--label {
    width: 40rem;
    margin: 0 auto 1em;
    padding: 0.75em 1em;
    -webkit-clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
  }
  .strength__projectPickupInfo--title {
    padding-top: 0;
    font-size: 2.8rem;
  }
}
.sustainability__SDGs--column {
  display: grid;
  gap: 0 8rem;
  grid-template-columns: 52rem 1fr;
}
.sustainability__SDGs--title {
  margin-bottom: 0.5em;
  color: #004ea2;
  font-weight: 900;
  font-size: 2.8rem;
}
.sustainability__SDGs--title::before {
  content: "";
  width: 6.8rem;
  height: 1rem;
  margin-bottom: 1rem;
  display: block;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
          clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
}
.sustainability__SDGs--about {
  margin-top: 4.8rem;
  padding: 3.2rem 4rem;
  border: 1px solid #c7c7c7;
  border-radius: 1rem;
}
.sustainability__SDGs--about dt {
  margin-bottom: 0.5em;
  color: #004ea2;
  font-weight: 900;
  font-size: 2rem;
}
.sustainability__SDGs--about dd .exhibit {
  margin-top: 0.5em;
  font-size: 1.4rem;
}
.sustainability__block {
  position: relative;
  z-index: 2;
}
.sustainability__block::before {
  content: "";
  width: 78rem;
  height: 81.4rem;
  position: absolute;
  top: 0;
  left: calc(50% + 17rem);
  z-index: -1;
  background-color: #004ea2;
  opacity: 0.6;
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.sustainability__block--title {
  margin-bottom: 6.4rem;
  padding-bottom: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #004ea2;
}
.sustainability__block--title .title-main {
  color: #004ea2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 3.6rem;
}
.sustainability__block--title .title-label {
  padding: 0.25em 1em;
  background-color: #004ea2;
  color: #fff;
  font-weight: 500;
  font-size: 1.6rem;
}
.sustainability__block--column {
  display: grid;
  gap: 0 7.5rem;
  grid-template-columns: 1fr 48rem;
}
.sustainability__block--body h3 {
  margin-bottom: 0.75em;
  font-weight: 900;
  font-size: 2.4rem;
}
.sustainability__block--body h4 {
  margin-top: 2em;
  margin-bottom: 0.25em;
  padding-left: 2.8rem;
  position: relative;
  font-weight: 900;
  font-size: 2rem;
}
.sustainability__block--body h4::before {
  content: "";
  width: 1.8rem;
  height: 2.5rem;
  position: absolute;
  top: 0.25em;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%);
          clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%);
}
.sustainability__block--body ol {
  padding-left: 1em;
  list-style-type: decimal;
}
.sustainability__block--icons {
  margin-top: 6.4rem;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(4, 1fr);
}
.sustainability__block--icons img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .sustainability__SDGs--column {
    display: block;
  }
  .sustainability__SDGs--title {
    margin-bottom: 1em;
    text-align: center;
    font-size: 3.6rem;
  }
  .sustainability__SDGs--title::before {
    width: 13.5rem;
    height: 2rem;
    margin: 0 auto 1.6rem;
  }
  .sustainability__SDGs--image {
    margin-top: 7rem;
  }
  .sustainability__SDGs--about {
    margin-top: 7rem;
    padding: 5rem;
  }
  .sustainability__SDGs--about dt {
    text-align: center;
    font-size: 3.2rem;
  }
  .sustainability__SDGs--about dd .exhibit {
    font-size: 2rem;
  }
  .sustainability__block::before {
    width: 60rem;
    height: 62.6rem;
    left: calc(50% - 4rem);
  }
  .sustainability__block--title {
    margin-bottom: 5rem;
    padding-bottom: 2.8rem;
  }
  .sustainability__block--title .title-label {
    padding: 0.15em 1em;
    font-size: 2.4rem;
  }
  .sustainability__block--column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .sustainability__block--body h3 {
    margin-bottom: 0.5em;
    font-size: 3.2rem;
  }
  .sustainability__block--body h4 {
    font-size: 2.8rem;
  }
  .sustainability__block--body h4::before {
    width: 2rem;
    height: 3rem;
  }
  .sustainability__block--icons {
    gap: 3rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.partner__list--title {
  width: 48rem;
  margin: 0 auto 6.4rem;
  padding: 1.3rem 0;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: 2.4rem;
  -webkit-clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
}
.partner__list--lead {
  margin-bottom: 2em;
  font-weight: 900;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .partner__list--title {
    width: 100%;
    padding: 0.75em 0;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
  }
  .partner__list--lead {
    margin-bottom: 2em;
    font-size: 2.8rem;
  }
  .partner__list--lead p {
    line-height: 1.5;
  }
}
.news__list--item {
  padding-bottom: 2rem;
  display: grid;
  grid-template-columns: 10rem 1fr;
  border-bottom: 1px solid #d3d3d3;
  line-height: 1.75;
}
.news__list--item + .news__list--item {
  margin-top: 2rem;
}
.news__archive .heading__01 {
  margin-bottom: 9rem;
  padding-bottom: 4rem;
  position: relative;
  border-bottom: 1px solid #004ea2;
}
.news__archive .heading__01::after {
  content: "";
  width: 6.8rem;
  height: 1rem;
  position: absolute;
  bottom: 0;
  left: calc(50% - 3.4rem);
  background-color: #004ea2;
  -webkit-clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
          clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
}
.news__archiveList--item {
  position: relative;
  display: grid;
  gap: 0 5rem;
  grid-template-columns: 28rem 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.news__archiveList--item::after {
  content: "";
  width: calc(100% - 33rem);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 33rem;
  background-color: #c7c7c7;
}
.news__archiveList--item + .news__archiveList--item {
  margin-top: 5rem;
}
.news__archiveList--link {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.news__archiveList--eyecatch {
  aspect-ratio: 280/210;
}
.news__archiveList--eyecatch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news__archiveList--eyecatch.is-border {
  border: 1px solid #c7c7c7;
}
.news__archiveList--body {
  padding: 3rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem 1.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news__archiveList--date {
  width: 12rem;
  color: #004ea2;
  font-family: "roboto", sans-serif;
  font-weight: 500;
  font-size: 2rem;
}
.news__archiveList--tag {
  min-width: 18rem;
  padding: 0.375em 1rem;
  position: relative;
  z-index: 2;
  border: 1px solid #004ea2;
  color: #004ea2;
  text-align: center;
  font-weight: 500;
}
.news__archiveList--title {
  width: 100%;
}
.news__archiveList--arrow {
  width: 3rem;
  height: 15rem;
  position: absolute;
  top: calc(50% - 7.5rem);
  right: 0;
  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;
  background-color: #eceff1;
}
.news__archiveList--arrow::before {
  content: "";
  width: 0.8rem;
  height: 1rem;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.news__singleColumn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.news__singleMain {
  width: 70rem;
}
.news__singleMain--header {
  margin-bottom: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news__singleMain--date {
  color: #004ea2;
  font-family: "roboto", sans-serif;
  font-weight: 500;
  font-size: 2rem;
}
.news__singleMain--tag {
  min-width: 18rem;
  padding: 0.375em 1rem;
  position: relative;
  z-index: 2;
  border: 1px solid #004ea2;
  color: #004ea2;
  text-align: center;
  font-weight: 500;
}
.news__singleMain--title {
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.5833333333;
}
.news__singleMain--body > *:first-child {
  margin-top: 0 !important;
}
.news__singleMain--body h2 {
  margin-top: 7rem;
  margin-bottom: 5rem;
  padding-top: 2.4rem;
  position: relative;
  border-top: 1px solid;
  color: #004ea2;
  font-weight: 900;
  font-size: 2.4rem;
}
.news__singleMain--body h2::before {
  content: "";
  width: 13rem;
  height: 1rem;
  position: absolute;
  bottom: 100%;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
          clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
}
.news__singleMain--body h3 {
  margin-top: 2em;
  margin-bottom: 0.25em;
  font-weight: 900;
  font-size: 2.4rem;
}
.news__singleMain--body p:not(:last-child) {
  margin-bottom: 1em;
}
.news__singleMain--footer {
  margin-top: 7rem;
  border-top: 1px solid #eceff1;
}
.news__singleMain--footer .btn__01 {
  margin-top: 9rem;
}
.news__singleSide {
  width: 24rem;
}
.news__singleSide--item + .news__singleSide--item {
  margin-top: 7rem;
}
.news__singleSide--item dt {
  margin-bottom: 1em;
  padding: 0.375em 1em;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-weight: 900;
  -webkit-clip-path: polygon(2rem 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
          clip-path: polygon(2rem 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
}
.news__singleSide--list li {
  padding-bottom: 1em;
  border-bottom: 1px solid #c7c7c7;
}
.news__singleSide--list li + li {
  margin-top: 1em;
}
.news__singleSide--list a {
  color: #004ea2;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .news__list--item {
    padding-bottom: 3.2rem;
    grid-template-columns: 15rem 1fr;
  }
  .news__list--item + .news__list--item {
    margin-top: 3.2rem;
  }
  .news__archive .heading__01 {
    margin-bottom: 7rem;
  }
  .news__archive .heading__01::after {
    content: "";
    width: 13.6rem;
    height: 2rem;
    left: calc(50% - 6.8rem);
    -webkit-clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
            clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
  }
  .news__archive .heading__01--label {
    font-size: 4.8rem;
  }
  .news__archiveList--item {
    display: block;
  }
  .news__archiveList--item::after {
    width: 100%;
    left: 0;
  }
  .news__archiveList--item + .news__archiveList--item {
    margin-top: 7rem;
  }
  .news__archiveList--body {
    padding-top: 4rem;
    padding-bottom: 7rem;
  }
  .news__archiveList--date {
    width: 16rem;
    font-size: 2.8rem;
  }
  .news__archiveList--tag {
    padding: 0.2em 1em;
  }
  .news__archiveList--arrow {
    width: 4rem;
    height: 4rem;
    top: auto;
    bottom: 0;
  }
  .news__archiveList--arrow::before {
    width: 1rem;
    height: 1.2rem;
  }
  .news__singleColumn {
    display: block;
  }
  .news__singleMain {
    width: 100%;
  }
  .news__singleMain--date {
    font-size: 2.8rem;
  }
  .news__singleMain--tag {
    padding: 0.2em 1em;
  }
  .news__singleMain--title {
    font-size: 3.2rem;
  }
  .news__singleMain--body h2 {
    font-size: 3.6rem;
  }
  .news__singleMain--body h2::before {
    content: "";
    width: 26rem;
    height: 2rem;
    -webkit-clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
            clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
  }
  .news__singleMain--body h3 {
    font-size: 3.2rem;
  }
  .news__singleSide {
    width: 100%;
    margin-top: 10rem;
  }
  .news__singleSide--item + .news__singleSide--item {
    margin-top: 9rem;
  }
  .news__singleSide--item dt {
    padding: 0.75em 1em;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
  }
}
.faq__list--title {
  width: 48rem;
  margin-bottom: 7rem;
  padding: 1.3rem 0;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: 2.4rem;
  -webkit-clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
}
.faq__list--item + .faq__list--item {
  margin-top: 8rem;
}
.faq__list--item dt {
  margin-bottom: 3.2rem;
  padding-top: 0.5em;
  position: relative;
  border-top: 1px solid #c7c7c7;
  color: #004ea2;
  font-weight: 900;
  font-size: 2.4rem;
}
.faq__list--item dt::before {
  content: "";
  width: 13rem;
  height: 1rem;
  position: absolute;
  bottom: 100%;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
          clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
}
.faq__list--item dd {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
}
.faq__card {
  padding: 1rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eceff1;
}
.faq__card--image {
  width: 8rem;
  background-color: #fff;
  aspect-ratio: 1;
}
.faq__card--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.faq__card--title {
  color: #004ea2;
  font-weight: 900;
  line-height: 1.5;
}
.faq__card--arrow {
  width: 3rem;
  position: absolute;
  right: 0;
  bottom: 0;
  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;
  background-color: #004ea2;
  aspect-ratio: 1;
}
.faq__card--arrow::before {
  content: "";
  width: 0.8rem;
  height: 1rem;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.faq__detail--title {
  margin-bottom: 1em;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
}
.faq__detail--title::before {
  content: "■";
  margin-right: 0.5em;
  color: #004ea2;
}
.faq__content--item + .faq__content--item {
  margin-top: 3rem;
}
.faq__content--item dt {
  padding: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #eceff1;
  font-weight: 900;
  font-size: 2rem;
}
.faq__content--item dt::before {
  content: "Q";
  width: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  color: #004ea2;
  font-family: "roboto", sans-serif;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1;
  aspect-ratio: 1;
}
.faq__content--item dt p {
  padding-top: 0.45em;
}
.faq__content--item dt.is-active .faq__content--arrow::after {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
.faq__content--item dd {
  margin-top: 1.5rem;
  margin-bottom: 4rem;
  padding: 1.5rem 1.5rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #c7c7c7;
}
.faq__content--item dd::before {
  content: "A";
  width: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #004ea2;
  color: #fff;
  font-family: "roboto", sans-serif;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1;
  aspect-ratio: 1;
}
.faq__content--arrow {
  width: 2.4rem;
  margin-top: auto;
  margin-right: 2.5rem;
  margin-bottom: auto;
  margin-left: auto;
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  aspect-ratio: 1;
}
.faq__content--arrow::before, .faq__content--arrow::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #004ea2;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.faq__content--arrow::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.faq__content--text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 768px) {
  .faq__list--title {
    width: 100%;
    padding: 0.75em 0;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
  }
  .faq__list--item dt {
    padding-top: 0.75em;
    font-size: 3.6rem;
  }
  .faq__list--item dt::before {
    width: 26rem;
    height: 2rem;
    -webkit-clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
            clip-path: polygon(1rem 0, 100% 0, calc(100% - 1rem) 100%, 0% 100%);
  }
  .faq__list--item dd {
    gap: 2rem 0;
    grid-template-columns: 1fr;
  }
  .faq__card {
    padding: 2rem;
    gap: 0 3rem;
  }
  .faq__card--image {
    width: 14rem;
  }
  .faq__card--title {
    font-size: 2.8rem;
  }
  .faq__card--arrow {
    width: 6rem;
  }
  .faq__card--arrow::before {
    width: 1.8rem;
    height: 2rem;
  }
  .faq__detail--title {
    font-size: 3.6rem;
  }
  .faq__detail--title::before {
    margin-right: 0.25em;
  }
  .faq__content--item dt {
    padding: 2rem;
    font-size: 2.8rem;
  }
  .faq__content--item dt::before {
    width: 7rem;
    font-size: 3.2rem;
  }
  .faq__content--item dd {
    margin-top: 4rem;
    margin-bottom: 4rem;
    padding: 1.5rem 0 7rem 11rem;
    position: relative;
    gap: 4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .faq__content--item dd::before {
    width: 7rem;
    position: absolute;
    top: 0;
    left: 2rem;
    font-size: 3.2rem;
  }
}
.privacy {
  counter-reset: count;
}
.privacy__block + .privacy__block {
  margin-top: 7rem;
}
.privacy__block--title {
  width: 100%;
  margin-bottom: 3.2rem;
  padding: 1.3rem 2em;
  background-color: #004ea2;
  color: #fff;
  font-weight: 900;
  font-size: 2.4rem;
  -webkit-clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
}
.privacy__block--title::before {
  content: counter(count) ". ";
  counter-increment: count;
}
.privacy__block--body {
  max-width: 92rem;
  margin: 0 auto;
}
.privacy__block--body p:not(:last-child) {
  margin-bottom: 1em;
}
.privacy__blockContact--title {
  margin-bottom: 0.25em;
  padding-left: 2.8rem;
  position: relative;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2rem;
}
.privacy__blockContact--title::before {
  content: "";
  width: 1.8rem;
  height: 2.5rem;
  position: absolute;
  top: 0.25em;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%);
          clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%);
}
.privacy__blockContact--name {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
}
.privacy__blockContact--list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.privacy__blockContact--list .inner {
  padding: 0 3rem;
  border-left: 1px solid #004ea2;
}
.privacy__blockContact--list dt {
  margin-bottom: 0.25em;
  color: #004ea2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 1.8rem;
}
.privacy__blockContact--phoneLink {
  margin-bottom: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1;
}
.privacy__blockContact--phoneLink svg {
  width: 3rem;
  margin-right: 1.3rem;
}
.privacy__blockContact--phoneLink span {
  margin-top: auto;
  display: inline-block;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.4;
}
.privacy__blockContact--phoneTime {
  margin-top: 0.5em;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
}
.privacy__blockContact--mailBtn {
  width: 100%;
  height: 6rem;
  padding: 0 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid;
  background-color: rgba(0, 78, 162, 0.75);
  --text-color: #fff;
}
.privacy__blockContact--mailBtn::after {
  content: "";
  width: 0.8rem;
  height: 1rem;
  margin-left: auto;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.privacy__blockContact--mailBtn span {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .privacy__block + .privacy__block {
    margin-top: 9rem;
  }
  .privacy__block--title {
    padding: 0.75em 5rem;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
  }
  .privacy__blockContact--title {
    font-size: 2.8rem;
  }
  .privacy__blockContact--title::before {
    width: 2rem;
    height: 3rem;
    top: 0.35em;
  }
  .privacy__blockContact--name {
    font-size: 3.2rem;
  }
  .privacy__blockContact--list {
    gap: 5rem 0;
    grid-template-columns: 1fr;
  }
  .privacy__blockContact--list .inner {
    padding-right: 0;
  }
  .privacy__blockContact--list dt {
    font-size: 2.8rem;
  }
  .privacy__blockContact--phoneLink {
    font-size: 6rem;
  }
  .privacy__blockContact--phoneLink svg {
    width: 5.4rem;
  }
  .privacy__blockContact--phoneLink span {
    font-size: 2rem;
  }
  .privacy__blockContact--phoneTime {
    font-size: 2rem;
  }
  .privacy__blockContact--mailBtn {
    width: 50rem;
    height: 10rem;
  }
  .privacy__blockContact--mailBtn::after {
    width: 1.8rem;
    height: 2rem;
  }
  .privacy__blockContact--mailBtn svg {
    width: 4.8rem;
  }
  .privacy__blockContact--mailBtn span {
    font-size: 2.8rem;
  }
}
.catalog__pageNavi .common__pageNavi--item {
  position: relative;
}
.catalog__pageNavi .btn__01 {
  height: 7.6rem;
  padding-left: 2rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.catalog__pageNavi .btn__01--text {
  font-size: 1.6rem;
}
.catalog__adobe {
  margin-top: 7rem;
  padding: 3.8rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(236, 239, 241, 0.5);
}
.catalog__adobe--sentence {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.catalog__block + .catalog__block {
  margin-top: 10rem;
}
.catalog__block--title {
  margin-bottom: 1em;
  padding-top: 1em;
  position: relative;
  border-top: 1px solid #c7c7c7;
  color: #004ea2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.8rem;
}
.catalog__block--title::before {
  content: "";
  width: 10rem;
  height: 1px;
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #004ea2;
}
.catalog__block--list {
  display: grid;
  gap: 9rem;
  grid-template-columns: repeat(3, 1fr);
}
.catalog__block--image {
  margin-bottom: 1.6rem;
  display: block;
  border: 1px solid #c7c7c7;
  aspect-ratio: 300/424;
}
.catalog__block--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.catalog__block--name {
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2rem;
}
.catalog__block--download {
  width: 100%;
  margin-top: 2.4rem;
  padding: 0.6875em 1em;
  display: block;
  border: 1px solid;
  background: url(../../images/common/icon_download.svg) no-repeat right 1rem center/2.4rem auto;
  color: #004ea2;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
  line-height: 1;
}
.catalog__block--size {
  margin-top: 1em;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.4rem;
}

@media screen and (min-width: 769px) {
  .catalog__pageNavi .common__pageNavi--item::before {
    content: "";
    width: 1px;
    height: calc(100% - 2rem);
    position: absolute;
    top: 1rem;
    left: -1.5rem;
    background-color: #c7c7c7;
  }
  .catalog__pageNavi .common__pageNavi--item:nth-child(3n+1)::before {
    content: none;
  }
  .catalog__pageNavi .common__pageNavi--item:nth-child(-n+3) .btn__01 {
    border-top: 1px solid #c7c7c7;
  }
  .catalog__pageNavi .btn__01 {
    border-bottom: 1px solid #c7c7c7;
  }
}
@media screen and (max-width: 768px) {
  .catalog__pageNavi .common__pageNavi--list {
    gap: 0;
  }
  .catalog__pageNavi .common__pageNavi--item {
    padding: 2.6rem 0;
    border-bottom: 1px solid #c7c7c7;
  }
  .catalog__pageNavi .common__pageNavi--item:first-child {
    border-top: 1px solid #c7c7c7;
  }
  .catalog__pageNavi .btn__01 {
    min-width: 0;
  }
  .catalog__pageNavi .btn__01::after {
    right: 2rem;
  }
  .catalog__pageNavi .btn__01--text {
    font-size: 2.8rem;
  }
  .catalog__adobe {
    padding: 6rem;
    gap: 3rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .catalog__adobe--banner {
    width: 30rem;
  }
  .catalog__block--title {
    margin-bottom: 1.5em;
    padding-top: 0.75em;
    font-size: 3.6rem;
  }
  .catalog__block--list {
    max-width: 50rem;
    margin: 0 auto;
    grid-template-columns: 1fr;
  }
  .catalog__block--image {
    margin-bottom: 2.4rem;
  }
  .catalog__block--name {
    font-size: 3.2rem;
  }
  .catalog__block--download {
    background-position: right 2rem center;
    background-size: 3.6rem auto;
    font-size: 2.8rem;
  }
  .catalog__block--size {
    font-size: 2rem;
  }
}
.product__newsHeader {
  margin-bottom: 3.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product__newsHeader--title {
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.8rem;
}
.product__newsHeader--tag {
  padding: 0.5em 1em;
  border: 1px solid;
  color: #004ea2;
  font-weight: 700;
  line-height: 1.5;
}
.product__news .news__list {
  padding-top: 2rem;
  border-top: 1px solid #d3d3d3;
}
.product__news .news__list--item {
  padding-right: 3rem;
  grid-template-columns: 19rem 1fr;
}
.product__news .news__list--title {
  position: relative;
}
.product__news .news__list--title::after {
  content: "";
  width: 0.8rem;
  height: 1rem;
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.product__navigation--list {
  max-width: 94rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product__navigation--item.col2 {
  width: calc((100% - 2rem) / 2);
}
.product__navigation--item.col3 {
  width: calc((100% - 4rem) / 3);
}
.product__navigation .btn__01 {
  width: 100%;
  margin-top: 0;
}
.product__navigation .btn__01::after {
  content: none;
}
.product__searchWord dt {
  margin-bottom: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-weight: 900;
  font-size: 2rem;
}
.product__searchWord--form {
  max-width: 80rem;
  margin: 0 auto;
  padding: 1.5rem 1.5rem 1.5rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eceff1;
}
.product__searchWord--input {
  padding: 1em 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.product__searchWord--btn {
  width: 12rem;
  height: 6rem;
  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;
  background-color: #004ea2;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 2rem;
}
.product__searchCategory--list {
  display: grid;
  gap: 3rem 3.5rem;
  grid-template-columns: repeat(3, 1fr);
  font-weight: 700;
}
.product__searchCategory--list li {
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
}
.product__searchCategory--list a {
  position: relative;
  display: block;
}
.product__searchCategory--list a::after {
  content: "";
  width: 1rem;
  height: 0.8rem;
  position: absolute;
  top: calc(50% - 0.4rem);
  right: 0;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.product__archive:nth-child(even) {
  background-color: rgba(0, 78, 162, 0.1);
}
.product__archive:nth-child(even) .product__archive--title {
  background-color: #fff;
}
.product__archive--title {
  margin-bottom: 4rem;
  background-color: #e6edf6;
  -webkit-clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
}
.product__archive--title .title-inner {
  width: 48rem;
  padding: 1.3rem 5rem;
  display: block;
  background-color: #004ea2;
  color: #fff;
  font-weight: 900;
  font-size: 2.4rem;
  -webkit-clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
          clip-path: polygon(3.2rem 0%, 100% 0%, calc(100% - 3.2rem) 100%, 0% 100%);
}
.product__archive--list {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
}
.product__archive--eyecatch {
  position: relative;
  aspect-ratio: 340/255;
}
.product__archive--eyecatch::before {
  content: "";
  width: 17rem;
  height: 0.5rem;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #004ea2;
}
.product__archive--eyecatch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product__archive--name {
  margin-top: 0.5em;
  font-weight: 900;
  font-size: 2rem;
}
.product__info--column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 8rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.product__info--visual {
  width: 54rem;
  aspect-ratio: 1;
}
.product__info--body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.product__info--tag {
  width: 27rem;
  margin-bottom: 1em;
  padding: 0.375em 1em;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-weight: 900;
  -webkit-clip-path: polygon(2rem 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
          clip-path: polygon(2rem 0, 100% 0, calc(100% - 2rem) 100%, 0% 100%);
}
.product__info--title {
  margin-bottom: 1em;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 3.6rem;
  line-height: 1.1666666667;
}
.product__info--use {
  margin-top: 4.8rem;
  padding: 2rem 0;
  display: grid;
  gap: 0 2.6rem;
  grid-template-columns: 7rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid #c7c7c7;
  border-bottom: 1px solid #c7c7c7;
}
.product__info--use dt {
  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;
  background-color: #eceff1;
  font-weight: 900;
  aspect-ratio: 1;
}
.product__block:nth-child(even) {
  background-color: rgba(0, 78, 162, 0.1);
}
.product__block--title {
  margin-bottom: 2em;
  padding-top: 0.75em;
  position: relative;
  border-top: 1px solid #004ea2;
  color: #004ea2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.8rem;
}
.product__block--title::before {
  content: "";
  width: 13rem;
  height: 1rem;
  position: absolute;
  bottom: 100%;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
          clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0% 100%);
}
.product__block--title.v2 {
  border-top-color: #c7c7c7;
}
.product__block--title.v2::before {
  width: 10rem;
  height: 1px;
}
.product__block figure {
  margin-top: 2em;
}
.product__block .list-note {
  margin-top: 1em;
  font-size: 1.2rem;
}
.product__headline01 {
  margin-bottom: 4rem;
  padding: 0.75em 3.4rem;
  position: relative;
  background-color: #eceff1;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.75;
}
.product__headline01::before {
  content: "";
  width: 1rem;
  position: absolute;
  top: calc(50% - 0.5rem);
  left: 0;
  background-color: #004ea2;
  aspect-ratio: 1;
}
.product__headline02 {
  margin-bottom: 0.5em;
  padding-left: 2.4rem;
  position: relative;
  font-weight: 900;
  font-size: 2rem;
}
.product__headline02::before {
  content: "";
  width: 1.6rem;
  height: 2.4rem;
  position: absolute;
  top: 0.25em;
  left: 0;
  display: inline-block;
  background-color: #004ea2;
  -webkit-clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
          clip-path: polygon(70% 0%, 100% 0%, 30% 100%, 0% 100%);
}
.product__headline02:not(:first-child) {
  margin-top: 2em;
}
.product__list01 {
  counter-reset: count;
}
.product__list01 > li + li {
  margin-top: 4rem;
}
.product__list01--title {
  margin-bottom: 0.5em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  counter-increment: count;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
}
.product__list01--title::before {
  content: counter(count);
  width: 4rem;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-family: "roboto", sans-serif;
  font-weight: 900;
  font-size: 2rem;
  line-height: 4rem;
  aspect-ratio: 1;
}
.product__list01--sentence {
  padding-left: 5.2rem;
}
.product__list02 li {
  padding-left: 2rem;
  position: relative;
}
.product__list02 li::before {
  content: "";
  width: 0.8rem;
  height: 1rem;
  position: absolute;
  top: 0.65em;
  left: 0;
  background-color: #004ea2;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.product__list02 li + li {
  margin-top: 1em;
}
.product__size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product__size li {
  padding: 0.5em 0.5em;
  background-color: #004ea2;
  color: #fff;
  font-family: "roboto", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
}
.product__trivia {
  margin-top: 7rem;
  padding: 7rem;
  position: relative;
  background-color: #fff;
  -webkit-box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  text-align: center;
}
.product__trivia::before {
  content: "";
  width: 7rem;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(-45deg, #004ea2 0%, #004ea2 50%, #e6edf6 50%, #e6edf6 100%);
  aspect-ratio: 1;
}
.product__trivia--title {
  margin-bottom: 0.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #004ea2;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 3.2rem;
  line-height: 1.625;
}
.product__trivia--title::before, .product__trivia--title::after {
  content: "";
  width: 4.8rem;
  height: 5.2rem;
  margin-top: -0.5em;
  display: inline-block;
  background: url(../../images/product/bulb.svg) no-repeat center center/contain;
}
.product__trivia--point {
  margin-top: 4.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product__trivia--point li {
  width: 42rem;
  height: 12rem;
  padding: 0 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #004ea2;
  border-radius: 1rem;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
  --text-color: #004ea2;
}
.product__trivia--point .point01 {
  background-color: #004ea2;
  --text-color: #fff;
}
.product__trivia--sentence {
  margin-top: 4rem;
}
.product__trivia--sentence p {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.8;
}
.product__trivia--sentence strong {
  margin: 1em 0;
  padding: 0.5em 2em;
  display: inline-block;
  background-color: #004ea2;
  color: #fff;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
}
.product__point {
  padding: 7rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
  background-color: #eceff1;
}
.product__point--title {
  margin-bottom: 1em;
  padding: 0.75em 1em;
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: 2.4rem;
}
.product__point--sentence {
  font-weight: 700;
}
.product__point--list {
  margin-top: 5rem;
  display: grid;
  gap: 10rem;
  grid-template-columns: repeat(2, 1fr);
}
.product__point--list li {
  padding-left: 2rem;
  position: relative;
}
.product__point--list li::before {
  content: "";
  width: 1rem;
  height: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #004ea2;
}
.product__point--list li + li::after {
  content: "";
  width: 7.4rem;
  height: 2rem;
  position: absolute;
  top: calc(50% - 1rem);
  right: 100%;
  background: url(../../images/product/point_arrow.svg) no-repeat center center/contain;
}
.product__point--list .point-image {
  margin-top: 0;
}
.product__point--list .point-sentence {
  max-width: 36rem;
  margin-top: 1em;
  font-weight: 700;
}
.product__point--diamond {
  width: 46rem;
  height: 48rem;
  position: absolute;
  z-index: -1;
  background: -webkit-gradient(linear, left top, left bottom, from(#004ea2), to(rgba(0, 78, 162, 0)));
  background: linear-gradient(#004ea2 0%, rgba(0, 78, 162, 0) 100%);
  -webkit-clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
          clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
}
.product__point--diamond.diamond01 {
  top: -21rem;
  left: -13rem;
  opacity: 0.3;
}
.product__point--diamond.diamond02 {
  top: 0;
  left: -34rem;
  opacity: 0.3;
}
.product__point--diamond.diamond03 {
  right: -11rem;
  bottom: -24rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 78, 162, 0)), to(rgba(0, 78, 162, 0.5)));
  background: linear-gradient(rgba(0, 78, 162, 0) 0%, rgba(0, 78, 162, 0.5) 100%);
}
.product__point--diamond.diamond04 {
  right: -34rem;
  bottom: 0;
}
.product__catalog {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(4, 1fr);
}
.product__catalog a {
  display: block;
}
.product__catalog img {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .product__news .news__list--date {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .product__newsHeader {
    margin-bottom: 7rem;
    gap: 2.4rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .product__newsHeader--title {
    font-size: 3.6rem;
  }
  .product__newsHeader--tag {
    padding: 0.25em 1em;
  }
  .product__news .news__list--item {
    padding-right: 0;
    grid-template-columns: 15rem 1fr;
  }
  .product__news .news__list--title::after {
    content: none;
  }
  .product__navigation--list {
    max-width: 50rem;
  }
  .product__navigation--item.col2 {
    width: 100%;
  }
  .product__navigation--item.col3 {
    width: 100%;
  }
  .product__navigation .btn__01 {
    height: 9rem;
  }
  .product__searchWord dt {
    margin-bottom: 4rem;
    font-size: 3.2rem;
  }
  .product__searchWord dt svg {
    width: 3.2rem;
  }
  .product__searchWord--form {
    padding-left: 3rem;
  }
  .product__searchWord--input {
    padding: 0;
  }
  .product__searchWord--btn {
    height: 7rem;
    font-size: 2.8rem;
  }
  .product__searchCategory--list {
    grid-template-columns: 1fr;
  }
  .product__searchCategory--list li {
    padding-bottom: 3rem;
  }
  .product__searchCategory--list a::after {
    width: 2rem;
    height: 1.8rem;
    top: calc(50% - 0.9rem);
    right: 2rem;
  }
  .product__archive--title {
    margin-bottom: 5rem;
    -webkit-clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
  }
  .product__archive--title .title-inner {
    width: calc(100% - 4rem);
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0%, 100% 0%, calc(100% - 4rem) 100%, 0% 100%);
  }
  .product__archive--list {
    gap: 6.4rem 0;
    grid-template-columns: 1fr;
  }
  .product__archive--eyecatch::before {
    width: 30rem;
    height: 0.8rem;
  }
  .product__archive--name {
    font-size: 2.8rem;
  }
  .product__info--column {
    gap: 7rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .product__info--tag {
    width: 100%;
    margin-bottom: 3.6rem;
    padding: 0.75em 1em;
    font-size: 2.8rem;
    -webkit-clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
            clip-path: polygon(4rem 0, 100% 0, calc(100% - 4rem) 100%, 0% 100%);
  }
  .product__info--title {
    text-align: center;
  }
  .product__info--use {
    padding: 3rem 0;
    gap: 0 2rem;
    grid-template-columns: 10rem 1fr;
  }
  .product__info--use dt {
    height: 100%;
    aspect-ratio: auto;
  }
  .product__info--use dd {
    line-height: 1.5833333333;
  }
  .product__block--title {
    font-size: 3.6rem;
  }
  .product__block--title::before {
    width: 26rem;
    height: 2rem;
  }
  .product__block--title.v2::before {
    width: 20rem;
  }
  .product__block figure {
    margin-top: 1.25em;
  }
  .product__block .list-note {
    font-size: 2.4rem;
  }
  .product__headline01 {
    margin-bottom: 6.4rem;
    padding: 3rem 3rem 3rem 5rem;
    font-size: 2.8rem;
  }
  .product__headline01::before {
    width: 2rem;
    top: calc(50% - 1rem);
  }
  .product__headline02 {
    margin-bottom: 0.65em;
    padding-left: 3rem;
    font-size: 2.8rem;
  }
  .product__headline02::before {
    width: 2rem;
    height: 3rem;
  }
  .product__list01 > li + li {
    margin-top: 5rem;
  }
  .product__list01--title {
    gap: 0 3rem;
    font-size: 2.8rem;
    line-height: 1.5;
  }
  .product__list01--title::before {
    width: 7rem;
    font-size: 4.2rem;
    line-height: 7rem;
  }
  .product__list01--sentence {
    padding-left: 0;
  }
  .product__list02 li {
    padding-left: 3.8rem;
  }
  .product__list02 li::before {
    width: 1.8rem;
    height: 2rem;
    top: calc(50% - 1rem);
  }
  .product__list02 a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.5833333333;
  }
  .product__list02 a img {
    width: 5rem;
    margin-left: auto;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .product__size li {
    padding: 0.75em 0.5em;
    font-size: 2.4rem;
  }
  .product__trivia {
    padding: 7rem 5rem;
  }
  .product__trivia--title::before, .product__trivia--title::after {
    width: 7.2rem;
    height: 8rem;
  }
  .product__trivia--point {
    gap: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .product__trivia--point li {
    width: 100%;
    padding: 0 3rem;
    font-size: 2.8rem;
  }
  .product__trivia--point img {
    width: 7rem;
  }
  .product__trivia--sentence p {
    font-size: 2.4rem;
  }
  .product__trivia--sentence strong {
    width: 100%;
    padding: 1em 1em;
    font-size: 3.2rem;
    line-height: 1.5625;
  }
  .product__point {
    padding: 7rem 5rem;
  }
  .product__point--title {
    padding: 1em 0;
    font-size: 3.2rem;
    line-height: 1.5625;
  }
  .product__point--list {
    grid-template-columns: 1fr;
  }
  .product__point--list li + li::after {
    width: 16rem;
    height: 3.6rem;
    top: -6.8rem;
    right: calc(50% - 8rem);
    background-image: url(../../images/product/point_arrow_sp.svg);
  }
  .product__point--list .point-sentence {
    max-width: 100%;
  }
  .product__point--diamond {
    width: 25.6rem;
    height: 26.6rem;
  }
  .product__point--diamond.diamond01 {
    top: -11.6rem;
    left: -7rem;
  }
  .product__point--diamond.diamond02 {
    left: -18.8rem;
  }
  .product__point--diamond.diamond03 {
    right: -6rem;
    bottom: -13.4rem;
  }
  .product__point--diamond.diamond04 {
    right: -18.8rem;
  }
  .product__catalog {
    grid-template-columns: repeat(2, 1fr);
  }
}/*# sourceMappingURL=style.css.map */