@charset "UTF-8";
/* 
本サイトにおける BEM の書式は以下の通り
.block {}
.block.--modifier {}
.block__element {}
.block__element.--modifier {}
.block__element.--css-property_css-value {} 
*/
/* ======================================== Common ======================================== */
/* ============================== html tags ============================== */
html {
    box-sizing: border-box;
    /* Firefox */
    /* scrollbar-width: none; */
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 62.5%;
    font-weight: 400;
    font-style: normal;
    color: #222;
}
/* Chrome, Safari用 */
/* html::-webkit-scrollbar {
    display: none;
} */
*, *::before, *::after {
    box-sizing: border-box;
}
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
}
body {
    overflow-x: hidden;
    scrollbar-width: none; /* Firefox */
    position: relative;
    font-size: 1.6rem;
    -webkit-text-size-adjust: 100%;
    color: #222;
}
/* Chrome, Safari用 */
body::-webkit-scrollbar {
    display: none;
}
/* body.-open {
    overflow: hidden;
}
body.-fixed {
    overflow: hidden;
    position: fixed;
} */
body.-fixed {
    overflow: hidden;
    /* position: fixed; */
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}
h1, h2, h3, h4, h5, h6, p, span, a, button, th, td, input, textarea,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span, p span, a span, button span, input::placeholder, textarea::placeholder, *::before, *::after {
    letter-spacing: 0.05em;
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span, p span, a span, button span  {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
p {
    line-height: 2;
}

a {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
button {
    all: unset;
    box-sizing: border-box;
    appearance: none; /* ← これが効く！ */
    -webkit-appearance: none; /* Safari対策 */
    cursor: pointer;
    display: block;
    outline: none;
    display: block;
    padding: 0;
    border: none;
    padding-block: 0;
    padding-inline: 0;
    border-width: 0;
    border-radius: 0;
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}
ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
    caret-color: transparent;
    /* キャレットを非表示にする */
}
*:focus-visible {
    outline: -webkit-focus-ring-color auto 0;
}
a:focus-visible,
article:focus-visible {
    outline: unset;
}
a:-webkit-any-link:focus-visible {
    outline-offset: 0;
}
a:-webkit-any-link:focus-visible {
    outline-offset: unset;
}
table {
    /* width: 100%;
    border-spacing: 0;
    border-collapse: collapse; */
}
tbody {
    /* display: block;
    width: 100%; */
}
th,
td {
    /* display: block;
    text-align: left; */
}
input,
textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 0;
    border: unset;
    border-width: 0;
    background-color: transparent;
}
input[type="text" i] {
    padding: 0;
}
input:focus-visible,
textarea:focus-visible {
    outline: unset;
}
input:-webkit-autofill,
textarea:-webkit-autofill {}
::-webkit-input-placeholder,
:-moz-placeholder {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
/* input:-internal-autofill-selected {
    appearance: menulist-button;
    background-image: none !important;
    background-color: #fff;
    color: fieldtext !important;
} */
input[type="search"]::-webkit-search-cancel-button {
    display: none;
}
select {
    border-width: 0px;

    appearance: none;         /* 標準 */
    -webkit-appearance: none; /* Safari/Chrome用 */
    -moz-appearance: none;    /* Firefox用 */
    background: none;         /* 必要なら背景も消す */
}

/* ============================== End html tags ============================== */
/* ============================== Utility Classes ============================== */
/* Display Utilities: Show/Hide on Devices */
/* 
- .pc / .tablet-sp:
- Default: .pc is visible, .tablet-sp is hidden.
- Below 1000px: .pc is hidden, .tablet-sp is visible.
*/
.pc {
    display: block;
}
.tablet-sp {
    display: none;
}
@media screen and (max-width: 1000px) {
    .pc {
        display: none !important;
    }
    .tablet-sp {
        display: block !important;
    }
}
/* 
- .pc-tablet / .sp:
- Default: .pc-tablet is visible, .sp is hidden.
- Below 750px: .pc-tablet is hidden, .sp is visible.
*/
.pc-tablet {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 750px) {
    .pc-tablet {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}

/* ===== cssPropaty_cssValue ===== */
/* display inline-block */
.display_ib {
    display: inline-block;
}
/* width 0 */
.width_0 {
    display: inline-block;
    width: 0;
}
/* text-align */
.text-align_right {
    text-align: right;
}
/* underline */
.underline {
    text-decoration: underline;
}
:root {
    --base-blue: #0068b7;
    --gray: #888888;
}
/* color */
.color_white {
    color: #fff;
}
.color_blue {
    color: var(--base-blue);
}
.color_gray {
    color: var(---gray);
}
/* background-color */
.bgc_white {
    color: #fff;
}
/* ===== End cssPropaty_cssValue ===== */


/* ============================== End Utility Classes ============================== */
/* ============================== Helper Classes ============================== */
/* English Font Settings */
.en {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}
.img,
.video {
    width: 100%;
    height: auto;
    object-fit: contain;
}
/* Container Helper: Layout Width */
.wrapper {
	width: 89%;
    max-width: 150rem;
    margin: 0 auto;
}
@media screen and (max-width: 1000px) {
    .wrapper {
        width: 89%;
    }
}
/* text */
.text {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
}
.text + .text {
    margin-top: 3.5rem;
}
/* ----- responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .text + .text {
        margin-top: 3rem;
    }
}
.text-link {
    text-decoration: underline;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .text-link:hover {
        opacity: .6;
    }
}
/* with-blank-icon */
.with-blank-icon {
    position: relative;
    z-index: 1;
}
.wp-block-button .with-blank-icon {}
.with-blank-icon::after {
    content: "";
    position: relative;
    z-index: 1;
    transform: translate(0, 2px);
    display: inline-block;
    width: 2.5rem;
    height: 1.4rem;
    padding: 0.3rem 3rem 0 0;
    background-image: url("/assets/img/common/icon-external-link-blue.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.wp-block-button .with-blank-icon::after {
    transform: translate(0, 0px);
    background-image: url("/assets/img/common/icon-external-link-white.png");
}
/* ----- with-pdf-icon ----- */
.with-pdf-icon {
    position: relative;
    z-index: 1;
}
.wp-block-button .with-pdf-icon {}
.with-pdf-icon::after {
    content: "";
    position: relative;
    z-index: 1;
    display: inline-block;
    width: 2.5rem;
    height: 1.4rem;
    margin: 0.1rem 0 0 1rem;
    vertical-align: baseline;
    background-image: url("/assets/img/common/icon-pdf-link-blue.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.wp-block-button .with-pdf-icon::after {
    margin: 0 0 0 1rem;
    background-image: url("/assets/img/common/icon-pdf-link-white.png");
}

/* hover-animation opacity */
.hover-opacity {
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .hover-opacity:hover {
        opacity: .7;
    }
}
/* inview */
.inview {
    transform: translate(0, 5px);
    opacity: 0;
    transition: filter 1s, opacity 1s, transform 1s;
}
.inview.show {
    transform: translate(0, 0);
    opacity: 1.0;
}
/* ============================== End Helper Classes ============================== */
/* ============================== Common Component Classes ============================== */
/* ==================== header ==================== */
:root {
    --header-z-index: 100;
    --header-height: 14rem;
    --header-height-scroll: 6.5rem;
}
.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--header-z-index);
    display: block;
    width: 100%;
    height: var(--header-height);
    box-shadow: 0 0 5px rgba(0,0,0,0);
    background-color: #fff;
    transition: height .3s, box-shadow .3s;
}
.header.-scroll {
    height: var(--header-height-scroll);
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
    transition: height .3s, box-shadow .3s, overflow .3s .3s;
}
.header.-fixed {
    position: fixed;
    top: 0;
    left: 0;
}
.header.-open,
.header.-scroll.-open {
    box-shadow: 0 0 0 rgba(0,0,0,0);
}
.header__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 2.5rem 2% 1.5rem 3%;
    transition: padding .3s;
}
.header.-scroll .header__inner {
    padding: 2.5rem 2% 1.6rem 2%;
}
:root {
    --header-logo-width: 10rem;
    --header-landscape-logo-width: 16.6rem;
}
.header__logo {
    display: inline-block;
}
a.header__logo {
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    a.header__logo:hover {
        opacity: .7;
    }
}
.header .header__logo-imgs {
    overflow: hidden;
    position: relative;
    width: 16.5rem;
    height: 10rem;
    transition: width .3s, height .3s;
}
.header.-scroll .header__logo-imgs {
    width: 16.5rem;
    height: 3.5rem;
}
.header .header__logo-img-illust {
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1);
    transform-origin: left top;
    display: inline-block; /* 回転に必要な場合あり */
    width: 10rem;
    height: 6.7rem;
    transition: top .3s, left .3s;
}
.header.-scroll .header__logo-img-illust {
    transform: scale(0.53);
}
/* 以下、jsで起動 */
@keyframes logo-animate {
  0% { transform: scale(1); }
  100% { transform: scale(0.53); }
}
@keyframes logo-reset {
  0% { transform: scale(0.53); }
  100% { transform: scale(1); }
}
.header .header__logo-img-text1 {
    position: absolute;
    top: 6.7rem;
    left: 0;
    width: 10rem;
    height: 3.3rem;
}
.header .header__logo-img-text2 {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 5.3rem;
    z-index: -1;
    width: 11.31rem;
    height: 3.5rem;
}
.header .header__logo-img-text2-cover {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transform: scale(1,1);
    transform-origin: left;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
.header.-scroll .header__logo-img-text2-cover {
    transform: scale(0,1);
    transform-origin: right;
}
@keyframes logo-text2-in {
    0% {
        transform: scale(1, 1);
    }
    30% {
        transform: scale(1, 1);
    }
    100% {
        transform: scale(0, 1);
    }
}
@keyframes logo-text2-out {
    0% {
        transform: scale(0, 1);
    }
    100% {
        transform: scale(1, 1);
    }
}









.header__right-area {
    width: calc((100% - var(--header-logo-width)));
    padding-bottom: 0.7rem;
    transition: width .3s, padding .3s;
}
header.-scroll .header__right-area {
    width: calc((100% - var(--header-landscape-logo-widthlogo-width)));
    padding-bottom: 0.3rem;
}
.header__sub-nav-area {
    position: absolute;
    bottom: 8.4rem;
    right: 2%;
    display: flex;
    align-items: center;
    justify-content: end;
}
/* ===== header-sub-nav ===== */
.header-sub-nav {}
.header-sub-nav__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
    gap: 2.5rem;
}
.header-sub-nav__item {
    display: flex;
    align-items: center;
}
.header-sub-nav__link {
    position: relative;
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.2;
    transition: color .3s;
}
.header-sub-nav__link.-current {
    color: var(--base-blue);
}
@media (hover: hover) {
    .header-sub-nav__link:hover {
        color: var(--base-blue);
    }
}
.header-sub-nav__link.--with-key-icon {
    padding-right: 2rem;
}
.header-sub-nav__link.--with-key-icon::before {
    content: '';
    position: absolute;
    top: -1px;
    right: 0;
    z-index: 1;
    display: block;
    width: 12px;
    height: 15px;
    background-image: url('/assets/img/common/icon-key-locked-blue.png');
    background-size: 12px 15px;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity .3s;
}
.header-sub-nav__link.--with-key-icon::after {
    content: '';
    position: absolute;
    top: -1px;
    right: 0;
    z-index: 1;
    display: block;
    width: 12px;
    height: 15px;
    background-image: url('/assets/img/common/icon-key-locked.png');
    background-size: 12px 15px;
    background-repeat: no-repeat;
    opacity: 1;
    transition: opacity .3s;
}
.header-sub-nav__link.--with-key-icon.-current::before {
    opacity: 1;
}
.header-sub-nav__link.--with-key-icon.-current::after {
    opacity: 0;
}
@media (hover: hover) {
    .header-sub-nav__link.--with-key-icon:hover::before {
        opacity: 1;
    }
    .header-sub-nav__link.--with-key-icon:hover::after {
        opacity: 0;
    }
}
/* ===== End header-sub-nav ===== */
/* ===== header-language ===== */
.header-language {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    margin-left: 4rem;
}
.header-language > span {
    position: relative;
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 700;
}
.header-language > span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 3rem;
    height: 3rem;
    border: 1px solid #222;
    border-radius: 50%;
}
.header-language > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    font-size: 1.2rem;
    line-height: 1.2;
    color: var(--gray);
    text-decoration: underline;
}
/* ===== End header-language ===== */
/* ===== header-search ===== */
.header-search {
    margin-left: 2.2rem;
}
.header-search__form {
    position: relative;
    width: 18rem;
}
.header-search__form::after {
    content: '';
    pointer-events: none;
    position: absolute;
    top: 9px;
    right: 8px;
    z-index: 1;
    display: block;
    width: 14px;
    height: 14px;
    background-image: url('/assets/img/common/icon-search.png');
    background-repeat: no-repeat;
    background-size: 14px 14px;
}
.header-search__input {
    position: relative;
    padding: 0.9rem 3rem 0.7rem 1.4rem;
    border-radius: 9999px;
    font-size: 1.3rem;
    color: #222;
    background-color: #f0f0f0;
}
.header-search__input::placeholder {
    font-size: 1.3rem;
    color: #888888;
}
/* search-suggest */
:root {
    --search-suggest-shared-color: #41484d;
}
.search-suggest {
    position: absolute;
    bottom: -2rem;
    left: 0;
    z-index: 1;
    transform: translate(0, 100%);
    width: 19rem;
    height: auto;
    padding: 1rem 1.7rem 2.4rem;
    border-radius: 1rem;
    background-color: var(--search-suggest-shared-color);
}
.search-suggest::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 15px;
    z-index: 1;
    transform:  rotate(45deg);
    display: block;
    border-top: 8px solid var(--search-suggest-shared-color);
    border-right: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid transparent;
}
.search-suggest__text {
    padding-bottom: 1rem;
    border-bottom: 1px solid #262e34;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
}
.search-suggest ul li a {
    text-decoration: underline;
    font-size: 1.4rem;
    line-height: 2;
    color: #fff;
    opacity: 1;
    transition: opacity .2s;
}
@media (hover: hover) {
    .search-suggest__link:hover,
    .search-suggest ul li a:hover {
        opacity: .5;
    }
}
.header-search__submit-button {
    position: absolute;
    top: 9px;
    right: 8px;
    z-index: 1;
    display: block;
    width: 14px;
    height: 14px;
}
/* End search-suggest */
/* ===== End header-search ===== */
/* ===== header-sns ===== */
.header-sns {
    margin-left: 2rem;
}
.header-sns__link {
    display: inline-block;
    width: 3rem;
    height: 3rem;
}
/* ===== End header-sns ===== */
.header__nav-area {
    padding: 0 1rem 0 0;
}
/* ===== header-nav ===== */
.header-nav {}
.header-nav__list {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 3.2rem;
}
.header-nav__item {
    position: relative;
}
:root {
    --header-nav-fz: 1.6rem;
    --header-nav-lh: 1.75;
    --header-nav-fw: 700;
}
.header-nav__link {
    position: relative;
    font-size: var(--header-nav-fz);
    font-weight: var(--header-nav-fw);
    line-height: var(--header-nav-lh);
}
.header-nav__link-text {
    position: relative;
    display: inline-block;
}
.header-nav__button {
    position: relative;
    padding-right: 3.8rem;
    font-size: var(--header-nav-fz);
    font-weight: var(--header-nav-fw);
    line-height: var(--header-nav-lh);
    transition: color .2s;
}
.header-nav__link:hover,
.header-nav__button:hover,
.header-nav__link.-current,
.header-nav__button.-current,
.header-nav__button.-open {
    color: var(--base-blue);
}
@media (hover: hover) {
    .header-nav__link:hover,
    .header-nav__button:hover {
        color: var(--base-blue);
    }
}
.header-nav__button.-open::after {
    content: '';
    position: absolute;
    bottom: -2.9rem;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    display: block;
    width: 14px;
    height: 7px;
    background-image: url('/assets/img/common/icon-triangle-on-bottom-of-header.png');
    background-repeat: no-repeat;
    background-size: 14px 7px;
}
.header-nav__button-text {
    position: relative;
    display: inline-block;
}
.header-nav__link-text::before,
.header-nav__button-text::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    padding-top: 1px;
    background-color: var(--base-blue);
    opacity: 0;
    transition: opacity .2s;
}
.header-nav__link.-current .header-nav__link-text::before,
.header-nav__button.-current .header-nav__button-text::before,
.header-nav__button.-open .header-nav__button-text::before  {
    opacity: 1;
}
@media (hover: hover) {
    .header-nav__button:hover .header-nav__button-text::before  {
        opacity: 1;
    }
}
.header-nav__button-icon {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid #222;
    border-radius: 50%;
    transition: top .2s, left .2s, transform .2s, border .2s;
}
.header-nav__button-icon::before {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    display: block;
    width: 5px;
    height: 5px;
    border-right: 1px solid #222;
    border-bottom: 1px solid #222;
    transition: inherit;
}
.header-nav__button.-current .header-nav__button-icon,
.header-nav__button.-open .header-nav__button-icon,
.header-nav__button:hover .header-nav__button-icon {
    border: 1px solid var(--base-blue);
}
.header-nav__button.-current .header-nav__button-icon::before,
.header-nav__button.-open .header-nav__button-icon::before,
.header-nav__button:hover .header-nav__button-icon::before {
    border-right: 1px solid var(--base-blue);
    border-bottom: 1px solid var(--base-blue);
}
.header-nav__button.-open .header-nav__button-icon::before {
    top: calc(50% + 1px);
    left: 50%;
    transform: translate(-50%,-50%) rotate(225deg);
}
/* ===== End header-nav ===== */
/* -------------------- header responsive (1180) -------------------- */
@media screen and (max-width: 1180px) {
    :root {
        --header-nav-fz: 1.4rem;
    }
    .header.-scroll .header__inner {
        padding: 2.5rem 2% 1.5rem 2%;
    }
    /* ===== header-sub-nav ===== */
    .header-sub-nav {}
    .header__sub-nav-area {
        bottom: 7.5rem;
        align-items: start;
    }
    .header-sub-nav__list {
        transform: translateY(-3px);
        gap: 1.2rem 2.5rem;
        max-width: 40rem;
    }
    /* ===== End header-sub-nav ===== */
    /* ===== header-nav ===== */
    .header-nav {}
    .header-nav__list {
        gap: 2rem;
    }
    /* ===== End header-nav ===== */
}
/* -------------------- header responsive (1000) -------------------- */
@media screen and (max-width: 1000px) {
    :root {
        --header-height: 9rem;
        --header-height-scroll: 6rem;
    }
    .header {}
    .header__inner {
        align-items: start;
        padding: 1.5rem calc(5.5% + 4rem) 1.5rem 5%;
    }
    .header.-scroll .header__inner {
        padding: 1.5rem calc(5.5% + 4rem) 1.5rem 5%;
    }
    .header__logo {
        margin-top: 0.3rem;
    }
    :root {
        --header-logo-width: 6rem;
        --header-landscape-logo-width: 11.8rem;
    }
    .header .header__logo-imgs {
        width: 11.8rem;
        height: 6rem;
    }
    .header.-scroll .header__logo-imgs {
        width: 11.8rem;
        height: 2.5rem;
    }
    .header .header__logo-img-illust {
        transform-origin: left top;
        width: 6rem;
        height: 2.8rem;
    }
    .header.-scroll .header__logo-img-illust {
        top: 0;
        left: 0;
        transform: scale(0.61);
        transform-origin: left top;
    }
    /* 以下、jsで起動 */
    @keyframes logo-animate {
        0% { transform: scale(1); }
        100% { transform: scale(0.61); }
    }
    @keyframes logo-reset {
        0% { transform: scale(0.61); }
        100% { transform: scale(1); }
    }
    .header .header__logo-img-text1 {
        top: 4rem;
        width: 6rem;
        height: 2rem;
    }
    .header .header__logo-img-text2 {
        left: 3.9rem;
        width: 7.9rem;
        height: 2.5rem;
    }



    .header__right-area {
        padding-bottom: 0;
    }
    header.-scroll .header__right-area {
        padding-bottom: 0;
    }
    /* ===== header-sub-nav ===== */
    .header-sub-nav {}
    .header__sub-nav-area {
        position: relative;
        top: 0;
        left: 0;
        bottom: unset;
        align-items: start;
    }
    .header-sub-nav__list {
        transform: unset;
        gap: 0;
        max-width: unset;
    }
    /* ===== End header-sub-nav ===== */
    /* ===== header-nav ===== */
    .header-nav__list {
        gap: 2.5rem;
    }
    /* ===== End header-nav ===== */
    /* ===== header-search ===== */
    .header-search {
        position: absolute;
        top: 0;
        right: 0;
        margin-left: 0;
    }
    .header-search__form {
        width: 14.5rem;
    }
    .header-search__form::after {
        top: 8px;
    }
    .header-search__input {
        padding: 0.9rem 1.4rem 0.7rem;
        font-size: 1.2rem;
    }
    .header-search__input::placeholder {
        font-size: 1.2rem;
    }
    /* search-suggest */
    :root {
        --search-suggest-shared-color: #41484d;
    }
    .search-suggest {
        position: absolute;
        bottom: -2rem;
        left: 0;
        z-index: 1;
        transform: translate(0, 100%);
        width: 19rem;
        height: auto;
        padding: 1rem 1.7rem 2.4rem;
        border-radius: 1rem;
        background-color: var(--search-suggest-shared-color);
    }
    .search-suggest::before {
        content: '';
        position: absolute;
        top: -8px;
        left: 15px;
        z-index: 1;
        transform:  rotate(45deg);
        display: block;
        border-top: 8px solid var(--search-suggest-shared-color);
        border-right: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 8px solid transparent;
    }
    .search-suggest__text {
        padding-bottom: 1rem;
        border-bottom: 1px solid #262e34;
        margin-bottom: 0.5rem;
        font-size: 1.4rem;
        font-weight: 700;
        color: #fff;
    }
    .search-suggest ul li a {
        text-decoration: underline;
        font-size: 1.4rem;
        line-height: 2;
        color: #fff;
        opacity: 1;
        transition: opacity .2s;
    }
    @media (hover: hover) {
        .search-suggest__link:hover,
        .search-suggest ul li a:hover {
            opacity: .5;
        }
    }
    /* End search-suggest */
    /* ===== End header-search ===== */
}
/* ==================== End header ==================== */
/* ==================== header-menus / header-menu ==================== */
.header-menus {
    pointer-events: none;
    overflow-y: auto;
    overflow-x: hidden;
    position: fixed;
    top: var(--header-height);
    left: 0;
    z-index: calc(var(--header-z-index) - 1);
    width: 100%;
    height: calc(100vh - var(--header-height));
    background-color: transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}
