html {
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    word-break: normal;
    tab-size: 4
}
*,
:after,
:before {
    box-sizing: inherit;
    background-repeat: no-repeat
}
:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}
* {
    margin: 0;
    padding: 0
}
main {
    display: block
}
small {
    font-size: 80%
}
a {
    background-color: initial
}
a:active,
a:hover {
    outline-width: 0
}
button,
select {
    font: inherit
}
button {
    overflow: visible
}
button,
select {
    text-transform: none
}
[role=button],
button {
    color: inherit;
    cursor: pointer
}
button::-moz-focus-inner {
    padding: 0;
    border-style: none
}
button:-moz-focusring {
    outline: 1px dotted ButtonText
}
button {
    -webkit-appearance: button
}
button,
select {
    border-style: none;
    background-color: initial
}
select {
    -moz-appearance: none;
    -webkit-appearance: none
}
select::-ms-expand {
    display: none
}
select::-ms-value {
    color: currentColor
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    color: inherit;
    font: inherit
}
img {
    border-style: none
}
:root {
    --radius: 8px;
    --mgXl: 128px;
    --mgLg: 96px;
    --mg: 80px;
    --mgSm: 56px;
    --mgXs: 48px
}
*,
:after,
:before {
    box-sizing: border-box
}
::selection {
    background-color: #87ceeb
}
html {
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-size: 62.5%
}
body {
    color: #232323;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.75;
    font-family: Noto Sans JP, sans-serif
}
body,
h2,
h3 {
    letter-spacing: .048em
}
h2,
h3 {
    font-weight: 700;
    line-height: 1.5
}
a {
    color: #232323;
    text-decoration: none;
    transition: .3s ease
}
ul {
    list-style: none;
    list-style-position: inside
}
img,
svg {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}
picture img {
    width: 100%;
    height: auto
}
address {
    font-style: normal
}
iframe {
    vertical-align: bottom
}
.l-body {
    position: relative
}
.l-backlayer {
    visibility: hidden;
    z-index: 800;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(16, 16, 16, 0), #101010 53.34%, #101010);
    opacity: 0;
    transition: visibility .5s ease, opacity .5s ease
}
.l-inner {
    padding-inline: 24px
}
.js-tab-btn.is-active {
    pointer-events: none
}
.js-tab-item {
    display: none;
    animation: fadeIn .5s ease
}
@keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}
.js-tab-item.is-active {
    display: block
}
.js-scroll {
    transform: translateY(30px);
    opacity: 0;
    transition: opacity 1s ease, transform 1s ease
}
.js-scroll.is-show {
    transform: translateY(0);
    opacity: 1
}
.splide {
    visibility: visible !important
}
.l-cookie-notice {
    display: none;
    z-index: 1200;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-block: 32px;
    background: rgba(36, 36, 35, .95);
    box-shadow: 10px 10px 25px 15px hsla(0, 0%, 100%, .06);
    color: #fff;
    font-size: 1.5rem
}
.l-cookie-notice.show {
    display: block
}
.l-cookie-notice a {
    color: #fff
}
.l-cookie-notice__close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 14px;
    height: 14px;
    margin: auto 0;
    transition: .3s ease
}
.l-cookie-notice__close button {
    position: absolute;
    width: 100%;
    height: 100%
}
.l-cookie-notice__close button:after,
.l-cookie-notice__close button:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 2px;
    height: 16px;
    margin: auto;
    background: #fff;
    content: ""
}
.l-cookie-notice__close button:before {
    rotate: -45deg
}
.l-cookie-notice__close button:after {
    rotate: 45deg
}
.l-foot-banner {
    padding-block: 64px 72px;
    background-image: url(/assets/images/common/foot-bnr-bg.svg);
    background-repeat: repeat;
    background-color: #ccc499
}
.l-foot-banner__list {
    display: grid;
    gap: 20px
}
.l-foot-banner__item {
    position: relative;
    border-radius: 8px;
    transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
}
.l-foot-banner__item a {
    color: #fff
}
.l-foot-banner__item a figure {
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius)
}
.l-foot-banner__item a figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: scale .3s ease
}
.l-footer {
    padding-block: 88px 32px;
    background-image: url(/assets/images/common/footer-bg.jpg);
    background-position: 50%;
    background-size: cover
}
.l-footer * {
    color: #fff;
    letter-spacing: .03em
}
.l-footer a {
    transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
}
.l-footer__head {
    display: flex;
    gap: 40px
}
.l-footer__logo a {
    display: block
}
.l-footer__logo img {
    width: 100%;
    height: auto;
    filter: brightness(0) invert(1)
}
.l-footer__info {
    display: flex;
    gap: 98px
}
.l-footer__info .address p {
    font-size: 1.6rem;
    letter-spacing: .05em
}
.l-footer__info .address p a[href^="tel:"] {
    display: inline-flex;
    align-items: center;
    gap: 4px
}
.l-footer__info .address p a[href^="tel:"]:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-position: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}
.l-footer__info .address p a[href^="tel:"]:before {
    background-image: url(/assets/images/common/icons/phone.svg)
}
.l-footer__info .sns-list {
    display: flex;
    align-items: center;
    gap: 20px
}
.l-footer__info .sns-list__item {
    aspect-ratio: 1
}
.l-footer__info .sns-list__item a {
    width: 100%
}
.l-footer__info .sns-list__item a img {
    width: 100%;
    height: 100%
}
.l-footer__nav {
    margin-top: 80px
}
.l-footer__nav > .nav-list {
    display: flex;
    flex-wrap: wrap
}
.l-footer__nav > .nav-list:first-of-type {
    gap: 12px 48px;
    font-size: 1.7rem
}
.l-footer__nav > .nav-list:first-of-type .nav-list__item {
    position: relative
}
.l-footer__nav > .nav-list:first-of-type .nav-list__item:not(:first-of-type):before {
    position: absolute;
    top: calc(50% + 1px);
    left: -24px;
    width: 1px;
    height: 1em;
    transform: translateY(-50%);
    background-color: #a29452;
    content: ""
}
.l-footer__nav > .nav-list:nth-of-type(2) {
    margin-top: 24px;
    gap: 12px 24px;
    font-size: 1.6rem
}
.l-footer__nav .nav-list-wrap {
    margin-top: 48px
}
.l-footer__nav .nav-list-wrap .nav-list {
    display: flex;
    gap: 32px
}
.l-footer__nav .nav-list-wrap .nav-list + .nav-list {
    margin-top: 12px
}
.l-footer__nav .nav-list-wrap a[target=_blank] {
    display: flex;
    align-items: center;
    gap: 8px
}
.l-footer__nav .nav-list-wrap a[target=_blank]:after {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(/assets/images/common/icons/blank_gold.svg);
    background-position: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}
