﻿@-webkit-keyframes loopCl {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes loopCl {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@-webkit-keyframes loopClRv {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes loopClRv {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@-webkit-keyframes loopClY {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@keyframes loopClY {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@-webkit-keyframes loopClYRv {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@keyframes loopClYRv {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@-webkit-keyframes scrbarY {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: center top;
        transform-origin: center top
    }

    45% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: center top;
        transform-origin: center top
    }

    55% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }

    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@keyframes scrbarY {
    0% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: center top;
        transform-origin: center top
    }

    45% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: center top;
        transform-origin: center top
    }

    55% {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }

    100% {
        -webkit-transform: scaleY(0);
        transform: scaleY(0);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom
    }
}

@-webkit-keyframes textGradient {
    0% {
        color: #81adef
    }

    20% {
        color: #0090f1
    }

    40% {
        color: #4746f3
    }

    60% {
        color: #1ccaee
    }

    100% {
        color: #81adef
    }
}

@keyframes textGradient {
    0% {
        color: #81adef
    }

    20% {
        color: #0090f1
    }

    40% {
        color: #4746f3
    }

    60% {
        color: #1ccaee
    }

    100% {
        color: #81adef
    }
}

input,
select,
textarea {
    outline: none
}

input::focus,
select::focus,
textarea::focus {
    outline: none
}

input[type=submit],
select,
input[type=button] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
    display: none
}

input[type=submit]::focus,
select::focus,
input[type=button]::focus {
    outline-offset: -2px
}

button {
    background: none;
    color: inherit;
    border: none;
    outline: none;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    text-align: left
}

button:focus {
    outline: none
}

.slick-slide {
    outline: none !important
}

button {
    cursor: pointer;
    outline: none;
    padding: 0
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

::-moz-selection {
    background-color: #000;
    color: #fff
}

::selection {
    background-color: #000;
    color: #fff
}

html {
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-behavior: smooth;
    font-weight: 400;
    color: #232323;
    letter-spacing: .06em;
    margin-top: 0 !important;
    opacity: 1;
    font-family: 'Noto Serif JP', serif;
}

@media screen and (min-width: 320px) {
    html {
        font-size: 3vw
    }
}

@media screen and (min-width: 600px) {
    html {
        font-size: 1.2vw
    }
}

@media screen and (min-width: 1025px) {
    html {
        font-size: .9208335vw
    }
}

@media screen and (min-width: 1921px) {
    html {
        font-size: .8208335vw
    }
}

html::-webkit-scrollbar {
    display: none
}

html.wf-active {
    opacity: 1;
    -webkit-transition: opacity 600ms ease 150ms;
    transition: opacity 600ms ease 150ms
}

html .helloText {
    display: block;
    overflow: hidden
}

html .helloText span {
    display: inline-block;
    -webkit-transform: translateY(105%);
    transform: translateY(105%);
    -webkit-transition: -webkit-transform 600ms ease;
    transition: -webkit-transform 600ms ease;
    transition: transform 600ms ease;
    transition: transform 600ms ease, -webkit-transform 600ms ease
}

html .isActive .helloText span {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

html .isActive .helloText.num1 span {
    -webkit-transition-delay: 450ms;
    transition-delay: 450ms
}

html .isActive .helloText.num2 span {
    -webkit-transition-delay: 500ms;
    transition-delay: 500ms
}

html .isActive .helloText.num3 span {
    -webkit-transition-delay: 550ms;
    transition-delay: 550ms
}

.locked {
    overflow: hidden
}

body {
    font-weight: 400 !important;
    font-style: normal !important
}

body.overflowHidden {
    overflow: hidden
}

main {
    position: relative
}

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

h1,
h2,
h3 {
    font-weight: 700
}

#globalHeader {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    width: 100%
}

/*#globalHeader::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../image/headerBg.png") left top/100% no-repeat
}

@media screen and (min-width: 320px) {
    #globalHeader::before {
        width: 85.5%;
        height: 17.1890624994vw
    }
}

@media screen and (min-width: 600px) {
    #globalHeader::before {
        width: 52.5%;
        height: 10.5546874997vw
    }
}*/

#globalHeader.isActive #headerLogo {
    opacity: 1;
    -webkit-transition: opacity 400ms ease 450ms;
    transition: opacity 400ms ease 450ms
}

#globalHeader.isActive #headerContact {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 400ms ease 550ms, -webkit-transform 400ms ease 550ms;
    transition: opacity 400ms ease 550ms, -webkit-transform 400ms ease 550ms;
    transition: opacity 400ms ease 550ms, transform 400ms ease 550ms;
    transition: opacity 400ms ease 550ms, transform 400ms ease 550ms, -webkit-transform 400ms ease 550ms
}

#globalHeader.isActive #headerNav ul {
    opacity: 1;
    -webkit-transition: opacity 400ms ease 500ms;
    transition: opacity 400ms ease 500ms
}

#globalHeader .headerInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

@media screen and (min-width: 320px) {
    #globalHeader .headerInner {
        padding: 3vw 5vw 0
    }
}

@media screen and (min-width: 600px) {
    #globalHeader .headerInner {
        padding: 2vw 2.5vw 0
    }
}

#headerLogo,
#headerNav {
    z-index: 1
}

@media screen and (min-width: 320px) {

    #headerLogo,
    #headerNav {
        position: relative
    }
}