.header-menus.-scroll {
    top: 6.5rem;
    height: calc(100vh - 6.5rem);
}
.header-menus.-open {
    opacity: 1;
    visibility: visible;
}
/* ========== header-menu ========== */
.header-menu {
    overflow: hidden;
    display: block;
    height: 0;
    border-radius: 1rem;
    margin: 0;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
}
.header-menu.-open {
    transform: translate(0,0);
    width: fit-content;
    height: fit-content;
    margin: 2rem 2rem 2rem auto;
    opacity: 1;
    visibility: visible;
}
.header-menu * {
    display: none;
}
.header-menu.-open .header-menu__content {
    pointer-events: auto;
    position: relative;
    display: block;
    width: 60rem;
    height: fit-content;
    padding: 4rem 5rem 5.8rem;
}
.header-menu.--1.-open .header-menu__content {
    width: 79rem;
}
.header-menu.-open .header-menu__second-level-title {
    position: relative;
    display: inline-block;
    margin-bottom: 4rem;
    font-size: 2.6rem;
    font-weight: 700;
}
.header-menu.-open .header-menu__second-level-title span {
    display: inline-block;
    /* font-size: 2.6rem;
    font-weight: 700; */
    color: var(--base-blue);
}
.header-menu.-open .header-menu__img {
    position: absolute;
    top: 2rem;
    right: 2rem;
    z-index: 1;
    display: block;
    width: 10rem;
}
.header-menu.-open .header-menu__img > img {
    display: block;
}
.header-menu.-open .header-menu__univ-list-area {
    display: block;
    margin-bottom: 3rem;
}
.header-menu.-open .header-menu__two-column-layout {
    display: flex;
    justify-content: space-between;
    gap: 5rem;
}
.header-menu.-open .header-menu__one-of-two-columns {
    display: block;
    width: 100%;
}
.header-menu.-open .header-menu__lists-area {
    display: block;
}
.header-menu.-open .header-menu__list-title-text {
    display: block;
    margin-bottom: 1.3rem;
    font-weight: 700;
}
.header-menu.-open .header-menu__list {
    display: block;
}
.header-menu.-open .header-menu__item {
    display: block;
}
.header-menu.-open .header-menu__link {
    position: relative;
    display: block;
    padding: 1.2rem 0 1.4rem 2rem;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
    font-size: 1.4rem;
    line-height: 1.2;
    transition: color .2s;
}
.header-menu.-open .header-menu__link.-current {
    text-decoration: underline;
    color: var(--base-blue);
}
@media (hover: hover) {
    .header-menu.-open .header-menu__link:hover {
        text-decoration: underline;
        color: var(--base-blue);
    }
}
.header-menu.-open .header-menu__item:not(:first-child) .header-menu__link {
    border-top: unset;
    border-bottom: 1px solid #eeeeee;
}
.header-menu.-open .header-menu__link::before {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: 5px;
    z-index: 0;
    transform: translateY(-50%) rotate(135deg);
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #222;
    border-left: 1px solid #222;
    font-size: 1.4rem;
    line-height: 1.2;
    transition: border .2s;
}
@media (hover: hover) {
    .header-menu.-open .header-menu__link:hover::before {
        border-top: 1px solid var(--base-blue);
        border-left: 1px solid var(--base-blue);
    }
}
/* ========== End header-menu ========== */
/* ========== header-menu-escape ========== */
.header-menu-escape {
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    z-index: calc(var(--header-z-index) - 2);
    display: block;
    width: 100%;
    height: 100vh;
    background-color: rgba(238, 238, 238, .8);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s;
}
.header-menu-escape.-open {
    opacity: 1;
    visibility: visible;
}
/* ========== End header-menu-escape ========== */





