@charset "UTF-8";
/******************************************************************
Site Name: サイト名称
Author: Harimanics Co.Ltd.
******************************************************************/
:where(body, div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, table, caption, tr, th, td, dl, dt, dd, a, img, form, input, textarea, button, header, nav, article, section, footer, aside) {
  margin: 0;
  padding: 0;
}

table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

:where(p, th, td, li) {
  word-break: break-all;
}

:where(body.en p,
body.en th,
body.en td,
body.en li) {
  word-break: normal;
}

legend {
  display: none;
}

li {
  list-style: none;
}

:where(a, img) {
  outline: 0;
  border: 0;
  text-decoration: none;
}

br {
  line-height: inherit;
}

:where(span, strong, em, i, address) {
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
  color: inherit;
}

input {
  outline: 0;
}

:where(input[type=submit], input[type=reset], button) {
  cursor: pointer;
}

strong {
  font-weight: inherit;
}

:where(i, em, address) {
  font-style: normal;
}

address {
  font-size: inherit;
}

label {
  color: inherit;
  font-size: inherit;
}

:where(button, input, optgroup, select, textarea) {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

/* ***************************** */
/* default */
/* ***************************** */
:root {
  --black: #000;
  --white: #FFF;
  --light-blue: #ECF2FA;
  --blue: #226FBF;
  --dark-blue: #2D4F9E;
  --gray: #CCC;
  --opacity: 0.7;
  --transition: all 0.5s ease-in-out;
  --font-noto: "Noto Sans JP", sans-serif;
  --font-poppins: "Poppins", sans-serif;
  --font-poppins-noto: "Poppins", "Noto Sans JP", sans-serif;
  --filiter-blue: invert(34%) sepia(7%) saturate(6406%) hue-rotate(187deg) brightness(86%) contrast(99%);
  --filiter-white: invert(100%) sepia(0%) saturate(7489%) hue-rotate(316deg) brightness(108%) contrast(104%);
  --shadow: 2px 2px rgba(0, 0, 0, 0.1);
}

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

html {
  font-size: clamp(1px, 0.715vw, 10px);
  background: var(--white);
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 120px;
}

body {
  font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
  font-family: var(--font-noto);
  font-weight: 500;
  color: var(--black);
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  text-autospace: normal;
}

picture {
  display: contents;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  text-decoration: none;
  color: inherit;
}

select {
  -webkit-appearance: none;
  appearance: none;
}

main {
  display: block;
}

iframe {
  max-width: 100%;
  display: block;
}

:where(input::placeholder,
textarea::placeholder) {
  color: var(--gray);
}

button {
  background: transparent;
  border: 0;
  text-align: left;
}

details summary {
  display: block;
  -webkit-appearance: none;
  appearance: none;
  list-style: none;
}

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

:where(body, div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, table, caption, tr, th, td, dl, dt, dd, a, img, form, input, textarea, button, header, nav, article, section, footer, aside) {
  min-width: 0;
  min-height: 0;
  letter-spacing: 0;
}

p {
  letter-spacing: 0.015em;
}

:where(p, ul, ol, li, table, caption, tr, th, td, dl, dt, dd, a, img, form, input, textarea, button) {
  line-height: 1.8;
}

@media all {
  .container {
    min-height: 100vh;
  }
  .container.--short {
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
}
@media all {
  .header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background: var(--white);
    z-index: 900;
    border-bottom: 1px solid var(--gray);
  }
  .header__block {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: min(1440px, 100%);
    margin-inline: auto;
    padding: 15px 4.2rem 0 3rem;
  }
  .header__logo-link {
    font-size: clamp(14px, 30 / 1400 * 100vw, 30px);
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    letter-spacing: 0.02em;
    color: var(--dark-blue);
    font-weight: 900;
  }
  .header__search {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
  .header__search-box {
    width: 25rem;
    padding: 0.1em 0.7em;
    border-radius: 100vmax;
    border: var(--dark-blue) 1px solid;
    font-size: 14px;
  }
  .header__search-button {
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0, -50%);
    width: 20px;
    aspect-ratio: 1/1;
    filter: var(--filiter-blue);
  }
  .header__hamburger {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  .header__block {
    display: block;
    height: 65px;
    padding: 10px 25px;
  }
  .header__block[data-is-open=true] .header__navi {
    inset: 65px 0 0 50%;
  }
  .header__logo-link {
    margin-top: 0.3em;
    line-height: 1.3;
  }
  .header__search {
    display: none;
  }
  .header__navi {
    position: fixed;
    inset: 65px -100% 0 100%;
    z-index: 900;
    transition: var(--transition);
  }
  .header__hamburger {
    display: block;
    position: fixed;
    z-index: 1000;
    top: 9px;
    right: 24px;
  }
}
@media screen and (max-width: 1199px) and (max-width: 767px) {
  .header__block[data-is-open=true] .header__navi {
    inset: 65px 0 0 0;
  }
}
@media all {
  .global-navi {
    --fontsize: 16px;
    --padding: 1.05em;
    font-weight: 700;
  }
  .global-navi__list {
    display: flex;
    position: relative;
    margin-right: calc(var(--padding) * -1);
    font-size: var(--fontsize);
  }
  .global-navi__item:has(.global-navi__item-term) {
    transition: var(--transition);
    cursor: pointer;
    align-self: center;
  }
}
@media (hover: hover) {
  .global-navi__item:has(.global-navi__item-term):hover {
    color: var(--dark-blue);
  }
  .global-navi__item:has(.global-navi__item-term):hover::after {
    border-top: 5px solid var(--dark-blue);
  }
}
@media all {
  .global-navi__link, .global-navi__item-term {
    transition: var(--transition);
    display: block;
    padding: 0.2em var(--padding);
    font-size: var(--fontsize);
  }
}
@media (hover: hover) {
  .global-navi__link:hover, .global-navi__item-term:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .global-navi__item-term {
    position: relative;
  }
  .global-navi__item-term::after {
    content: "";
    display: block;
    position: absolute;
    top: 1em;
    right: 3px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--black);
    transition: var(--transition);
  }
  .global-navi__item-list {
    display: none;
    position: absolute;
    top: 100%;
    left: var(--padding);
    right: var(--padding);
    background: var(--white);
    border-top: 1px solid var(--gray);
    padding: 1.2em 2em 1em 2em;
  }
  .global-navi__item-item:not(:first-child) .global-navi__item-link {
    padding: 0.5em 0 0 0;
  }
  .global-navi__item-link {
    transition: var(--transition);
    display: block;
    color: var(--dark-blue);
  }
}
@media (hover: hover) {
  .global-navi__item-link:hover {
    opacity: var(--opacity);
  }
}
@media screen and (max-width: 1199px) {
  .global-navi {
    background: var(--light-blue);
    padding: 50px 4%;
  }
  .global-navi__list {
    flex-direction: column;
    margin-right: 0;
  }
  .global-navi__item:has(.global-navi__item-term) {
    align-self: revert;
    height: auto;
    overflow: revert;
  }
  .global-navi__item:nth-child(3), .global-navi__item:nth-child(4) {
    margin-top: 1em;
  }
  .global-navi__link, .global-navi__item-link {
    position: relative;
    padding: 0.5em 0.5em 0.5em 0.7em;
  }
  .global-navi__link::before, .global-navi__item-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.2em;
    left: -0.2em;
    width: 8px;
    aspect-ratio: 1/1;
    border-radius: 100vmax;
    background: var(--dark-blue);
  }
  .global-navi__item-list {
    display: block;
    width: revert;
    padding: 0;
    position: revert;
    background: transparent;
    opacity: 1;
    overflow: revert;
  }
  .global-navi__item-item:not(:first-child) .global-navi__item-link {
    padding: 0.5em 0.5em 0.5em 0.7em;
  }
  .global-navi__item-term {
    padding: 0.5em 0;
    font-size: 12px;
    color: var(--dark-blue);
    border-top: 0;
    border-bottom: 1px solid rgba(34, 111, 191, 0.15);
  }
  .global-navi__item-term::after {
    display: none;
  }
  .global-navi__item-link {
    width: 100%;
    border-bottom: 1px solid rgba(34, 111, 191, 0.15);
    color: var(--black);
  }
}
@media screen and (max-width: 767px) {
  .global-navi {
    padding: 25px 7.5%;
  }
}
@media all {
  .hamburger {
    width: 45px;
    aspect-ratio: 1/1;
    background: var(--dark-blue);
    border-radius: 100vmax;
  }
  .hamburger[data-is-open=true] .hamburger__bar:nth-of-type(1) {
    width: 23px;
    transform: rotate(31deg) translate(-8px, 10px);
  }
  .hamburger[data-is-open=true] .hamburger__bar:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger[data-is-open=true] .hamburger__bar:nth-of-type(3) {
    width: 23px;
    transform: rotate(-33deg) translate(-6px, -13px);
  }
  .hamburger__bar {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    width: 20px;
    height: 1px;
    background: var(--white);
    transition: var(--transition);
  }
  .hamburger__bar:nth-of-type(1) {
    top: 17px;
  }
  .hamburger__bar:nth-of-type(2) {
    top: 23px;
    opacity: 1;
  }
  .hamburger__bar:nth-of-type(3) {
    top: 29px;
  }
}
@media all {
  .footer {
    background: var(--dark-blue);
  }
  .footer__block {
    width: min(1200px, 92%);
    margin-inline: auto;
    padding: 6rem 0 1rem;
    font-weight: 700;
    color: var(--white);
  }
}
@media screen and (max-width: 767px) {
  .footer__block {
    width: 87%;
  }
}
@media all {
  .footer__box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .footer__logo-link {
    font-size: clamp(18px, 25 / 1400 * 100vw, 25px);
    line-height: 1.5;
    font-weight: 700;
  }
  .footer__list {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 0 4rem;
    padding: 1em 0 2em;
    border-top: 1px solid var(--white);
  }
  .footer__item:last-child {
    grid-column: 4;
    margin-top: -3em;
  }
  .footer__link {
    transition: var(--transition);
    min-width: 5em;
  }
}
@media (hover: hover) {
  .footer__link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .footer__item-term {
    opacity: 60%;
  }
  .footer__item-link {
    font-size: clamp(12px, 15 / 1400 * 100vw, 15px);
    transition: var(--transition);
  }
}
@media (hover: hover) {
  .footer__item-link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em 0;
    border-top: 1px solid var(--white);
  }
  .footer__bottom-list {
    display: flex;
    align-items: center;
    gap: 0 1em;
  }
  .footer__copy {
    font-size: clamp(9px, 15 / 1400 * 100vw, 15px);
    letter-spacing: -0.03em;
    font-weight: 500;
  }
}
@media screen and (max-width: 767px) {
  .footer__block {
    padding: 50px 0 0;
  }
  .footer__box {
    flex-direction: column;
    align-items: stretch;
    gap: 23px;
  }
  .footer__logo-link {
    line-height: 1.6;
    letter-spacing: 0;
  }
  .footer__navi {
    border-top: 1px solid var(--white);
  }
  .footer__list {
    display: flex;
    flex-wrap: wrap;
    gap: 2em 2.5em;
    padding: 1.7em 0;
    border: 0;
  }
  .footer__link {
    line-height: 1.6;
  }
  .footer__item:last-child {
    grid-column: revert;
    margin-top: 0;
  }
  .footer__item-link {
    line-height: 1.6;
  }
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 50px;
  }
  .footer__copy {
    align-self: center;
  }
}
@media all {
  .crumble {
    width: min(1200px, 92%);
    margin-inline: auto;
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    padding: 1.2em 0 0;
  }
}
@media screen and (max-width: 767px) {
  .crumble {
    width: 87%;
  }
}
@media all {
  .crumble__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5em 2em;
    flex-wrap: wrap;
  }
  .crumble__item:not(:last-child) {
    position: relative;
  }
  .crumble__item:not(:last-child)::after {
    content: ">";
    display: block;
    position: absolute;
    top: 0.1em;
    left: calc(100% + 0.7em);
  }
  .crumble__item:last-child {
    opacity: 0.5;
  }
  .crumble__link {
    transition: var(--transition);
    position: relative;
  }
}
@media (hover: hover) {
  .crumble__link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .crumble__link::after {
    content: "";
    position: absolute;
    inset: calc(100% - 1px) 0 0 0;
    background: var(--black);
  }
}
@media all {
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
}
@media all {
  .common-title.--lg {
    --title-size: clamp(22px, calc(32 / 1400 * 100vw), 32px);
    --sub-title-size: clamp(14px, calc(18 / 1400 * 100vw), 18px);
    position: relative;
    font-family: var(--font-poppins-noto);
    font-size: var(--title-size);
    font-weight: 700;
    padding-top: calc(var(--sub-title-size) * 2);
  }
  .common-title.--lg::before {
    content: attr(data-name);
    position: absolute;
    top: 0;
    left: 0;
    margin-bottom: 0.5em;
    font-size: var(--sub-title-size);
    color: var(--dark-blue);
  }
  .common-title.--en {
    letter-spacing: -0.03em;
  }
  .common-title.--center {
    text-align: center;
  }
  .common-title.--md {
    font-size: clamp(16px, 20 / 1400 * 100vw, 20px);
    position: relative;
    font-weight: 700;
    padding-left: 0.7em;
  }
  .common-title.--md::before {
    content: "";
    position: absolute;
    inset: -0.5em calc(100% - 4px) -0.5em 0;
    background: var(--dark-blue);
  }
  .common-title.--md .common-title__note {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
  }
  .common-title.--front {
    --title-size: clamp(22px, calc(32 / 1400 * 100vw), 32px);
    --sub-title-size: clamp(14px, calc(16 / 1400 * 100vw), 16px);
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    font-family: var(--font-poppins);
    font-size: var(--title-size);
    font-weight: 700;
    letter-spacing: 0;
  }
  .common-title.--front .common-title__blue {
    color: var(--dark-blue);
  }
  .common-title.--front::after {
    content: attr(data-jp);
    position: absolute;
    bottom: 0;
    left: calc(100% + 1em);
    font-size: var(--sub-title-size);
    letter-spacing: 0.01em;
    white-space: nowrap;
  }
  .common-title.--front.--top {
    padding-bottom: calc(var(--sub-title-size) * 2);
  }
  .common-title.--front.--top::after {
    left: 0;
  }
  .common-title.--front.--top-center {
    margin-inline: auto;
    padding-bottom: calc(var(--sub-title-size) * 2);
  }
  .common-title.--front.--top-center::after {
    inset: calc(100% - var(--sub-title-size)) 0 0 0;
    text-align: center;
  }
  .common-title.--front.--top-lg {
    --sub-title-size: clamp(14px, calc(20 / 1400 * 100vw), 20px);
    padding-bottom: calc(var(--sub-title-size) * 1.5);
  }
  .common-title.--front.--top-lg::after {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .common-title.--lg {
    padding-top: calc(var(--sub-title-size) * 1.7);
  }
  .common-title.--md::before {
    inset: -0.5em calc(100% - 3px) -0.5em 0;
  }
  .common-title.--md .common-title__note {
    display: block;
    margin-top: 0.5em;
  }
  .common-title.--front::after {
    bottom: 0.1em;
    left: calc(100% + 0.9em);
  }
  .common-title.--front.--top, .common-title.--front.--top-center, .common-title.--front.--top-lg {
    margin: 0;
    padding-bottom: 0;
  }
  .common-title.--front.--top::after, .common-title.--front.--top-center::after, .common-title.--front.--top-lg::after {
    left: calc(100% + 0.9em);
    text-align: left;
  }
  .common-title.--front.--top-lg::after {
    bottom: 0.4em;
  }
}
@media all {
  .common-button {
    transition: var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1em;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 160px;
    padding: 0.5em 0.7em;
    border-radius: 5px;
    border: 1px solid var(--dark-blue);
    background: var(--dark-blue);
    font-weight: 700;
    color: var(--white);
  }
}
@media (hover: hover) {
  .common-button:hover {
    background: var(--white);
    color: var(--dark-blue);
  }
  .common-button:hover .common-button__arrow {
    filter: var(--filiter-blue);
  }
}
@media all {
  .common-button__text {
    letter-spacing: 0;
  }
  .common-button__arrow {
    width: 1em;
    filter: var(--filiter-white);
  }
  .common-button.--lg {
    justify-content: center;
    width: 100%;
    padding: 1.5em 0;
  }
  .common-button.--lg .common-button__text {
    letter-spacing: 0.01em;
  }
  .common-button.--trans {
    transition: var(--transition);
    background: var(--white);
    color: var(--dark-blue);
  }
}
@media (hover: hover) {
  .common-button.--trans:hover {
    background: transparent;
    border: 1px solid var(--white);
    color: var(--white);
  }
  .common-button.--trans:hover .common-button__arrow {
    filter: var(--filiter-white);
  }
}
@media all {
  .common-button.--trans .common-button__arrow {
    filter: var(--filiter-blue);
  }
  .common-button.--white {
    transition: var(--transition);
    background: transparent;
    color: var(--dark-blue);
  }
}
@media (hover: hover) {
  .common-button.--white:hover {
    background: var(--dark-blue);
    border: 1px solid var(--white);
    color: var(--white);
  }
  .common-button.--white:hover .common-button__arrow {
    filter: var(--filiter-white);
  }
}
@media all {
  .common-button.--white .common-button__arrow {
    filter: var(--filiter-blue);
  }
  .common-button.--front-news {
    transition: var(--transition);
    gap: 0.7em;
    min-width: revert;
    background: transparent;
    border: 1px solid var(--white);
    color: var(--dark-blue);
  }
}
@media (hover: hover) {
  .common-button.--front-news:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-button.--front-news .common-button__arrow {
    filter: var(--filiter-blue);
  }
}
@media screen and (max-width: 767px) {
  .common-button {
    min-width: 155px;
    padding: 0.6em 1.1em;
  }
  .common-button.--lg {
    padding: 1em 0;
  }
}
@media all {
  .common-wrap {
    --category-title-fontsize: clamp(16px, calc(20 / 1400 * 100vw), 20px);
    padding: 7rem 0 10rem;
  }
  .common-wrap.--sm {
    padding: 4rem 0 10rem;
  }
  .common-wrap.--single {
    padding: 4.5rem 0 10rem;
  }
  .common-wrap.--single .common-wrap__block {
    width: min(1200px, 92%);
    margin-inline: auto;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .common-wrap.--single .common-wrap__block {
    width: 87%;
  }
}
@media all {
  .common-wrap__block {
    display: grid;
    grid-template-columns: 23fr 85fr;
    gap: 12rem;
    width: min(1200px, 92%);
    margin-inline: auto;
  }
}
@media screen and (max-width: 1200px) {
  .common-wrap__block {
    gap: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .common-wrap__block {
    display: block;
    width: 87%;
  }
}
@media all {
  .common-wrap__box {
    grid-column: 2;
    grid-row: 1;
  }
  .common-wrap__navi {
    grid-column: 1;
    grid-row: 1;
  }
  .common-wrap__navi-box {
    position: sticky;
    top: 150px;
    left: 0;
    border-top: 1px solid var(--dark-blue);
  }
  .common-wrap__navi-title {
    font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
    margin: 0.7em 0 0.8em;
  }
  .common-wrap__navi-link {
    transition: var(--transition);
    display: block;
    position: relative;
    padding: 0.7em;
    font-weight: 700;
  }
}
@media (hover: hover) {
  .common-wrap__navi-link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-wrap__navi-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 1.1em;
    right: 1em;
    width: 1em;
    aspect-ratio: 1/1;
    background: url("../img/common/img_arrow.svg") no-repeat center center/cover;
    filter: var(--filiter-blue);
  }
  .common-wrap__navi-link[data-is-active=true] {
    background: var(--dark-blue);
    color: var(--white);
  }
  .common-wrap__navi-link[data-is-active=true]::after {
    filter: var(--filiter-white);
  }
  .common-wrap__category {
    grid-column: 1;
    grid-row: 1;
    width: calc(var(--category-title-fontsize) * 5);
    margin-top: 13px;
  }
  .common-wrap__category-box {
    position: sticky;
    top: 150px;
    left: 0;
  }
  .common-wrap__category-title {
    margin: 0.7em 0 1.4em;
    border-bottom: 1px solid var(--black);
    font-family: var(--font-poppins);
    font-size: var(--category-title-fontsize);
    font-weight: 700;
  }
  .common-wrap__category-title:not(:first-of-type) {
    margin: 2em 0 0.7em;
  }
  .common-wrap__category-list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
  }
  .common-wrap__category-link {
    transition: var(--transition);
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    display: block;
    width: 95%;
    border-radius: 12px;
    border: var(--blue) 1px solid;
    font-weight: 700;
    color: var(--blue);
    text-align: center;
    line-height: 1.4;
  }
}
@media (hover: hover) {
  .common-wrap__category-link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-wrap__category-link[data-is-active=true] {
    background: var(--blue);
    color: var(--white);
  }
}
@media screen and (max-width: 767px) {
  .common-wrap {
    padding: 25px 0 50px;
  }
  .common-wrap.--sm, .common-wrap.--single {
    padding: 25px 0 50px;
  }
  .common-wrap__box {
    grid-column: 2;
    grid-row: 1;
  }
  .common-wrap__navi {
    display: none;
  }
  .common-wrap__category {
    display: none;
  }
}
@media all {
  .common-description__list:not(:first-child) {
    margin-top: 3rem;
  }
  .common-description__list.--sm {
    margin-top: 1.5rem;
  }
  .common-description__list.--lg {
    margin-top: 4rem;
  }
  .common-description__term {
    font-size: clamp(16px, 20 / 1400 * 100vw, 20px);
    padding: 0.2em 0;
    border-bottom: 1px solid var(--gray);
    font-weight: 700;
    color: var(--dark-blue);
    letter-spacing: 0;
  }
  .common-description__data {
    padding: 0.7em 0;
    letter-spacing: 0;
  }
  .common-description__data.--indent {
    padding-left: 1em;
    text-indent: -1em;
  }
  .common-description__data-note {
    display: block;
    margin-top: 1em;
  }
  .common-description__data-box:not(:first-child) {
    margin-top: 2em;
  }
  .common-description__data-title {
    font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
    font-weight: 700;
  }
  .common-description__data-sub-title {
    margin: 0.5em 0 0 1em;
    font-weight: 700;
  }
  .common-description__data-text {
    margin: 0.5em 0 0 1em;
  }
  .common-description__data-text.--indent-first {
    margin: 0.5em 0 0 0;
    padding-left: 1em;
    text-indent: -1em;
  }
  .common-description__data-text.--indent {
    margin: 0 0 0 0;
    padding-left: 1em;
    text-indent: -1em;
  }
  .common-description__data-text__note {
    display: block;
    padding-left: 2em;
    text-indent: -1em;
  }
}
@media screen and (max-width: 767px) {
  .common-description__list:not(:first-child), .common-description__list.--sm {
    margin-top: 0;
  }
  .common-description__list.--lg {
    margin-top: 30px;
  }
  .common-description__term {
    padding: 0.3em 0;
  }
  .common-description__data {
    padding: 1.2em 0;
  }
  .common-description__data-box:not(:first-child) {
    margin-top: 1em;
  }
  .common-description__data-text {
    margin: 0.5em 0 0 1em;
  }
  .common-description__data-text.--indent-first, .common-description__data-text.--indent {
    margin: 0.5em 0 0 1em;
  }
}
@media all {
  .common-card {
    transition: var(--transition);
    display: block;
    width: 100%;
    height: 100%;
    padding: 5%;
    border-radius: 10px;
    box-shadow: var(--shadow);
    border: 1px solid var(--gray);
    background: var(--white);
    font-weight: 700;
  }
}
@media (hover: hover) {
  .common-card:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-card__img {
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 246/167;
  }
  .common-card__text {
    margin-top: 0.8em;
  }
  .common-card__date {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    position: relative;
    color: rgba(0, 0, 0, 0.5);
    letter-spacing: 0.01em;
  }
  .common-card__category {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    margin-left: 0.7em;
    padding-left: 0.7em;
    border-left: 1px solid #707070;
    color: var(--blue);
    letter-spacing: 0.01em;
  }
  .common-card__title {
    font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
    margin-top: 0.4em;
    font-weight: 700;
    letter-spacing: 0.01em;
  }
}
@media screen and (max-width: 767px) {
  .common-card__img {
    aspect-ratio: 246/148;
  }
  .common-card__date {
    display: none;
  }
  .common-card__category {
    display: none;
  }
}
@media all {
  .common-page {
    padding: 4.5rem 0 0;
  }
  .common-page__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 13px;
  }
  .common-page__link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    transition: var(--transition);
    width: 30px;
    height: 34px;
    border-radius: 3px;
    border: 1px solid var(--light-blue);
  }
}
@media (hover: hover) {
  .common-page__link:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-page__link[data-is-active=true] {
    border: 1px solid var(--dark-blue);
    background: var(--dark-blue);
    color: var(--white);
  }
}
@media screen and (max-width: 767px) {
  .common-page {
    padding: 25px 0 0;
  }
}
@media all {
  .common-news {
    transition: var(--transition);
    background: linear-gradient(to right, var(--gray) 3px, transparent 1px) repeat-x 100% 100%;
    background-size: 6px 1px;
    display: grid;
    grid-template-columns: 19fr 61fr auto;
    align-items: flex-start;
    gap: 0 2.5rem;
    padding: 2.1em 0 1.5em;
  }
}
@media (hover: hover) {
  .common-news:hover {
    opacity: var(--opacity);
  }
}
@media screen and (max-width: 767px) {
  .common-news {
    background-size: 5px 1px;
  }
}
@media all {
  .common-news__header {
    display: flex;
    align-items: center;
    gap: 0.5em;
  }
  .common-news__header-date {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;
  }
  .common-news__header-category {
    font-size: clamp(12px, 14 / 1400 * 100vw, 14px);
    width: 7em;
    padding: 0 0.7em;
    border-radius: 100vmax;
    background: var(--light-blue);
    letter-spacing: 0.01em;
    line-height: 1.6;
    text-align: center;
  }
  .common-news__title {
    font-size: clamp(14px, 16 / 1400 * 100vw, 16px);
    transform: translate(-3px, -3px);
    font-weight: 700;
    letter-spacing: 0.015em;
    line-height: 1.8;
  }
  .common-news__arrow {
    width: 1.5em;
    filter: var(--filiter-blue);
  }
  .common-news.--front {
    grid-template-columns: 11fr 61fr;
  }
  .common-news.--front .common-news__arrow {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  .common-news {
    grid-template-columns: 1fr auto;
    gap: 2rem 2.5rem;
  }
  .common-news__header {
    grid-row: 1;
    grid-column: 1;
  }
  .common-news__title {
    grid-row: 2;
    grid-column: 1;
    transform: translate(0, 0);
  }
  .common-news__arrow {
    grid-row: 1/3;
    grid-column: 2;
    align-self: center;
  }
  .common-news.--front .common-news__header {
    grid-column: 1/3;
  }
  .common-news.--front .common-news__title {
    grid-column: 1/3;
  }
}
@media all {
  .common-pdf {
    transition: var(--transition);
    position: relative;
  }
}
@media (hover: hover) {
  .common-pdf:hover {
    opacity: var(--opacity);
  }
}
@media all {
  .common-pdf::before {
    content: "";
    position: absolute;
    inset: calc(100% - 1px) 0 0 0;
    background: var(--black);
  }
}
@media all {
  .hero {
    --width-padding: calc((100vw - 1200px) / 2);
  }
  .hero__block {
    display: grid;
    grid-template-columns: 18fr 10fr;
  }
  .hero__catch {
    background: url("../img/top/bgimg_hero.jpg") no-repeat center center/cover;
    padding: 7.5rem 0 9rem var(--width-padding);
  }
  .hero__title {
    font-size: clamp(40px, 70 / 1400 * 100vw, 70px);
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    font-family: var(--font-poppins);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 0.85;
  }
  .hero__title-white {
    width: -moz-fit-content;
    width: fit-content;
    background: var(--white);
    color: var(--dark-blue);
  }
  .hero__title-white:nth-of-type(2) {
    background: rgba(255, 255, 255, 0.85);
  }
  .hero__title-blue {
    font-size: clamp(35px, 60 / 1400 * 100vw, 60px);
    display: block;
    position: relative;
    width: 0.9em;
    height: 0.85em;
    margin-top: 2px;
    background: var(--dark-blue);
    font-family: var(--font-noto);
    color: var(--white);
  }
  .hero__title-blue::before {
    content: "&";
    position: absolute;
    top: -0.1em;
    left: 0.2em;
  }
  .hero__sub-title {
    font-size: clamp(16px, 25 / 1400 * 100vw, 25px);
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 1em;
    background: rgba(255, 255, 255, 0.85);
    color: var(--dark-blue);
    letter-spacing: 0.09em;
  }
  .hero__intro {
    padding: 9.5rem 0 9rem 5.5rem;
    background: rgba(45, 79, 158, 0.95);
    color: var(--white);
  }
  .hero__intro-link {
    margin-top: 17px;
  }
}
@media screen and (max-width: 1440px) {
  .hero {
    --width-padding: calc((100% - 87%) / 2);
  }
  .hero__intro {
    padding: 9.5rem var(--width-padding) 9rem 5.5rem;
  }
}
@media screen and (max-width: 1000px) {
  .hero__block {
    grid-template-columns: 18fr 16fr;
  }
}
@media screen and (max-width: 767px) {
  .hero__block {
    display: block;
  }
  .hero__catch {
    padding: 50px 0 50px var(--width-padding);
  }
  .hero__title {
    gap: 0.25em;
  }
  .hero__title-blue {
    width: 1em;
    margin-top: 0;
  }
  .hero__title-blue::before {
    top: -3px;
    left: 0.3em;
  }
  .hero__sub-title {
    margin-top: 1.2em;
  }
  .hero__intro {
    padding: 36px 0 40px;
  }
  .hero__intro-text {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    line-height: 2;
  }
  .hero__intro-link {
    margin: 17px auto 0;
  }
}
@media all {
  .news__block {
    width: min(1200px, 92%);
    margin-inline: auto;
    padding: 0 0 5rem;
  }
}
@media screen and (max-width: 767px) {
  .news__block {
    width: 87%;
  }
}
@media all {
  .news__header {
    display: grid;
    grid-template-columns: 25fr 80fr auto;
    gap: 0 5rem;
    align-items: center;
    padding: 4rem 0 2rem;
    border-bottom: 1px solid var(--black);
  }
  .news__header-category {
    flex-direction: row;
    gap: 0 1.5em;
  }
  .news__header-category a {
    width: 6em;
  }
  .news__header-link {
    transform: translate(10px, 10px);
  }
}
@media screen and (max-width: 1199px) {
  .news__header {
    grid-template-columns: 46fr 80fr auto;
    gap: 0 3rem;
  }
}
@media screen and (max-width: 767px) {
  .news__block {
    padding: 38px 0 40px;
  }
  .news__header {
    display: block;
    padding: 0 0 30px;
  }
  .news__header-category {
    gap: 0 1em;
    margin-top: 22px;
  }
  .news__footer-link {
    margin: 20px -20px 0 auto;
  }
}
@media all {
  .support__block {
    width: min(1200px, 92%);
    margin-inline: auto;
    padding: 5rem 0 10rem;
  }
}
@media screen and (max-width: 767px) {
  .support__block {
    width: 87%;
  }
}
@media all {
  .support__list {
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .support__item:nth-child(2n) .support__link {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .support__block {
    padding: 5rem 0 50px;
  }
  .support__list {
    margin-top: 20px;
    gap: 20px;
  }
  .support__item:nth-child(2n) .support__link {
    flex-direction: column;
  }
}
@media all {
  .support-card {
    --img-width: 39%;
    --gap: 3rem;
    --box-width: calc(100% - var(--img-width) - var(--gap));
    display: flex;
    justify-content: space-between;
    gap: var(--gap);
    padding: 2rem 4rem;
    border-radius: 10px;
    border: 1px solid var(--gray);
    box-shadow: var(--shadow);
  }
  .support-card__img {
    border-radius: 10px;
    overflow: hidden;
    align-self: flex-start;
    width: var(--img-width);
  }
  .support-card__box {
    width: var(--box-width);
  }
  .support-card__title {
    margin: 2px 0 0 -2px;
  }
  .support-card__box-text {
    margin-top: 0.5em;
    letter-spacing: 0.01em;
  }
  .support-card__box-link {
    margin: 1.5em 0 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .support-card {
    --img-width: 100%;
    --gap: 10px;
    --box-width: 100%;
    flex-direction: column;
    gap: var(--gap);
    padding: 17px 15px;
  }
  .support-card__title {
    margin: 0;
  }
  .support-card__box-text {
    margin-top: 0.5em;
  }
  .support-card__box-link {
    margin: 1.2em auto 0;
  }
}
@media all {
  .report {
    padding: 10rem 0;
    background: var(--light-blue);
  }
  .report__block {
    width: min(1200px, 92%);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 33fr 82fr;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .report__block {
    width: 87%;
  }
}
@media all {
  .report__box-title {
    margin-top: -6px;
  }
  .report__box-text {
    letter-spacing: 0.01em;
    margin-top: 1.8em;
  }
  .report__box-link {
    margin-top: 4rem;
  }
  .report__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2rem;
  }
  .report__item {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .report {
    padding: 60px 0;
  }
  .report__block {
    display: block;
  }
  .report__box-title {
    margin-top: 0;
  }
  .report__box-text {
    margin-top: 1.3em;
  }
  .report__box-link {
    margin-top: 20px;
  }
  .report__list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .only-tab,
  .only-pc,
  .not-sp {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .only-sp,
  .only-pc,
  .not-tab {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .only-sp,
  .only-tab,
  .not-pc {
    display: none;
  }
}