@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";@import"../css/simplebar.min.css";@import"../css/swiper-bundle.min.css";@-webkit-keyframes focus_anime {
    0% {
        opacity: .6;
        scale: .5
    }

    25% {
        opacity: .6
    }

    50% {
        opacity: 0;
        scale: 1.4
    }

    100% {
        opacity: 0;
        scale: .5
    }
}

@keyframes focus_anime {
    0% {
        opacity: .6;
        scale: .5
    }

    25% {
        opacity: .6
    }

    50% {
        opacity: 0;
        scale: 1.4
    }

    100% {
        opacity: 0;
        scale: .5
    }
}

@-webkit-keyframes shake_anime {
    0% {
        rotate: 0deg
    }

    5% {
        rotate: 3deg
    }

    10% {
        rotate: 0deg
    }

    100% {
        rotate: 0
    }
}

@keyframes shake_anime {
    0% {
        rotate: 0deg
    }

    5% {
        rotate: 3deg
    }

    10% {
        rotate: 0deg
    }

    100% {
        rotate: 0
    }
}

@-webkit-keyframes floot_anime {
    0% {
        translate: 0 0
    }

    100% {
        translate: 0 max(-1.272264631vw, -5px)
    }
}

@keyframes floot_anime {
    0% {
        translate: 0 0
    }

    100% {
        translate: 0 max(-1.272264631vw, -5px)
    }
}

html {
    box-sizing: border-box;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%
}

*,:after,:before {
    background-repeat: no-repeat;
    box-sizing: border-box
}

:after,:before {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

audio:not([controls]) {
    display: none;
    height: 0
}

hr {
    overflow: visible
}

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden],template {
    display: none
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none
}

li,ol {
    list-style: none
}

a {
    background-color: rgba(0,0,0,0);
    text-decoration: underline
}

a:active,a:hover {
    outline-width: 0
}

code,kbd,pre,samp {
    font-family: monospace,monospace
}

b,strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

[role=button],[type=button],[type=reset],[type=submit],button {
    cursor: pointer
}

[disabled] {
    cursor: default
}

[type=number] {
    width: auto
}

[type=search] {
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto;
    resize: vertical
}