@media screen and (min-width: 600px) {

    #headerLogo,
    #headerNav {
        position: static
    }
}

#headerLogo {
    opacity: 0;
    will-change: opacity
}

#headerLogo a {
    display: block;
    max-width: 82px;
}

@media screen and (min-width: 320px) {
    #headerLogo a {
        width: 14vw;
    }
}

@media screen and (min-width: 600px) {
    #headerLogo a {
        width: 10vw
    }
}

#headerLogo img {
    width: 100%;
    height: auto
}

#headerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 320px) {
    #headerNav {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 600px) {
    #headerNav {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}


#headerNav ul {
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 2px 2px 14.3px 0px #0000001A;
    background: rgba(255, 255, 255, .4);
    opacity: 0;
    will-change: opacity
}

.body-home #headerNav ul {
    background: rgba(0, 0, 0, .4);
    box-shadow: none;
}



@media screen and (min-width: 320px) {
    #headerNav ul {
        display: none;
        /* position: fixed; */
        /* bottom: 0; */
        /* left: 0; */
        /* display: grid; */
        /* gap: 0; */
        /* width: 100%; */
        /* padding: 0; */
        /* -webkit-box-shadow: none; */
        /* box-shadow: none; */
        /* border-top: solid 1px #e9eef2; */
    }
}

@media screen and (min-width: 600px) {
    #headerNav ul {
        position: static;
        bottom: auto;
        left: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 2rem;
        width: auto;
        padding: 1rem 2.5rem;
        -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, .15);
        box-shadow: 2px 2px 5px rgba(0, 0, 0, .15);
        border-top: none;
        border-radius: 5rem
    }
}

#headerNav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px;
    position: relative;
}

#headerNav li::before {
    content: "●";
    position: relative;
    z-index: 100;
    color: #CB9D5E;
    font-size: .64rem;
    margin-right: 5px;
    -webkit-transition: color 400ms ease, -webkit-transform 400ms ease;
    transition: color 400ms ease, -webkit-transform 400ms ease;
    transition: color 400ms ease, transform 400ms ease;
    transition: color 400ms ease, transform 400ms ease, -webkit-transform 400ms ease
}

.body-home #headerNav li::before {
    color: #fff;
}

#js-lan::before {
    display: none !important;
    content: none !important;
}
#js-lan{
    padding: 1rem 1rem;
}

@media screen and (min-width: 320px) {
    #headerNav li::before {
        display: none
    }
}

@media screen and (min-width: 600px) {
    #headerNav li::before {
        display: inline-block
    }
}

#headerNav li .menuItem {
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 320px) {
    #headerNav li .menuItem {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 6rem;
        padding-bottom: 1rem;
        color: #CB9D5E;
        text-align: center;
        font-weight: 400;
        font-size: .8rem
    }

    .body-home #headerNav li .menuItem {
        color: #fff;
    }
}

@media screen and (min-width: 600px) {
    #headerNav li .menuItem {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        width: auto;
        height: auto;
        padding-bottom: 0;
        color: #CB9D5E;
        text-align: left;
        font-weight: 700;
        font-size: 1.05rem;
        letter-spacing: .1em
    }

    .body-home #headerNav li .menuItem {
        color: #fff;
    }
}

#headerNav li .menuItem svg {
    width: 1.75rem;
    height: 1.75rem;
    margin-bottom: 3px
}

@media screen and (min-width: 320px) {
    #headerNav li .menuItem svg {
        display: block
    }
}

@media screen and (min-width: 600px) {
    #headerNav li .menuItem svg {
        display: none
    }
}

#headerNav li .menuItem svg g {
    fill: #CB9D5E
}

#headerContact {
    position: fixed;
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
    will-change: opacity, transform
}

@media screen and (min-width: 320px) {
    #headerContact {
        top: .75rem;
        right: .75rem
    }
}

@media screen and (min-width: 600px) {
    #headerContact {
        top: 2rem;
        right: 2rem
    }
}

#headerContact .contactMain {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    background: #eca602
}

@media screen and (min-width: 320px) {
    #headerContact .contactMain {
        width: 3.75rem;
        height: 3.75rem
    }
}

@media screen and (min-width: 600px) {
    #headerContact .contactMain {
        width: 5.5rem;
        height: 5.5rem
    }
}

#headerContact svg {
    display: block;
    width: 45%;
    height: 45%;
    fill: #fff
}

#headerContact svg g {
    fill: #fff
}

.hasSub.isActive::before {
    z-index: 10;
    color: #eca602 !important;
    -webkit-transform: scale(1.5);
    transform: scale(1.5)
}

.hasSub.isActive .subMenu {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    -webkit-transition: z-index 5ms ease, visibility 5ms ease, opacity 5ms ease;
    transition: z-index 5ms ease, visibility 5ms ease, opacity 5ms ease
}

.hasSub.isActive .subMenu::before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: -webkit-transform 400ms ease 5ms;
    transition: -webkit-transform 400ms ease 5ms;
    transition: transform 400ms ease 5ms;
    transition: transform 400ms ease 5ms, -webkit-transform 400ms ease 5ms
}

.hasSub.isActive .subMenu .subMenuBg {
    opacity: 1;
    -webkit-transition: opacity 400ms ease 5ms;
    transition: opacity 400ms ease 5ms
}