/* ==================== hamburger button ==================== */
:root {
    --hamburger-button-touch-area: 3.6rem;
    --hamburger-button-line-width: 2rem;
}
.hamburger-button {
    position: fixed;
    top: 1.1rem;
    right: calc(5.5% - (var(--hamburger-button-touch-area) - var(--hamburger-button-line-width)) / 2);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--hamburger-button-touch-area);
    height: var(--hamburger-button-touch-area);
    visibility: hidden;
    transition: background-color .3s;
}
.hamburger-button.-open {}
.hamburger-button__line-base {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--hamburger-button-line-width);
    height: 1.2rem;
}
.hamburger-button__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #222;
    transition: background-color .3s, opacity 0.3s;
}
.hamburger-button__line.--1 {
    top: 0;
}
.hamburger-button__line.--2 {
    top: 50%;
    transform: translate(0, -50%);
}
.hamburger-button__line.--3 {
    bottom: 0;
}
.hamburger-button.-open .hamburger-button__line.--2 {
    opacity: 0;
}
@keyframes menu-open-top {
    0% {
        top: 0;
    }
    60% {
        top: 50%;
        transform: translateY(-50%);
    }
    100% {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
}
@keyframes menu-open-bottom {
    0% {
        bottom: 0;
    }
    60% {
        bottom: 50%;
        transform: translateY(50%);
    }
    100% {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
    }
}
@keyframes menu-close-top {
    0% {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    40% {
        top: 50%;
        transform: translateY(-50%);
    }
    100% {
        top: 0;
    }
}
@keyframes menu-close-bottom {
    0% {
        bottom: 50%;
        transform: translateY(50%) rotate(-45deg);
    }
    40% {
        bottom: 50%;
        transform: translateY(50%);
    }
    100% {
        bottom: 0;
    }
}
/* ----- Hamburger Button responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .hamburger-button {
        visibility: visible;
    }
}
/* ==================== End Hamburger Button ==================== */

/* ==================== hamburger-menu ==================== */
/* ----- hamburger-menu responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .hamburger-menu {
        overflow-y: scroll;
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 40;
        width: 100%;
        height: 100vh;
        padding-top: 16.5rem;
        background-color: #fff;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s, visibility 0.3s;
    }
    .hamburger-menu.-open {
        opacity: 1;
        visibility: visible;
    }
    .hamburger-menu__inner {
        padding-bottom: 3rem;
    }
    .hamburger-menu__list {}
    .hamburger-menu__item {
        padding: 0 8% 1.3rem;
    }
    /*  */
    .hamburger-menu-accordion__button,
    .hamburger-menu__link {
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: start;
        width: 100%;
    }
    .hamburger-menu__text,
    .hamburger-menu-accordion__button-text {
        position: relative;
        display: inline-block;
        font-size: 1.7rem;
        font-weight: 700;
        line-height: 2;
        transition: color .3s;
    }
    .hamburger-menu__link:hover .hamburger-menu__text,
    .hamburger-menu__link.-current .hamburger-menu__text,
    .hamburger-menu-accordion__button:hover .hamburger-menu-accordion__button-text,
    .hamburger-menu-accordion__button.-open .hamburger-menu-accordion__button-text,
    .hamburger-menu-accordion__button.-current .hamburger-menu-accordion__button-text {
        color: var(--base-blue);
    }
    .hamburger-menu__link:hover .hamburger-menu__text::after,
    .hamburger-menu__link.-current .hamburger-menu__text::after,
    .hamburger-menu-accordion__button:hover .hamburger-menu-accordion__button-text::after,
    .hamburger-menu-accordion__button.-open .hamburger-menu-accordion__button-text::after,
    .hamburger-menu-accordion__button.-current .hamburger-menu-accordion__button-text::after {
        content: '';
        position: absolute;
        bottom: 0.4rem;
        left: 0;
        display: block;
        width: 100%;
        padding-top: 1px;
        background-color: var(--base-blue);
    }
    .hamburger-menu-accordion__content {
        overflow: hidden;
        height: 0;
    }
    .hamburger-menu-accordion__content-inner {
        padding-top: 0.9rem;
    }
    .hamburger-menu-accordion__list {
        padding: 0 0 0 1.5rem;
    }
    .hamburger-menu-accordion__list:last-child {
        margin-bottom: 2.3rem;
    }
    .hamburger-menu__item:last-child .hamburger-menu-accordion__list:last-child {
        margin-bottom: 4px;
    }
    .hamburger-menu-accordion__small-title-text {
        padding: 1.4rem 0 1.6rem 1.5rem;
        margin-bottom: -1rem;
        font-size: 1.4rem;
        font-weight: 700;
        color: var(--base-blue);
    }
    .hamburger-menu-accordion__item {}
    .hamburger-menu-accordion__link {
        display: block;
        padding: 0.4rem 0 0.6rem;
        border-bottom: 1px solid #eeeeee;
        font-size: 1.5rem;
        line-height: 2;
    }
    .hamburger-menu-accordion__text {
        position: relative;
        display: inline-block;
        padding-left: 1.5rem;
        font-size: 1.3rem;
        line-height: 2;
        transition: color .3s;
    }
    .hamburger-menu-accordion__link:hover .hamburger-menu-accordion__text,
    .hamburger-menu-accordion__link.-current .hamburger-menu-accordion__text {
        color: var(--base-blue);
    }
    .hamburger-menu-accordion__text::before {
        content: '';
        position: absolute;
        top: 9px;
        left: 0;
        transform: rotate(45deg);
        display: block;
        width: 6px;
        height: 6px;
        border-top: 1px solid #222;
        border-right: 1px solid #222;
        transition: border .3s;
    }
    .hamburger-menu-accordion__link:hover .hamburger-menu-accordion__text::before,
    .hamburger-menu-accordion__link.-current .hamburger-menu-accordion__text::before {
        border-top: 1px solid var(--base-blue);
        border-right: 1px solid var(--base-blue);
    }
    .hamburger-menu-accordion__button {
        display: flex;
        width: 100%;
    }
    .hamburger-menu-accordion__icon {
        position: absolute;
        top: 0.5rem;
        right: 0;
        z-index: 1;
        display: block;
        width: 24px;
        height: 24px;
        border: 1px solid #222;
        border-radius: 50%;
        transition: border 0.3s;
    }
    .hamburger-menu-accordion__button:hover .hamburger-menu-accordion__icon,
    .hamburger-menu-accordion__button.-open .hamburger-menu-accordion__icon {
        border: 1px solid var(--base-blue);
    }
    .hamburger-menu-accordion__icon::before {
        content: '';
        position: absolute;
        top: calc(50% - 1px);
        left: 50%;
        transform: translate(-50%,-50%) rotate(135deg);
        display: block;
        width: 5px;
        height: 5px;
        border-top: 1px solid #222;
        border-right: 1px solid #222;
        transition: top .3s, transform .3s, border 0.3s;
    }
    .hamburger-menu-accordion__button:hover .hamburger-menu-accordion__icon::before {
        border-top: 1px solid var(--base-blue);
        border-right: 1px solid var(--base-blue);
    }
    .hamburger-menu-accordion__button.-open .hamburger-menu-accordion__icon::before {
        top: calc(50% + 1px);
        transform: translate(-50%,-50%) rotate(315deg);
        border-top: 1px solid var(--base-blue);
        border-right: 1px solid var(--base-blue);
    }
    /* ===== End hamburger-menu-accordion ===== */


    .hamburger-menu__sub-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0 2.8rem;
        padding: 5rem 8% 0;
    }
    .hamburger-menu__sub-item {
        font-size: 1.2rem;
        line-height: 30px;
    }
    .hamburger-menu__sub-link {
        position: relative;
        transition: color .3s;
    }
    .hamburger-menu__sub-link:hover,
    .hamburger-menu__sub-link.-current {
        color: var(--base-blue);
    }
    .hamburger-menu__sub-link.--with-key-icon {
        padding-right: 2rem;
    }
    .hamburger-menu__sub-link.--with-key-icon::before {
        content: '';
        position: absolute;
        top: 2px;
        right: 0;
        z-index: 1;
        display: block;
        width: 12px;
        height: 14px;
        background-image: url(/assets/img/common/icon-key-locked-blue.png);
        background-size: 12px 14px;
        background-repeat: no-repeat;
        opacity: 0;
        transition: opacity .3s;
    }
    .hamburger-menu__sub-link.--with-key-icon::after {
        content: '';
        position: absolute;
        top: 2px;
        right: 0;
        z-index: 1;
        display: block;
        width: 12px;
        height: 14px;
        background-image: url(/assets/img/common/icon-key-locked.png);
        background-size: 12px 14px;
        background-repeat: no-repeat;
        opacity: 1;
        transition: opacity .3s;
    }
    .hamburger-menu__sub-link.--with-key-icon.-current::before {
        opacity: 1;
    }
    .hamburger-menu__sub-link.--with-key-icon.-current::after {
        opacity: 0;
    }
    @media (hover: hover) {
        .hamburger-menu__sub-link.--with-key-icon:hover::before {
            opacity: 1;
        }
        .hamburger-menu__sub-link.--with-key-icon:hover::after {
            opacity: 0;
        }
    }
    .hamburger-menu__other-links {
        display: flex;
        justify-content: end;
        gap: 1.5rem;
        padding: 8.5rem 4% 0 0;
    }
    .hamburger-menu__language {
        display: flex;
        align-items: center;
        gap: 1.3rem;
        margin-left: 4rem;
    }
    .hamburger-menu__language > span {
        position: relative;
        font-size: 1.2rem;
        line-height: 1.2;
        font-weight: 700;
    }
    .hamburger-menu__language > span::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        display: block;
        width: 3rem;
        height: 3rem;
        border: 1px solid #222;
        border-radius: 50%;
    }
    .hamburger-menu__language > a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 3rem;
        height: 3rem;
        font-size: 1.2rem;
        line-height: 1.2;
        color: var(--gray);
        text-decoration: underline;
    }
    /* ===== End header-language ===== */
    .hamburger-menu__sns-link {
        display: inline-block;
        width: 3rem;
        height: 3rem;
    }
}
/* ==================== End hamburger-menu ==================== */