button,input,optgroup,select,textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button {
    overflow: visible
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    border-style: 0;
    padding: 0
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring {
    outline: 1px dotted ButtonText
}

[type=reset],[type=submit],button,html [type=button] {
    -webkit-appearance: button
}

button,select {
    text-transform: none
}

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

img {
    border-style: none;
    image-rendering: -webkit-optimize-contrast
}

progress {
    vertical-align: baseline
}

svg:not(:root) {
    overflow: hidden
}

audio,canvas,progress,video {
    display: inline-block
}

@media screen {
    [hidden~=screen] {
        display: inherit
    }

    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important
    }
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

body {
    font-family: "Noto Sans JP",sans-serif;
    font-weight: 700;
    font-size: min(4.0712468193vw, 16px);
    letter-spacing: .1em;
    line-height: 2;
    overflow-x: hidden;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    color: #575745
}

body::before {
    content: "";
    width: 100vw;
    height: 100dvh;
    display: block;
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: -1;
    background: #339746
}

body section {
    position: relative
}

body .inner {
    width: calc(100% - min(7.6335877863vw, 30px));
    max-width: min(100vw, 393px);
    margin-left: auto;
    margin-right: auto;
    position: relative
}

@media(max-width: 980px) {
    body .pc {
        display:none !important
    }
}

@media(min-width: 981px) {
    body .sp {
        display:none !important
    }
}

body a,body button {
    border: none;
    cursor: pointer;
    transition: .3s;
    color: #575745
}

@media(any-hover: hover) {
    body a:hover,body button:hover {
        opacity:.8
    }
}

body a {
    text-decoration: underline
}

body img {
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

.round_ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.round_ttl::before {
    content: "";
    width: min(10.1781170483vw, 40px);
    height: min(10.1781170483vw, 40px);
    margin-bottom: min(4.5801526718vw, 18px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

.round_ttl span {
    min-width: min(56.9974554707vw, 224px);
    min-height: min(10.1781170483vw, 40px);
    padding: min(1.0178117048vw, 4px) min(5.0890585242vw, 20px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: min(5.0890585242vw, 20px);
    line-height: 1.4;
    background: #fff;
    border: min(0.5089058524vw, 2px) solid #dce856;
    border-radius: 100vmax;
    color: #339746
}

.round_btn {
    min-width: min(61.0687022901vw, 240px);
    min-height: min(12.7226463104vw, 50px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: min(5.0890585242vw, 20px);
    position: relative;
    text-decoration: none;
    background: #bccd01;
    border-radius: 100vmax;
    color: #fff
}

.round_btn::after {
    content: "";
    width: min(3.3078880407vw, 13px);
    height: min(3.8167938931vw, 15px);
    margin: min(0.5089058524vw, 2px) 0 0 min(2.5445292621vw, 10px);
    display: block;
    background: #fff;
    -webkit-mask-image: url("../img/icon_arrow.svg");
    mask-image: url("../img/icon_arrow.svg");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

.modal {
    width: 100vw;
    max-width: min(100vw, 393px);
    height: 100dvh;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    inset: 0;
    visibility: hidden;
    z-index: 999;
    background: #5f6503;
    transition: .3s ease-in-out
}

@media(min-width: 981px) {
    .modal {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    .modal::-webkit-scrollbar {
        display: none
    }
}

@media(min-width: 981px) {
    .modal {
        height:calc(100dvh - 30px);
        top: auto
    }
}

.modal .modal_content {
    width: calc(100% - min(7.6335877863vw, 30px));
    max-width: 900px;
    height: auto;
    max-height: calc(100dvh - min(7.6335877863vw, 30px));
    padding: min(22.9007633588vw, 90px) min(5.0890585242vw, 20px) min(5.0890585242vw, 20px);
    position: relative;
    overflow-y: auto;
    background: #fff;
    border-radius: min(5.0890585242vw, 20px)
}

@media(min-width: 981px) {
    .modal .modal_content {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    .modal .modal_content::-webkit-scrollbar {
        display: none
    }
}

@media(min-width: 981px) {
    .modal .modal_content {
        height:calc(100dvh - 60px)
    }
}

.modal .icon_close {
    width: min(11.4503816794vw, 45px);
    height: min(11.4503816794vw, 45px);
    position: absolute;
    top: min(3.0534351145vw, 12px);
    right: min(3.0534351145vw, 12px);
    z-index: 99999;
    background: #fff;
    border: none;
    border-radius: 100vmax
}

.modal .icon_close span {
    width: min(5.0890585242vw, 20px);
    height: min(0.2544529262vw, 1px);
    display: block;
    position: absolute;
    top: min(5.8524173028vw, 23px);
    left: min(3.1806615776vw, 12.5px);
    background: #339746;
    transition: .3s
}

.modal .icon_close span:nth-of-type(1) {
    rotate: -25deg
}

.modal .icon_close span:nth-of-type(2) {
    rotate: 25deg
}

.modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.opening_movie {
    width: 100vw;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    pointer-events: none;
    position: fixed;
    inset: 0;
    visibility: visible;
    z-index: 999;
    background: #fff;
    transition: 1s
}

.opening_movie video {
    width: 90%;
    max-width: min(101.7811704835vw, 400px)
}

.opening_movie.is-hide {
    opacity: 0;
    visibility: hidden
}

.main_content_wrap {
    width: 100%;
    max-width: min(105.3435114504vw, 414px);
    margin: auto;
    background-color: #bccd01
}

@media(min-width: 981px) {
    .main_content_wrap {
        max-width:409px;
        overflow: hidden;
        border-radius: 8px 8px 0 0
    }
}

.main_content {
    width: 100%;
    max-width: min(100vw, 393px);
    margin: auto;
    overflow-x: hidden;
    position: relative;
    z-index: 1
}

@media(min-width: 981px) {
    .main_content {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    .main_content::-webkit-scrollbar {
        display: none
    }
}

@media(min-width: 981px) {
    .main_content {
        height:calc(100dvh - 30px)
    }
}

.main_header {
    width: calc(100% - min(7.6335877863vw, 30px));
    max-width: min(92.3664122137vw, 363px);
    margin: auto;
    position: fixed;
    top: min(4.0712468193vw, 16px);
    right: 0;
    left: 0;
    z-index: 99
}

@media(min-width: 981px) {
    .main_header {
        top:46px
    }
}

.main_header .logo {
    width: min(11.4503816794vw, 45px);
    height: min(11.4503816794vw, 45px);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    left: 0;
    background: #fff;
    border-radius: 100vmax
}

.main_header .logo img {
    width: min(5.5979643766vw, 22px);
    -o-object-fit: contain;
    object-fit: contain
}

.main_header .hamburger_btn {
    width: min(11.4503816794vw, 45px);
    height: min(11.4503816794vw, 45px);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 99999;
    background: #fff;
    border: none;
    border-radius: 100vmax
}

.main_header .hamburger_btn span {
    width: min(5.0890585242vw, 20px);
    height: min(0.2544529262vw, 1px);
    display: block;
    position: absolute;
    left: min(3.1806615776vw, 12.5px);
    background: #339746;
    transition: .3s
}

.main_header .hamburger_btn span:nth-of-type(1) {
    top: min(5.0890585242vw, 20px)
}

.main_header .hamburger_btn span:nth-of-type(2) {
    top: min(6.3613231552vw, 25px)
}

.main_header .hamburger_btn.is-open span {
    top: min(5.8524173028vw, 23px);
    left: min(3.1806615776vw, 12.5px)
}

.main_header .hamburger_btn.is-open span:nth-of-type(1) {
    rotate: -25deg
}

.main_header .hamburger_btn.is-open span:nth-of-type(2) {
    rotate: 25deg
}

.main_header .global_nav {
    width: 100vw;
    max-width: min(100vw, 393px);
    height: 100dvh;
    padding: min(23.4096692112vw, 92px) min(17.3027989822vw, 68px) min(50.8905852417vw, 200px);
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    opacity: 0;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    visibility: hidden;
    z-index: 9999;
    transition: .3s
}

@media(min-width: 981px) {
    .main_header .global_nav {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    .main_header .global_nav::-webkit-scrollbar {
        display: none
    }
}

@media(min-width: 981px) {
    .main_header .global_nav {
        height:calc(100dvh - 30px);
        top: auto
    }
}

.main_header .global_nav::before {
    content: "";
    width: 100%;
    max-width: min(100vw, 393px);
    height: min(40.7124681934vw, 160px);
    margin: auto;
    display: block;
    pointer-events: none;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1;
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: min(107.3791348601vw, 422px) 100%
}

.main_header .global_nav.is-open {
    opacity: 1;
    visibility: visible
}

.main_header .link_list {
    margin-bottom: min(8.1424936387vw, 32px);
    position: relative;
    z-index: 1
}

.main_header .link_list li {
    min-height: min(11.4503816794vw, 45px);
    display: flex;
    align-items: center
}

.main_header .link_list li+li {
    margin-top: min(5.5979643766vw, 22px)
}

.main_header .link_list a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: min(5.0890585242vw, 20px);
    line-height: 1.4;
    text-decoration: none
}

.main_header .link_list span {
    font-size: min(3.0534351145vw, 12px)
}

.main_header .sns_list {
    position: relative;
    z-index: 1
}

.main_header .sns_list a {
    width: min(7.6335877863vw, 30px);
    height: min(7.6335877863vw, 30px);
    display: block;
    font-size: 0;
    text-decoration: none;
    -webkit-mask-image: url("../img/icon_instagram.png");
    mask-image: url("../img/icon_instagram.png");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

body.day .main_header .global_nav {
    background: #fcf5c2
}

body.day .main_header .global_nav::before {
    background-image: url("../img/globalnav_bg_day.png")
}

body.day .main_header .link_list a {
    color: #3b3b37
}

body.day .main_header .link_list a span {
    color: #019e40
}

body.day .main_header .sns_list a {
    background: #000
}

body.night .main_header .global_nav {
    background: #4563a7
}

body.night .main_header .global_nav::before {
    background-image: url("../img/globalnav_bg_night.png")
}

body.night .main_header .global_nav::after {
    content: "";
    width: min(82.6972010178vw, 325px);
    height: min(148.8549618321vw, 585px);
    display: block;
    pointer-events: none;
    position: absolute;
    top: min(5.0890585242vw, 20px);
    left: calc(50% + min(1.5267175573vw, 6px));
    translate: -50% 0;
    background-image: url("../img/globalnav_bg_night_star.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

body.night .main_header .link_list a {
    color: #fff
}

body.night .main_header .link_list a span {
    color: #ffee7b
}

body.night .main_header .sns_list a {
    background: #fff
}

section.mainvis {
    height: 100dvh;
    min-height: min(101.7811704835vw, 400px)
}

@media(min-width: 981px) {
    section.mainvis {
        height:calc(100dvh - 30px);
        min-height: 400px
    }
}

section.mainvis::before,section.mainvis::after {
    content: "";
    display: block;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

section.mainvis::before {
    width: min(12.7226463104vw, 50px);
    height: 2.6995305164dvh;
    top: 8.0985915493dvh;
    left: min(46.8193384224vw, 184px)
}

@media(min-width: 981px) {
    section.mainvis::before {
        height:calc(23 / 852 * (100dvh - 30px));
        top: calc(69 / 852 * (100dvh - 30px))
    }
}

section.mainvis::after {
    width: min(13.9949109415vw, 55px);
    height: 6.220657277dvh;
    top: 28.6384976526dvh;
    left: min(82.4427480916vw, 324px)
}

@media(min-width: 981px) {
    section.mainvis::after {
        height:calc(53 / 852 * (100dvh - 30px));
        top: calc(244 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list::before {
    content: "";
    width: min(105.0890585242vw, 413px);
    height: 18.4272300469dvh;
    position: absolute;
    top: 40.1408450704dvh;
    left: min(-2.0356234097vw, -8px);
    display: block;
    background-image: url("../img/mainvis_bg_island.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list::before {
        height:calc(157 / 852 * (100dvh - 30px));
        top: calc(342 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list li {
    position: absolute;
    -webkit-animation: floot_anime 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    animation: floot_anime 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate
}

section.mainvis .mainvis_list li:nth-of-type(1) {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

section.mainvis .mainvis_list li:nth-of-type(2) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

section.mainvis .mainvis_list li:nth-of-type(3) {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

section.mainvis .mainvis_list li:nth-of-type(4) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

section.mainvis .mainvis_list li:nth-of-type(5) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

section.mainvis .mainvis_list a {
    width: 100%;
    height: 100%;
    display: block
}

section.mainvis .mainvis_list img {
    width: 100%;
    height: 100%;
    display: none;
    -o-object-fit: contain;
    object-fit: contain
}

section.mainvis .mainvis_list li:nth-of-type(1) {
    width: min(43.2569974555vw, 170px);
    height: 22.7699530516dvh;
    top: 7.7464788732dvh;
    left: min(53.68956743vw, 211px)
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list li:nth-of-type(1) {
        height:calc(194 / 852 * (100dvh - 30px));
        top: calc(66 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list li:nth-of-type(2) {
    width: min(45.5470737913vw, 179px);
    height: 20.5399061033dvh;
    top: 13.7323943662dvh;
    left: min(5.0890585242vw, 20px)
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list li:nth-of-type(2) {
        height:calc(175 / 852 * (100dvh - 30px));
        top: calc(117 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list li:nth-of-type(3) {
    width: min(48.8549618321vw, 192px);
    height: 25.8215962441dvh;
    top: 35.4460093897dvh;
    left: min(25.6997455471vw, 101px)
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list li:nth-of-type(3) {
        height:calc(220 / 852 * (100dvh - 30px));
        top: calc(302 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list li:nth-of-type(4) {
    width: min(38.9312977099vw, 153px);
    height: 19.4835680751dvh;
    top: 63.1455399061dvh;
    left: min(6.6157760814vw, 26px)
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list li:nth-of-type(4) {
        height:calc(166 / 852 * (100dvh - 30px));
        top: calc(528 / 852 * (100dvh - 30px))
    }
}

section.mainvis .mainvis_list li:nth-of-type(5) {
    width: min(44.5292620865vw, 175px);
    height: 19.7183098592dvh;
    top: 60.9154929577dvh;
    left: min(53.1806615776vw, 209px)
}

@media(min-width: 981px) {
    section.mainvis .mainvis_list li:nth-of-type(5) {
        height:calc(168 / 852 * (100dvh - 30px));
        top: calc(519 / 852 * (100dvh - 30px))
    }
}

section.mainvis .main_time {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1;
    position: absolute;
    top: 87.676056338dvh;
    left: min(3.8167938931vw, 15px);
    white-space: nowrap
}

@media(min-width: 981px) {
    section.mainvis .main_time {
        top:calc(747 / 852 * (100dvh - 30px))
    }
}

section.mainvis .main_time .time {
    margin-right: min(3.0534351145vw, 12px);
    display: grid;
    grid-template-areas: "year  year year" "month day  ." "month day  week"
}

section.mainvis .main_time .time .year {
    grid-area: year;
    margin-bottom: 0.9389671362dvh;
    font-size: min(2.3474178404dvh,min(5.0890585242vw, 20px))
}

section.mainvis .main_time .time .month {
    grid-area: month;
    font-size: min(4.1079812207dvh,min(8.9058524173vw, 35px))
}

section.mainvis .main_time .time .month::after {
    content: "."
}

section.mainvis .main_time .time .day {
    grid-area: day;
    margin-right: min(2.5445292621vw, 10px);
    padding-right: min(2.5445292621vw, 10px);
    font-size: min(4.1079812207dvh,min(8.9058524173vw, 35px));
    border-right: min(0.5089058524vw, 2px) solid
}

section.mainvis .main_time .time .week {
    grid-area: week;
    padding-bottom: 0.3521126761dvh;
    font-size: min(1.8779342723dvh,min(4.0712468193vw, 16px))
}

section.mainvis .main_time .clock {
    width: min(23.155216285vw, 91px);
    height: 10.6807511737dvh;
    position: relative;
    aspect-ratio: 1;
    background-image: url("../img/mainvis_clock_bg.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

section.mainvis .main_time .clock::before,section.mainvis .main_time .clock::after {
    content: "";
    margin: auto;
    display: block;
    position: absolute;
    inset: 0
}

section.mainvis .main_time .clock::before {
    width: min(16.7938931298vw, 66px);
    height: 7.7464788732dvh;
    aspect-ratio: 1;
    background-image: url("../img/mainvis_clock.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

section.mainvis .main_time .clock::after {
    width: min(1.0178117048vw, 4px);
    height: 0.4694835681dvh;
    aspect-ratio: 1;
    background: #339746;
    border-radius: 100vmax;
    z-index: 1
}

section.mainvis .main_time .clock span {
    top: 50%;
    left: 50%;
    translate: -50% -100%;
    position: absolute;
    transform-origin: bottom
}

section.mainvis .main_time .clock .hour {
    width: min(0.5089058524vw, 2px);
    height: 2.1126760563dvh;
    background: #bccd01
}

section.mainvis .main_time .clock .minute {
    width: min(0.5089058524vw, 2px);
    height: 2.8169014085dvh;
    background: #339746
}

section.mainvis .main_time .clock .second {
    width: min(0.2544529262vw, 1px);
    height: 2.8169014085dvh;
    background: #4dbe62
}

section.mainvis .scroll_icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: min(1.4084507042dvh,min(3.0534351145vw, 12px));
    position: absolute;
    top: 87.20657277dvh;
    left: min(82.951653944vw, 326px);
    -webkit-animation: floot_anime 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
    animation: floot_anime 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate
}

@media(min-width: 981px) {
    section.mainvis .scroll_icon {
        top:calc(743 / 852 * (100dvh - 30px))
    }
}

section.mainvis .scroll_icon::after {
    content: "";
    width: min(2.5445292621vw, 10px);
    height: 7.0422535211dvh;
    margin: 0.5868544601dvh marin-w(-5) 0 0;
    display: block;
    -webkit-mask-image: url("../img/mainvis_scroll_icon.svg");
    mask-image: url("../img/mainvis_scroll_icon.svg");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain
}

body.day section.mainvis {
    background: #fcf5c2
}

body.day section.mainvis::before {
    background-image: url("../img/mainvis_bg_plane_day.png")
}

body.day section.mainvis::after {
    background-image: url("../img/mainvis_bg_boat_day.png")
}

body.day section.mainvis img.day {
    display: block
}

body.day section.mainvis .time {
    color: #339746
}

body.day section.mainvis .time .day {
    border-color: #339746
}

body.day section.mainvis .scroll_icon {
    color: #6a6a63
}

body.day section.mainvis .scroll_icon::after {
    background: #6a6a63
}

body.night section.mainvis {
    background: #4563a7
}

body.night section.mainvis::before {
    background-image: url("../img/mainvis_bg_plane_night.png")
}

body.night section.mainvis::after {
    background-image: url("../img/mainvis_bg_boat_night.png")
}

body.night section.mainvis .mainvis_list::after {
    content: "";
    width: min(47.8371501272vw, 188px);
    height: 6.9248826291dvh;
    display: block;
    position: absolute;
    top: 2.5821596244dvh;
    left: min(24.1730279898vw, 95px);
    background-image: url("../img/mainvis_bg_star.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

body.night section.mainvis img.night {
    display: block
}

body.night section.mainvis .time {
    color: #fff
}

body.night section.mainvis .time .day {
    border-color: #fff
}

body.night section.mainvis .scroll_icon {
    color: #fff
}

body.night section.mainvis .scroll_icon::after {
    background: #fff
}

section.about {
    padding: min(16.2849872774vw, 64px) 0 min(15.2671755725vw, 60px);
    background: #bccd01
}

section.about h2 {
    margin-bottom: min(10.6870229008vw, 42px);
    text-align: center
}

section.about h2 img {
    filter: invert(31%) sepia(7%) saturate(1119%) hue-rotate(22deg) brightness(97%) contrast(85%)
}

section.about .lead {
    margin-bottom: min(17.8117048346vw, 70px);
    line-height: 2.25;
    text-align: center
}

section.about .more {
    margin-bottom: min(7.6335877863vw, 30px);
    position: relative
}

section.about .more .balloon {
    width: min(43.0025445293vw, 169px);
    position: absolute;
    top: max(-12.213740458vw, -48px);
    right: max(-3.8167938931vw, -15px);
    z-index: 1;
    -webkit-animation: shake_anime 2s ease .5s infinite;
    animation: shake_anime 2s ease .5s infinite
}

section.about .more button {
    width: calc(100% + min(19.0839694656vw, 75px));
    position: relative;
    left: 50%;
    translate: -50% 0;
    background: rgba(0,0,0,0);
    position: relative
}

section.about .more button::before,section.about .more button::after {
    content: "";
    display: block;
    opacity: .6;
    position: absolute;
    left: 50%;
    translate: -50% 0;
    background: #fff;
    border-radius: 100vmax
}

section.about .more button::before {
    width: min(12.213740458vw, 48px);
    height: min(12.213740458vw, 48px)
}

section.about .more button::after {
    width: min(20.3562340967vw, 80px);
    height: min(20.3562340967vw, 80px);
    -webkit-animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    transform-origin: center
}

section.about .more button::before {
    top: min(34.8600508906vw, 137px)
}

section.about .more button::after {
    top: min(30.7888040712vw, 121px)
}

section.about .scroll {
    width: calc(100% + min(7.6335877863vw, 30px));
    margin-bottom: min(12.7226463104vw, 50px);
    display: flex;
    opacity: .3;
    overflow: hidden;
    position: relative;
    left: 50%;
    translate: -50% 0
}

section.about .scroll .wrap {
    display: flex;
    -webkit-animation: infinity_scroll_left 40s infinite linear both;
    animation: infinity_scroll_left 40s infinite linear both
}

section.about .scroll span {
    width: min(60.3053435115vw, 237px);
    padding: 0 min(2.5445292621vw, 10px);
    display: block
}

section.about .scroll img {
    width: 100%;
    height: auto
}

section.about .movie p {
    font-size: min(5.0890585242vw, 20px);
    text-align: center
}

section.about .movie iframe {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    aspect-ratio: 16/9
}

#modal_about .modal_content {
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    background: #daeeee
}

#modal_about .modal_content::before,#modal_about .modal_content::after {
    content: "";
    display: block;
    pointer-events: none;
    position: absolute
}

#modal_about .modal_content::before {
    width: min(125.9541984733vw, 495px);
    height: min(49.8727735369vw, 196px);
    top: 15.5%;
    left: calc(50% - min(4.5801526718vw, 18px));
    translate: -50% 0;
    background-image: url("../img/about_modal_bg_cloud.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

#modal_about .modal_content::after {
    width: 100%;
    height: min(26.2086513995vw, 103px);
    bottom: 0;
    left: 0;
    z-index: 2;
    background-image: url("../img/about_modal_bg.png");
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: min(102.0356234097vw, 401px) 100%
}

#modal_about .scroll_area {
    padding: min(22.9007633588vw, 90px) min(7.6335877863vw, 30px) min(30.534351145vw, 120px);
    flex: 1;
    position: relative;
    overflow-y: auto;
    z-index: 1
}

@media(min-width: 981px) {
    #modal_about .scroll_area {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    #modal_about .scroll_area::-webkit-scrollbar {
        display: none
    }
}

#modal_about h3 {
    display: inline-block;
    font-size: min(5.0890585242vw, 20px);
    position: relative;
    left: 50%;
    translate: -50% 0
}

#modal_about h3::before {
    content: "";
    width: min(44.5292620865vw, 175px);
    height: min(1.0178117048vw, 4px);
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    background-image: radial-gradient(circle, #bccd01 min(0.2544529262vw, 1px), transparent min(0.2544529262vw, 1px));
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: min(1.5267175573vw, 6px) min(0.5089058524vw, 2px)
}

#modal_about p {
    font-weight: 500
}

#modal_about .concept_box {
    margin-bottom: min(18.320610687vw, 72px)
}

#modal_about .concept_box .round_ttl {
    margin-bottom: min(5.0890585242vw, 20px)
}

#modal_about .concept_box .round_ttl::before {
    width: min(11.7048346056vw, 46px);
    height: min(12.7226463104vw, 50px);
    background-image: url("../img/about_ttl_icon.png")
}

#modal_about .concept_box h3 {
    margin-bottom: min(6.3613231552vw, 25px)
}

#modal_about .concept_box .copy {
    margin-bottom: min(12.213740458vw, 48px);
    text-align: center
}

#modal_about .concept_box .copy img {
    filter: invert(48%) sepia(45%) saturate(520%) hue-rotate(80deg) brightness(86%) contrast(84%)
}

#modal_about .concept_box .img {
    width: min(68.7022900763vw, 270px);
    margin: 0 auto min(6.106870229vw, 24px)
}

#modal_about .series_box .round_ttl {
    margin-bottom: min(5.0890585242vw, 20px)
}

#modal_about .series_box .round_ttl::before {
    content: none
}

#modal_about .series_box h3 {
    margin-bottom: min(6.3613231552vw, 25px)
}

#modal_about .series_box p+h3 {
    margin-top: min(15.7760814249vw, 62px)
}

#modal_about .series_box .img {
    width: min(68.7022900763vw, 270px);
    margin: 0 auto min(6.106870229vw, 24px)
}

#modal_about .series_box .img:nth-of-type(2) {
    width: min(50.8905852417vw, 200px)
}

@-webkit-keyframes infinity_scroll_left {
    0% {
        translate: 0 0
    }

    100% {
        translate: -100% 0
    }
}

@keyframes infinity_scroll_left {
    0% {
        translate: 0 0
    }

    100% {
        translate: -100% 0
    }
}

section.recommend {
    padding: min(15.2671755725vw, 60px) 0 min(38.1679389313vw, 150px);
    background: #fcf5c2
}

section.recommend .round_ttl {
    margin-bottom: min(5.0890585242vw, 20px)
}

section.recommend .round_ttl::before {
    width: min(11.4503816794vw, 45px);
    height: min(10.1781170483vw, 40px);
    background-image: url("../img/recommend_ttl_icon.png")
}

section.recommend .lead {
    margin-bottom: min(13.9949109415vw, 55px);
    font-size: min(3.5623409669vw, 14px);
    line-height: 2.2857142857;
    text-align: center
}

section.recommend .more {
    margin-bottom: min(7.6335877863vw, 30px);
    position: relative
}

section.recommend .more .balloon {
    width: min(43.0025445293vw, 169px);
    position: absolute;
    top: max(-9.1603053435vw, -36px);
    right: max(-3.0534351145vw, -12px);
    z-index: 1;
    -webkit-animation: shake_anime 2s ease .5s infinite;
    animation: shake_anime 2s ease .5s infinite
}

section.recommend .more button {
    width: calc(100% + min(22.9007633588vw, 90px));
    position: relative;
    left: calc(50% - min(4.3256997455vw, 17px));
    translate: -50% 0;
    background: rgba(0,0,0,0);
    position: relative
}

section.recommend .more button::before,section.recommend .more button::after {
    content: "";
    display: block;
    opacity: .6;
    position: absolute;
    left: 50%;
    translate: -50% 0;
    background: #fff;
    border-radius: 100vmax
}

section.recommend .more button::before {
    width: min(12.213740458vw, 48px);
    height: min(12.213740458vw, 48px)
}

section.recommend .more button::after {
    width: min(20.3562340967vw, 80px);
    height: min(20.3562340967vw, 80px);
    -webkit-animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    transform-origin: center
}

section.recommend .more button::before {
    top: min(55.2162849873vw, 217px);
    left: calc(50% + min(4.3256997455vw, 17px))
}

section.recommend .more button::after {
    top: min(51.1450381679vw, 201px);
    left: calc(50% + min(4.3256997455vw, 17px))
}

section.recommend .more button span::before {
    content: "";
    width: min(60.3053435115vw, 237px);
    height: min(60.3053435115vw, 237px);
    position: absolute;
    bottom: max(-30.0254452926vw, -118px);
    left: calc(50% + min(4.3256997455vw, 17px));
    translate: -50% 0;
    z-index: 1;
    background-image: url("../img/icon_nyuzarashi.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

#modal_recommend {
    overflow-x: hidden;
    background: #fcf5c2
}

#modal_recommend .modal_content {
    width: 100%;
    height: 100dvh;
    max-height: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    background: #fcf5c2;
    border-radius: 0
}

@media(min-width: 981px) {
    #modal_recommend .modal_content {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    #modal_recommend .modal_content::-webkit-scrollbar {
        display: none
    }
}

@media(min-width: 981px) {
    #modal_recommend .modal_content {
        height:calc(100dvh - 30px)
    }
}

#modal_recommend .scroll_area {
    flex: 1;
    overflow-y: auto
}

@media(min-width: 981px) {
    #modal_recommend .scroll_area {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    #modal_recommend .scroll_area::-webkit-scrollbar {
        display: none
    }
}

#modal_recommend .recommend_slider {
    width: 100%;
    max-height: 100%;
    padding: min(17.3027989822vw, 68px) 0 min(16.2849872774vw, 64px);
    overflow-y: auto;
    position: absolute;
    right: 50%;
    bottom: 50%;
    transform: translate(50%, 50%)
}

@media(min-width: 981px) {
    #modal_recommend .recommend_slider {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    #modal_recommend .recommend_slider::-webkit-scrollbar {
        display: none
    }
}

#modal_recommend .recommend_slider .swiper-slide {
    height: auto
}

#modal_recommend .recommend_slider .wrap {
    height: 100%;
    margin: 0 min(3.8167938931vw, 15px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start
}

#modal_recommend .recommend_slider .product {
    min-height: min(120.3562340967vw, 473px);
    margin-bottom: min(4.0712468193vw, 16px);
    overflow: hidden;
    background: #fffbde;
    border-radius: min(6.8702290076vw, 27px)
}

#modal_recommend .recommend_slider .product .name {
    min-height: min(25.6997455471vw, 101px);
    padding: min(5.0890585242vw, 20px) min(2.5445292621vw, 10px) min(2.5445292621vw, 10px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(5.0890585242vw, 20px);
    line-height: 1.5;
    text-align: center;
    color: #339746
}

#modal_recommend .recommend_slider .product .img {
    margin-bottom: min(3.3078880407vw, 13px)
}

#modal_recommend .recommend_slider .product .img::after {
    content: "※画像はイメージです";
    margin-top: min(2.0356234097vw, 8px);
    display: block;
    font-size: min(2.5445292621vw, 10px);
    text-align: center;
    color: #6a6a63
}

#modal_recommend .recommend_slider .product .txt {
    padding: 0 min(7.1246819338vw, 28px) min(7.6335877863vw, 30px)
}

#modal_recommend .recommend_slider .balloon {
    width: calc(100% - min(7.6335877863vw, 30px));
    margin: 0 auto min(23.4096692112vw, 92px);
    padding: min(4.5801526718vw, 18px) min(8.6513994911vw, 34px);
    font-size: min(4.0712468193vw, 16px);
    line-height: 2;
    position: relative;
    background: #fff;
    border-radius: 100vmax
}

#modal_recommend .recommend_slider .balloon::before,#modal_recommend .recommend_slider .balloon::after {
    content: "";
    display: block;
    position: absolute
}

#modal_recommend .recommend_slider .balloon::before {
    width: min(8.6513994911vw, 34px);
    height: min(7.3791348601vw, 29px);
    left: calc(50% - min(15.7760814249vw, 62px));
    bottom: max(-4.5801526718vw, -18px);
    background: #fff;
    -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
    clip-path: polygon(100% 0, 0 0, 100% 100%)
}

#modal_recommend .recommend_slider .balloon::after {
    width: min(22.1374045802vw, 87px);
    height: min(22.1374045802vw, 87px);
    margin: auto;
    right: 0;
    bottom: max(-25.4452926209vw, -100px);
    left: 0;
    background-image: url("../img/icon_nyuzarashi.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

#modal_recommend .swiper-controls {
    width: 100%;
    margin: auto;
    padding: min(2.0356234097vw, 8px) min(6.3613231552vw, 25px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    -moz-column-gap: min(2.5445292621vw, 10px);
    column-gap: min(2.5445292621vw, 10px);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1;
    background: #fcf5c2
}

#modal_recommend .swiper-pagination {
    width: 100%;
    line-height: 1.2;
    position: static
}

#modal_recommend .swiper-pagination .swiper-pagination-bullet {
    width: min(3.0534351145vw, 12px);
    height: min(3.0534351145vw, 12px);
    margin: 0 min(2.5445292621vw, 10px);
    opacity: 1;
    background: #fff;
    border: min(0.2544529262vw, 1px) solid #339746;
    border-radius: 100vmax
}

#modal_recommend .swiper-pagination .swiper-pagination-bullet-active {
    background: #bccd01
}

#modal_recommend .swiper-button-prev,#modal_recommend .swiper-button-next {
    width: min(11.4503816794vw, 45px);
    height: min(11.4503816794vw, 45px);
    margin: 0;
    flex-shrink: 0;
    position: relative;
    inset: auto;
    background: none
}