.hasSub.isActive .subMenu .subMenuInner {
    opacity: 1;
    -webkit-transform: translateY(0rem);
    transform: translateY(0rem);
    -webkit-transition: opacity 400ms ease 100ms, -webkit-transform 400ms ease 100ms;
    transition: opacity 400ms ease 100ms, -webkit-transform 400ms ease 100ms;
    transition: opacity 400ms ease 100ms, transform 400ms ease 100ms;
    transition: opacity 400ms ease 100ms, transform 400ms ease 100ms, -webkit-transform 400ms ease 100ms
}

.hasSub.isActive .subMenu .subMenuInner .cardLink {
    z-index: 1;
    -webkit-transform: translateZ(1px);
    transform: translateZ(1px);
    -webkit-transition: -webkit-transform 5ms 150ms;
    transition: -webkit-transform 5ms 150ms;
    transition: transform 5ms 150ms;
    transition: transform 5ms 150ms, -webkit-transform 5ms 150ms
}

.hasSub .subMenu {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: z-index 5ms ease 250ms, visibility 5ms ease 250ms, opacity 5ms ease 250ms;
    transition: z-index 5ms ease 250ms, visibility 5ms ease 250ms, opacity 5ms ease 250ms
}

@media screen and (min-width: 320px) {
    .hasSub .subMenu {
        top: auto;
        bottom: 6rem
    }
}

@media screen and (min-width: 600px) {
    .hasSub .subMenu {
        top: 0;
        bottom: auto
    }
}

.hasSub .subMenu::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: -webkit-transform 200ms ease;
    transition: -webkit-transform 200ms ease;
    transition: transform 200ms ease;
    transition: transform 200ms ease, -webkit-transform 200ms ease;
    will-change: transform
}

@media screen and (min-width: 320px) {
    .hasSub .subMenu::before {
        -webkit-box-shadow: 0 -5px 30px -10px rgba(0, 0, 0, .1);
        box-shadow: 0 -5px 30px -10px rgba(0, 0, 0, .1);
        -webkit-transform-origin: bottom;
        transform-origin: bottom
    }
}

@media screen and (min-width: 600px) {
    .hasSub .subMenu::before {
        -webkit-box-shadow: 0 5px 30px -10px rgba(0, 0, 0, .1);
        box-shadow: 0 5px 30px -10px rgba(0, 0, 0, .1);
        -webkit-transform-origin: top;
        transform-origin: top
    }
}

.hasSub .subMenu .subMenuBg {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, .55);
    opacity: 0;
    -webkit-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
    will-change: opacity
}

@media screen and (min-width: 320px) {
    .hasSub .subMenu .subMenuBg {
        height: calc(100vh - 6rem);
        height: calc(100dvh - 6rem)
    }
}

@media screen and (min-width: 600px) {
    .hasSub .subMenu .subMenuBg {
        height: 100vh;
        height: 100dvh
    }
}

.hasSub .subMenuInner {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 1rem;
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
    -webkit-transition: opacity 250ms ease, -webkit-transform 250ms ease;
    transition: opacity 250ms ease, -webkit-transform 250ms ease;
    transition: opacity 250ms ease, transform 250ms ease;
    transition: opacity 250ms ease, transform 250ms ease, -webkit-transform 250ms ease
}

@media screen and (min-width: 320px) {
    .hasSub .subMenuInner {
        grid-template-columns: repeat(2, 1fr);
        padding: 2.5vw 2.5vw 5rem
    }
}

@media screen and (min-width: 600px) {
    .hasSub .subMenuInner {
        grid-template-columns: repeat(3, 1fr);
        padding: 9rem 10vw 5rem
    }
}

.hasSub .subMenuInner .cardLink {
    -webkit-transform: translateZ(0px);
    transform: translateZ(0px)
}

@media screen and (min-width: 320px) {
    .hasSub .cardLink .cardLinkText {
        padding: 1rem
    }
}

@media screen and (min-width: 600px) {
    .hasSub .cardLink .cardLinkText {
        padding: 1.5rem
    }
}

.hasSub .cardLink .cardLinkIcon {
    right: 0;
    bottom: 0
}

@media screen and (min-width: 320px) {
    .hasSub .cardLink .cardLinkIcon {
        width: 2.45rem;
        height: 2.45rem
    }
}

@media screen and (min-width: 600px) {
    .hasSub .cardLink .cardLinkIcon {
        width: 3.5rem;
        height: 3.5rem
    }
}

.hasSub .cardLink .cardLinkIcon::before {
    background: #fff;
    border-radius: .5rem 0 .5rem 0
}

.hasSub .cardLink .cardLinkIcon svg {
    fill: #CB9D5E
}

#footerContact {
    position: relative;
    z-index: 1;
    background: linear-gradient(180deg, #FFFFFF 10%, #F3F3F3 80%);
    padding-bottom: 3.5vw;
    -webkit-box-shadow: 0 30px 30px -10px rgba(0, 0, 0, .1);
    box-shadow: 0 30px 30px -10px rgba(0, 0, 0, .1);
    overflow: hidden
}

@media screen and (min-width: 320px) {
    #footerContact {
        padding-top: 5rem;
        border-radius: 0 0 1.5rem 1.5rem
    }
}

@media screen and (min-width: 600px) {
    #footerContact {
        padding-top: 5rem;
        border-radius: 0 0 4rem 4rem
    }
}