/* ==================== main ==================== */
.main {
    position: relative;
    z-index: 0;
    padding-top: var(--header-height);
    transition: padding .3s;
}
/* ==================== End main ==================== */
/* === Featured News (scoped) === */
.featured-news {
    position: fixed;
    right: 1%;
    bottom: 2rem;
    z-index: 10;
    display: block;
    width: 36rem;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}
.featured-news.is-hidden {
    display: none;
}
.featured-news-color-button {
    box-sizing: border-box;
    position: absolute;
    top: -10px;
    left: -10px;
    z-index: 11;
    display: block;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
    background-color: var(--base-blue);
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .featured-news-color-button:hover {
        opacity: .7;
    }
}
.featured-news-color-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%,-50%) rotate(45deg);
    display: block;
    width: 1.1rem;
    padding-top: 2px;
    background-color: #fff;
}
.featured-news-color-button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%,-50%) rotate(-45deg);
    display: block;
    width: 1.1rem;
    padding-top: 2px;
    background-color: #fff;
}
.featured-news__inner {
    overflow: hidden;
    border-radius: 5px;
    background-color: #fff;
}
.featured-news .featured-news__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.featured-news .featured-news__item + .featured-news__item {
    border-top: 1px solid #eee;
}
.featured-news .featured-news__ticker {
    width: 100%;
}
.featured-news .swiper-slide {
    height: auto !important;
}
.featured-news .featured-news__link {
    position: relative;
    display: block;
    max-width: 100%;
    padding: 1rem 4.5rem 1.5rem 2.5rem;
}
.featured-news .featured-news__link::before {
    content: '';
    position: absolute;
    top: 39px;
    right: 15px;
    z-index: 1;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #222;
    transition: border .3s;
}
.featured-news .featured-news__link::after {
    box-sizing: border-box;
    content: '';
    position: absolute;
    top: 49px;
    right: 25px;
    z-index: 1;
    transform: rotate(45deg);
    display: block;
    width: 5px;
    height: 5px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transition: border .3s;
}
@media (hover: hover) {
    .featured-news .featured-news__link:hover::before {
        border: 1px solid var(--base-blue);
    }
    .featured-news .featured-news__link:hover::after {
        border-top: 2px solid var(--base-blue);
        border-right: 2px solid var(--base-blue);
    }
}
.featured-news .featured-news__date {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--base-blue);
}
.featured-news .featured-news__title {
    overflow: hidden;
    display: block;
    max-width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.8;
    transition: color .3s;
}
.featured-news .featured-news__link:hover .featured-news__title {
    color: var(--base-blue);
}
/* ----- feature-news responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .featured-news {
        right: 2.5%;
        left: 2.5%;
        bottom: 1rem;
        width: 95%;
    }
    .featured-news .featured-news__link {
        position: relative;
        display: block;
        max-width: 100%;
        padding: 1.1rem 4.5rem 1.4rem 1.5rem;
    }
    .featured-news .featured-news__link::before {
        top: 40px;
        right: 15px;
    }
    .featured-news .featured-news__link::after {
        top: 50px;
        right: 25px;
    }
}
/* ========== End featued-news ========== */
/* ========== latest-magazine ========== */
.latest-magazine {
    position: fixed;
    right: 2.3%;
    bottom: 8rem;
    z-index: 10;
    display: inline-block;
}
.featured-news.is-hidden + .latest-magazine {
    display: none;
}
.latest-magazine__link {
    display: inline-block;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .latest-magazine__link:hover {
        opacity: .7;
    }
}
.latest-magazine__title {
    display: inline-block;
    position: relative;
    padding: 4px 7px 5px;
    border-radius: 2px;
    margin: 0 0 1.5rem 2.2rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    background-color: #444444;
}
.latest-magazine__title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    right: 2.8rem;
    transform: rotate(90deg);
    display: inline-block;
    width: 10px;
    height: 7px;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
    background: #444444;  /* 色 */
}
.latest-magazine__img {
    width: 10rem;
    height: 14.1rem;
    border: 1px solid #ddd;
}
/* ---------- latest-magazine responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .latest-magazine {
        right: 5.5%;
        bottom: 6.3rem;
    }
    .latest-magazine__title {
        margin: 0 0 1.5rem -6px;
    }
    .latest-magazine__img {
        width: 7rem;
        height: 9.8rem;
    }
}
/* ========== End latest-magazine ========== */
/* ==================== Footer ==================== */
.footer {}
.footer__breadcrumb-area {
    width: 90%;
    margin: 0 auto 2rem;
}
/* ===== breadcrumb ===== */
.breadcrumb {}
.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    /* max-width: 65rem; */
}
.breadcrumb__item {
    position: relative;
}
.breadcrumb__item:not(:first-child) {
    margin-left: 2rem;
}
.breadcrumb__item:not(:first-child)::before {
    content: '';
    position: absolute;
    top: 1.5rem;
    left: -2rem;
    z-index: 0;
    display: block;
    width: 1.2rem;
    padding-top: 1px;
    background-color: #888888;
}
.breadcrumb__item a,
.breadcrumb__item span {
    position: relative;
    font-size: 1.4rem;
    line-height: 2;
    color: #888888;
}
.breadcrumb__item a {
    text-decoration: underline;
    opacity: 1;
    transition: opacity .2s;
}
@media (hover: hover) {
    .breadcrumb__item a:hover {
        opacity: .7;
    }
}
.breadcrumb__item span {
    color: #222;
}
.breadcrumb__item.--with-icon-home a,
.breadcrumb__item.--with-icon-home span {
    padding-left: 2rem;
}
.icon-home {
    position: absolute;
    top: -2px;
    left: 0;
    z-index: 0;
    display: inline-block;
    width: 14px;
    height: 14px;
}
/* ===== End breadcrumb ===== */
.footer__contents-area {}
.footer__upper-area {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: start;
    gap: 3rem 8rem;
    padding: 6rem 4% 5rem;
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    margin: 0 1.5% 0;
    background-color: #f3f2ed;
}
.footer__logo {
    width: 14rem;
}
.footer__all-navs-area {
    display: flex;
    flex-direction: column;
    gap: 2.7rem;
}
.footer__nav-and-association-nav-area {
    display: flex;
    align-items: start;
    gap: 5.5rem;
}
/* ===== footer-nav ===== */
.footer-nav {
    display: flex;
    align-items: start;
    gap: 5.5rem;
}
.footer-nav__list {}
.footer-nav__list.--narrow {}
.footer-nav__item {}
.footer-nav__link {
    position: relative;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 3.5rem;
}
@media (hover: hover) {
    .footer-nav__link:hover {
        text-decoration: underline;
    }
}
.footer-nav__link.--with-key-icon {
    padding-right: 1.8rem;
}
.footer-nav__link.--with-key-icon::after {
    content: '';
    position: absolute;
    top: 1rem;
    right: 0;
    z-index: 1;
    display: block;
    width: 12px;
    height: 14px;
    background-image: url('/assets/img/common/icon-key-locked.png');
    background-size: 12px 14px;
    background-repeat: no-repeat;
}
/* ===== End footer-nav ===== */
/* ===== footer-association-nav ===== */
.footer-association-nav {}
.footer-association-nav__list {}
.footer-association-nav__item {}
.footer-association-nav__link {
    position: relative;
    display: inline-block;
    font-size: 1.4rem;
    line-height: 3rem;
}
@media (hover: hover) {
    .footer-association-nav__link:hover {
        text-decoration: underline;
    }
}
/* ===== End footer-association-nav ===== */
/* ===== footer-sitemap-nav ===== */
.footer-sitemap-nav {}
.footer-sitemap-nav__list {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}
.footer-sitemap-nav__item {}
.footer-sitemap-nav__link {
    position: relative;
    display: inline-block;
    font-size: 1.3rem;
    line-height: 3rem;
    color: #888888;
}
.footer-sitemap-nav__link:hover {
    text-decoration: underline;
}
/* ===== End footer-sitemap-nav ===== */
.footer__tree-img {
    position: absolute;
    top: -10rem;
    right: 3rem;
    z-index: -1;
    display: block;
    width: 30rem;
}
.footer__slider-area {
    margin: 0 1.5%;
    background-color: #f3f2ed;
}
/* ===== footer-swiper (scoped) ===== */
.footer-swiper {}
.footer-swiper .swiper {
    width: calc(100% + 1.5% * 2);
    margin: 0 -1.5%;
    padding: 0.5rem 0 4.2rem;
}
.footer-swiper .swiper-slide {
    width: 330px; /* slidesPerView:'auto' と相性◎ */
}
.footer-swiper .swiper-slide__link {
    display: block;
    padding: 0.5rem;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0,0,0,0.05);
    background-color: #fff;
}
.footer-swiper .swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    margin-top: 2rem;
}
.footer-swiper .swiper-pagination-bullet {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background-color: #fff;
    transition: width .3s ease-in-out, background-color .4s ease;
}
.footer-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 28px;
    background-color: var(--base-blue);
    transition: width .3s .3s ease-in-out, background-color .4s ease;
}
/* ===== End footer-swiper ===== */
.footer__copyright-area {
    padding: 2.6rem 0 3rem;
    border-top: 1px solid #e6e4da;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    margin: 0 1.5% 1.5%;
    text-align: center;
    background-color: #f3f2ed;
}
.footer__copyright {
    font-size: 1.2rem;
}