#modal_recommend .swiper-button-prev::after,#modal_recommend .swiper-button-next::after {
    width: min(8.9058524173vw, 35px);
    height: min(8.9058524173vw, 35px);
    margin: auto;
    font-size: 0;
    position: absolute;
    inset: 0;
    background-image: url("../img/icon_slider_arrow.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

#modal_recommend .swiper-button-prev {
    scale: -1
}

section.new {
    padding: min(22.9007633588vw, 90px) 0 min(33.0788804071vw, 130px);
    background: #daeeee
}

section.new .scroll_deco {
    width: 100%;
    height: min(12.4681933842vw, 49px);
    position: absolute;
    right: 0;
    left: 0;
    z-index: 1;
    background-image: url("../img/new_bg_top.png");
    background-position: top;
    background-repeat: repeat-x;
    background-size: min(127.2264631043vw, 500px) min(10.941475827vw, 43px)
}

section.new .scroll_deco::before {
    content: "";
    width: 100%;
    position: absolute;
    top: min(1.7811704835vw, 7px);
    translate: 0 -100%;
    z-index: 1;
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: min(127.2264631043vw, 500px) 100%
}

section.new .scroll_deco::after {
    content: "";
    width: 100%;
    height: min(1.5267175573vw, 6px);
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: url("../img/new_bg_bottom.png");
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: min(127.2264631043vw, 500px) 100%
}