@media screen and (min-width: 320px) {
    #footerContact .imgWrapper {
        padding-bottom: 55%
    }
}

@media screen and (min-width: 600px) {
    #footerContact .imgWrapper {
        padding-bottom: 45%
    }
}

#footerContact .textGal {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#footerContact .textGalItem {
    color: #fff
}

@media screen and (min-width: 320px) {
    #footerContact .textGalItem {
        width: 42rem;
        font-size: 7rem
    }
}

@media screen and (min-width: 600px) {
    #footerContact .textGalItem {
        width: 82rem;
        font-size: 14rem
    }
}

#footerContact .enCopy {
    font-weight: 700;
    color: #CB9D5E
}

@media screen and (min-width: 320px) {
    #footerContact .enCopy {
        font-size: 3.2rem
    }
}

@media screen and (min-width: 600px) {
    #footerContact .enCopy {
        font-size: 5.8rem
    }
}

#footerContact .jaCopy {
    font-weight: 700;
    padding: 2rem 0 1rem
}

@media screen and (min-width: 320px) {
    #footerContact .jaCopy {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 600px) {
    #footerContact .jaCopy {
        font-size: 1.8rem
    }
}

#footerContact .jaDesc {
    opacity: .7
}

@media screen and (min-width: 320px) {
    #footerContact .jaDesc {
        font-size: .96rem;
        margin-bottom: 3rem;
    }
}

@media screen and (min-width: 600px) {
    #footerContact .jaDesc {
        font-size: 1rem;
        margin-bottom: 5rem
    }
}

#footerContact ul {
    width: 50%;
    /* max-width: 660px; */
    padding: 0 2.5vw;
    margin: 0 auto;
}

#footerContact ul>li {}

@media screen and (min-width: 320px) {
    #footerContact ul {}
}

@media screen and (min-width: 600px) {
    #footerContact ul {}
}

#footerContact .block:first-child {
    position: relative;
    padding: 0 2.5vw
}

#footerContact .block:last-child {
    text-align: center
}

@media screen and (min-width: 320px) {
    #footerContact .block:last-child {
        padding-top: 4rem
    }
}

@media screen and (min-width: 600px) {
    #footerContact .block:last-child {
        padding-top: 8rem
    }
}

#footerEnd {
    background: #282B31;
    color: #fff;
    margin-top: -5vw;
}

@media screen and (min-width: 320px) {
    #footerEnd .inner {
        padding: 5.5rem 10vw 8rem;
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .inner {
        padding: 12rem 10vw 5rem;
    }
}

#footerEnd .compnay h2 {
    font-weight: 700;
    letter-spacing: .14em;
    margin-bottom: 3rem
}

#footerEnd .compnay h2 img {
    max-width: 90%;
}

@media screen and (min-width: 320px) {
    #footerEnd .compnay h2 {
        font-size: 2rem
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .compnay h2 {
        font-size: 2.7rem
    }
}

#footerEnd .isInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 2rem;
}

@media screen and (min-width: 320px) {
    #footerEnd .isInfo .compnay {
        width: 100%
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isInfo .compnay {
        width: 25%
    }
}

#footerEnd .isInfo .compnay h3 {
    font-weight: 700;
    font-size: 1.35rem;
    margin-bottom: 1.5rem;
    color: #CB9D5E;
}

#footerEnd .isInfo .compnay p {
    font-size: 1.1rem;
    opacity: .8;
    color: #CB9D5E;
    line-height: 2;
}

@media screen and (min-width: 320px) {
    #footerEnd .isInfo .compnay p {
        margin-bottom: 3rem;
        padding-bottom: 3rem;
        border-bottom: solid 1px #55595f;
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isInfo .compnay p {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none
    }
}

#footerEnd .isInfo .sitemap {}

@media screen and (min-width: 320px) {
    #footerEnd .isInfo .sitemap {}
}

@media screen and (min-width: 600px) {
    #footerEnd .isInfo .sitemap {}
}

#footerEnd .isInfo .sitemap li {
    margin-bottom: .45rem
}

#footerEnd .isInfo .sitemap .title {
    font-size: 1.35rem;
    margin: .6rem 0 1.85rem;
    opacity: .75
}

#footerEnd .isInfo .sitemap a {}

#footerEnd .isEnd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hiden
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

#footerEnd .isEnd .logo {
    display: block
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .logo {
        width: 30%;
        margin: 7rem 0;
        -webkit-transform: scale(1.25);
        transform: scale(1.25)
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .logo {
        width: 20%;
        margin: 0;
        -webkit-transform: unset;
        transform: unset
    }
}

#footerEnd .isEnd .logo img {
    width: 100%;
    height: auto
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .content {
        width: 100%
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .content {
        width: 50%
    }
}

#footerEnd .isEnd .sns,
#footerEnd .isEnd .legal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (min-width: 320px) {

    #footerEnd .isEnd .sns,
    #footerEnd .isEnd .legal {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media screen and (min-width: 600px) {

    #footerEnd .isEnd .sns,
    #footerEnd .isEnd .legal {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

#footerEnd .isEnd .sns {
    gap: 1.25rem
}

#footerEnd .isEnd .sns svg {
    fill: #fff;
    width: 1.85rem;
    height: 1.85rem
}