.l-footer__nav__doc {
    margin-top: 56px
}
.l-footer__nav__doc .doc-select {
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}
.l-footer__nav__doc .doc-select:before {
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 6px;
    height: 5px;
    transform: translateY(-50%);
    background-color: #a29452;
    content: "";
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}
.l-footer__nav__doc .doc-select select {
    padding: 6px 28px 6px 8px;
    border-radius: 4px;
    background-color: #fff;
    color: #232323
}
.l-footer__nav__doc .doc-select select:focus {
    outline: none
}
.l-footer__nav__doc .doc-select select option {
    color: #232323;
    font-size: 1.3rem;
    letter-spacing: .04em
}
.l-footer__nav__doc .doc-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 16px;
    gap: 12px 20px
}
.l-footer__nav__doc .doc-list__item:first-of-type {
    position: relative;
    margin-right: 20px
}
.l-footer__nav__doc .doc-list__item:first-of-type:after {
    display: block;
    position: absolute;
    top: calc(50% + 1px);
    right: -20px;
    width: 1px;
    height: 1em;
    transform: translateY(-50%);
    background-color: #a29452;
    content: ""
}
.l-footer__nav__doc .doc-list__item:first-of-type p {
    color: #a29452
}
.l-footer__nav__doc .doc-list a {
    font-size: 1.3rem;
    letter-spacing: .04em
}
.l-footer__nav__doc .doc-list a[target=_blank] {
    display: flex;
    align-items: center;
    gap: 4px
}
.l-footer__nav__doc .doc-list a[target=_blank]:after {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(/assets/images/common/icons/document.svg);
    background-position: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}
.l-footer__cpr {
    margin-top: 72px
}
.l-footer__cpr small {
    font-weight: 400;
    font-size: 1.3rem;
    font-family: Hanken Grotesk, sans-serif;
    letter-spacing: .068em
}
.l-header {
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-inline: 48px;
    border-bottom: 1px solid #e2e2e2;
    background-color: #fff;
    transition: .5s ease
}
body.top .l-header.global-header {
    visibility: hidden;
    opacity: 0
}
.l-header.fv-header {
    position: absolute;
    border: none;
    background-color: transparent
}
html.is-nav-active .l-header.fv-header {
    border-bottom: 1px solid #e2e2e2;
    background-color: #fff
}
.l-header.fv-header img {
    filter: brightness(0) invert(1);
    transition: filter .3s ease
}
html.is-nav-active .l-header.fv-header img {
    filter: none
}
.l-header.fv-header .c-hamburger span {
    background-color: #fff
}
html.is-nav-active .l-header.fv-header .c-hamburger span {
    background-color: #232323
}
.l-header__inner {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    height: 120px;
    gap: 24px
}
.l-header__logo {
    flex-basis: 32%;
    max-width: 438px
}
.l-header__logo a {
    display: block
}
.l-header__logo img {
    width: 100%;
    height: auto
}
.l-nav-lg {
    height: 100%
}
.l-nav-lg a,
.l-nav-lg p {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .06em
}
.fv-header .l-nav-lg a,
.fv-header .l-nav-lg p {
    color: #fff
}
.l-nav-lg a {
    transition: .3s cubic-bezier(.65, 0, .35, 1)
}
.l-nav-lg__info,
.l-nav-lg__menu {
    display: flex;
    justify-content: flex-end
}
.l-nav-lg__info {
    align-items: center;
    margin-top: 24px;
    gap: 16px
}
.l-nav-lg__info a.map {
    display: inline-flex;
    align-items: center;
    padding-top: 4px;
    gap: 4px
}
.l-nav-lg__info a.map:before {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(/assets/images/common/icons/map.svg);
    background-position: 50%;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}