section.new .scroll_deco.top {
    top: 0;
    -webkit-animation: conveyor_left 60s linear infinite;
    animation: conveyor_left 60s linear infinite
}

section.new .scroll_deco.top::before {
    height: min(10.1781170483vw, 40px);
    background-image: url("../img/new_bg_top_box.png");
    -webkit-animation: conveyor_left 60s linear infinite;
    animation: conveyor_left 60s linear infinite
}

section.new .scroll_deco.top::after {
    -webkit-animation: conveyor_right 60s linear infinite;
    animation: conveyor_right 60s linear infinite
}

section.new .scroll_deco.bottom {
    bottom: 0;
    -webkit-animation: conveyor_right 60s linear infinite;
    animation: conveyor_right 60s linear infinite
}

section.new .scroll_deco.bottom::before {
    height: min(13.9949109415vw, 55px);
    background-image: url("../img/new_bg_bottom_box.png");
    -webkit-animation: conveyor_right 60s linear infinite;
    animation: conveyor_right 60s linear infinite
}

section.new .scroll_deco.bottom::after {
    -webkit-animation: conveyor_left 60s linear infinite;
    animation: conveyor_left 60s linear infinite
}

section.new .round_ttl {
    margin-bottom: min(7.1246819338vw, 28px)
}

section.new .round_ttl::before {
    width: min(8.1424936387vw, 32px);
    height: min(12.7226463104vw, 50px);
    background-image: url("../img/new_ttl_icon.png")
}