#footerEnd .isEnd .sns a {
    display: inline-block;
    -webkit-transition: opacity 400ms ease;
    transition: opacity 400ms ease;
    will-change: opacity
}

#footerEnd .isEnd .sns a:hover {
    opacity: .5
}

#footerEnd .isEnd .legal {}

#footerEnd .isEnd .legal li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .9rem;
    color: #CB9D5E;
}

#footerEnd .isEnd .legal li::after {
    content: "/";
    margin: 0 1.15rem;
    opacity: .6
}

#footerEnd .isEnd .legal li:last-child::after {
    display: none
}

#footerEnd .isEnd .copy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .8rem
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .copy {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .copy {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

#footerEnd .isEnd .privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .privacy {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 3rem 0
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .privacy {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 0
    }
}

#footerEnd .isEnd .privacy.isDisabled {
    display: none;
    visibility: hidden
}

#footerEnd .isEnd .privacy img {
    width: 15%
}

#footerEnd .isEnd .privacy p {
    width: 80%;
    opacity: .85;
    line-height: 1.54
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .privacy p {
        margin-top: 1rem
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .privacy p {
        margin-top: 0
    }
}

#footerEnd .isEnd .copyright {
    width: 100%;
    color: #CB9D5E;
}

@media screen and (min-width: 320px) {
    #footerEnd .isEnd .copyright {
        text-align: center;
        margin-top: 2rem
    }
}

@media screen and (min-width: 600px) {
    #footerEnd .isEnd .copyright {
        text-align: right;
        margin-top: 1rem
    }
}

#footerEnd .foot_r {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#footerEnd .foot_r .sitemap {}

#footerEnd .foot_r .sitemap>ul {
    display: flex;
    justify-content: space-between;
}

#footerEnd .foot_r .sitemap>ul>li {}

#footerEnd .foot_r .sitemap>ul>li>a {
    color: #CB9D5E;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 100%;
    letter-spacing: 1.39px;
    vertical-align: middle;
}

#footerEnd .foot_r .sitemap>ul>li>a:before {
    content: "●";
    position: relative;
    z-index: 100;
    color: #CB9D5E;
    font-size: .64rem;
    margin-right: 5px;
    -webkit-transition: color 400ms ease, -webkit-transform 400ms ease;
    transition: color 400ms ease, -webkit-transform 400ms ease;
    transition: color 400ms ease, transform 400ms ease;
    transition: color 400ms ease, transform 400ms ease, -webkit-transform 400ms ease;
    vertical-align: middle;
}

#footerEnd .block.isEnd {}

#footerEnd .block.isEnd .content {}

.hoverLine span {
    position: relative;
    display: inline-block
}

.hoverLine span::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #CB9D5E;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: center right;
    transform-origin: center right;
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
    will-change: transform
}

.hoverLine:hover span::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: center left;
    transform-origin: center left
}

.layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.imgWrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 66.67%;
    border-radius: .75rem;
    overflow: hidden
}

.imgWrapper img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.commonBtn a,
.commonBtn button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .75rem .75rem .75rem 1.75rem;
    border-radius: 10rem;
    background: #CB9D5E;
    overflow: hidden
}

.commonBtn a:hover .btnIcon::before,
.commonBtn button:hover .btnIcon::before {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.commonBtn a:hover .btnIcon svg,
.commonBtn button:hover .btnIcon svg {
    -webkit-animation: arrowGo 400ms ease;
    animation: arrowGo 400ms ease
}

.commonBtn .btnText {
    font-size: 1rem;
    color: #fff;
    margin-right: 4.5rem
}

.commonBtn .btnIcon {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 3rem;
    height: 3rem
}

.commonBtn .btnIcon::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 50%;
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
    will-change: transform
}

.commonBtn .btnIcon svg {
    position: relative;
    z-index: 1;
    display: block;
    fill: #CB9D5E;
    width: 40%;
    height: 40%
}

@-webkit-keyframes arrowGo {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }

    50% {
        -webkit-transform: translateX(250%);
        transform: translateX(250%)
    }

    51% {
        -webkit-transform: translateX(-250%);
        transform: translateX(-250%)
    }

    100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }
}

@keyframes arrowGo {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }

    50% {
        -webkit-transform: translateX(250%);
        transform: translateX(250%)
    }

    51% {
        -webkit-transform: translateX(-250%);
        transform: translateX(-250%)
    }

    100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }
}

.textGal,
.textGalWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.textGal {
    overflow: hidden
}

.textGal.reverse {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.textGal.reverse .textGalWrapper {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-animation: loopClRv 50000ms linear infinite both;
    animation: loopClRv 50000ms linear infinite both
}

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

.textGal.vert .textGalWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-animation: loopClY 100000ms linear infinite both;
    animation: loopClY 100000ms linear infinite both
}

.textGal.vert .textGalItem {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr
}