.fv-header .l-nav-lg__info a.map:before {
    filter: brightness(0) invert(1)
}
.l-nav-lg__info a.btn-fill,
.l-nav-lg__info a.btn-line {
    display: block;
    padding: 8px 24px;
    border-width: 1px;
    border-style: solid;
    border-radius: 20px
}
.l-nav-lg__info a.btn-fill {
    border-color: transparent;
    background-color: #005038;
    color: #fff
}
.fv-header .l-nav-lg__info a.btn-fill {
    background-color: #fff;
    color: #232323
}
.l-nav-lg__info a.btn-line {
    border-color: #a29452;
    color: #a29452
}
.fv-header .l-nav-lg__info a.btn-line {
    border-color: #fff;
    color: #fff
}
.l-nav-lg__menu {
    height: calc(100% - 82px);
    margin-top: 16px;
    gap: 16px;
    white-space: nowrap
}
.l-nav-lg__menu > li > a {
    font-size: 1.4rem
}
.l-nav-lg__menu > li > p {
    position: relative;
    height: 100%;
    padding-right: 30px;
    font-size: 1.4rem;
    cursor: default
}
.l-nav-lg__menu .menu-wrap {
    position: absolute;
    top: 136px;
    right: 0;
    width: max-content;
    padding: 40px 48px 48px;
    border-radius: 8px;
    background-color: #fff
}
.l-nav-lg__menu .menu-wrap a {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: #232323;
    font-size: 1.4rem;
    line-height: 1.5714285714;
    letter-spacing: .03em
}
.l-nav-lg__menu .menu-wrap > div a {
    font-size: 2.3rem;
    letter-spacing: .08em
}
.l-nav-lg__menu .menu-wrap > div a .icon-chv {
    background-color: #005038
}
.l-nav-lg__menu .menu-wrap > div a .icon-chv:before {
    background-color: #fff
}
.l-nav-lg__menu .menu-wrap > ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 24px;
    gap: 16px 24px
}
.l-nav-lg__menu .menu-wrap > ul li {
    min-width: 296px
}
.l-nav-lg__menu .menu-wrap > ul a {
    display: flex;
    justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e2e2
}
.l-nav-lg__menu .js-hover-target {
    visibility: hidden;
    opacity: 0;
    transition: visibility .3s ease, opacity .3s ease
}
.l-nav-lg__menu .js-hover-target.is-hover {
    visibility: visible;
    opacity: 1
}
.l-nav-mega {
    visibility: hidden;
    z-index: 999;
    position: fixed;
    top: calc(19.2vw + 1px);
    left: 0;
    width: 100%;
    min-height: 100vh;
    max-height: 100%;
    padding-block: 0 48.5333333333vw;
    overflow-y: auto;
    background-color: #fff;
    opacity: 0;
    transition: visibility .3s ease, opacity .3s ease
}
.l-nav-mega a {
    pointer-events: none
}
.is-nav-active .l-nav-mega a {
    pointer-events: auto
}
.l-nav-mega nav {
    font-size: 1.6rem;
    line-height: 1.375;
    letter-spacing: .03em
}
.l-nav-mega__menu > li > a,
.l-nav-mega__menu > li > p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4.2666666667vw 1.0666666667vw;
    border-bottom: 1px solid #e2e2e2
}
.l-nav-mega__menu > li > p .icon-cross {
    position: relative
}
.l-nav-mega__menu > li > p.is-opened .icon-cross:before {
    transform: translate(-50%, -50%) rotate(180deg)
}
.l-nav-mega__menu > li .menu-wrap {
    padding-left: 4.2666666667vw
}
.l-nav-mega__menu > li .menu-wrap a {
    display: block;
    padding: 4.2666666667vw 1.0666666667vw;
    border-bottom: 1px solid #e2e2e2
}
.l-nav-mega__sub {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12.8vw;
    gap: 3.2vw 6.4vw;
    font-size: 1.4rem;
    line-height: 1.5714285714;
    letter-spacing: .03em
}
.is-nav-active .l-nav-mega {
    visibility: visible;
    opacity: 1
}
.l-nav-lg .icon-cross,
.l-nav-mega .icon-cross {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio: 1;
    width: 24px;
    border: 1px solid #e2e2e2;
    border-radius: 50%;
    content: ""
}
.l-nav-lg .icon-cross:after,
.l-nav-lg .icon-cross:before,
.l-nav-mega .icon-cross:after,
.l-nav-mega .icon-cross:before {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1px;
    transform: translate(-50%, -50%);
    background-color: #232323;
    content: "";
    transition: .3s ease
}
.l-nav-lg .icon-cross:before,
.l-nav-mega .icon-cross:before {
    transform: translate(-50%, -50%) rotate(90deg)
}
.fv-header .l-nav-lg .icon-cross {
    border-color: #fff
}
.fv-header .l-nav-lg .icon-cross:after,
.fv-header .l-nav-lg .icon-cross:before {
    background-color: #fff
}
.js-accordion-btn {
    cursor: pointer
}
.js-accordion-btn.is-opened + .js-accordion-panel {
    visibility: visible;
    grid-template-rows: 1fr;
    opacity: 1
}
.js-accordion-panel {
    display: grid;
    visibility: hidden;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .3s ease, visibility .3s ease, opacity .3s ease;
    will-change: grid-template-rows, visibility, opacity
}
.js-accordion-panel > * {
    overflow: hidden
}
.c-btn-fill {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-width: 284px;
    min-height: 80px;
    padding-inline: 32px;
    gap: 16px;
    border-radius: 999px;
    background-color: #005038;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.3888888889;
    letter-spacing: .024em;
    transition: background-color .3s cubic-bezier(.65, 0, .35, 1)
}
.c-btn-fill .icon-chv {
    flex-shrink: 0;
    border-color: #fff;
    transition: background-color .3s cubic-bezier(.65, 0, .35, 1)
}
.c-btn-fill .icon-chv:before {
    background-color: #fff;
    transition: background-color .3s cubic-bezier(.65, 0, .35, 1)
}
.c-hamburger {
    display: inline-block;
    position: relative;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    background-color: transparent
}
.c-hamburger span {
    display: inline-block;
    position: absolute;
    left: 2.13333vw;
    width: 6.4vw;
    height: .5333333333vw;
    transform-origin: center;
    background-color: #232323;
    transition: .3s cubic-bezier(.65, 0, .35, 1)
}
.c-hamburger span:first-of-type {
    top: 3.2vw
}
.c-hamburger span:nth-of-type(2) {
    top: 5.06667vw
}
.c-hamburger span:nth-of-type(3) {
    bottom: 3.2vw
}
.is-nav-active .c-hamburger span:first-of-type {
    top: calc(50% - .26667vw);
    transform: rotate(-140deg)
}
.is-nav-active .c-hamburger span:nth-of-type(2) {
    opacity: 0
}
.is-nav-active .c-hamburger span:nth-of-type(3) {
    bottom: calc(50% - .26667vw);
    transform: rotate(140deg)
}
.icon-chv {
    --width: 24px;
    display: inline-block;
    position: relative;
    top: 1px;
    aspect-ratio: 1;
    width: var(--width);
    min-width: var(--width);
    border: 1px solid #005038;
    border-radius: 50%
}
.icon-chv,
.icon-chv:before {
    transition: .3s cubic-bezier(.65, 0, .35, 1)
}
.icon-chv:before {
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    display: block;
    position: absolute;
    top: 50%;
    left: calc(50% + 1px);
    width: 6px;
    height: 5px;
    transform: translate(-50%, -50%);
    background-color: #005038;
    content: "";
    clip-path: polygon(0 0, 0 100%, 100% 50%)
}
.c-ttl-bubble .sub {
    padding: 8px 20px;
    border-radius: 20px 20px 20px 4px;
    color: #fff;
    font-size: 1.5rem
}
.c-ttl-bubble {
    display: grid;
    margin-bottom: 80px;
    gap: 12px;
    font-size: 3.2rem
}
.c-ttl-bubble span {
    width: max-content
}
.c-ttl-bubble .sub {
    background-color: #cfc286
}
.c-ttl-bubble .main {
    padding: 12px 32px 14px;
    border-radius: 36px 36px 4px 36px;
    background-color: #fff
}
.c-ttl-pht--underline {
    display: grid;
    place-items: center;
    margin-bottom: 64px;
    gap: 32px;
    text-align: center
}
.c-ttl-pht--underline .ja {
    position: relative
}
.c-ttl-pht--underline .ja:before {
    display: block;
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    height: 24px;
    transform: translateX(-50%);
    border-radius: 4px;
    background-color: #f8f4e4;
    content: ""
}
.c-ttl-pht--underline .ja img {
    width: 100%
}
.c-ttl-pht--underline .en {
    color: #a29452;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.6153846154;
    font-family: Hanken Grotesk, sans-serif;
    letter-spacing: .118em
}
.c-ttl-base {
    margin-bottom: 72px;
    text-align: center
}
.c-ttl-base span {
    display: block
}
.c-ttl-base .ja {
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 1.25;
    letter-spacing: .064em
}
.c-ttl-base .-lh {
    line-height: 1.5
}
.course__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 20px
}
.course__list > li a {
    padding: 26px 20px;
    border: 1px solid #e2e2e2
}
.course__list > li a:after {
    bottom: -435px;
    opacity: .08
}
.top .news__card .card-pht,
.top .voice__card .card-pht {
    width: 100%;
    overflow: hidden;
    border-radius: 8px
}
.top .news__card .card-pht img,
.top .voice__card .card-pht img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    scale: 1;
    transition: scale .3s cubic-bezier(.65, 0, .35, 1)
}
body.top {
    opacity: 0
}
body.top.is-loaded {
    opacity: 1;
    transition: opacity .3s ease
}
.top-more-btn {
    margin-top: 88px;
    text-align: center
}
.top-cont-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}
.top-cont-head a {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-size: 1.4rem;
    line-height: 1.5714285714;
    letter-spacing: .03em;
    transition: color .3s cubic-bezier(.65, 0, .35, 1)
}
.top-cont-head a .icon-chv {
    flex-shrink: 0;
    border-color: #232323
}
.top-cont-head a .icon-chv:before {
    background-color: #232323
}
.top .fv {
    position: relative;
    height: calc(100vh - 64px);
    overflow: hidden
}
.top .fv__nav {
    display: flex;
    z-index: 2;
    position: absolute;
    bottom: 0;
    left: 0;
    align-items: center;
    padding: 17px 32px 18px;
    gap: 20px;
    border-radius: 0 16px 0 0;
    background-color: #fff
}
.top .fv__nav__ttl {
    color: #005038;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.46;
    letter-spacing: .08em
}
.top .fv__nav__list {
    display: flex;
    gap: 8px
}
.top .fv__nav__list li:not(:first-of-type) {
    position: relative;
    padding-left: 18px
}
.top .fv__nav__list li:not(:first-of-type):before {
    display: block;
    position: absolute;
    top: 50%;
    left: 2px;
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(45deg);
    border-radius: 1px;
    background-color: #a29452;
    content: ""
}
.top .fv__nav__list a {
    font-size: 1.4rem;
    line-height: 1.57;
    letter-spacing: .03em;
    transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
}
.top .course {
    padding-bottom: 160px;
    background: linear-gradient(#efede6, #efedea)
}
.top .course__inner {
    z-index: 2;
    position: relative;
    margin-top: 108px
}
.top .course__list {
    display: grid;
    gap: 48px 32px
}
.top .voice {
    position: relative;
    min-height: 100vh;
    padding-block: 128px 144px;
    background: #efedea
}
.top .voice:before {
    display: block;
    visibility: hidden;
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ddd;
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease, visibility 1s ease
}
.top .voice__inner {
    z-index: 2;
    position: relative
}
.top .voice__item:not(.-thumb) {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 24px
}
.top .voice__item a {
    display: block;
    height: 100%
}
.top .voice__card {
    position: relative;
    height: 100%;
    padding: 32px;
    border-radius: 16px;
    color: #fff
}
.top .voice__card > * {
    z-index: 2;
    position: relative
}
.top .voice__card:before {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    content: "";
    opacity: 0;
    transition: opacity .5s cubic-bezier(.65, 0, .35, 1)
}
.top .voice__card.-business {
    background: linear-gradient(135deg, #b4967f, #6c594a)
}
.top .voice__card.-business:before {
    background: linear-gradient(315deg, #b4967f, #6c594a)
}
.top .voice__card.-funeraldirector {
    background: linear-gradient(135deg, #e2b0d3, #9082bc)
}
.top .voice__card.-funeraldirector:before {
    background: linear-gradient(315deg, #e2b0d3, #9082bc)
}
.top .voice__card.-railway {
    background: linear-gradient(135deg, #62a7ec, #3b5c8d)
}
.top .voice__card.-railway:before {
    background: linear-gradient(315deg, #62a7ec, #3b5c8d)
}
.top .voice__card.-beauty {
    background: linear-gradient(135deg, #e8b1b9, #f48c9d)
}
.top .voice__card.-beauty:before {
    background: linear-gradient(315deg, #e8b1b9, #f48c9d)
}
.top .voice__card.-hotel {
    background: linear-gradient(135deg, #7ed99b, #38ab5c)
}
.top .voice__card.-hotel:before {
    background: linear-gradient(315deg, #7ed99b, #38ab5c)
}
.top .voice__card.-bridal {
    background: linear-gradient(135deg, #f3ab97, #f36a44)
}
.top .voice__card.-bridal:before {
    background: linear-gradient(315deg, #f3ab97, #f36a44)
}
.top .voice__card .card-pht {
    aspect-ratio: 153/100;
    margin-bottom: 24px
}
.top .voice__card .card-desc .ttl {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    height: 3lh;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.4761904762;
    letter-spacing: .048em;
    word-break: break-word
}
.top .voice__card .card-desc .info {
    margin-top: 24px
}
.top .voice__card .card-desc .info small {
    font-size: 1.4rem;
    letter-spacing: .048em
}
.top .news__list {
    display: grid;
    gap: 40px 32px
}
.top .news__item a {
    padding-bottom: 24px;
    border-bottom: 1px solid #e2e2e2;
    transition: border-color .3s cubic-bezier(.65, 0, .35, 1)
}
.top .news__card {
    display: grid;
    position: relative;
    grid-template-columns: 184px 1fr;
    gap: 24px
}
.top .news__card .card-pht {
    aspect-ratio: 23/15
}
.top .news__card .card-desc {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 12px
}
.top .news__card .card-desc .cat span {
    padding: 1px 10px 2px;
    border-radius: 12px;
    background-color: #f8f4e4;
    color: #a29452;
    font-size: 1.3rem;
    letter-spacing: .03em
}
.top .news__card .card-desc .ttl {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.6875;
    letter-spacing: .048em;
    word-break: break-word
}
.top .news__card .card-desc .time {
    color: #cfcfcf;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1;
    font-family: Hanken Grotesk, sans-serif;
    letter-spacing: .048em
}
body.top .bg-shape {
    width: 100%;
    background-color: #f3f3f3
}
body.top .bg-shape svg {
    width: 100%
}
body.top .gallery__ttl {
    margin-bottom: 72px
}
body.top .gallery__ttl .ja:before {
    width: 90.2%
}
body.top .gallery__cont:not(:first-of-type) {
    margin-top: 8px
}
body.top .gallery__item__pht.-odd {
    aspect-ratio: 45/26;
    width: 26.35% !important
}
body.top .gallery__item__pht.-even {
    aspect-ratio: 15/13;
    width: 17.56% !important
}
body.top .gallery__item__pht img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px
}
.gakka .gakka-detail__tab {
    margin-top: 128px
}
.gakka .gakka-detail__tab__btn {
    z-index: 100;
    position: sticky;
    top: 120px;
    padding-top: 16px;
    border-bottom: 2px solid #005038;
    background-color: #fff
}
.gakka .gakka-detail__tab__btn .btn-nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px
}
.gakka .gakka-detail__tab__btn .btn-nav button {
    padding-block: 12px;
    border: 2px solid #005038;
    border-bottom: none;
    border-radius: var(--radius) var(--radius) 0 0;
    color: #005038;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    transition: .2s ease
}
.gakka .gakka-detail__tab__btn .btn-nav button.is-active {
    background-color: #005038;
    color: #fff
}
.gakka .gakka-detail__tab__cont {
    margin-top: 80px;
    overflow: hidden
}
.gakka .gakka-detail__faq__bnr {
    margin-top: 88px
}
.gakka .gakka-detail__faq__bnr a {
    display: block;
    width: 100%;
    transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
}
.u-mb-0 {
    margin-bottom: 0 !important
}
.u-mt-4 {
    margin-top: 32px !important
}
.u-mb-4 {
    margin-bottom: 32px !important
}
.u-mb-5 {
    margin-bottom: 40px !important
}
.u-mt-6 {
    margin-top: 48px !important
}
.u-mb-6 {
    margin-bottom: 48px !important
}
.u-pt-10 {
    padding-top: 80px !important
}
.u-mb-10 {
    margin-bottom: 80px !important
}
.u-text-link {
    color: currentColor;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
}
@media screen {
[hidden ~ =screen] {
        display: inherit
    }
[hidden ~ =screen]:not(:active):not(:focus):not(:target) {
        clip: rect(0 0 0 0) !important;
        position: absolute !important
    }
}
@media screen and (max-width:767px) {
:root {
        --radius: 2.1333333333vw;
        --mgXl: 23.4666666667vw;
        --mgLg: 21.3333333333vw;
        --mg: 19.2vw;
        --mgSm: 12.8vw;
        --mgXs: 10.6666666667vw
    }
html {
        font-size: 2.6666666667vw
    }
html.is-nav-active {
        overflow: hidden
    }
.l-inner,
.l-inner--md {
        padding-inline: 4.2666666667vw
    }
.l-lg {
        display: none !important
    }
.l-cookie-notice {
        padding-block: 10.6666666667vw 8.5333333333vw;
        font-size: 1.3rem
    }
.l-cookie-notice__close {
        top: 4.2666666667vw;
        right: 4.2666666667vw;
        width: 3.7333333333vw;
        height: 3.7333333333vw
    }
.l-cookie-notice__close button:after,
.l-cookie-notice__close button:before {
        height: 4.2666666667vw
    }
.l-foot-banner {
        padding-block: 12.8vw 14.9333333333vw
    }
.l-foot-banner__list {
        gap: 4.2666666667vw
    }
.l-foot-banner__item {
        border-radius: 2.1333333333vw
    }
.l-foot-banner__item a {
        min-height: 33.0666666667vw
    }
.l-footer {
        padding-block: 9.6vw 6.4vw;
        background-image: url(/assets/images/common/footer-bg_sp.jpg)
    }
.l-footer__head {
        flex-direction: column;
        gap: 6.4vw
    }
.l-footer__info {
        flex-direction: column;
        gap: 12.8vw
    }
.l-footer__info .address p {
        font-size: 1.5rem
    }
.l-footer__info .address p + p {
        margin-top: 1.0666666667vw
    }
.l-footer__info .address p a[href^="tel:"] {
        gap: 1.0666666667vw
    }
.l-footer__info .address p a[href^="tel:"]:before {
        width: 5.3333333333vw;
        height: 5.3333333333vw
    }
.l-footer__info .sns-list {
        gap: 5.3333333333vw
    }
.l-footer__info .sns-list__item a {
        display: block;
        position: relative;
        width: 13.8666666667vw;
        height: 13.8666666667vw;
        overflow: hidden
    }
.l-footer__info .sns-list__item a img {
        position: absolute;
        width: 68.2666666667vw;
        max-width: none;
        height: 68.2666666667vw;
        inset: -27.2vw auto auto -27.2vw;
        scale: .2
    }
.l-footer__nav {
        margin-top: 10.6666666667vw
    }
.l-footer__nav > .nav-list:first-of-type {
        gap: 4.2666666667vw 10.6666666667vw;
        font-size: 1.5rem
    }
.l-footer__nav > .nav-list:first-of-type .nav-list__item:not(:first-of-type):before {
        left: -5.3333333333vw
    }
.l-footer__nav > .nav-list:nth-of-type(2) {
        margin-top: 8.5333333333vw;
        gap: 4.2666666667vw
    }
.l-footer__nav > .nav-list:nth-of-type(2) a {
        font-size: 1.5rem
    }
.l-footer__nav .nav-list-wrap {
        margin-top: 8.5333333333vw
    }
.l-footer__nav .nav-list-wrap .nav-list {
        flex-wrap: wrap;
        gap: 4.2666666667vw 8.5333333333vw
    }
.l-footer__nav .nav-list-wrap .nav-list + .nav-list {
        margin-top: 4.2666666667vw
    }
.l-footer__nav .nav-list-wrap a {
        font-size: 1.3rem
    }
.l-footer__nav .nav-list-wrap a[target=_blank] {
        gap: 1.0666666667vw
    }
.l-footer__nav .nav-list-wrap a[target=_blank]:after {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
.l-footer__nav__doc {
        margin-top: 12.8vw
    }
.l-footer__nav__doc .doc-select {
        max-width: 100%
    }
.l-footer__nav__doc .doc-select select {
        max-width: 100%;
        padding: 1.6vw 12.8vw 1.6vw 2.1333333333vw;
        font-size: 1.3rem
    }
.l-footer__nav__doc .doc-list {
        margin-top: 6.4vw;
        gap: 4.2666666667vw
    }
.l-footer__nav__doc .doc-list__item:first-of-type {
        margin-right: 5.3333333333vw
    }
.l-footer__nav__doc .doc-list__item:first-of-type:after {
        right: -5.3333333333vw
    }
.l-footer__nav__doc .doc-list__item:first-of-type p {
        font-size: 1.3rem
    }
.l-footer__nav__doc .doc-list a[target=_blank] {
        gap: 1.0666666667vw
    }
.l-footer__nav__doc .doc-list a[target=_blank]:after {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
.l-footer__cpr {
        margin-top: 10.6666666667vw
    }
.l-footer__cpr small {
        font-size: 1.2rem;
        line-height: 1.6666666667
    }
.l-header {
        padding-inline: 6.4vw 4.2666666667vw
    }
.l-header__inner {
        height: 19.2vw;
        gap: 4.2666666667vw
    }
.l-header__logo {
        flex-shrink: 0;
        flex-basis: 74.1333333333vw
    }
.l-header__logo a {
        display: grid;
        place-items: center
    }
.l-nav-lg .icon-cross,
.l-nav-mega .icon-cross {
        top: 0;
        width: 6.4vw
    }
.l-nav-lg .icon-cross:after,
.l-nav-lg .icon-cross:before,
.l-nav-mega .icon-cross:after,
.l-nav-mega .icon-cross:before {
        width: 2.6666666667vw
    }
.c-btn-fill {
        min-width: 60.8vw;
        min-height: 17.0666666667vw;
        font-size: 1.4rem
    }
.icon-chv {
        --width: 6.4vw
    }
.icon-chv:before {
        width: 1.6vw;
        height: 1.3333333333vw
    }
.c-ttl-bubble .sub {
        padding: 2.1333333333vw 4.2666666667vw;
        border-radius: 5.3333333333vw 5.3333333333vw 5.3333333333vw 1.0666666667vw;
        font-size: 1.4rem
    }
.c-ttl-bubble {
        margin-bottom: 17.0666666667vw;
        gap: 3.2vw;
        font-size: 2.1rem
    }
.c-ttl-bubble .main {
        padding: 2.1333333333vw 6.4vw 2.6666666667vw;
        border-radius: 9.6vw 9.6vw 1.0666666667vw 9.6vw
    }
.c-ttl-pht--underline {
        margin-bottom: 12.8vw;
        gap: 4.8vw
    }
.c-ttl-pht--underline .ja {
        padding-inline: 4.2666666667vw
    }
.c-ttl-pht--underline .ja:before {
        width: 100%;
        height: 3.7333333333vw;
        border-radius: 1.0666666667vw
    }
.c-ttl-pht--underline .en {
        font-size: 1.1rem
    }
.c-ttl-base {
        margin-bottom: 14.9333333333vw
    }
.c-ttl-base .ja {
        font-size: 2.1rem;
        line-height: 1.4285714286
    }
.course__list {
        grid-template-columns: 1fr;
        gap: 6.4vw
    }
.course__list > li a {
        padding: 6.9333333333vw 5.3333333333vw
    }
.course__list > li a:after {
        bottom: -100%
    }
.top .news__card .card-pht,
.top .voice__card .card-pht {
        border-radius: 2.1333333333vw
    }
.top-more-btn {
        margin-top: 17.0666666667vw
    }
.top-cont-head {
        display: contents
    }
.top-cont-head a {
        gap: 4.2666666667vw
    }
.top .fv {
        height: 100svh
    }
.top .course {
        padding-bottom: 27.7333333333vw
    }
.top .course__inner {
        margin-top: 19.2vw
    }
.top .course__list {
        gap: 4.2666666667vw
    }
.top .voice {
        min-height: 100svh;
        padding-bottom: 27.7333333333vw 21.3333333333vw
    }
.top .voice .splide:not(.is-initialized) {
        padding-inline: 4.8rem
    }
.top .voice .splide:not(.is-initialized) .splide__list {
        display: block
    }
.top .voice__inner {
        display: flex;
        flex-direction: column
    }
.top .voice__inner h2 {
        order: 1;
        margin-left: 4.2666666667vw
    }
.top .voice__inner .top-cont-head a {
        order: 3;
        width: -moz-fit-content;
        width: fit-content;
        margin-top: 8.5333333333vw;
        margin-inline: auto 4.2666666667vw
    }
.top .voice__inner .voice__cont {
        order: 2
    }
.top .voice__inner .top-more-btn {
        order: 4
    }
.top .voice__item:not(.-thumb) {
        gap: 4.2666666667vw
    }
.top .voice__card,
.top .voice__card:before {
        border-radius: 4.2666666667vw
    }
.top .voice__card {
        padding: 6.4vw
    }
.top .voice__card .card-pht {
        aspect-ratio: 58/37;
        margin-bottom: 5.3333333333vw
    }
.top .voice__card .card-desc .ttl {
        font-size: 1.8rem
    }
.top .voice__card .card-desc .info {
        margin-top: 5.3333333333vw
    }
.top .voice__card .card-desc .info small {
        font-size: 1.2rem
    }
.top .news__inner {
        display: flex;
        flex-direction: column
    }
.top .news__inner .top-cont-head a {
        order: 3;
        width: -moz-fit-content;
        width: fit-content;
        margin-top: 17.0666666667vw;
        margin-inline: auto
    }
.top .news__inner .news__wrap {
        order: 2;
        margin-top: 12.8vw
    }
.top .news__list {
        gap: 4.2666666667vw
    }
.top .news__item a {
        display: block;
        padding-bottom: 5.3333333333vw
    }
.top .news__card {
        grid-template-columns: 29.8666666667vw 1fr;
        gap: 3.2vw
    }
.top .news__card .card-pht {
        aspect-ratio: 14/9
    }
.top .news__card .card-desc {
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 1.6vw 4.2666666667vw
    }
.top .news__card .card-desc .cat span {
        padding: .5333333333vw 2.6666666667vw .8vw;
        border-radius: 3.2vw;
        font-size: 1.2rem
    }
.top .news__card .card-desc .ttl {
        grid-area: 2/1/3/3;
        align-self: start;
        font-size: 1.4rem;
        line-height: 1.5714285714
    }
.top .news__card .card-desc .time {
        font-size: 1.3rem
    }
body.top .bg-shape {
        width: 150vw;
        height: 10vw
    }
body.top .gallery {
        overflow: hidden
    }
body.top .gallery__inner {
        padding-top: 21.3333333333vw
    }
body.top .gallery__ttl {
        margin-bottom: 19.2vw
    }
body.top .gallery__ttl .ja:before {
        width: 82.2%
    }
body.top .gallery__cont:not(:first-of-type) {
        margin-top: 2.1333333333vw
    }
body.top .gallery__item__pht.-odd {
        width: 66.1% !important
    }
body.top .gallery__item__pht.-even {
        width: 42.6% !important
    }
body.top .gallery__item__pht img {
        border-radius: 2.1333333333vw
    }
.gakka .gakka-detail__tab {
        margin-top: 21.3333333333vw
    }
.gakka .gakka-detail__tab__btn {
        top: 19.2vw;
        padding-top: 2.1333333333vw
    }
.gakka .gakka-detail__tab__btn .l-inner--md {
        padding-inline: 2.1333333333vw
    }
.gakka .gakka-detail__tab__btn .btn-nav {
        gap: .5333333333vw
    }
.gakka .gakka-detail__tab__btn .btn-nav button {
        padding-block: 2.1333333333vw;
        font-size: 1.2rem;
        line-height: 1.5
    }
.gakka .gakka-detail__tab__cont {
        margin-top: 12.8vw
    }
.gakka .gakka-detail__faq__bnr {
        margin-top: 17.0666666667vw
    }
.u-mb-0 {
        margin-bottom: 0 !important
    }
.u-mt-4 {
        margin-top: 6.4vw !important
    }
.u-mb-4 {
        margin-bottom: 6.4vw !important
    }
.u-mb-5 {
        margin-bottom: 8vw !important
    }
.u-mt-6 {
        margin-top: 9.6vw !important
    }
.u-mb-6 {
        margin-bottom: 9.6vw !important
    }
.u-pt-10 {
        padding-top: 16vw !important
    }
.u-mb-10 {
        margin-bottom: 16vw !important
    }
}
@media print, screen and (min-width:768px) {
body {
        min-width: 1200px
    }
a[href^="tel:"] {
        text-decoration: none;
        pointer-events: none
    }
.l-inner {
        max-width: 1270px;
        margin-inline: auto
    }
.l-inner--md {
        max-width: 1046px;
        margin-inline: auto
    }
.l-sm {
        display: none !important
    }
.l-foot-banner__list {
        grid-template-columns: repeat(2, 1fr);
        padding-inline: 40px
    }
.l-footer__head {
        align-items: center;
        justify-content: space-between
    }
.l-footer__logo {
        flex-shrink: 0;
        flex-basis: 38.5%;
        max-width: 526px
    }
.l-footer__info {
        align-items: center
    }
.l-footer__info .address p {
        white-space: nowrap
    }
.l-footer__info .sns-list {
        padding-left: 56px;
        border-left: 1px solid #fff
    }
.l-footer__info .sns-list__item {
        width: 48px
    }
.l-footer__info .sns-list__item a img {
        object-fit: contain
    }
.l-footer__cpr {
        text-align: center
    }
.l-header {
        min-width: 1200px
    }
.c-ttl-pht--underline .ja {
        width: 496px
    }
.top-cont-head {
        margin-bottom: 80px
    }
.top-cont-head .c-ttl-bubble {
        margin-bottom: 0
    }
.top .course__list {
        grid-template-rows: repeat(4, 1fr);
        grid-template-columns: repeat(3, 1fr)
    }
.top .voice__item {
        flex: 0 0 370px
    }
.top .news__list {
        grid-template-columns: repeat(2, 1fr)
    }
.top .news__item a {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: end;
        gap: 32px
    }
.top .news__card .card-desc {
        grid-template-rows: auto 1fr
    }
.top .news__card .card-desc .cat {
        display: flex;
        flex-wrap: wrap;
        gap: 4px
    }
body.top .gallery__ttl .ja {
        width: 568px
    }
}
@media(-webkit-min-device-pixel-ratio:2), (min-resolution:2dppx) {
body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}
@media(hover:hover) {
.l-cookie-notice__close:hover {
        opacity: .7
    }
.l-foot-banner__item a:hover img {
        scale: 1.05
    }
.l-footer a:hover {
        opacity: .7
    }
.l-footer__logo a:hover {
        opacity: 1
    }
.fv-header .l-nav-lg__info a.map:hover {
        color: #fff
    }
.l-nav-lg__info a.btn-fill:hover {
        background-color: #013727
    }
.fv-header .l-nav-lg__info a.btn-fill:hover {
        background-color: #fff
    }
.l-nav-lg__info a.btn-line:hover {
        background-color: #a29452;
        color: #fff
    }
.fv-header .l-nav-lg__info a.btn-line:hover {
        background-color: transparent;
        color: #fff
    }
.l-nav-lg__menu .menu-wrap > ul a:hover {
        border-color: #005038
    }
.l-nav-lg__menu .menu-wrap > ul a:hover .icon-chv {
        background-color: #005038
    }
.l-nav-lg__menu .menu-wrap > ul a:hover .icon-chv:before {
        background-color: #fff
    }
.c-btn-fill:hover {
        background-color: #013727
    }
.c-btn-fill:hover .icon-chv {
        background-color: #fff !important
    }
.c-btn-fill:hover .icon-chv:before {
        background-color: #013727 !important
    }
.course__list > li a:hover:after {
        transform: translateX(-50%);
        opacity: .2
    }
.top-cont-head a:hover {
        color: #005038
    }
.top-cont-head a:hover .icon-chv {
        background-color: #005038
    }
.top-cont-head a:hover .icon-chv:before {
        background-color: #fff
    }
.top .fv__nav__list a:hover {
        opacity: .7
    }
.top .voice .top-cont-head a:hover {
        opacity: .7;
        transition: opacity .3s cubic-bezier(.65, 0, .35, 1)
    }
.top .voice .top-cont-head a:hover .icon-chv {
        background-color: transparent
    }
.top .voice__item a:hover .card-pht img {
        scale: 1.1;
        transition: scale .5s cubic-bezier(.65, 0, .35, 1)
    }
.top .voice__item a:hover .voice__card:before {
        opacity: 1
    }
.top .news__item a:hover {
        border-color: #005038
    }
.top .news__item a:hover .card-pht img {
        scale: 1.1
    }
.top .news__item a:hover .icon-chv {
        background-color: #005038
    }
.top .news__item a:hover .icon-chv:before {
        background-color: #fff
    }
.gakka .gakka-detail__faq__bnr a:hover {
        opacity: .7
    }
.u-text-link:hover {
        opacity: .7
    }
}
@media print and (hover:none)and (orientation:portrait), screen and (min-width:768px)and (hover:none)and (orientation:portrait) {
.l-nav-lg__info a {
        font-size: 1rem
    }
.l-nav-lg__menu {
        gap: 10px
    }
.l-nav-lg__menu > li > a,
.l-nav-lg__menu > li > p {
        font-size: 1rem
    }
}
@media print and (hover:none), screen and (min-width:768px)and (hover:none) {
.top .voice {
        min-height: auto
    }
}