section.new .data {
    margin-bottom: min(9.6692111959vw, 38px);
    display: inline-block;
    font-size: min(5.5979643766vw, 22px);
    font-weight: 700;
    position: relative;
    left: 50%;
    translate: -50% 0;
    white-space: nowrap
}

section.new .data::before {
    content: "";
    width: 100%;
    height: min(1.0178117048vw, 4px);
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: radial-gradient(circle, #019e40 min(0.2544529262vw, 1px), transparent min(0.2544529262vw, 1px));
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: min(1.5267175573vw, 6px) min(0.5089058524vw, 2px)
}

section.new .data span {
    margin: 0 -0.7em
}

section.new .new_slider {
    width: calc(100% + min(7.6335877863vw, 30px));
    margin-bottom: min(5.0890585242vw, 20px);
    position: relative;
    left: 50%;
    translate: -50% 0
}

section.new .new_slider .swiper-slide {
    height: auto
}

section.new .new_slider .wrap {
    height: 100%;
    padding: 0 min(2.0356234097vw, 8px)
}

section.new .new_slider a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none
}

section.new .new_slider .img {
    margin-bottom: min(8.1424936387vw, 32px);
    padding: min(5.0890585242vw, 20px) min(7.6335877863vw, 30px);
    overflow: hidden;
    position: relative;
    background: #fff;
    border-radius: min(7.6335877863vw, 30px) min(7.6335877863vw, 30px) min(7.6335877863vw, 30px) min(7.6335877863vw, 30px)/50% 50% 50% 50%
}