/* ----- footer responsive (1200) ----- */
@media screen and (max-width: 1200px) {
    .footer {}
    .footer__upper-area {
        gap: 2rem 5rem;
    }
    .footer__logo {
        width: 10rem;
    }
    .footer__all-navs-area {
        gap: 2.1rem;
    }
    .footer__nav-and-association-nav-area {
        gap: 2.5rem;
    }
    /* ===== footer-nav ===== */
    .footer-nav {
        gap: 2rem;
    }
    .footer-nav__link {
        font-size: 1.5rem;
    }
    .footer-nav__list.--narrow .footer-nav__link {
        width: 8em;
    }
    .footer-nav__link.--with-key-icon::after {
        top: 1.1rem;
    }
    /* ===== End footer-nav ===== */
    .footer__tree-img {
        top: -10rem;
        right: 3rem;
    }
    /* ===== footer-swiper ===== */
    .footer-swiper {}
    .footer-swiper .swiper {
        width: calc(100% + 2% * 2);
        margin: 0 -2%;
    }
    /* ===== End footer-swiper ===== */
}
/* ----- footer responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .footer {}
    .footer__upper-area {
        padding: 4rem 3% 3.5rem;
        margin: 0 2% 0;
    }
    .footer__nav-and-association-nav-area {
        flex-direction: column;
        gap: 2.1rem;
    }
    /* ===== footer-association-nav ===== */
    .footer-association-nav {
        width: 100%;
    }
    .footer-association-nav__list {
        display: flex;
        gap: 0 2rem;
    }
    /* ===== End footer-association-nav ===== */
    .footer__tree-img {
        top: -2rem;
        width: 17rem;
    }
    .footer__slider-area {
        margin: 0 2%;
    }
    /* ===== footer-swiper ===== */
    .footer-swiper {}
    .footer-swiper .swiper-slide {
        width: 210px;
    }
    /* ===== End footer-swiper ===== */
    .footer__copyright-area {
        margin: 0 2% 2%;
    }
}
/* ----- footer responsive (750) ----- */
@media screen and (max-width: 750px) {
    .footer {}
    .footer__upper-area {
        flex-direction: column;
        align-items: center;
        padding: 4rem 2rem 3.5rem;
    }
    .footer__nav-and-association-nav-area {
        flex-direction: column;
        gap: 2.1rem;
    }
    /* ===== footer-nav ===== */
    .footer-nav {}
    .footer-nav__item {}
    .footer-nav__list:nth-child(2) .footer-nav__link {
        white-space: nowrap;
    }
    /* ===== End footer-nav ===== */
    /* ===== footer-association-nav ===== */
    .footer-association-nav {
        position: relative;
        width: 100%;
    }
    .footer-association-nav__list {
        flex-direction: column;
    }
    /* ===== End footer-association-nav ===== */
    /* ===== footer-sitemap-nav ===== */
    .footer-sitemap-nav {}
    /* ===== End footer-sitemap-nav ===== */
    .footer__tree-img {
        top: -4rem;
        right: 0;
        width: 14rem;
    }
}
/* ==================== End footer ==================== */