.textGal.vert.reverse {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.textGal.vert.reverse .textGalWrapper {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-animation: loopClYRv 100000ms linear infinite both;
    animation: loopClYRv 100000ms linear infinite both
}

.textGalWrapper {
    -webkit-animation: loopCl 50000ms linear infinite both;
    animation: loopCl 50000ms linear infinite both
}

.textGalItem {
    font-weight: 900;
    background: linear-gradient(90deg, #E5CEAE 0%, #FFF6EB 48.35%, #E5CEAE 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* 兼容旧版浏览器 */
    background-clip: text;
    /* 标准语法 */
    color: transparent;
    /* 标准语法 */

}

@media screen and (min-width: 320px) {
    .textGalItem {
        font-size: 10rem;
        width: 48rem;
    }
}

@media screen and (min-width: 600px) {
    .textGalItem {
        font-size: 14rem;
        width: 103rem;
    }
}

@media screen and (min-width: 320px) {
    .textGalImg {
        width: 35vw;
        margin-right: 1rem
    }
}

@media screen and (min-width: 600px) {
    .textGalImg {
        width: 25vw;
        margin-right: 2rem
    }
}

@media screen and (min-width: 320px) {
    .textGalImg:nth-child(even) {
        margin-top: 1rem
    }
}

@media screen and (min-width: 600px) {
    .textGalImg:nth-child(even) {
        margin-top: 2rem
    }
}

@media screen and (min-width: 320px) {
    .pageBread {
        width: 100%;
        margin-top: 2.5rem
    }
}

@media screen and (min-width: 600px) {
    .pageBread {
        width: auto;
        margin-top: 0
    }
}

.pageBread ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 320px) {
    .pageBread ol {
        width: 100%
    }
}

@media screen and (min-width: 600px) {
    .pageBread ol {
        width: auto
    }
}

.pageBread li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 320px) {
    .pageBread li {
        font-size: 10px;
    }
}

@media screen and (min-width: 600px) {
    .pageBread li {
        font-size: .95rem
    }
}

.pageBread li::after {
    content: "●";
    opacity: .5
}

@media screen and (min-width: 320px) {
    .pageBread li::after {
        font-size: 6px;
        margin: 0 .5rem
    }
}

@media screen and (min-width: 600px) {
    .pageBread li::after {
        font-size: .82rem;
        margin: 0 1.5rem
    }
}

.pageBread li:last-child::after {
    display: none
}

.pageBread li a {
    color: #080808;
}

.pageBread li a:hover {
    text-decoration: underline
}

.pageBread li .current {
    opacity: .6
}

.cardLink {
    position: relative
}

.cardLink .cardLinkInner {
    position: relative;
    display: block
}

.cardLink .cardLinkInner:hover .cardLinkImg {
    -webkit-filter: brightness(0.65);
    filter: brightness(0.65)
}

.cardLink .cardLinkInner:hover .cardLinkImg .imgWrapper img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.cardLink .cardLinkInner:hover .cardLinkText span::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: center left;
    transform-origin: center left
}

.cardLink .cardLinkInner:hover .cardLinkIcon::before {
    -webkit-transform: scale(1.15);
    transform: scale(1.15)
}

.cardLink .dispSvg {
    display: block;
    width: 100%;
    height: 100%
}

.cardLink .cardLinkImg {
    -webkit-filter: brightness(0.85);
    filter: brightness(0.85);
    -webkit-transition: -webkit-filter 400ms ease;
    transition: -webkit-filter 400ms ease;
    transition: filter 400ms ease;
    transition: filter 400ms ease, -webkit-filter 400ms ease;
    will-change: filter;
}

.cardLink .cardLinkImg>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.cardLink .cardLinkImg svg mask path {
    fill: #fff
}

.cardLink .cardLinkImg .imgWrapper {
    padding-bottom: 55.56%
}

.cardLink .cardLinkImg .imgWrapper img {
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
    will-change: transform
}

.cardLink .cardLinkText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    color: #fff
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkText {
        padding: 1.5rem;
        font-size: 1.8rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkText {
        padding: 3rem;
        font-size: 2.1rem
    }
}

.cardLink .cardLinkText span {
    position: relative;
    display: inline-block
}

.cardLink .cardLinkText span::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: center right;
    transform-origin: center right;
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
    will-change: transform
}

.cardLink .cardLinkSv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkSv {
        padding: 2rem 2rem 1rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkSv {
        padding: 4rem 3rem 2.5rem
    }
}