section.new .new_slider .img::before {
    content: "";
    width: min(17.8117048346vw, 70px);
    height: min(17.8117048346vw, 70px);
    position: absolute;
    top: 0;
    left: min(0.5089058524vw, 2px);
    background-image: url("../img/icon_new.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

section.new .new_slider .title {
    margin-bottom: min(1.0178117048vw, 4px);
    padding: 0 min(5.0890585242vw, 20px);
    font-size: min(5.5979643766vw, 22px);
    line-height: 1.6363636364;
    text-align: center
}

section.new .new_slider .price {
    font-size: min(5.0890585242vw, 20px);
    text-align: center
}

section.new .new_slider .price .tax {
    font-size: min(4.0712468193vw, 16px)
}

section.new .round_btn {
    left: 50%;
    translate: -50% 0
}

@-webkit-keyframes conveyor_left {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: max(-254.4529262087vw, -1000px) 0
    }
}

@keyframes conveyor_left {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: max(-254.4529262087vw, -1000px) 0
    }
}

@-webkit-keyframes conveyor_right {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: min(254.4529262087vw, 1000px) 0
    }
}

@keyframes conveyor_right {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: min(254.4529262087vw, 1000px) 0
    }
}

section.blog {
    padding: min(18.8295165394vw, 74px) 0 min(15.2671755725vw, 60px);
    background-image: url("../img/blog_bg.png");
    background-position: center top;
    background-repeat: repeat;
    background-size: min(91.6030534351vw, 360px) min(165.3944020356vw, 650px)
}