/* ==================== Other Common Modules ==================== */
/* ========== common-sec-title ========== */
.common-sec-title {
    font-size: 5rem;
    line-height: 1.35;
    font-weight: 800;
}
/* ----- common-sec-title responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .common-sec-title {
        font-size: 3.2rem;
        line-height: 1.2;
    }
}
/* ========== End common-sec-title ========== */
/* ========== common-rounded-square-button ========== */
/* .common-rounded-square-button {
    pointer-events: auto;
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 0.8rem 2rem 1rem;
    border-radius: 9999px;
    text-align: center;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background-color: #0068b7;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .common-rounded-square-button:hover {
        opacity: 0.6;
    }
} */
/* ========== End common-rounded-square-button ========== */
/* ========== common-angle-in-circle ========== */
/* 基本を右向きとする */
.common-angle-in-circle {
    position: relative;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid #222;
    border-radius: 50%;
    transition: top .2s, left .2s, transform .2s, border .2s;
}
.common-angle-in-circle.--blue {
    border: 1px solid var(--base-blue);
}
.common-angle-in-circle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% - 1px);
    z-index: 0;
    transform: translate(-50%,-50%) rotate(45deg);
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    transition: left .2s, border .2s;
}
.common-angle-in-circle.--blue::before {
    border-top: 1px solid var(--base-blue);
    border-right: 1px solid var(--base-blue);
}
a:hover .common-angle-in-circle {
    border: 1px solid var(--base-blue);
}
a:hover .common-angle-in-circle::before {
    /* left: calc(50% + 2px); */
    border-top: 1px solid var(--base-blue);
    border-right: 1px solid var(--base-blue);
}
/* ========== End common-angle-in-circle ========== */