.cardLink .cardLinkSv .svName {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 250%
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkSv .svName {
        font-size: 2.8rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkSv .svName {
        font-size: 3.6rem
    }
}

.cardLink .cardLinkSv .svName small {
    display: inline-block;
    font-size: 40%;
    margin-left: 5px
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkSv .name {
        width: 8rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkSv .name {
        width: 15rem
    }
}

.cardLink .cardLinkSv .name img {
    width: 100%;
    height: auto
}

.cardLink .cardLinkSv .copy {
    font-weight: 700;
    margin-bottom: .5rem;
    line-height: 1.6
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkSv .copy {
        font-size: 1.3rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkSv .copy {
        font-size: 1.6rem
    }
}

.cardLink .cardLinkSv .svCat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkSv .svCat {
        font-size: .9rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkSv .svCat {
        font-size: .96rem
    }
}

.cardLink .cardLinkSv .catName {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #CB9D5E;
    color: #fff;
    padding: 4px 8px;
    border-radius: 3px
}

.cardLink .cardLinkSv .catName span {
    /*    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;*/
    width: 70px;
    text-align: center;
}

.cardLink .cardLinkSv .catName span::after {
    content: "/";
    margin: 0 3.5px
}

.cardLink .cardLinkSv .catName span:last-child::after {
    display: none
}

.cardLink .cardLinkSv ul {
    position: relative;
    left: auto !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 0 1rem
}

.cardLink .cardLinkSv ul::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: -1rem;
    width: calc(100% + 2rem);
    height: 2px;
    background: #CB9D5E
}

.cardLink .cardLinkMock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 1rem
}

.cardLink .cardLinkMock img {
    display: block
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkMock img {
        width: 10rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkMock img {
        width: 18rem
    }
}

.cardLink .cardLinkEn {
    font-weight: 600
}

.cardLink .cardLinkEn img {
    height: auto
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkEn img {
        width: 10rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkEn img {
        width: 10rem
    }
}

.cardLink .cardLinkJa {
    font-size: 60%
}

.cardLink .cardLinkJa span::after {
    -webkit-transition-delay: 100ms;
    transition-delay: 100ms
}

.cardLink .cardLinkIcon {
    position: absolute;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 320px) {
    .cardLink .cardLinkIcon {
        right: -0.35rem;
        width: 3rem;
        height: 3rem
    }
}

@media screen and (min-width: 600px) {
    .cardLink .cardLinkIcon {
        right: -0.5rem;
        width: 4.65rem;
        height: 4.65rem
    }
}

.cardLink .cardLinkIcon::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #CB9D5E;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    will-change: transform
}

.cardLink .cardLinkIcon svg {
    position: relative;
    z-index: 1;
    display: block;
    fill: #fff;
    width: 40%;
    height: 40%
}

.cardLink.size1_3 .cardLinkIcon {
    width: 4.2rem;
    height: 4.2rem
}

#pageFv {
    overflow: hidden
}

@media screen and (min-width: 320px) {
    #pageFv {
        padding: 7.5rem 0 5rem
    }
}

@media screen and (min-width: 600px) {
    #pageFv {
        padding: 12.5rem 0 10rem
    }
}

#pageFv.isSingle .inner {
    margin-top: -3rem
}

@media screen and (min-width: 320px) {
    #pageFv.isSingle .inner {
        padding: 3rem 5vw 0
    }
}

@media screen and (min-width: 600px) {
    #pageFv.isSingle .inner {
        padding: 3rem 10vw 0
    }
}

#pageFv .singleTitle {
    position: relative;
    z-index: 1
}

@media screen and (min-width: 320px) {
    #pageFv .singleTitle {
        padding: 5rem 5vw 0;
        margin-bottom: -5.5rem
    }
}

@media screen and (min-width: 600px) {
    #pageFv .singleTitle {
        padding: 5rem 10vw 0;
        margin-bottom: -7.5rem
    }
}

#pageFv .singleTitle .cat {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #CB9D5E;
    color: #fff;
    font-weight: 700;
    font-size: .94rem;
    padding: 5px 20px 5px 20px;
    border-radius: 5rem;
    margin-bottom: 1.5rem
}

#pageFv .singleTitle .cat svg {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: .5rem
}

#pageFv .singleTitle h1 {
    font-weight: 700;
    line-height: 1.64
}

@media screen and (min-width: 320px) {
    #pageFv .singleTitle h1 {
        font-size: 2rem
    }
}

@media screen and (min-width: 600px) {
    #pageFv .singleTitle h1 {
        font-size: 3.2rem
    }
}

#pageFv .textGal {
    position: relative
}

#pageFv .inner {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 3rem 5vw 0
}

@media screen and (min-width: 320px) {
    #pageFv .inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: -6rem
    }
}

@media screen and (min-width: 600px) {
    #pageFv .inner {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        margin-top: -8rem
    }
}

#pageFv .titleTime {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .94rem
}

#pageFv .titleTime svg {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: .5rem
}

#pageFv .titleEn {
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: .25em
}

#pageFv .titleJa {
    font-weight: 700;
    font-size: 1.15rem
}

@media screen and (min-width: 320px) {
    .topHead {
        text-align: center
    }
}

@media screen and (min-width: 600px) {
    .topHead {
        text-align: left
    }
}

.topHead .headEn {
    position: relative;
    font-weight: 700;
    font-size: 1.1rem;
    color: #CB9D5E
}

.topHead .headEn::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #eca602;
    position: absolute;
    top: calc(50% - .5rem)
}

@media screen and (min-width: 320px) {
    .topHead .headEn::before {
        left: 7rem
    }
}

@media screen and (min-width: 600px) {
    .topHead .headEn::before {
        left: -2rem
    }
}

.topHead .headJa {
    font-weight: 700;
    font-size: 3.8rem;
    letter-spacing: .1em;
    margin: 1.5rem 0 2rem;
    color: #CB9D5E;
}

@media screen and (min-width: 320px) {
    .topHead .headJa {
        font-size: 2.8rem
    }
}

@media screen and (min-width: 600px) {
    .topHead .headJa {
        font-size: 3.8rem
    }
}

@media screen and (min-width: 320px) {
    .topHead .headJa.en {
        font-size: 3.8rem
    }
}

@media screen and (min-width: 600px) {
    .topHead .headJa.en {
        font-size: 5.6rem
    }
}

.topHead .headText {
    font-size: 1.1rem;
    line-height: 2;
    opacity: .8
}

.topHead .headTitle span {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.5;
    border: 1px solid;
    padding: .4rem .85rem;
    border-radius: 5rem;
    color: #CB9D5E;
    display: block;
    width: 120px;
    text-align: center;
}

.articleListThumbBody figure {
    margin: 0
}