section.blog::before {
    content: "";
    width: min(117.048346056vw, 460px);
    height: min(66.6666666667vw, 262px);
    display: block;
    position: absolute;
    top: max(-4.0712468193vw, -16px);
    left: calc(50% - min(1.0178117048vw, 4px));
    translate: -50% 0;
    background-image: url("../img/blog_deco_top.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
}

section.blog .round_ttl {
    margin-bottom: min(7.6335877863vw, 30px)
}

section.blog .round_ttl::before {
    width: min(10.6870229008vw, 42px);
    height: min(10.1781170483vw, 40px);
    background-image: url("../img/blog_ttl_icon.png")
}

section.blog .lead {
    margin-bottom: min(5.0890585242vw, 20px);
    font-size: min(3.5623409669vw, 14px);
    line-height: 2.2857142857;
    text-align: center
}

section.blog .link {
    width: min(53.1806615776vw, 209px);
    margin: auto;
    display: block
}

section.blog .more {
    margin-top: min(8.4337vw, 35px);
    position: relative
}

section.blog .more .balloon {
    width: min(43.0025445293vw, 169px);
    position: absolute;
    top: max(-12.213740458vw, -48px);
    right: max(-3.8167938931vw, -15px);
    z-index: 1;
    -webkit-animation: shake_anime 2s ease .5s infinite;
    animation: shake_anime 2s ease .5s infinite
}

section.blog .more a {
    display: inline-block; /* a の inline をやめる */
    width: calc(100% + min(16.867vw, 70px));
    position: relative;
    left: calc(50%);
    translate: -50% 0;
    background: transparent;
    text-decoration: none;
    box-sizing: border-box;
}

section.blog .more a::before,section.blog .more a::after {
    content: "";
    display: block;
    opacity: .6;
    position: absolute;
    left: 50%;
    translate: -50% 65px;
    background: #fff;
    border-radius: 100vmax;
    z-index: 2;
}

section.blog .more a::before {
    width: min(12.213740458vw, 48px);
    height: min(12.213740458vw, 48px)
}

section.blog .more a::after {
    width: min(20.3562340967vw, 80px);
    height: min(20.3562340967vw, 80px);
    -webkit-animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    animation: focus_anime 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite .5s;
    transform-origin: center
}

section.blog .more a::before {
    top: min(34.8600508906vw, 137px)
}

section.blog .more a::after {
    top: min(30.7888040712vw, 121px)
}

section.blog .more a > span {
    display: block;
    position: relative;
    line-height: 0;
    z-index: 1;
}

section.blog .more a > span > img {
    display: block;       /* 画像下の隙間を消す */
    width: 100%;
    height: auto;
}


section.update {
    padding: min(15.2671755725vw, 60px) 0 min(15.2671755725vw, 60px);
    background: #fafaf8
}

section.update [class$=_box]+[class$=_box] {
    margin-top: min(15.2671755725vw, 60px);
    padding-top: min(15.2671755725vw, 60px);
    position: relative
}

section.update [class$=_box]+[class$=_box]::before {
    content: "";
    width: calc(100% - min(7.6335877863vw, 30px));
    height: min(1.0178117048vw, 4px);
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    background-image: radial-gradient(circle, #019e40 min(0.2544529262vw, 1px), transparent min(0.2544529262vw, 1px));
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: min(1.5267175573vw, 6px) min(0.5089058524vw, 2px)
}

section.update .introduction_box .round_ttl {
    margin-bottom: min(8.1424936387vw, 32px)
}

section.update .introduction_box .round_ttl::before {
    width: min(8.6513994911vw, 34px);
    height: min(12.7226463104vw, 50px);
    background-image: url("../img/update_ttl_icon.png")
}

section.update .introduction_box .scroll_area {
    overflow-x: auto
}

@media(min-width: 981px) {
    section.update .introduction_box .scroll_area {
        -ms-overflow-style:none;
        scrollbar-width: none
    }

    section.update .introduction_box .scroll_area::-webkit-scrollbar {
        display: none
    }
}

section.update .introduction_box .scroll_area .simplebar-scrollbar::before {
    width: 100%;
    height: min(2.5445292621vw, 10px) !important;
    top: max(-0.5089058524vw, -2px);
    left: 0;
    background: #bccd01;
    border-radius: 0
}

section.update .introduction_box .scroll_area .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1
}

section.update .introduction_box .scroll_area .simplebar-track {
    height: min(2.5445292621vw, 10px) !important;
    background: #fff
}

section.update .introduction_box .introduction_include {
    width: min(286.2595419847vw, 1125px)
}

section.update .introduction_box .introduction_include .icon,section.update .introduction_box .introduction_include h3,section.update .introduction_box .introduction_include ul ul {
    display: none
}

section.update .introduction_box .introduction_include ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start
}

section.update .introduction_box .introduction_include li {
    width: min(45.0381679389vw, 177px);
    margin: 0 min(2.5445292621vw, 10px) min(10.1781170483vw, 40px) 0
}

section.update .introduction_box .introduction_include a {
    display: block;
    text-decoration: none
}

section.update .introduction_box .introduction_include .image {
    margin-bottom: min(1.272264631vw, 5px);
    display: block;
    overflow: hidden;
    border-radius: min(5.0890585242vw, 20px)
}

