@charset "UTF-8";

/*---------------------------------

base

---------------------------------*/

:root {
    --layout-width-inner: 1168px;
    --layout-width-inner-sm: 1068px;
    --layout-width-inner-xs: 968px;
    --layout-width-inner-xxs: 878px;
    --color-primary: #001E40;
    --color-white: #FFF;
    --bg-color-gray: #E8E8E8;
    --bg-color-gray02: #F1F1F1;
    --bg-color-gray03: #EAEAEA;
    --font-base: "YuGothic", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
    --font-en: "Helvetica Neue", "Inter", "Arial", sans-serif;
    --font-en02: "Helvetica", "Inter", "Arial", sans-serif;
}
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
    vertical-align: baseline;
}
header, footer, nav, section, article, aside, figure, figcaption, main {
    display: block;
}
body {
    color: var(--color-primary);
    font-family: var(--font-base);
    font-weight: 500;
    overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}
li, dd {
    list-style-type: none;
}
img {
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: bottom;
}
[type="checkbox"],
[type="radio"] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
[type="checkbox"] + span,
[type="radio"] + span {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0 0 0 1.2em;
    cursor: pointer;
}
[type="checkbox"] + span::before {
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1em;
    border: 1px solid var(--color-primary);
    background: var(--color-white);
    content: "";
}
[type="checkbox"] + span::after {
    position: absolute;
    top: 50%;
    left: 0.15em;
    translate: 0 -50%;
    rotate: -45deg;
    opacity: 0;
    width: 0.8em;
    height: 0.5em;
    margin-top: -0.1em;
    border-bottom: 2px solid var(--color-primary);
    border-left: 2px solid var(--color-primary);
    transition: opacity 0.3s;
    content: "";
}
[type="checkbox"]:checked + span::after {
    opacity: 1;
}
[type="radio"] + span::before {
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    width: 1em;
    height: 1em;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    background: var(--color-white);
    content: "";
}
[type="radio"] + span::after {
    position: absolute;
    top: 50%;
    left: 4px;
    translate: 0 -50%;
    opacity: 0;
    width: 0.6em;
    height: 0.6em;
    border: 1px solid transparent;
    border-radius: 50%;
    background: var(--color-primary);
    transition: opacity 0.3s;
    content: "";
}
[type="radio"]:checked + span::after {
    opacity: 1;
}
.visually-hidden {
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
@media (hover: hover) and (pointer: fine) {

    a[href^="tel:"] {
        pointer-events: none;
    }

}
@media (max-width: 767px) {

    .only-pc {
        display: none !important;
    }

}
@media (min-width: 768px) {

    .only-sp {
        display: none !important;
    }

}


/*---------------------------------

layout

---------------------------------*/

.main-wrapper {
    display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.main-wrapper:has(.low-page-wrap) {
    opacity: 0;
    transition: opacity 1s 1s;
}
.main-wrapper:has(.low-page-wrap).is-show {
    opacity: 1;
}
.main-contents {
    flex: 1;
    display: grid;
	overflow-x: hidden;
}
.low-page-wrap {
    display: flex;
    flex-direction: column;
}
.low-page-contents {
    flex: 1;
}
.contents-inner {
    width: 100%;
    max-width: var(--layout-width-inner);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
.contents-inner.contents-inner--sm {
    max-width: var(--layout-width-inner-sm);
}
.contents-inner.contents-inner--xs {
    max-width: var(--layout-width-inner-xs);
}
.contents-inner.contents-inner--xxs {
    max-width: var(--layout-width-inner-xxs);
}


/*---------------------------------

component

---------------------------------*/

.circle-arrow-button {
    display: inline-flex;
    align-items: center;
    column-gap: 11px;
    padding: 12px 18px;
    border: 1px solid var(--color-primary);
    transition: background-color 0.3s, color 0.3s;
}
.circle-arrow-button::after {
    display: inline-block;
    width: 21px;
    aspect-ratio: 1 / 1;
    background-color: currentColor;
    mask-image: url(../images/common/icon_circle-arrow.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transition: background-color 0.3s;
    content: "";
}
.circle-arrow-button span:nth-of-type(1) {
    font-family: var(--font-en);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.015em;
}
.circle-arrow-button span:nth-of-type(2) {
    display: inline-block;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.13em;
}
.circle-arrow-button.circle-arrow-button--white {
    border-color: var(--color-white);
    color: var(--color-white);
}
.circle-arrow-button:focus-visible {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.circle-arrow-button.circle-arrow-button--white:focus-visible {
    background-color: var(--color-white);
    color: var(--color-primary);
}
@media (hover: hover) and (pointer: fine) {

    .circle-arrow-button:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .circle-arrow-button.circle-arrow-button--white:hover {
        background-color: var(--color-white);
        color: var(--color-primary);
    }

}

.arrow-button {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 40px;
    min-height: 70px;
    padding: 14px 28px 14px 50px;
    border: 1px solid var(--color-primary);
    background-color: var(--color-white);
    font-size: 16px;
    transition: background-color 0.3s, color 0.3s;
}
.arrow-button::after {
    display: inline-block;
    translate: 0 -2px;
    width: 62px;
    aspect-ratio: 62 / 8;
    background-color: var(--color-primary);
    mask-image: url(../images/common/icon_button-arrow.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transition: background-color 0.3s;
    content: "";
}
.arrow-button.arrow-button--sm {
    column-gap: 18px;
    padding: 14px 15px 14px 28px;
}
.arrow-button.arrow-button--sm::after {
    width: 27px;
    aspect-ratio: 27 / 8;
    mask-image: url(../images/common/icon_button-arrow02.svg);
}
.arrow-button:focus-visible {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.arrow-button:focus-visible::after {
    background-color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {

    .arrow-button:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .arrow-button:hover::after {
        background-color: var(--color-white);
    }

}
@media (max-width: 767px) {

    .arrow-button {
        column-gap: 30px;
        width: 100%;
        padding: 14px 28px 14px 40px;
    }

}

.border-title {
    padding-bottom: 15px;
    border-bottom: 2px solid;
    font-size: 35px;
    line-height: 1.5;
}
@media (max-width: 767px) {

    .border-title {
        font-size: 26px;
    }

}

.border-title02 {
    display: inline-block;
    padding-bottom: 3px;
    border-bottom: 2px solid;
    font-size: 20px;
    line-height: 1.5;
}
@media (max-width: 767px) {

    .border-title02 {
        font-size: 18px;
    }

}

.border-title03 {
    display: inline-block;
    padding-bottom: 3px;
    border-bottom: 2px solid;
    font-size: 25px;
    line-height: 1.5;
}
@media (max-width: 767px) {

    .border-title03 {
        font-size: 18px;
    }

}


/*---------------------------------

下層ページ共通パーツ

---------------------------------*/

.clearfix::after {
    display: block;
	clear: both;
	content: "";
}
.alignleft {
    float: left;
}
.alignright {
    float: right;
}

/* パンくず */


.breadcrumb {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: rgb(0 30 64 / 0.13);
}
.breadcrumb-inner {
    max-width: 1176px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
.breadcrumb ol {
    display: inline;
}
.breadcrumb ol li {
    display: inline;
    margin-right: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.breadcrumb ol li:first-child {
    display: inline-block;
    translate: 0 1px;
    font-family: var(--font-en);
    font-size: 14px;
    font-weight: 400;
}
.breadcrumb ol li + li::before {
    display: inline-block;
    width: 7px;
    aspect-ratio: 1 / 1;
    rotate: -45deg;
    translate: 0 -1px;
    margin-right: 12px;
    border-right: 1px solid rgb(0 30 64 / 0.21);
    border-bottom: 1px solid rgb(0 30 64 / 0.21);
    content: "";
}
.breadcrumb ol li a {
    color: var(--color-primary);
    transition: opacity 0.3s;
}
.breadcrumb ol li a:focus-visible {
    opacity: 0.7;
}
@media (hover: hover) and (pointer: fine) {

    .breadcrumb ol li a:hover {
        opacity: 0.7;
    }
    
}
@media (max-width: 767px) {

    .breadcrumb-inner {
        padding-left: 44px;
        padding-right: 44px;
    }

}

/* ページタイトル */
.low-page-title {
    display: grid;
    align-items: end;
    min-height: 318px;
    padding-bottom: 80px;
}
.low-page-title:has(.low-page-title__ja_2) {
    align-items: center;
    padding-top: 110px;
    padding-bottom: 60px;
}
.low-page-title__inner {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 13px;
}
.low-page-title__inner:has(img) {
    row-gap: 22px;
}
.low-page-title__ja {
    font-size: 18px;
}
.low-page-title__ja_2 {
    font-size: 35px;
}
.low-page-title__en {
    font-family: var(--font-en02);
    font-size: 60px;
    font-weight: 700;
}
@media (max-width: 767px) {

    .low-page-title {
        min-height: 194px;
        padding-bottom: 48px;
    }
    .low-page-title:has(.low-page-title__ja_2) {
        padding-top: 60px;
        padding-bottom: 48px;
    }
    .low-page-title__inner {
        row-gap: 10px;
    }
    .low-page-title__inner:has(img) {
        row-gap: 14px;
    }
    .low-page-title__ja {
        font-size: 14px;
    }
    .low-page-title__ja_2 {
        font-size: 32px;
    }
    .low-page-title__en {
        font-size: 42px;
    }
    .low-page-title__img .mti-news {
        width: 255px;
    }

}

.low-page-title02 {
    display: grid;
    align-items: center;
    min-height: 330px;
    padding-top: 70px;
    padding-bottom: 40px;
}
.low-page-title02__text {
    font-size: 35px;
    line-height: 1.5;
}
.low-page-title02__text span {
    margin-left: 0.4em;
    font-size: 20px;
}
@media (max-width: 767px) {

    .low-page-title02 {
        min-height: 200px;
        padding-top: 80px;
        padding-bottom: 50px;
    }
    .low-page-title02__text {
        font-size: 26px;
    }
    .low-page-title02__text span {
        font-size: 16px;
    }

}

/* ナビリンク */
.nav-wrap {
    position: relative;
    z-index: 1;
}
.nav-wrap__head-button {
    display: none;
}
.nav-wrap__list {
    display: flex;
}
.nav-wrap__item {
    flex: 1;
    position: relative;
}
.nav-wrap__link {
    display: grid;
    place-items: center;
    height: 100%;
    padding: 16px 10px;
    border: 2px solid var(--color-primary);
    background-color: var(--color-white);
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    transition: background-color 0.3s, color 0.3s;
}
.nav-wrap__item:not(:first-child) > .nav-wrap__link {
    border-left: none;
}
.nav-wrap__item.is-current > .nav-wrap__link {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.nav-wrap__link:focus-visible {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.nav-wrap__button {
    display: none;
}
.nav-wrap__child {
    display: grid; 
    grid-template-rows: 0fr;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    transition: grid-template-rows 0.3s;
}
.nav-wrap__item:not(:first-child) .nav-wrap__child {
    left: -2px;
}
.nav-wrap__item:has(.nav-wrap__link:focus-visible) .nav-wrap__child {
    grid-template-rows: 1fr;
}
.nav-wrap__child-inner {
    overflow: hidden;
}
.nav-wrap__child-item .nav-wrap__link {
    border-top: none;
}
@media (hover: hover) and (pointer: fine) {

    .nav-wrap__link:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .nav-wrap__item:has(.nav-wrap__link:hover) .nav-wrap__child {
        grid-template-rows: 1fr;
    }

}
@media (max-width: 1100px) {

    .nav-wrap__link {
        font-size: 16px;
    }

}
@media (max-width: 1000px) {

    .nav-wrap__link {
        font-size: 14px;
    }

}
@media (max-width: 900px) {

    .nav-wrap__head-button {
        display: grid;
        justify-items: start;
        align-items: center;
        position: relative;
        width: 100%;
        padding: 14px 50px 14px 20px;
        border: 2px solid var(--color-primary);
        background-color: var(--color-white);
        font-size: 16px;
        font-weight: 700;
        transition: background-color 0.3s, color 0.3s;
    }
    .nav-wrap__head-button::before,
    .nav-wrap__head-button::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        translate: 0 -50%;
        width: 14px;
        height: 1px;
        background-color: var(--color-primary);
        transition: background-color 0.3s;
        content: "";
    }
    .nav-wrap__head-button::after {
        rotate: 90deg;
        transition: rotate 0.3s;
    }
    .nav-wrap__head-button:focus-visible {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .nav-wrap__head-button:focus-visible::before,
    .nav-wrap__head-button:focus-visible::after {
        background-color: var(--color-white);
    }
    .nav-wrap__head-button.is-open::after {
        rotate: 0deg;
    }
    .nav-wrap__contents {
        display: grid; 
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s;
    }
    .nav-wrap__head-button.is-open + .nav-wrap__contents {
        grid-template-rows: 1fr;
    }
    .nav-wrap__inner {
        overflow: hidden;
    }
    .nav-wrap__list {
        display: block;
        padding: 20px;
        background-color: var(--bg-color-gray);
    }
    .nav-wrap__link {
        justify-items: start;
        padding: 14px 50px 14px 20px;
        font-size: 16px;
        text-align: left;
    }
    .nav-wrap__item:not(:first-child) > .nav-wrap__link {
        border-top: none;
        border-left: 2px solid var(--color-primary);
    }
    .nav-wrap__item.is-current > .nav-wrap__link:focus-visible {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .nav-wrap__button {
        display: block;
        position: absolute;
        top: 4px;
        right: 8px;
        width: 40px;
        height: 40px;
    }
    .nav-wrap__button::before,
    .nav-wrap__button::after {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        width: 14px;
        height: 1px;
        background-color: var(--color-primary);
        transition: background-color 0.3s;
        content: "";
    }
    .nav-wrap__button::after {
        rotate: 90deg;
        transition: rotate 0.3s;
    }
    .nav-wrap__button.is-open::after {
        rotate: 0deg;
    }
    .nav-wrap__item:has( > .nav-wrap__link:focus-visible) .nav-wrap__button::before,
    .nav-wrap__item:has( > .nav-wrap__link:focus-visible) .nav-wrap__button::after {
        background-color: var(--color-white);
    }
    .nav-wrap__item.is-current > .nav-wrap__link {
        background-color: var(--color-white);
        color: var(--color-primary);
    }
    .nav-wrap__link br:not([class]) {
        display: none;
    }
    .nav-wrap__item:not(:has(.nav-wrap__button.is-open)):has(.nav-wrap__link:focus-visible) .nav-wrap__child {
        grid-template-rows: 0fr;
    }
    .nav-wrap__button.is-open + .nav-wrap__child {
        grid-template-rows: 1fr;
    }
    .nav-wrap__child {
        position: static;
    }
    .nav-wrap__child-item .nav-wrap__link {
        padding: 14px 20px;
    }
    @media (hover: hover) and (pointer: fine) {
    
        .nav-wrap__head-button:hover {
            background-color: var(--color-primary);
            color: var(--color-white);
        }
        .nav-wrap__head-button:hover::before,
        .nav-wrap__head-button:hover::after {
            background-color: var(--color-white);
        }
        .nav-wrap__item.is-current > .nav-wrap__link:hover {
            background-color: var(--color-primary);
            color: var(--color-white);
        }
        .nav-wrap__item:has( > .nav-wrap__link:hover) .nav-wrap__button::before,
        .nav-wrap__item:has( > .nav-wrap__link:hover) .nav-wrap__button::after {
            background-color: var(--color-white);
        }
        .nav-wrap__item:not(:has(.nav-wrap__button.is-open)):has(.nav-wrap__link:hover) .nav-wrap__child {
            grid-template-rows: 0fr;
        }
    
    }

}


/*---------------------------------

MTI Live（一覧）

---------------------------------*/

.mti-live-wrap {
    padding-bottom: 70px;
}
.mti-live-wrap__inner {
    display: grid;
    grid-template-columns: 1fr 250px;
    column-gap: 40px;
}
.mti-live-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 100px 40px;
}
.mti-live-card__img {
    margin-bottom: 30px;
}
.mti-live-card__img a {
    display: block;
    aspect-ratio: 1 / 1;
    transition: opacity 0.3s;
}
.mti-live-card__img a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mti-live-card__img a:focus-visible {
    opacity: 0.7;
}
.mti-live-card__category {
    margin-bottom: 20px;
}
.mti-live-card__date {
    display: block;
    margin-bottom: 4px;
    font-family: var(--font-en);
    font-size: 14px;
    letter-spacing: 0.04em;
}
.mti-live-card__title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    transition: opacity 0.3s;
}
.mti-live-card__title a:focus-visible {
    opacity: 0.7;
}
.mti-live-pagination {
    padding-top: 80px;
}
.mti-live-pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.mti-live-pagination ul li a,
.mti-live-pagination ul li span {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    font-size: 14px;
}
.mti-live-pagination ul li a {
    transition: opacity 0.3s, background-color 0.3s, color 0.3s;
}
.mti-live-pagination ul li a:focus-visible {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.mti-live-pagination ul li .current {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.mti-live-pagination ul li .prev,
.mti-live-pagination ul li .next {
    position: relative;
    overflow: hidden;
    color: transparent;
}
.mti-live-pagination ul li .prev::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: 45deg;
    width: 7px;
    aspect-ratio: 1 / 1;
    border-left: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    content: "";
}
.mti-live-pagination ul li .next::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: -45deg;
    width: 7px;
    aspect-ratio: 1 / 1;
    border-right: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    content: "";
}
.mti-live-pagination ul li .prev:focus-visible,
.mti-live-pagination ul li .next:focus-visible {
    opacity: 0.7;
    background-color: unset;
    color: transparent;
}
.mti-live-sidemenu__form-title {
    margin-bottom: 20px;
    padding-bottom: 6px;
    border-bottom: 2px solid;
    font-family: var(--font-en02);
    font-size: 20px;
}
.mti-live-sidemenu__form-sub-title {
    margin-top: 30px;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.5;
}
.mti-live-sidemenu__form-items label {
    display: inline-block;
    position: relative;
}
.mti-live-sidemenu__form-items label input[type="checkbox"] + span {
    padding-left: 2em;
    font-size: 14px;
}
.mti-live-sidemenu__form-items label input[type="checkbox"] + span::before {
    width: 1.1em;
    height: 1.1em;
    border-width: 2px;
}
.mti-live-sidemenu__form-items label input[type="checkbox"]:focus-visible + span::before {
    outline: 2px solid;
    outline-offset: 1px;
}
.mti-live-sidemenu__form-items > span > span {
    display: grid;
    row-gap: 9px;
}
.mti-live-sidemenu__form-year {
    position: relative;
    margin-top: 24px;
    margin-bottom: 24px;
}
.mti-live-sidemenu__form-year::after {
    position: absolute;
    top: 50%;
    right: 14px;
    translate: 0 -60%;
    rotate: -45deg;
    width: 10px;
    aspect-ratio: 1 / 1;
    border-left: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    content: "";
}
.mti-live-sidemenu__form-sub-title + .mti-live-sidemenu__form-year {
    margin-top: 0;
}
.mti-live-sidemenu__form-year select {
    width: 100%;
    border: 1px solid #000;
    padding: 8px 50px 8px 10px;
    font-size: 14px;
}
.mti-live-sidemenu__form-text {
    margin-bottom: 20px;
}
.mti-live-sidemenu__form-text input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--color-primary);
}
.mti-live-sidemenu__form-bottom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
    margin-bottom: 30px;
}
.mti-live-sidemenu__form-bottom input {
    padding: 10px 10px;
    border: 1px solid var(--color-primary);
    font-size: 14px;
    text-align: center;
    transition: background-color 0.3s, color 0.3s;
}
.mti-live-sidemenu__form-bottom input[type="submit"] {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.mti-live-sidemenu__form-bottom input:focus-visible {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.mti-live-sidemenu__bottom .arrow-button {
    width: 100%;
}
.category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.category-list__item {
    padding: 5px 11px;
    border: 1px solid;
    font-size: 11px;
}
.mti-live-sidemenu.lunana {
    margin-top: 97px;
}
@media (hover: hover) and (pointer: fine) {

    .mti-live-card__img a:hover {
        opacity: 0.7;
    }
    .mti-live-card__title a:hover {
        opacity: 0.7;
    }
    .mti-live-pagination ul li a:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
    }
    .mti-live-pagination ul li .prev:hover,
    .mti-live-pagination ul li .next:hover {
        opacity: 0.7;
        background-color: unset;
        color: transparent;
    }
    .mti-live-sidemenu__form-bottom input:hover {
        background-color: var(--color-primary);
        color: var(--color-white);
    }

}
@media (max-width: 1100px) {

    .mti-live-cards {
        gap: 100px 30px;
    }

}
@media (max-width: 1000px) {

    .mti-live-wrap__inner {
        grid-template-columns: 1fr 210px;
    }
    .mti-live-cards {
        grid-template-columns: repeat(2, 1fr);
    }

}
@media (max-width: 767px) {

    .mti-live-wrap__inner {
        grid-template-columns: 1fr;
    }
    .mti-live-contents {
        margin-bottom: 40px;
    }
    .mti-live-cards {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .mti-live-card__img {
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 24px;
    }
    .mti-live-card__category {
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
    }
    .mti-live-card__title a {
        -webkit-line-clamp: 3;
        line-height: 1.6;
    }
    .mti-live-pagination {
        padding-top: 40px;
    }
    .mti-live-sidemenu {
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
    }
    .mti-live-sidemenu.lunana {
        width: 100%;
        margin-top: 0;
        margin-bottom: 60px;
    }

}


/*---------------------------------

MTI Live（詳細）

---------------------------------*/

.mti-live-post__heading {
    margin-bottom: 20px;
}
.mti-live-post__date {
    display: block;
    margin-bottom: 8px;
    font-size: 20px;
    font-weight: 700;
}
.mti-live-post__title {
    margin-bottom: 40px;
    font-size: 35px;
    line-height: 1.5;
}
.mti-live-post__heading:has(.mti-live-post__sub-title) .mti-live-post__title {
    margin-bottom: 18px;
}
.mti-live-post__sub-title {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
}
.mti-live-post__category {
    padding-top: 25px;
    margin-bottom: 20px;
    border-top: 2px solid var(--color-primary);
}
.wp_social_bookmarking_light {
    display: flex;
    align-items: center;
    gap: 10px;
}
.wp_social_bookmarking_light div {
    float: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 23px !important;
    text-indent: 0 !important;
}
.wsbl_twitter {
    width: auto !important;
}
.wsbl_line a {
    display: inline-block;
}
.single-post {
    margin-bottom: 60px;
}
.single-post p {
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 2;
    word-break: break-all;
}
.single-post p strong {
    font-weight: 700;
}
.single-post p a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.single-post p a:focus-visible {
    opacity: 0.7;
}
.single-post p:has(img) {
    margin-bottom: 12px;
}
.single-post p:has(img.alignleft),
.single-post p:has(img.alignright) {
    margin-bottom: 28px;
}
.single-post .aligncenter {
    display: block;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
}
.single-post img.alignleft {
    display: inline;
    margin: 0 20px 20px 0;
    padding: 0;
}
.single-post img.alignright {
    display: inline;
    margin: 0 0 20px 20px;
    padding: 0;
}
.single-post__bottom {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.single-post__bottom .arrow-button {
    font-weight: 700;
}
.mti-live-related {
    padding-bottom: 20px;
}
.mti-live-related__title {
    margin-bottom: 30px;
}
.mti-live-ranking {
    width: calc(100% - 290px);
    padding-bottom: 30px;
}
.mti-live-ranking__title {
    margin-bottom: 14px;
    font-size: 20px;
    line-height: 1.5;
}
.mti-live-ranking__items {
    margin-bottom: 100px;
}
.mti-live-ranking__item {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
    align-items: center;
    margin-bottom: 14px;
}
.mti-live-ranking__item:last-child {
    margin-bottom: 0;
}
.mti-live-ranking__item span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 14px;
}
.mti-live-ranking__text a {
    font-size: 14px;
    line-height: 2;
    text-decoration: underline;
    transition: opacity 0.3s;
}
.mti-live-ranking__text a:focus-visible {
    opacity: 0.7;
}
.mti-live-ranking__button {
    display: flex;
    justify-content: flex-end;
}
.mti-live-ranking__button .arrow-button {
    font-weight: 700;
}
.mti-live-tag {
    margin-top: 40px;
}
.mti-live-tag a {
    transition: opacity 0.3s;
}
.mti-live-tag a:focus-visible {
    opacity: 0.7;
}
@media (hover: hover) and (pointer: fine) {

    .single-post p a:hover {
        opacity: 0.7;
    }
    .mti-live-ranking__text a:hover {
        opacity: 0.7;
    }
    .mti-live-tag a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1000px) {

    .mti-live-ranking {
        width: calc(100% - 250px);
    }

}
@media (max-width: 767px) {

    .mti-live-post__date {
        margin-bottom: 10px;
        font-size: 18px;
    }
    .mti-live-post__title {
        margin-bottom: 28px;
        font-size: 26px;
    }
    .mti-live-post__sub-title {
        font-size: 18px;
    }
    .mti-live-post__category {
        padding-top: 20px;
        margin-bottom: 18px;
    }
    .single-post {
        margin-bottom: 80px;
    }
    .single-post p:has(img) {
        margin-bottom: 4px;
    }
    .single-post__bottom .arrow-button {
        padding: 14px 28px 14px 30px;
    }
    .mti-live-related {
        padding-bottom: 50px;
    }
    .mti-live-related__title {
        margin-bottom: 40px;
    }
    .mti-live-ranking {
        width: 100%;
        padding-bottom: 0;
    }
    .mti-live-ranking__title {
        font-size: 18px;
    }
    .mti-live-ranking__items {
        margin-bottom: 60px;
    }
    .mti-live-ranking__button .arrow-button {
        padding: 14px 28px 14px 30px;
    }
    .mti-live-tag {
        margin-top: 0;
    }

}


/*---------------------------------

MTI Live（ルナルナ通信）

---------------------------------*/

.lunaluna-wrap__title {
    margin-bottom: 40px;
}
.lunaluna-wrap__sub-title {
    margin-bottom: 14px;
    font-size: 20px;
    line-height: 1.5;
}
.lunaluna-wrap__contents {
    margin-bottom: 70px;
}
.lunaluna-wrap__box {
    padding: 25px 20px;
    border: 2px solid var(--color-primary);
}
.lunaluna-wrap__box ul li {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 20px;
    margin-bottom: 7px;
    font-size: 14px;
    line-height: 2;
}
.lunaluna-wrap__box ul li:last-child {
    margin-bottom: 0;
}
.lunaluna-wrap__box ul li a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.lunaluna-wrap__box ul li a:focus-visible {
    opacity: 0.7;
}
.lunaluna-wrap__box ul li .luna_pdf {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    column-gap: 2px;
}
.lunaluna-wrap__box ul li .luna_pdf img {
    display: inline-block;
    margin-top: 6px;
}
.lunaluna-wrap__pagination .mti-live-pagination {
    padding-top: 40px;
}
@media (hover: hover) and (pointer: fine) {

    .lunaluna-wrap__box ul li a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 767px) {

    .lunaluna-wrap__title {
        margin-bottom: 30px;
    }
    .lunaluna-wrap__sub-title {
        font-size: 18px;
    }
    .lunaluna-wrap__contents {
        margin-bottom: 10px;
    }
    .lunaluna-wrap__box ul li {
        display: inline-block;
        margin-bottom: 10px;
    }
    .lunaluna-wrap__box ul li:has(.luna_pdf) a:first-child {
        margin-right: 8px;
    }

}


/*---------------------------------

サステナビリティ

---------------------------------*/

.sdgs-wrap {
    padding-bottom: 20px;
}
.sdgs-wrap p {
    font-size: 16px;
    line-height: 2;
}
.sdgs-top {
    padding-top: 95px;
    padding-bottom: 100px;
}
.sdgs-top__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 80px;
    max-width: 815px;
    margin-left: auto;
    margin-right: auto;
}
.sdgs-top__title {
    margin-bottom: 25px;
    font-size: 35px;
    line-height: 1.6;
}
.sdgs-top__heading .sdgs-top__sub-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.02em;
}
.sdgs-top__contents {
    margin-top: 80px;
}
.sdgs-top__contents > *:last-child {
    margin-bottom: 0;
}
.sdgs-top__text {
    margin-bottom: 30px;
    letter-spacing: -0.05em;
}
.sdgs-nav__title {
    display: grid;
    place-items: center;
    border: 1px solid;
    margin-bottom: 30px;
    padding: 30px;
    font-size: 35px;
    text-align: center;
}
.sdgs-nav .sdgs-nav__text {
    margin-bottom: 38px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}
.sdgs-nav__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 14px;
    margin-bottom: 80px;
}
.sdgs-nav__item {
    position: relative;
}
.sdgs-nav__item::before {
    position: absolute;
    inset: 0;
    translate: 0 1px;
    clip-path: polygon(100% 0, 100% calc(100% - 11px), calc(50% + 9px) calc(100% - 11px), 50% calc(100% + 1px), calc(50% - 9px) calc(100% - 11px), 0 calc(100% - 11px), 0 0);
    background-color: var(--color-primary);
    content: "";
}
.sdgs-nav__item-inner {
    position: relative;
    z-index: 1;
    height: 100%;
    clip-path: polygon(100% 0, 100% calc(100% - 11px), calc(50% + 8px) calc(100% - 11px), 50% 100%, calc(50% - 8px) calc(100% - 11px), 0 calc(100% - 11px), 0 0);
    padding: 2px;
    background-color: var(--bg-color-gray);
}
.sdgs-nav__link {
    display: grid;
    grid-template-columns: 30px 1fr;
    align-items: center;
    column-gap: 24px;
    height: inherit;
    padding: 12px 24px 20px 26px;
}
.sdgs-nav__link span {
    transition: opacity 0.3s;
}
.sdgs-nav__link span:nth-child(1) {
    font-family: var(--font-en02);
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}
.sdgs-nav__link span:nth-child(2) {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
}
.sdgs-nav__link:focus-visible span {
    opacity: 0.7;
}
.sdgs-block {
    margin-bottom: 80px;
}
.sdgs-block:has(.sdgs-detail02) {
    margin-bottom: 120px;
}
.sdgs-visual {
    padding-top: 90px;
    padding-bottom: 85px;
    background-color: var(--bg-color-gray);
}
.sdgs-visual__contents {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.sdgs-visual__title {
    display: grid;
    row-gap: 20px;
    margin-bottom: 22px;
    text-align: center;
}
.sdgs-visual__title span:nth-child(1) {
    font-family: var(--font-en02);
    font-size: 40px;
}
.sdgs-visual__title span:nth-child(2) {
    font-size: 25px;
    line-height: 1.8;
}
.sdgs-visual__text {
    letter-spacing: -0.06em;
}
.sdgs-goal {
    padding-top: 65px;
    padding-bottom: 100px;
}
.sdgs-goal__logo {
    margin-bottom: 60px;
    text-align: center;
}
.sdgs-goal__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}
.sdgs-detail:not(:last-child) {
    margin-bottom: 150px;
}
.sdgs-detail-heading {
    margin-bottom: 70px;
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, var(--bg-color-gray) 50%, var(--bg-color-gray) 100%);
}
.sdgs-detail-heading__inner {
    display: grid;
    grid-template-columns: 460px 1fr 180px;
    align-items: center;
    column-gap: 36px;
    position: relative;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: var(--bg-color-gray);
}
.sdgs-detail-heading__title {
    display: grid;
    place-items: center;
    min-height: 100px;
    padding: 20px;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 23px;
    line-height: 1.5;
    text-align: center;
}
.sdgs-detail-heading .sdgs-detail-heading__text {
    max-width: 355px;
    font-weight: 700;
    line-height: 1.5;
}
.sdgs-detail-heading__img {
    position: absolute;
    top: -58px;
    right: 0;
}
.sdgs-detail-contents *:last-child {
    margin-bottom: 0;
}
.sdgs-detail-contents__col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 60px;
}
.sdgs-detail-contents__title {
    margin-bottom: 18px;
}
.sdgs-detail-contents__title:not(:first-child) {
    margin-top: 30px;
}
.sdgs-detail-contents__text {
    margin-bottom: 20px;
}
.sdgs-detail-contents__text a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.sdgs-detail-contents__text a:focus-visible {
    opacity: 0.7;
}
.sdgs-detail-contents__box {
    padding: 30px 22px 30px 30px;
    border: 1px solid var(--color-primary);
}
.sdgs-detail-contents__box-title {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.5;
}
.sdgs-detail-contents__box .sdgs-detail-contents__box-text {
    letter-spacing: -0.05em;
}
.sdgs-detail-contents__button {
    margin-bottom: 36px;
}
.sdgs-detail-contents__button .arrow-button {
    column-gap: 34px;
    width: 100%;
    padding: 14px 26px 14px 50px;
}
.sdgs-detail02 {
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, var(--bg-color-gray) 50%, var(--bg-color-gray) 100%);
}
.sdgs-detail02__inner {
    position: relative;
    padding-left: 24px;
    background-color: var(--bg-color-gray);
}
.sdgs-detail02__contents {
    position: relative;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 48px;
    padding-bottom: 60px;
}
.sdgs-detail02__img {
    position: absolute;
    top: -90px;
    right: 0;
    width: 180px;
}
.sdgs-detail02__title {
    margin-bottom: 30px;
    font-size: 23px;
    line-height: 1.5;
}
.sdgs-detail02__border-title {
    margin-bottom: 18px;
}
.sdgs-detail02__button {
    position: absolute;
    right: 0;
    bottom: 0;
    translate: 0 50%;
}
@media (hover: hover) and (pointer: fine) {

    .sdgs-nav__link:hover span {
        opacity: 0.7;
    }
    .sdgs-detail-contents__text a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 1000px) {

    .sdgs-top__inner {
        column-gap: 60px;
    }
    .sdgs-nav__link {
        grid-template-columns: 24px 1fr;
        column-gap: 18px;
        padding: 12px 18px 20px;
    }
    .sdgs-nav__link span:nth-child(1) {
        font-size: 28px;
    }
    .sdgs-nav__link span:nth-child(2) {
        font-size: 14px;
    }
    .sdgs-visual__inner {
        column-gap: 60px;
    }
    .sdgs-goal {
        padding-bottom: 150px;
    }
    .sdgs-detail:not(:last-child) {
        margin-bottom: 180px;
    }
    .sdgs-detail-heading {
        background-image: unset;
        background-color: var(--bg-color-gray);
    }
    .sdgs-detail-heading__inner {
        grid-template-columns: 1fr;
        padding-top: 114px;
        padding-bottom: 40px;
    }
    .sdgs-detail-heading__img {
        top: 0;
        right: 50%;
        translate: 50% -50%;
    }
    .sdgs-detail-heading__title {
        min-height: 80px;
        margin-bottom: 28px;
    }
    .sdgs-detail-heading .sdgs-detail-heading__text {
        max-width: unset;
        text-align: center;
    }
    .sdgs-detail-contents__col {
        gap: 50px 60px;
    }

}
@media (max-width: 767px) {

    .sdgs-top {
        padding-top: 60px;
        padding-bottom: 55px;
    }
    .sdgs-top__inner {
        grid-template-columns: 1fr;
    }
    .sdgs-top__heading {
        text-align: center;
    }
    .sdgs-top__title {
        margin-bottom: 12px;
        font-size: 26px;
    }
    .sdgs-top__heading .sdgs-top__sub-title {
        font-size: 18px;
    }
    .sdgs-top__contents {
        margin-top: 30px;
    }
    .sdgs-nav__title {
        margin-bottom: 20px;
        padding: 10px;
        font-size: 26px;
        font-weight: 500;
    }
    .sdgs-nav .sdgs-nav__text {
        margin-bottom: 20px;
        font-size: 18px;
        line-height: 1.7;
    }
    .sdgs-nav__list {
        grid-template-columns: 1fr;
        row-gap: 20px;
        margin-bottom: 70px;
    }
    .sdgs-nav__item::before {
        translate: 0 2px;
    }
    .sdgs-nav__link {
        display: flex;
        justify-content: center;
        column-gap: 25px;
    }
    .sdgs-nav__link span:nth-child(1) {
        width: 30px;
        font-size: 30px;
    }
    .sdgs-nav__link span:nth-child(2) {
        width: 170px;
        font-size: 16px;
    }
    .sdgs-visual {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .sdgs-visual__inner {
        grid-template-columns: 1fr;
        row-gap: 35px;
    }
    .sdgs-visual__contents {
        padding-left: 18px;
        padding-right: 18px;
    }
    .sdgs-visual__title {
        row-gap: 25px;
        margin-bottom: 16px;
    }
    .sdgs-visual__title span:nth-child(1) {
        font-size: 40px;
    }
    .sdgs-visual__title span:nth-child(2) {
        font-size: 20px;
    }
    .sdgs-goal {
        padding-top: 48px;
        padding-bottom: 140px;
    }
    .sdgs-goal__logo {
        margin-bottom: 40px;
    }
    .sdgs-goal__items {
        gap: 15px;
    }
    .sdgs-goal__item {
        width: calc(25% - 15px * 3 / 4);
        max-width: 80px;
    }
    .sdgs-detail:not(:last-child) {
        margin-bottom: 130px;
    }
    .sdgs-detail-heading {
        margin-bottom: 40px;
    }
    .sdgs-detail-heading__inner {
        padding-top: 98px;
    }
    .sdgs-detail-heading__img {
        width: 150px;
    }
    .sdgs-detail-heading__title {
        min-height: unset;
        padding: 14px 8px;
        font-size: 22px;
    }
    .sdgs-detail-heading .sdgs-detail-heading__text {
        line-height: 1.7;
    }
    .sdgs-detail-contents__col {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .sdgs-detail-contents__title:not(:first-child) {
        margin-top: 0;
    }
    .sdgs-detail-contents__text {
        margin-bottom: 40px;
    }
    .sdgs-detail-contents__box {
        padding: 30px 18px;
    }
    .sdgs-detail-contents__button {
        margin-bottom: 40px;
    }
    .sdgs-detail-contents__button .arrow-button {
        column-gap: 30px;
        padding: 14px 30px 14px 40px;
    }
    .sdgs-detail02 {
        background-color: var(--bg-color-gray);
    }
    .sdgs-detail02__inner {
        padding-left: 0;
    }
    .sdgs-detail02__contents {
        display: grid;
        justify-items: center;
        padding-top: 98px;
        padding-bottom: 70px;
    }
    .sdgs-detail02__img {
        top: 0;
        right: 50%;
        translate: 50% -50%;
        width: 150px;
    }
    .sdgs-detail02__title {
        margin-bottom: 34px;
        font-size: 20px;
        text-align: center;
    }
    .sdgs-detail02__border-title {
        margin-bottom: 16px;
    }

    .sdgs-detail02__button {
        width: 100%;
    }

}


/*---------------------------------

社会貢献

---------------------------------*/

.social-contribution-wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
.social-contribution-block {
    margin-bottom: 80px;
}
.social-contribution-block:last-child {
    margin-bottom: 0;
}
.social-contribution-block__title {
    margin-bottom: 20px;
}
.social-contribution-block__sub-title {
    margin-top: 30px;
    margin-bottom: 4px;
}
.social-contribution-block__text {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 2;
}
.social-contribution-block__text:last-child {
    margin-bottom: 0;
}
.social-contribution-block__img .alignright {
    margin-left: 15px;
    margin-bottom: 15px;
}
.social-contribution-block:nth-child(2) .social-contribution-block__img .alignright {
    margin-top: 25px;
    margin-bottom: 20px;
}
@media (max-width: 767px) {

    .social-contribution-wrap {
        padding-top: 60px;
        padding-bottom: 60px;
    }

}


/*---------------------------------

沿革

---------------------------------*/

.history-wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
.history-table table {
    width: 100%;
    margin-bottom: 20px;
}
.history-table table thead th {
    padding: 18px 20px;
    font-weight: 700;
}
.history-table table thead th:nth-child(1) {
    width: 200px;
}
.history-table table thead th:nth-child(2) {
    width: calc(100% - 200px);
}
.history-table table tbody th,
.history-table table tbody td {
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 14px 20px;
    font-size: 16px;
    line-height: 2;
}
.history-table table tbody th {
    background-color: var(--bg-color-gray02);
    font-weight: 700;
    vertical-align: middle;
}
.history-table table tbody td {
    width: calc(100% - 200px);
}
.history-table table tbody tr:first-child th,
.history-table table tbody tr:first-child td {
    border-top-width: 2px;
}
.history-text {
    font-size: 16px;
    line-height: 2;
}
@media (max-width: 767px) {

    .history-wrap {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .history-table table thead th {
        padding: 14px;
    }
    .history-table table thead th:nth-child(1) {
        width: 125px;
    }
    .history-table table thead th:nth-child(2) {
        width: calc(100% - 125px);
    }
    .history-table table tbody th,
    .history-table table tbody td {
        padding: 14px;
    }
    .history-table table tbody th {
        white-space: nowrap;
    }

}


/*---------------------------------

アクセス

---------------------------------*/

.access-wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
.access-block__title {
    margin-bottom: 20px;
}
.access-block__text {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 2;
}
.access-block__map {
    height: 570px;
    margin-bottom: 30px;
}
.access-block__map iframe {
    width: 100%;
    height: 100%;
}
@media (max-width: 767px) {

    .access-wrap {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .access-block__map {
        height: auto;
        aspect-ratio: 3 / 2;
    }

}


/*---------------------------------

多様な働き方

---------------------------------*/

.work-styles-wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
.work-styles-img {
    margin-bottom: 60px;
}
.work-styles-button {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 60px;
}
@media (max-width: 1000px) {

    .work-styles-button {
        gap: 40px;
    }

}
@media (max-width: 767px) {

    .work-styles-wrap {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .work-styles-img {
        margin-bottom: 40px;
    }
    .work-styles-button {
        grid-template-columns: 1fr;
        gap: 24px;
    }

}


/*---------------------------------

ワークライフバランスへの取り組み

---------------------------------*/

.work-life-balance-wrap {
    padding-top: 20px;
    padding-bottom: 100px;
}
.low-page-contents:has(.nav-wrap) .work-life-balance-wrap {
    padding-top: 100px;
}
.work-life-balance-block {
    margin-bottom: 100px;
}
.work-life-balance-block:last-child {
    margin-bottom: 0;
}
.work-life-balance-block__title {
    margin-bottom: 30px;
}
.work-life-balance-block__sub-title {
    margin-top: 60px;
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}
.work-life-balance-block__text {
    font-size: 16px;
    line-height: 2;
}
.work-life-balance-block__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 60px;
}
.work-life-balance-block__items.col3 {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}
.work-life-balance-block__item {
    width: 210px;
}
.work-life-balance-card {
    display: grid;
    grid-template-rows: auto 1fr;
}
.work-life-balance-card__img {
    aspect-ratio: 210 / 140;
}
.work-life-balance-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.work-life-balance-card__body {
    padding: 14px 14px 20px;
    background-color: var(--bg-color-gray);
}
.work-life-balance-card__title {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    text-align: center;
}
.work-life-balance-card__text {
    font-size: 16px;
    line-height: 2;
}
.work-life-balance-card__text span {
    font-size: 12px;
}
.work-life-balance-block__img-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 36px;
    margin-top: 30px;
    margin-bottom: 30px;
}
.work-life-balance-block__img-title {
    margin-bottom: 10px;
}
@media (max-width: 1000px) {

    .work-life-balance-block__items {
        gap: 40px 36px;
    }

}
@media (max-width: 767px) {

    .work-life-balance-wrap {
        padding-top: 0;
        padding-bottom: 60px;
    }
    .low-page-contents:has(.nav-wrap) .work-life-balance-wrap {
        padding-top: 60px;
    }
    .work-life-balance-block {
        margin-bottom: 80px;
    }
    .work-life-balance-block__title {
        margin-bottom: 20px;
    }
    .work-life-balance-block__sub-title {
        margin-top: 40px;
        margin-bottom: 20px;
        font-size: 18px;
    }
    .work-life-balance-block__items {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .work-life-balance-block__item {
        width: 100%;
    }
    .work-life-balance-block__img-wrap {
        grid-template-columns: 1fr;
    }
    .work-life-balance-block__img img {
        width: 100%;
    }

}


/*---------------------------------

ダイバーシティの推進

---------------------------------*/

.diversity-wrap {
    padding-top: 20px;
    padding-bottom: 100px;
}
.low-page-contents:has(.nav-wrap) .diversity-wrap {
    padding-top: 100px;
}
.diversity-block {
    margin-bottom: 100px;
}
.diversity-block:last-child {
    margin-bottom: 0;
}
.diversity-block__title {
    margin-bottom: 20px;
}
.diversity-block__text {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 2;
}
.diversity-block__text a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.diversity-block__text a:focus-visible {
    opacity: 0.7;
}
.diversity-block__sub-title {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 2;
}
.diversity-block__box {
    border: 2px solid var(--color-primary);
    padding: 40px;
    margin-bottom: 20px;
}
.diversity-block__box-list {
    display: grid;
    row-gap: 30px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.diversity-block__box-item {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 50px;
    align-items: center;
}
.diversity-block__box-item-title {
    font-size: 16px;
    line-height: 2;
}
.diversity-block__box-item:nth-child(1) .diversity-block__box-item-title,
.diversity-block__box-item:nth-child(3) .diversity-block__box-item-title {
    margin-top: 12px;
}
.diversity-block__box-item:nth-child(2) .diversity-block__box-item-title {
    margin-top: 13px;
}
.diversity-block__box-item-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}
.diversity-block__box-item-text span {
    font-size: 32px;
    line-height: 1.4;
}
.diversity-block__box-item-sub-text {
    font-size: 16px;
    line-height: 2;
}
.diversity-block__img .alignright {
    margin-left: 15px;
    margin-bottom: 15px;
}
.diversity-block:nth-child(3) .diversity-block__text {
    margin-bottom: 60px;
}
.diversity-block__media {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
}
@media (hover: hover) and (pointer: fine) {

    .diversity-block__text a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 767px) {

    .diversity-wrap {
        padding-top: 0;
        padding-bottom: 60px;
    }
    .low-page-contents:has(.nav-wrap) .diversity-wrap {
        padding-top: 60px;
    }
    .diversity-block {
        margin-bottom: 80px;
    }
    .diversity-block__box {
        padding: 40px 20px;
    }
    .diversity-block__box-list {
        row-gap: 40px;
    }
    .diversity-block__box-item {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }
    .diversity-block__box-item-title {
        text-align: center;
    }
    .diversity-block__box-item:nth-child(1) .diversity-block__box-item-title,
    .diversity-block__box-item:nth-child(2) .diversity-block__box-item-title,
    .diversity-block__box-item:nth-child(3) .diversity-block__box-item-title {
        margin-top: 0;
    }
    .diversity-block__box-item-text {
        text-align: center;
    }
    .diversity-block:nth-child(3) .diversity-block__text {
        margin-bottom: 40px;
    }
    .diversity-block__media {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .diversity-block__media .diversity-block__img img {
        width: 100%;
    }

}


/*---------------------------------

テレワークを活用した多様な働き方

---------------------------------*/

.telework-wrap {
    padding-top: 20px;
    padding-bottom: 100px;
}
.low-page-contents:has(.nav-wrap) .telework-wrap {
    padding-top: 100px;
}
.telework-block {
    margin-bottom: 100px;
}
.telework-block:last-child {
    margin-bottom: 0;
}
.telework-block__title {
    margin-bottom: 20px;
}
.telework-block__sub-title {
    font-size: 16px;
    line-height: 2;
}
.telework-block__text {
    font-size: 16px;
    line-height: 2;
}
.telework-block__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    max-width: 830px;
    margin: 30px auto;
}
.telework-block__item a {
    display: block;
    transition: opacity 0.3s;
}
.telework-block__item a:focus-visible {
    opacity: 0.7;
}
.telework-block__item-img {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 20px;
}
.telework-block__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale 0.3s;
}
.telework-block__item a:focus-visible img {
    scale: 1.1;
}
.telework-block__item-text {
    font-size: 14px;
    line-height: 1.7;
}
@media (hover: hover) and (pointer: fine) {

    .telework-block__item a:hover {
        opacity: 0.7;
    }
    .telework-block__item a:hover img {
        scale: 1.1;
    }

}
@media (max-width: 767px) {

    .telework-wrap {
        padding-top: 0;
        padding-bottom: 60px;
    }
    .low-page-contents:has(.nav-wrap) .telework-wrap {
        padding-top: 60px;
    }
    .telework-block {
        margin-bottom: 80px;
    }
    .telework-block__items {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

}


/*---------------------------------

テキストベース（サンクス系ページ）

---------------------------------*/

.text-base-wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
.low-page-contents:not(:has(.nav-wrap)) .text-base-wrap {
    padding-top: 0;
}
.text-base-block {
    margin-bottom: 80px;
}
.text-base-block:last-child {
    margin-bottom: 0;
}
.text-base-block *:last-child {
    margin-bottom: 0;
}
.text-base-block__title {
    margin-bottom: 20px;
}
.text-base-block__sub-title {
    margin-top: 30px;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__title + .text-base-block__sub-title {
    margin-top: 10px;
}
.text-base-block__intro-text {
    margin-bottom: 80px;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__text {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__text.text-base-block__text--right {
    text-align: right;
}
.text-base-block__text a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.text-base-block__text a:focus-visible {
    opacity: 0.7;
}
.text-base-block__text a .external-link {
    display: inline-block;
    translate: 0 -7px;
    margin-left: 0.7em;
}
.text-base-block__text strong {
    font-weight: 700;
}
.text-base-block__annotation {
    margin-bottom: 20px;
    font-size: 12px;
    line-height: 2.2;
}
.text-base-block__annotation strong {
    font-weight: 700;
}
.text-base-block__table {
    margin-bottom: 12px;
}
.text-base-block__table table {
    width: 100%;
}
.text-base-block__table table th,
.text-base-block__table table td {
    padding: 20px;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
}
.text-base-block__table.text-base-block__table--sm table th,
.text-base-block__table.text-base-block__table--sm table td {
    padding: 14px 20px;
}
.text-base-block__table table th {
    width: 200px;
    background-color: var(--bg-color-gray02);
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    vertical-align: middle;
}
.text-base-block__table table tr:first-child th,
.text-base-block__table table tr:first-child td {
    border-top-width: 2px;
}
.text-base-block__table table td {
    width: calc(100% - 200px);
    font-size: 14px;
    line-height: 2.2;
}
.text-base-block__table table td:nth-of-type(2):has(.pdf) {
    width: 104px;
    vertical-align: middle;
}
.text-base-block__table table:has(td:nth-of-type(2)) td:nth-of-type(1) {
    width: calc(100% - 304px);
}
.text-base-block__table table td .pdf {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    column-gap: 3px;
    text-decoration: underline;
    transition: opacity 0.3s;
}
.text-base-block__table table td .pdf:focus-visible {
    opacity: 0.7;
}
.text-base-block__table.phr-service table th {
    width: 220px;
}
.text-base-block__table.phr-service table td {
    width: calc(100% - 220px);
}
.text-base-block__img {
    margin-top: 30px;
    margin-top: 30px;
    margin-bottom: 20px;
    text-align: center;
}
.text-base-block__table table td .pdf img {
    display: inline-block;
    margin-top: 7px;
}
.text-base-block__table.text-base-block__table--text-lg table td {
    font-size: 16px;
}
.text-base-block__img figcaption {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__list {
    margin-bottom: 30px;
}
.text-base-block__list-item {
    margin-bottom: 20px;
}
.text-base-block__list-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}
.text-base-block__list-contents {
    padding-left: 1.2em;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__indent-list {
    margin-bottom: 20px;
}
.text-base-block__indent-list li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    font-size: 16px;
    line-height: 2;
}
.text-base-block__indent-list.text-base-block__indent-list--alphabet li {
    text-indent: unset;
}
.text-base-block__indent-list.text-base-block__indent-list--alphabet li span {
    display: grid;
    grid-template-columns: 24px 1fr;
}
.text-base-block__indent-list.text-base-block__indent-list--alphabet li span span {
    white-space: nowrap;
}
.text-base-block__box {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 10px 24px;
    border: 2px solid var(--color-primary);
}
.text-base-block__box-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 30px;
    padding: 10px;
}
.text-base-block__box-privacy {
    width: 90px;
}
.text-base-block__box-privacy a {
    transition: opacity 0.3s;
}
.text-base-block__box-privacy a:focus-visible {
    opacity: 0.7;
}
.text-base-block__box-privacy span {
    display: inline-block;
    margin-top: 10px;
    font-size: 10px;
    line-height: 1.4;
}
.text-base-block__box.text-base-block__box--lg {
    padding: 30px 24px;
}
.text-base-block__box.text-base-block__box--lg .text-base-block__text {
    font-size: 18px;
}
.text-base-block__button {
    display: flex;
    justify-content: center;
}
.text-base-block__button .arrow-button {
    min-width: 350px;
}
@media (hover: hover) and (pointer: fine) {

    .text-base-block__text a:hover {
        opacity: 0.7;
    }
    .text-base-block__table table td .pdf:hover {
        opacity: 0.7;
    }
    .text-base-block__box-privacy a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 767px) {

    .text-base-wrap {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .text-base-block {
        margin-bottom: 60px;
    }
    .text-base-block__table table th,
    .text-base-block__table table td {
        padding: 14px;
    }
    .text-base-block__table table th {
        width: 120px;
        font-size: 14px;
        line-height: 2.2;
    }
    .text-base-block__table table td {
        width: calc(100% - 120px);
    }
    .text-base-block__table table td:nth-of-type(2):has(.pdf) {
        width: 74px;
        padding: 14px 10px 14px 0;
    }
    .text-base-block__table table:has(td:nth-of-type(2)) td:nth-of-type(1) {
        width: calc(100% - 194px);
        padding-right: 10px;
    }
    .text-base-block__table.phr-service table th {
        width: 195px;
    }
    .text-base-block__table.phr-service table td {
        width: calc(100% - 195px);
    }
    .text-base-block__table.iso-iec table th {
        width: 135px;
    }
    .text-base-block__table.iso-iec table td {
        width: calc(100% - 135px);
    }
    .text-base-block__table.text-base-block__table--text-lg table td {
        font-size: 14px;
    }
    .text-base-block__box-inner {
        gap: 20px;
        padding: 5px;
    }
    .text-base-block__box-privacy {
        width: 70px;
    }
    .text-base-block__box.text-base-block__box--lg {
        padding: 16px 24px;
    }
    .text-base-block__box.text-base-block__box--lg .text-base-block__text {
        font-size: 16px;
    }
    .text-base-block__button .arrow-button {
        min-width: unset;
    }

}


/*---------------------------------

母子手帳アプリ『母子モ』の導入を
検討している自治体の方へ

---------------------------------*/

.boshimo-wrap {
    padding-bottom: 100px;
}
.boshimo-wrap *:first-child {
    margin-top: 0;
}
.boshimo-wrap *:last-child {
    margin-bottom: 0;
}
.boshimo-box {
    margin-top: 80px;
    margin-bottom: 80px;
}
.boshimo-box__inner {
    padding: 54px 40px 60px;
    border: 2px solid var(--color-primary);
    text-align: center;
}
.boshimo-box__title {
    margin-bottom: 30px;
    font-size: 25px;
    line-height: 1.5;
}
.boshimo-box__text {
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.8;
}
.boshimo-box__text strong {
    font-weight: 700;
}
.boshimo-box__button {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}
.boshimo-box__button .arrow-button {
    min-width: 350px;
    padding: 14px 28px 14px 30px;
    text-align: left;
}
.boshimo-box__annotation {
    font-size: 14px;
    line-height: 1.6;
}
.boshimo-block {
    margin-bottom: 80px;
}
.boshimo-block__title {
    margin-bottom: 20px;
}
.boshimo-block__sub-title {
    margin-top: 50px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid;
    font-size: 16px;
    line-height: 2;
}
.boshimo-block__media {
    display: grid;
    grid-template-columns: 1fr 39%;
    column-gap: 40px;
}
.boshimo-block__media .boshimo-block__img img {
    width: 100%;
}
.boshimo-block__text {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 2;
}
.boshimo-block__text strong {
    font-weight: 700;
}
.boshimo-block__text a {
    text-decoration: underline;
    transition: opacity 0.3s;
}
.boshimo-block__text a:focus-visible {
    opacity: 0.7;
}
.boshimo-block__text a.pdf {
    display: inline-grid;
    grid-template-columns: auto 1fr;
    column-gap: 7px;
    text-decoration: underline;
}
.boshimo-block__text a.pdf img {
    display: inline-block;
    margin-top: 8px;
}
.boshimo-block__box-text {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 20px;
    background-color: var(--bg-color-gray03);
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    text-align: center;
}
.boshimo-block__annotation {
    font-size: 14px;
    line-height: 2;
}
.boshimo-block__movie {
    width: 100%;
    max-width: 800px;
    aspect-ratio: 800 / 450;
    margin: 30px auto;
}
.boshimo-block__movie iframe {
    width: 100%;
    height: 100%;
}
.boshimo-block__img.boshimo-jirei {
    margin-top: 10px;
    margin-bottom: 50px;
    text-align: center;
}
.boshimo-block__img.boshimo-jirei img {
    width: 100%;
    max-width: 870px;
}
.boshimo-block__table table {
    width: 100%;
}
.boshimo-block__table table th,
.boshimo-block__table table td {
    border: 1px solid var(--color-primary);
    padding: 10px 15px;
    font-size: 14px;
    line-height: 1.7;
}
.boshimo-block__table table th {
    background-color: var(--bg-color-gray);
    font-weight: 700;
    vertical-align: middle;
}
.boshimo-block__back-number table {
    width: 100%;
}
.boshimo-block__back-number table th,
.boshimo-block__back-number table td {
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
}
.boshimo-block__back-number table th {
    width: 240px;
    padding: 14px 20px;
    background-color: var(--bg-color-gray02);
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    vertical-align: middle;
}
.boshimo-block__back-number table tr:first-child th,
.boshimo-block__back-number table tr:first-child td {
    border-top-width: 2px;
}
.boshimo-block__back-number table td {
    width: calc(100% - 240px);
    padding: 14px 30px;
    font-size: 14px;
    line-height: 2.2;
}
.boshimo-block__back-number table td .pdf {
    display: inline-grid;
    grid-template-columns: 1fr auto;
    column-gap: 5px;
    text-decoration: underline;
    transition: opacity 0.3s;
}
.boshimo-block__back-number table td .pdf:focus-visible {
    opacity: 0.7;
}
.boshimo-block__back-number table td .pdf img {
    display: inline-block;
    margin-top: 7px;
}
.boshimo-block__graph {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-bottom: 20px;
}
.boshimo-block__graph-title {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 2;
}
.boshimo-block__graph-img {
    margin-bottom: 10px;
}
.boshimo-block__graph-text {
    padding: 16px 20px;
    background-color: var(--bg-color-gray03);
    font-size: 16px;
    line-height: 2;
}
.boshimo-block__graph-text strong {
    font-weight: 700;
}
.boshimo-service {
    text-align: center;
}
.boshimo-service__img {
    margin-bottom: 30px;
}
.boshimo-service__img img {
    width: 360px;
}
.boshimo-news li a {
    display: inline-grid;
    grid-template-columns: 100px 1fr;
    column-gap: 20px;
    font-size: 16px;
    line-height: 2;
}
.boshimo-news li a span {
    font-weight: 700;
}
.boshimo-news li a p {
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.3s;
}
.boshimo-news li a:focus-visible p {
    text-decoration-color: currentColor;
}
@media (hover: hover) and (pointer: fine) {

    .boshimo-block__text a:hover {
        opacity: 0.7;
    }
    .boshimo-news li a:hover p {
        text-decoration-color: currentColor;
    }

}
@media (max-width: 767px) {

    .boshimo-wrap {
        padding-bottom: 60px;
    }
    .boshimo-block {
        margin-bottom: 60px;
    }
    .boshimo-box {
        margin-top: 60px;
        margin-bottom: 60px;
    }
    .boshimo-box__inner {
        padding: 40px 24px;
    }
    .boshimo-box__title {
        margin-bottom: 20px;
        font-size: 22px;
    }
    .boshimo-box__text {
        font-size: 16px;
    }
    .boshimo-box__button .arrow-button {
        min-width: unset;
        padding: 14px 28px 14px 20px;
    }
    .boshimo-block__media {
        display: flex;
        flex-direction: column-reverse;
        row-gap: 14px;
    }
    .boshimo-block__sub-title {
        margin-top: 40px;
        line-height: 1.8;
    }
    .boshimo-block__text {
        margin-bottom: 20px;
    }
    .boshimo-block__movie {
        margin: 20px auto;
    }
    .boshimo-block__table table tr:nth-child(n+2) th {
        width: 31px !important;
        padding: 10px 8px;
        text-align: center;
    }
    .boshimo-block__table table tr:first-child th:first-child {
        width: 62px !important;
    }
    .boshimo-block__table table tr:first-child th:last-child {
        width: calc(100% - 62px) !important;
    }
    .boshimo-block__table table tr:nth-child(n+2) td {
        width: calc(100% - 62px) !important;
    }
    .boshimo-block__back-number table th {
        width: 50%;
        font-size: 14px;
    }
    .boshimo-block__back-number table td {
        width: 50%;
        padding: 14px 20px;
    }
    .boshimo-block__img.boshimo-jirei {
        margin-bottom: 30px;
    }
    .boshimo-block__graph {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .boshimo-service__img {
        margin-bottom: 20px;
    }
    .boshimo-service__img img {
        width: 240px;
    }
    .boshimo-news li {
        margin-bottom: 10px;
    }
    .boshimo-news li a {
        grid-template-columns: 1fr;
    }

}


/*---------------------------------

事業サービス一覧

---------------------------------*/

.anchor-wrap__items {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 50px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
}
.anchor-wrap__item a {
    display: inline-flex;
    align-items: center;
    column-gap: 20px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
    transition: opacity 0.3s;
}
.anchor-wrap__item a::before {
    display: inline-block;
    width: 15px;
    height: 15px;
    rotate: -45deg;
    translate: 0 -4px;
    border-bottom: 3px solid;
    border-left: 3px solid;
    content: "";
}
.anchor-wrap__item a:focus-visible {
    opacity: 0.7;
}
@media (hover: hover) and (pointer: fine) {

    .anchor-wrap__item a:hover {
        opacity: 0.7;
    }

}

.service-wrap {
    padding-bottom: 100px;
}
.service-wrap *:last-child {
    margin-bottom: 0;
}
.service-block {
    padding-top: 90px;
}
.service-block__title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 20px;
    margin-bottom: 20px;
    font-size: 35px;
    line-height: 1.5;
}
.service-block__title span {
    display: inline-block;
    translate: 0 -4px;
    font-family: var(--font-en02);
    font-size: 20px;
}
.service-block__contents {
    padding: 50px 50px 80px;
    background-color: var(--bg-color-gray);
}
.service-block__content {
    margin-bottom: 60px;
}
.service-block__content-title {
    margin-bottom: 40px;
    text-align: center;
}
.service-block__content-title .border-title03 {
    font-size: 24px;
}
.service-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 22px;
}
.service-card {
    display: flex;
    flex-direction: column;
    padding: 25px 30px 20px;
    border-bottom: 2px solid var(--color-primary);
    background-color: var(--color-white);
    text-align: center;
}
.service-card__title {
    display: grid;
    place-items: center;
    min-height: 48px;
    min-height: 2lh;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.5;
}
.service-card__img {
    max-width: 220px;
    aspect-ratio: 220 / 70;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 14px;
}
.service-card__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.service-card__text {
    flex: 1;
    display: grid;
    place-items: center;
    min-height: 48px;
    min-height: 2lh;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.7;
}
.service-card__button {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: auto;
}
.service-card__button a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    column-gap: 20px;
    width: 100px;
    height: 30px;
    padding: 6px 8px 6px 14px;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
    font-size: 12px;
    font-weight: 700;
    transition: background-color 0.3s, color 0.3s;
}
.service-card__button a::after {
    flex-shrink: 0;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: var(--color-white);
    mask-image: url(../images/common/icon_external-link.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transition: background-color 0.3s;
    content: "";
}
.service-card__button a:focus-visible {
    background-color: var(--color-white);
    color: var(--color-primary);
}
.service-card__button a:focus-visible::after {
    background-color: var(--color-primary);
}
@media (hover: hover) and (pointer: fine) {

    .service-card__button a:hover {
        background-color: var(--color-white);
        color: var(--color-primary);
    }
    .service-card__button a:hover::after {
        background-color: var(--color-primary);
    }

}
@media (max-width: 1100px) {

    .service-card {
        padding: 25px 25px 20px;
    }
    .service-card__button {
        gap: 15px;
    }

}
@media (max-width: 1000px) {

    .service-cards {
        grid-template-columns: repeat(2, 1fr);
    }

}
@media (max-width: 767px) {

    .anchor-wrap__items {
        flex-direction: column;
        padding-bottom: 25px;
    }
    .anchor-wrap__item a {
        font-size: 16px;
    }
    .service-wrap {
        padding-bottom: 60px;
    }
    .service-block {
        padding-top: 70px;
    }
    .service-block__title {
        font-size: 26px;
    }
    .service-block__title span {
        font-size: 14px;
    }
    .service-block__contents {
        padding: 50px 28px;
        margin-left: -24px;
        margin-right: -24px;
    }
    .service-block__content {
        margin-bottom: 50px;
    }
    .service-block__content-title {
        margin-bottom: 30px;
    }
    .service-block__content-title .border-title03 {
        font-size: 20px;
    }
    .service-cards {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}


/*---------------------------------

サイト内検索結果

---------------------------------*/

.search-wrap {
    padding-bottom: 100px;
}
.search-wrap *:last-child {
    margin-bottom: 0;
}
.search-wrap__text {
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 2px solid;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}
.search-wrap__list {
    margin-bottom: 40px;
}
.search-wrap__list li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 2;
}
.search-wrap__list li time {
    font-weight: 700;
}
.search-wrap__list li p {
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.3s;
}
.search-wrap__list li a:focus-visible p {
    text-decoration-color: currentColor;
}
@media (hover: hover) and (pointer: fine) {

    .search-wrap__list li a:hover p {
        text-decoration-color: currentColor;
    }

}
@media (max-width: 767px) {

    .search-wrap {
        padding-bottom: 60px;
    }
    .search-wrap__text {
        margin-bottom: 40px;
    }
    .search-wrap__list li {
        margin-bottom: 40px;
    }

}


/*---------------------------------

エムティーアイの健康経営の取り組み

---------------------------------*/

.health-management-wrap {
    padding-top: 20px;
    padding-bottom: 100px;
}
.low-page-contents:has(.nav-wrap) .health-management-wrap {
    padding-top: 100px;
}
.health-management-wrap *:last-child {
    margin-bottom: 0;
}
.health-management-block__title {
    margin-bottom: 20px;
}
.health-management-block__sub-title {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.7;
}
.health-management-block__text {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 2;
}
.health-management-block__text.health-management-block__text--right {
    text-align: right;
}
.health-management-block__sub-title + .health-management-block__text {
    margin-top: -10px;
}
.health-management-block__annotation {
    font-size: 14px;
    line-height: 2.2;
}
.health-management-block__box {
    margin-bottom: 40px;
    border: 2px solid var(--color-primary);
    padding: 40px 32px;
}
.health-management-block__box *:first-child {
    margin-top: 0;
}
.health-management-block__sub-title + .health-management-block__box {
    margin-top: 20px;
}
.health-management-block__box02 {
    padding: 30px 32px;
}
.health-management-block__box02 .health-management-block__sub-title {
    font-size: 16px;
}
.health-management-block__img {
    margin-bottom: 40px;
    text-align: center;
}
.health-management-block__img.kenkohakusho {
    margin-top: 40px;
}
.health-management-block__img.performance {
    margin-top: 30px;
}
.health-management-block__img + .health-management-block__annotation {
    margin-top: -30px;
}
.health-management-block__img a {
    transition: opacity 0.3s;
}
.health-management-block__img a:focus-visible {
    opacity: 0.7;
}
.health-management-block__table {
    margin-bottom: 40px;
}
.health-management-block__table table {
    width: 100%;
}
.health-management-block__table table th,
.health-management-block__table table td {
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: 20px;
    font-size: 16px;
    line-height: 2;
    vertical-align: middle;
}
.health-management-block__table table th {
    font-weight: 700;
}
.health-management-block__table table thead th {
    border-top: none;
    border-bottom-width: 2px;
    padding-bottom: 15px;
    line-height: 1.5;
}
.health-management-block__table table thead th:nth-child(n+2) {
    text-align: center;
}
.health-management-block__table table tbody th {
    background-color: var(--bg-color-gray02);
}
.health-management-table01 table th {
    width: 200px;
}
.health-management-table01 table td {
    font-size: 14px;
}
.health-management-table01 table td ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 30px;
}
.health-management-table02 thead th:first-child {
    width: 200px;
}
.health-management-table02 table td {
    text-align: center;
}
.health-management-block__table + .health-management-block__annotation {
    margin-top: -30px;
}
.health-management-table03 table thead th:first-child {
    width: 300px;
}
.health-management-table03 table tbody th p:nth-child(n+2) {
    font-size: 14px;
    font-weight: 500;
}
.health-management-table03 table td {
    font-size: 14px;
    line-height: 2.2;
}
.health-management-table03 table td:nth-of-type(1),
.health-management-table03 table td:nth-of-type(2) {
    width: 22%;
}
.health-management-table03 table td p {
    margin-bottom: 30px;
}
.health-management-table04 table thead th:first-child {
    width: 380px;
}
.health-management-table04 table td {
    text-align: center;
}
@media (hover: hover) and (pointer: fine) {

    .health-management-block__img a:hover {
        opacity: 0.7;
    }

}
@media (max-width: 900px) {

    .health-management-table03 table thead th:first-child {
        width: 32%;
    }
    .health-management-table03 table td:nth-of-type(1),
    .health-management-table03 table td:nth-of-type(2) {
        width: 20%;
    }
    .health-management-table04 table thead th:first-child {
        width: 22%;
    }

}
@media (max-width: 767px) {

    .health-management-wrap {
        padding-top: 0;
        padding-bottom: 60px;
    }
    .low-page-contents:has(.nav-wrap) .health-management-wrap {
        padding-top: 60px;
    }
    .health-management-block__box {
        padding: 30px 24px;
    }
    .health-management-block__sub-title {
        font-size: 16px;
    }
    .health-management-block__table {
        overflow: auto;
        padding-bottom: 10px;
    }
    .health-management-block__table::-webkit-scrollbar {
        height: 6px;
    }
    .health-management-block__table::-webkit-scrollbar-thumb {
        border-radius: 9999px;
        background-color: var(--color-primary);
    }
    .health-management-block__table::-webkit-scrollbar-track {
        background: none;
    }
    .health-management-block__table table th,
    .health-management-block__table table td {
        padding: 14px;
    }
    .health-management-table01 table th {
        width: 130px;
    }
    .health-management-table01 table td ul {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .health-management-table02 table {
        width: 850px;
    }
    .health-management-table02 thead th:first-child {
        width: 180px;
    }
    .health-management-table03 table {
        width: 800px;
    }
    .health-management-table03 table thead th:first-child {
        width: 220px;
    }
    .health-management-table04 table {
        width: 800px;
    }
    .health-management-table04 table thead th:first-child {
        width: 200px;
    }

}


/*---------------------------------

404ページ

---------------------------------*/

.not-found-wrap {
    padding-bottom: 100px;
}
.not-found-wrap__text {
    margin-bottom: 30px;
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}
.not-found-wrap__button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 60px;
}
.not-found-wrap__button .arrow-button {
    width: 100%;
    max-width: 480px;
    font-weight: 700;
}
@media (max-width: 767px) {

    .not-found-wrap {
        padding-bottom: 60px;
    }
    .not-found-wrap__button {
        margin-top: 50px;
    }

}