.articleListThumbBody .articleTitle {
    font-weight: 700;
    margin: 1.5rem 0;
    line-height: 1.62
}

@media screen and (min-width: 320px) {
    .articleListThumbBody .articleTitle {
        font-size: 1.25rem
    }
}

@media screen and (min-width: 600px) {
    .articleListThumbBody .articleTitle {
        font-size: 1.35rem
    }
}

.articleListThumbBody .articleExcerpt {
    font-size: .96rem;
    line-height: 1.64;
    opacity: .75;
    margin-bottom: 1.5rem
}

.articleListThumbBody .articleInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1rem;
    padding-left: 1.5rem
}

.articleListThumbBody .articleInfo span {
    position: relative;
    display: inline-block
}

.articleListThumbBody .articleInfo span::before {
    content: "";
    display: block;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background: #eca602;
    position: absolute;
    top: calc(50% - .4rem);
    left: -1.5rem
}

.articleListThumbBody .articleInfo time {
    margin-left: 1.25rem;
    opacity: .65
}

.pickupArticleSliderScrollbar {
    height: 10px;
    background: #e9eef2;
    margin: 3rem 0 0
}

.pickupArticleSliderScrollbar .swiper-scrollbar-drag {
    background: #CB9D5E
}

.pickSliderArrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem
}

.pickSliderArrows .swiper-button-disabled {
    opacity: .4
}

.pickSliderArrows .swiper-button-disabled .arrow:hover {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.pickSliderArrows .arrow {
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
    will-change: transform
}

.pickSliderArrows .arrow:hover {
    -webkit-transform: scale(1.15);
    transform: scale(1.15)
}

.pickSliderArrows svg {
    display: block;
    fill: #CB9D5E
}

@media screen and (min-width: 320px) {
    .pickSliderArrows svg {
        width: 2rem;
        height: 2rem
    }
}

@media screen and (min-width: 600px) {
    .pickSliderArrows svg {
        width: 2rem;
        height: 2rem
    }
}

#pageNation {
    padding: 3rem 0 5rem
}

#pageNation ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem
}

#pageNation span,
#pageNation a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    border-radius: 50%
}

@media screen and (min-width: 320px) {

    #pageNation span,
    #pageNation a {
        width: 3rem;
        height: 3rem;
        font-size: 1.05rem
    }
}

@media screen and (min-width: 600px) {

    #pageNation span,
    #pageNation a {
        width: 3rem;
        height: 3rem;
        font-size: 1.05rem
    }
}

#pageNation a {
    background: #e9eef2;
    -webkit-transition: background-color 400ms ease, color 400ms ease;
    transition: background-color 400ms ease, color 400ms ease
}

#pageNation a:hover {
    background: #CB9D5E;
    color: #fff
}

#pageNation span {
    background: #CB9D5E;
    color: #fff
}


#footer-nav {
    display: none;
}


#headerNav li #lan{
    width: 100%;
    position: absolute;
    top: 99%;
    display: block;
    border-radius: 0;
    padding: 0;
    display: none;
    background: transparent;
    padding-top: 1rem;
    left: 0.2rem;
}
#headerNav li #lan li{
    display: block;
    padding: 0 10px;
    background: rgba(0, 0, 0, .4);
}
#headerNav li #lan li::before{
    display: none;
}
#headerNav li #lan li>a{
    color: #fff;
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 0;
}

#headerNav li #lan li.cur>a {color: #cb9d5e;font-weight: bolder;}


@media screen and (max-width: 991px) {

    #footer-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        display: block;
        z-index: 111;
    }

    #footer-nav ul {
        display: grid;
        gap: 0;
        padding: 0;
        width: 100%;
        background: rgba(0, 0, 0, 1);
        border-top: solid 1px #55595f;
        grid-template-columns: repeat(5, 1fr);
    }

    #footer-nav ul li {}

    #footer-nav ul li>a {
         display: flex;
         -webkit-box-orient: vertical;
         -webkit-box-direction: normal;
         -ms-flex-direction: column;
         flex-direction: column;
         -webkit-box-pack: center;
         -ms-flex-pack: center;
         justify-content: center;
         width: 100%;
         height: 6rem;
         color: #ffffff;
         text-align: center;
         font-weight: 400;
         font-size: .8rem
    }

    #footerEnd .foot_r {
        width: 100%;
    }

    #footerEnd .foot_r .sitemap {
        margin-bottom: 3rem;
    }

    #footerEnd .foot_r .sitemap>ul {
        flex-wrap: wrap;
        justify-content: center;
        -webkit-justify-content: left;
    }

    #footerEnd .isInfo .sitemap .title {
        width: calc(100% / 3);
        margin-bottom: .6rem;
    }

    #headerNav li:first-child {
        display: none;
    }

    #headerNav li {
        padding: 0 10px;
    }

    .body-home #headerNav li .menuItem {
        padding-bottom: 0;
    }

    .body-home #headerNav ul,
    #headerNav ul {
        background: rgba(0, 0, 0, 1);
        border-top: solid 1px #55595f;
    }

    #footerContact ul {
        width: 90%;
    }

    #footerContact {
        padding-bottom: 4rem;
        padding-top: 0;
    }

    .topHead .headTitle span {
        margin: 0 auto;
    }

    #footerEnd .foot_r .sitemap>ul.foot_lan{
        display: none;
    }
}