/* ========== common-link-with-circle-icon ========== */
.common-link-with-circle-icon {
    display: flex;
    align-items: center;
    gap: 2rem;
}
.common-link-with-circle-icon__text {
    margin-bottom: 0.2rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: #222;
    transition: color .3s;
}
a:hover .common-link-with-circle-icon__text {
    color: var(--base-blue);
}
.common-link-with-circle-icon__icon {
    position: relative;
    transform: scale(1);
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    border: 1px solid #222;
    background-color: transparent;
    transition: transform .3s, border .3s, background-color .3s;
}
a:hover .common-link-with-circle-icon__icon {
    transform: scale(1.15);
    border: 1px solid var(--base-blue);
    background-color: var(--base-blue);
}
.common-link-with-circle-icon__icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% - 1px);
    z-index: 0;
    transform: translate(-50%,-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    opacity: 1;
    transition: opacity .2s .1s, left .2s .1s;
}
a:hover .common-link-with-circle-icon__icon::before {
    left: calc(50% + 8px);
    opacity: 0;
    transition: opacity .2s, left .2s;
}
.common-link-with-circle-icon__icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% - 8px);
    z-index: 0;
    transform: translate(-50%,-50%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    opacity: 0;
    transition: opacity .2s, left .2s;
}
a:hover .common-link-with-circle-icon__icon::after {
    left: calc(50% - 1px);
    opacity: 1;
    transition: opacity .2s .1s, left .2s .1s;
}
/* ----- common-link-with-circle-icon responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .common-link-with-circle-icon {
        gap: 1.5rem;
    }
    .common-link-with-circle-icon__text {
        margin-bottom: 0.2rem;
        font-size: 1.5rem;
    }
}
/* ========== End common-link-with-circle-icon ========== */


/* ========== pagination ========== */
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    font-size: 1.5rem;
    font-weight: 700;
}
.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    color: #888888;
    background-color: #f0f0f0;
    opacity: 1;
    transition: color .3s, opacity .3s, background-color .3s;
}
.pagination.--bgc_white .page-numbers {
    background-color: #FFF;
}

.pagination .page-numbers.current {
    color: #fff;
    background-color: #0068b7;
    opacity: 1;
}
a.page-numbers:hover {
    opacity: 0.7;
}
/* ---------- pagination responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .pagination {
        gap: 1rem;
        font-size: 1.4rem;
    }
    .page-numbers {
        width: 3.5rem;
        height: 3.5rem;
    }
}
/* ========== End pagination ========== */