section.update .introduction_box .introduction_include .name {
    margin-bottom: min(1.0178117048vw, 4px);
    display: block;
    letter-spacing: -0.02em;
    line-height: 1.4;
    text-align: center
}

section.update .introduction_box .introduction_include .sub {
    display: block;
    font-size: min(3.0534351145vw, 12px);
    font-weight: 500;
    line-height: 1.4;
    text-align: center
}

section.update .campaign_box .round_ttl {
    margin-bottom: min(8.1424936387vw, 32px)
}

section.update .campaign_box .round_ttl::before {
    content: none
}

section.update .campaign_box .campaign_slider {
    width: calc(100% + min(7.6335877863vw, 30px));
    margin-bottom: min(10.1781170483vw, 40px);
    position: relative;
    left: 50%;
    translate: -50% 0
}

section.update .campaign_box .campaign_slider .swiper-slide {
    height: auto
}

section.update .campaign_box .campaign_slider .wrap {
    height: 100%;
    padding: 0 min(7.6335877863vw, 30px)
}

section.update .campaign_box .swiper-pagination {
    width: 100%;
    line-height: 1.2;
    position: static
}

section.update .campaign_box .swiper-pagination .swiper-pagination-bullet {
    width: min(3.0534351145vw, 12px);
    height: min(3.0534351145vw, 12px);
    margin: 0 min(2.5445292621vw, 10px);
    opacity: 1;
    background: #fff;
    border: min(0.2544529262vw, 1px) solid #339746;
    border-radius: 100vmax
}

section.update .campaign_box .swiper-pagination .swiper-pagination-bullet-active {
    background: #bccd01
}

section.update .sns_box p {
    margin-bottom: min(5.0890585242vw, 20px);
    font-size: min(3.5623409669vw, 14px);
    text-align: center
}

section.update .sns_box a {
    width: min(12.7226463104vw, 50px);
    margin: auto;
    display: block
}

section.online {
    padding: min(15.2671755725vw, 60px) 0 min(15.2671755725vw, 60px);
    background: #019e40
}

section.online .round_ttl {
    margin-bottom: min(5.0890585242vw, 20px)
}

section.online .round_ttl::before {
    content: none
}

section.online .lead {
    margin-bottom: min(5.5979643766vw, 22px);
    font-size: min(3.5623409669vw, 14px);
    line-height: 2.2857142857;
    text-align: center;
    color: #fff
}

section.online .online_list {
    width: calc(100% - min(7.6335877863vw, 30px));
    margin: auto
}

section.online .online_list li+li {
    margin-top: min(5.0890585242vw, 20px)
}

footer {
    padding: min(15.2671755725vw, 60px) 0;
    background: #fff
}

footer .copy_box {
    margin-bottom: min(15.2671755725vw, 60px)
}

footer .copy_box .copy {
    margin-bottom: min(7.6335877863vw, 30px);
    text-align: center
}

footer .copy_box .copy img {
    width: min(45.8015267176vw, 180px);
    filter: invert(48%) sepia(45%) saturate(520%) hue-rotate(80deg) brightness(86%) contrast(84%)
}

footer .copy_box .logo {
    width: min(25.9541984733vw, 102px);
    margin: 0 auto min(6.6157760814vw, 26px);
    display: block
}

footer .copy_box .note {
    margin-bottom: min(6.6157760814vw, 26px);
    font-size: min(2.5445292621vw, 10px);
    text-align: center;
    color: #bccd01
}

footer .copy_box .round_btn {
    font-size: min(4.0712468193vw, 16px);
    left: 50%;
    translate: -50% 0
}

footer .foot_nav {
    margin-bottom: min(15.2671755725vw, 60px)
}

footer .foot_nav .logo {
    width: min(63.1043256997vw, 248px);
    margin: 0 auto min(7.1246819338vw, 28px);
    display: block
}

footer .foot_nav li {
    text-align: center
}

footer .foot_nav li+li {
    margin-top: min(0.5089058524vw, 2px)
}

footer .foot_nav a {
    font-size: min(3.5623409669vw, 14px);
    font-weight: 500;
    text-decoration: none;
    color: #339746
}

footer small {
    display: block;
    font-size: min(3.0534351145vw, 12px);
    font-weight: 500;
    line-height: 1.6666666667;
    text-align: center;
    color: #339746
}

@media(min-width: 981px) {
    .pc_inner {
        width:calc(100% - 30px);
        max-width: 1314px;
        padding-top: 30px;
        margin: auto;
        position: relative
    }
}

.pc_inner::before,.pc_inner::after {
    content: none
}

@media(min-width: 981px) {
    .pc_inner::before,.pc_inner::after {
        content:"";
        display: block;
        position: fixed;
        pointer-events: none;
        z-index: -1
    }
}

.pc_inner::before {
    width: 100vw;
    height: 142px;
    bottom: 0;
    left: 0;
    background-image: url("../img/pc_bg_bridge.png");
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: contain
}

.pc_inner::after {
    width: 314px;
    height: 146px;
    bottom: 142px;
    left: calc(50% + 36.5vw);
    translate: -50% 0;
    background-image: url("../img/pc_bg_train.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain
}

.pc_header {
    display: none;
    position: absolute;
    top: 30px;
    left: 20px
}

@media(min-width: 981px) {
    .pc_header {
        display:block
    }
}

.pc_header h1 {
    margin-bottom: 56px;
    padding: min(30px,2.3vw) min(32px,2.3vw) min(30px,2.3vw) 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    background: #fff;
    border-radius: 0 24px 24px 0
}

.pc_header h1::before {
    content: "";
    width: 50vw;
    height: 100%;
    display: block;
    position: absolute;
    left: 1px;
    translate: -100% 0;
    background: #fff
}

.pc_header h1 .logo {
    width: min(57px,5vw);
    margin-right: min(38px,2.3vw)
}

.pc_header h1 .copy {
    width: min(158px,12vw);
    filter: invert(48%) sepia(45%) saturate(520%) hue-rotate(80deg) brightness(86%) contrast(84%)
}

.pc_header .global_nav {
    height: 100%;
    max-height: calc(100vh - 250px);
    overflow: auto
}

.pc_header .link_list li {
    min-height: 37px;
    display: flex;
    align-items: center
}

.pc_header .link_list li+li {
    margin-top: 24px
}

.pc_header .link_list a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;
    color: #fff
}

.pc_header .link_list span {
    font-size: 10px;
    color: #ffee7b
}

.pc_movie {
    width: min(343px,25vw);
    display: none;
    position: absolute;
    top: 30px;
    right: 0
}

@media(min-width: 981px) {
    .pc_movie {
        display:block
    }
}

.pc_movie iframe {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    aspect-ratio: 16/9
}
