[data-ani] {
    --ani-delay: 0s;
    --ani-duration: 1s;
    pointer-events:none
}
[data-ani].is-animated-done {
    pointer-events:auto
}
.ani-width {
    width:0;
    -webkit-transition:width var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:width var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay)
}
.ani-width.is-animated {
    width:100%
}
.ani-fade,.ani-fade-left,.ani-fade-right,.ani-fade-down-full,.ani-fade-down,.ani-fade-up {
    opacity:0;
    -webkit-transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay)
}
.ani-fade.is-animated,.is-animated.ani-fade-left,.is-animated.ani-fade-right,.is-animated.ani-fade-down-full,.is-animated.ani-fade-down,.is-animated.ani-fade-up {
    opacity:1
}
.ani-fade-up {
    -webkit-transform:translateY(30px);
    transform:translateY(30px)
}
.ani-fade-up.is-animated {
    -webkit-transform:translateY(0);
    transform:translateY(0)
}
.ani-fade-down {
    -webkit-transform:translateY(-10px);
    transform:translateY(-10px)
}
.ani-fade-down.is-animated {
    -webkit-transform:translateY(0);
    transform:translateY(0)
}
.ani-fade-down-full {
    -webkit-transform:translateY(-100%);
    transform:translateY(-100%)
}
.ani-fade-down-full.is-animated {
    -webkit-transform:translateY(0);
    transform:translateY(0)
}
.ani-fade-right {
    -webkit-transform:translateX(-10px);
    transform:translateX(-10px)
}
.ani-fade-right.is-animated {
    -webkit-transform:translateX(0);
    transform:translateX(0)
}
.ani-fade-left {
    -webkit-transform:translateX(10px);
    transform:translateX(10px)
}
.ani-fade-left.is-animated {
    -webkit-transform:translateX(0);
    transform:translateX(0)
}
.ani-scale {
    -webkit-transform:scale(0.6);
    transform:scale(0.6);
    -webkit-transform-origin:center;
    transform-origin:center;
    -webkit-transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay);
    transition:opacity var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay),-webkit-transform var(--ani-duration) cubic-bezier(0.42, 0, 0.58, 1) var(--ani-delay)
}
.ani-scale.is-animated {
    -webkit-transform:scale(1);
    transform:scale(1)
}
.ani-zoom {
    -webkit-transform:scale(1.2);
    transform:scale(1.2);
    -webkit-transform-origin:center;
    transform-origin:center;
    -webkit-transition:-webkit-transform var(--ani-duration) cubic-bezier(0.07, 0.09, 0.09, 0.62) var(--ani-delay);
    transition:-webkit-transform var(--ani-duration) cubic-bezier(0.07, 0.09, 0.09, 0.62) var(--ani-delay);
    transition:transform var(--ani-duration) cubic-bezier(0.07, 0.09, 0.09, 0.62) var(--ani-delay);
    transition:transform var(--ani-duration) cubic-bezier(0.07, 0.09, 0.09, 0.62) var(--ani-delay), -webkit-transform var(--ani-duration) cubic-bezier(0.07, 0.09, 0.09, 0.62) var(--ani-delay)
}
.ani-zoom.is-animated {
    -webkit-transform:scale(1);
    transform:scale(1)
}
.ani-clip,.ani-clip-full {
    -webkit-clip-path:inset(0 100% 0 0);
    clip-path:inset(0 100% 0 0);
    opacity:0;
    -webkit-transition:all var(--ani-duration) ease-in-out var(--ani-delay);
    transition:all var(--ani-duration) ease-in-out var(--ani-delay);
    will-change:clip-path
}
@media(max-width: 768px) {
    .ani-clip-full {
        -webkit-transition:all calc(var(--ani-duration)/2) cubic-bezier(0.07, 0.09, 0.09, 0.62) calc(var(--ani-delay)/2);
        transition:all calc(var(--ani-duration)/2) cubic-bezier(0.07, 0.09, 0.09, 0.62) calc(var(--ani-delay)/2)
    }
}
.ani-clip.is-animated,.is-animated.ani-clip-full {
    opacity:1;
    -webkit-clip-path:inset(0);
    clip-path:inset(0)
}