/* ========== common-news-sort ========== */
.common-news-sort {
    display: flex;
    width: 100%;
}
.common-news-sort__select-wrap {
    position: relative;
    width: 100%;
}
.common-news-sort select {
    cursor: pointer;
    position: relative;
    width: 100%;
    padding: 2rem 3rem;
    font-size: 1.6rem;
    line-height: 30px;
    border: 1px solid #dddddd;
}
.common-news-sort select:focus-visible {
    outline: 0;
}
.common-news-sort .common-news-sort__select-wrap:nth-child(2) select {
    border-left: unset;
}
.common-news-sort__select-icon {
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translate(0, -50%);
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid #222;
    border-radius: 50%;
    transition: top .2s, left .2s, transform .2s, border .2s;
}
.common-news-sort__select-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    display: block;
    width: 5px;
    height: 5px;
    border-right: 1px solid #222;
    border-bottom: 1px solid #222;
    transition: inherit;
}
/* ---------- common-news-sort responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .common-news-sort {}
    .common-news-sort select {
        padding: 1.5rem 1.5rem 1.3rem;
        font-size: 1.5rem;
    }
    .common-news-sort__select-icon {
        top: calc(50% - 1px);
        right: 1rem;
    }
}
/* ========== End common-news-sort ========== */
/* ========== common-news-archive ========== */
.common-news-archive {}
.common-news-archive__item {}
/* ---------- common-news-archive responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .common-news-archive__item-warn-text {
        /* page-univ-latest.phpで使用 */
        width: 89%;
        margin: 0 auto;
    }
}
/* ========== End common-news-archive ========== */
/* ========== common-news-article ========== */
.common-news-article {}
:root {
    --common-news-article-gap: 2rem;
    --common-news-article-img-width: 9rem;
}
.common-news-article__link {
    display: flex;
    align-items: start;
    gap: var(--common-news-article-gap);
    width: 100%;
    padding: 2.5rem 0;
    border-bottom: 1px solid #eeeeee;
    opacity: 1;
    transition: opacity .3s;
}
@media (hover: hover) {
    .common-news-article__link:hover {
        opacity: .6;
    }
}
.common-news-article__img {
    width: var(--common-news-article-img-width);
}
.common-news-article__img.--with-border {
    border: 1px solid #dddddd;
}
.common-news-article__text-type-area {
    width: calc(100% - var(--common-news-article-gap) - var(--common-news-article-img-width));
    margin-top: -0.6rem;
}
.common-news-article__post-meta-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--base-blue);
}
.common-news-article__date {
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.common-news-article__cat {
    position: relative;
    display: inline-block;
    padding-left: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.common-news-article__date + .common-news-article__cat {
    padding-left: 2.4rem;
}
.common-news-article__date + .common-news-article__cat::before {
    content: '｜';
    position: absolute;
    top: 0;
    left: 0.5rem;
    display: inline;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.common-news-article__label {
    padding: 0.2rem 0.4rem;
    border-radius: 2px;
    margin-left: 1.5rem;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
    background-color: var(--base-blue);
}
.common-news-article__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.93;
}
/* ---------- common-news-article responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .common-news-article {}
    :root {
        --common-news-article-img-width: 6rem;
    }
    .common-news-article__link {
        padding: 2.5rem 5.5%;
    }
    .common-news-article__post-meta-area {
        margin-bottom: 0.5rem;
    }
    .common-news-article__title {
        font-size: 1.4rem;
        line-height: 1.85;
    }
}
/* ========== End common-news-article ========== */


/* ========== common-feature-archive ========== */
.common-feature-archive {}
.common-feature-archive__list {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem 4rem;
}
.common-feature-archive__item {
    width: calc((100% - 4rem * 2) / 3);
}
/* ---------- common-feature-archive responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .common-feature-archive {}
    .common-feature-archive__list {
        gap: 4rem 4rem;
    }
    .common-feature-archive__item {
        width: 100%;
    }
}
/* ========== End common-feature-archive ========== */
/* ========== common-feature-article ========== */
.common-feature-article {}
.common-feature-article__link {
    display: block;
}
.common-feature-article__img {
    overflow: hidden;
    position: relative;
    aspect-ratio: 320/214;
}
.common-feature-article__img > img {
    position: relative;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform .3s;
}
.common-feature-article__link:hover .common-feature-article__img  > img {
    transform: scale(1.07);
}
.common-feature-article__img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0);
    transition: background-color .3s;
}
.common-feature-article__link:hover .common-feature-article__img::after {
    background-color: rgba(0,0,0, 0.3);
}
.common-feature-article__cats-area {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    width: 100%;
    padding-top: 1.5rem;
}
.common-feature-article__cat {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2;
    color: var(--base-blue);
}
.common-feature-article__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.93;
}
.common-feature-article__interviewees-area {
    padding-top: 1.5rem;
}
.common-feature-article__interviewee {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
}
.common-feature-article__summary-area {
    padding-top: 1.6rem;
}
.common-feature-article__summary-text {
    position: relative;
    padding-left: 1.5rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
    color: #999999;
}
.common-feature-article__summary-text:before {
    content: '';
    position: absolute;
    top: 1.1rem;
    left: 0;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid #999999;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
}
/* ----- common-feature-article responsive (1000) ----- */
@media screen and (max-width: 1000px) {
    .common-feature-article {}
    .common-feature-article__cats-area {
        gap: 1.2rem 2rem;
        padding-top: 1rem;
    }
    .common-feature-article__title {
        font-size: 1.5rem;
        line-height: 2;
    }
    .common-feature-article__interviewees-area {
        padding-top: 0.5rem;
    }
    .common-feature-article__summary-area {
        padding-top: 0.8rem;
    }
    .common-feature-article__summary-text {
        font-size: 1.3rem;
    }
    .common-feature-article__summary-text:before {
        top: 0.9rem;
    }
}
/* ========== End common-feature-article ========== */
/* ========== common-balloon-category ========== */
.common-balloon-category {}
.common-balloon-category__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 2.5rem;
}
.common-balloon-category__link {
    cursor: pointer;
    position: relative;
    display: inline-block;
    padding: 0.5rem 0 0.6rem;
    border-radius: 9999px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #222;
    background-color: transparent;
    transition: padding .3s, color .3s, background-color .3s;
}
.common-balloon-category__link.on {
    padding: 0.5rem 2rem 0.6rem;
    color: #fff;
    background-color: var(--base-blue);
}
@media (hover: hover) {
    .common-balloon-category__link:hover {
        color: var(--base-blue);
    }
    .common-balloon-category__link.on:hover {
        color: #fff;
    }
}
.common-balloon-category__link.on::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: -1;
    transform: translate(-50%,100%);
    border-top: 6px solid var(--base-blue);
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent;
}
/* ---------- common-balloon-category responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    .common-balloon-category {}
    .common-balloon-category__list {
        gap: 1rem 1.5rem;
    }
    .common-balloon-category__link {
        font-size: 1.5rem;
    }
    .common-balloon-category__link.on {
        padding: 0.5rem 1.8rem 0.6rem;
    }
}
/* ========== End common-balloon-category ========== */

/* ========== common-links-menu ========== */
.common-links-menu {
    padding: 6rem 8% 9rem;
    border-radius: 1rem;
    margin: 0 1.5% 1.6rem;
    background-color: #f5f5f5;
}
.common-links-menu__wrapper {
    max-width: 120rem;
    margin: 0 auto;
}
.common-links-menu__title {
    margin-bottom: 3.7rem;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.33;
}
.common-links-menu__title span {
    color: var(--base-blue);
}
.common-links-menu__item {
    border-bottom: 1px solid #e4e4e4;
}
.common-links-menu__item:first-child {
    border-top: 1px solid #e4e4e4;
}
.common-links-menu__link {
    position: relative;
    display: block;
    padding: 1.7rem 0 1.8rem 4rem;
    font-size: 1.6rem;
    line-height: 3.5rem;
    transition: font-weight .2s, color .2s;
}
.common-links-menu__link.-current {
    font-weight: 700;
    color: var(--base-blue);
}
@media (hover: hover) {
    .common-links-menu__link:hover {
        color: var(--base-blue);
    }
}
.common-links-menu__link > span {
    color: var(--base-blue);
}
.common-links-menu__icon-wrap {
    position: absolute;
    top: 2.2rem;
    left: 0;
    z-index: 0;
}
/* ===== common-right-angle-in-circle ===== */
:root {
    --common-right-angle-in-circle-color: #222;
}
.common-right-angle-in-circle {
    position: relative;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    border: 1px solid var(--common-right-angle-in-circle-color);
    transition: border .2s;
}
.common-right-angle-in-circle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% - 1px);
    z-index: 0;
    transform: translate(-50%,-50%) rotate(45deg);
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--common-right-angle-in-circle-color);
    border-right: 1px solid var(--common-right-angle-in-circle-color);
    transition: border .2s;
}
@media (hover: hover) {
    a.-current .common-right-angle-in-circle,
    a:hover .common-right-angle-in-circle {
        border: 1px solid var(--base-blue);
    }
    a.-current .common-right-angle-in-circle::after,
    a:hover .common-right-angle-in-circle::after {
        border-top: 1px solid var(--base-blue);
        border-right: 1px solid var(--base-blue);
    }
}
/* ===== End common-right-angle-in-circle ===== */
.common-links-menu__sub-sections-area {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 3.5rem 6rem;
    width: 100%;
    padding-top: 5.4rem;
}
.common-links-menu__sub-section {
    width: calc((100% - 6rem) / 2);
}
.common-links-menu__sub-title {
    margin-bottom: 3.5rem;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.3;
}
/* ---------- common-links-menu responsive (1000) ---------- */
@media screen and (max-width: 1000px) {
    /* ===== common-links-menu ===== */
    .common-links-menu {
        padding: 4.3rem 0 6rem;
        margin: 0 2% 1.6rem;
    }
    .common-links-menu__title {
        padding-left: 6%;
        margin-bottom: 2.6rem;
        font-size: 2.5rem;
    }
    .common-links-menu__link {
        padding: 1.4rem 0 1.6rem calc(4rem + 6%);
        font-size: 1.5rem;
        line-height: 2;
    }
    .common-links-menu__icon-wrap {
        top: 1.7rem;
        left: 6%;
    }
    /* ===== common-right-angle-in-circle ===== */
    .common-links-menu__sub-sections-area {
        padding-top: 3.7rem;
    }
    .common-links-menu__sub-section {
        width: 100%;
    }
    .common-links-menu__sub-title {
        padding-left: 6%;
        margin-bottom: 2rem;
        font-size: 1.8rem;
    }
}
/* ========== End common-links-menu ========== */
/* ==================== End Other Common Modules ==================== */
/* ============================== End Component Classes ============================== */
/* ======================================== End Common ======================================== */



/* テンプレート リンクリスト　後ほど消してください。 */
.temp-nav{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    padding: 20rem 0;
    display: flex;
    gap: 5rem 2.5rem;
    flex-wrap: wrap;
}
.temp-nav__block{
    width: calc((100% / 3) - 5rem);
}
.temp-nav__heading{
    font-size: 2.5rem;
}
.temp-nav__list{
    line-height: 2;
    font-size: 1.5rem;
}
.temp-nav__heading + .temp-nav__list{
    margin-top: 2rem;
}
.temp-nav__item .temp-nav__list{
    list-style: circle;
    padding-left: 2rem;
}