.c-pageMv{
  padding-top: 116px;
}
.c-pageMv picture {
    height:clamp(100px,-82.962962963px + 46.9135802469vw,480px)
}
@media(max-width: 768px) {
    .c-pageMv picture {
        height:auto
    }
    .c-pageMv{
      padding-top: 56px;
    }
}
.c-pageMv img {
    object-fit:cover;
    object-position:center
}
.u-content {
    margin-top:40px;
}
@media(max-width: 768px) {
    .u-content {
        margin-top:0
    }
}
.u-content .u-inner {
    width:100%;
    padding:20px 0
}
@media(max-width: 768px) {
    .u-content .u-inner {
        padding:10px 0
    }
}
.l-section-subtitle {
    text-align:center;
    border-top:3px double #000;
    border-bottom:3px double #000;
    padding:20px 0px 14px;
    font-size:clamp(18px,14.6296296296px + 0.8641975309vw,25px);
    margin:0 0 40px 0;
    line-height:1.4
}
@media(max-width: 768px) {
    .l-section-subtitle {
        margin:10px 0 20px
    }
}
.c-image-box h3 {
    font-size:clamp(14px,12.5555555556px + 0.3703703704vw,17px);
    text-align:center;
    display:block
}
.c-image-box figcaption {
    text-align:center;
    display:block;
    margin:.4em 0 0
}
.u-text {
    line-height:1.75;
    margin:0 0 3em;
    -webkit-transform:rotate(0.05deg);
    transform:rotate(0.05deg)
}
.u-flex {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:40px
}
@media(max-width: 768px) {
    .u-flex {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:20px
    }
}
.u-flex img {
    width:100%
}
.l-section-subtitle small {
    font-size:1.3rem;
    padding:.25em 0 0;
    display:block
}
.c-brand-main .u-inner img,.u-mgt-normal .u-inner img {
    width:100%;
    max-width:none
}
.c-brand-main .u-inner {
    text-align:center;
    margin-bottom:0
}
.c-brand-main__inner {
    background:#fff;
    position:relative
}
.c-brand-main__inner:after {
    content:"";
    width:100%;
    height:100%;
    display:block;
    border:1px solid rgba(0,0,0,.3);
    position:absolute;
    top:0;
    left:0;
    z-index:10;
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
.c-brand-main__inner h3 {
    width:clamp(180px,117.4074074074px + 16.049382716vw,310px);
    margin:0 auto;
    padding:70px 0 0
}
@media(max-width: 768px) {
    .c-brand-main__inner h3 {
        padding:40px 0 0
    }
}
.c-brand-main__inner h2 {
    font-size:clamp(22px,19.1111111111px + 0.7407407407vw,28px);
    font-weight:400;
    letter-spacing:.1em;
    margin:50px 0 0
}
@media(max-width: 768px) {
    .c-brand-main__inner h2 {
        line-height:1.5;
        margin:30px 0 0
    }
}
.c-brand-main__inner p {
    font-size:clamp(13px,11.5555555556px + 0.3703703704vw,16px);
    font-weight:400;
    line-height:2;
    text-align:center;
    width:100%;
    margin:30px 0 0
}
@media(max-width: 768px) {
    .c-brand-main__inner p {
        letter-spacing:0;
        margin:10px 0 0
    }
}
.c-brand-main__image {
    text-align:center;
    width:100%;
    margin-top:clamp(30px,20.3703703704px + 2.4691358025vw,50px);
    position:absolute
}
.c-brand-main__image figure {
    width:90%;
    max-width:810px;
    margin:0 auto;
    padding:0 0 0 20px
}
@media(max-width: 768px) {
    .c-brand-main__image figure {
        max-width:410px
    }
}
.c-brand-main__inner>figure {
    padding:120px 0 0
}
@media(max-width: 768px) {
    .c-brand-main__inner>figure {
        padding-top:clamp(190px,127.4074074074px + 16.049382716vw,320px)
    }
}
.c-geofit {
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.c-geofit figure {
    width:300px
}
.c-geofit h3 {
    font-size:clamp(14px,12.0740740741px + 0.4938271605vw,18px);
    font-weight:700;
    line-height:1.75;
    padding:0 0 0 2em;
    -webkit-transform:rotate(0.005deg);
    transform:rotate(0.005deg)
}
.c-geofit__sub {
    padding:40px 4% 30px
}
.c-geofit__sub li em {
    font-size:clamp(12px,10.0740740741px + 0.4938271605vw,16px);
    line-height:1.5;
    text-align:center;
    white-space:nowrap;
    margin:0 0 .75em;
    display:block
}
.c-geofit__monitor {
    margin:30px 0;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.c-geofit__monitor>div:nth-child(1) {
    width:55%
}
.c-geofit__monitor>div:nth-child(2) {
    width:45%;
    padding:0 0 0 20px
}
.c-geofit__monitor>div:nth-child(2) figure {
    position:relative
}
.c-geofit__monitor>div:nth-child(2) figure figcaption {
    font-size:1.6rem;
    font-weight:700;
    text-align:right;
    display:block;
    position:absolute;
    bottom:5px;
    right:5px
}
.c-geofit__monitor>div:nth-child(2) ul {
    padding:.5em 20px 0
}
.c-geofit__monitor>div:nth-child(2) ul li {
    font-size:1.2rem;
    line-height:1.5;
    text-align:center;
    letter-spacing:0
}
.c-note {
    font-size:1rem;
    max-width:1080px;
    margin:20px auto 0;
    display:block
}
.c-geofit__text__sub {
    font-size:clamp(13px,12.5185185185px + 0.1234567901vw,14px);
    padding-top:15px;
    line-height:1.5
}
@media(max-width: 768px) {
    .c-geofit {
        display:block
    }
    .c-geofit figure {
        width:75%;
        margin:0 auto
    }
    .c-geofit h3 {
        text-align:center;
        width:100%;
        padding:20px 0 0
    }
    .c-geofit__sub {
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        padding-right:0;
        padding-left:0;
        gap:20px 2%
    }
    .c-geofit__sub li {
        padding:5px
    }
    .c-geofit__sub li em {
        line-height:1.35;
        margin:0;
        padding:10px 0 5px
    }
    .c-geofit__sub li figure {
        padding:0 15px
    }
    .c-geofit__monitor {
        display:block
    }
    .c-geofit__monitor>div:nth-child(1) {
        width:100%;
        padding:0 0 20px
    }
    .c-geofit__monitor>div:nth-child(1) figure {
        max-width:500px;
        margin:0 auto
    }
    .c-geofit__monitor>div:nth-child(1) figure img {
        padding:0 5%
    }
    .c-geofit__monitor>div:nth-child(2) {
        width:100%;
        padding:0
    }
    .c-geofit__monitor>div:nth-child(2) figure figcaption {
        font-size:1.1rem
    }
    .c-geofit__monitor>div:nth-child(2) ul li {
        font-size:1.1rem
    }
}
