body {
    position: relative
}

canvas {
    display: block;
    pointer-events: none !important;
    vertical-align: bottom
}

#tsparticles {
    height: 100vh;
    pointer-events: none;
    position: fixed;
    width: 100%;
    z-index: 10
}

@media (-ms-high-contrast:none) {
    #particles-js {
        height: 100vh;
        pointer-events: none;
        position: fixed;
        width: 100%;
        z-index: 10
    }
}

@media (min-width:769px),
print {
    .root {
        padding-top: 0
    }

    .header {
        display: none
    }

    section {
        position: relative
    }

    .sec-ttl {
        margin-bottom: 48px;
        text-align: center
    }

    .sec-ttl .en {
        display: block;
        height: 14px;
        margin-top: 26px;
        text-align: center
    }

    .sec-ttl .en img {
        height: 100%;
        vertical-align: top;
        width: auto
    }

    .sec-ttl:after {
        background: url(../images/top/ttl_under.svg?v8cab8be9545e7efa0fe5b5d53533c961) no-repeat top;
        background-size: contain;
        content: "";
        display: block;
        height: 24px;
        margin: 22px auto 0;
        width: 115px
    }

    .mv .swiper-container .swiper-slide {
        width: 1000px !important;
    }

    .mv .swiper-container .swiper-slide a {
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .mv .swiper-container .swiper-slide a:hover {
        opacity: .7
    }

    .mv .swiper-container .swiper-button {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #fff;
        border-radius: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 64px;
        justify-content: center;
        left: 50%;
        margin-left: -545px;
        margin-top: -35px;
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        width: 64px;
        will-change: opacity
    }

    .mv .swiper-container .swiper-button:hover {
        opacity: .7
    }

    .mv .swiper-container .swiper-button:after {
        content: none
    }

    .mv .swiper-container .swiper-button:before {
        border-color: transparent #2f6423 transparent transparent;
        border-style: solid;
        border-width: 11.5px 20px 11.5px 0;
        content: "";
        display: block;
        height: 0;
        margin-right: 5px;
        width: 0
    }

    .mv .swiper-container .swiper-button-next {
        margin-left: 481px
    }

    .mv .swiper-container .swiper-button-next:before {
        margin-left: 5px;
        margin-right: 0;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }

    .mv .swiper-container .mainVisual-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 100%;
        margin-right: -50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        text-align: center;
        z-index: 100;
    }

    .menu {
        padding-bottom: 26px;
        padding-top: 10px;
    }

    .menu:before {
        background: url(../images/common/wave_white_shadow.png?vece9601e91412b1d399f968972abb124) repeat-x 0 0;
        background-size: auto 100%;
        content: "";
        display: block;
        height: 38px;
        left: 0;
        position: absolute;
        top: -38px;
        width: 100%;
        z-index: 2
    }

    .menu ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center
    }

    .menu ul li {
        padding: 0 43px;
        position: relative
    }

    .menu ul li:before {
        border-left: 3px dotted #d2c4bd;
        bottom: 0;
        content: "";
        display: block;
        height: 48px;
        left: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 3px
    }

    .menu ul li a {
        display: block;
        position: relative;
        text-align: center
    }

    .menu ul li a:hover span {
        opacity: 1
    }

    .menu ul li a span {
        background-color: #fff;
        left: 1px;
        opacity: 0;
        position: absolute;
        top: 0;
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .menu ul li a span img {
        width: 100%
    }

    .menu ul li.menu--02 a {
        width: 116px
    }

    .menu ul li.menu--02 a span {
        left: 0
    }

    .menu ul li.menu--02 a>img {
        width: 109px
    }

    .menu ul li.menu--03 {
        padding: 0 44.5px
    }

    .menu ul li.menu--03 a {
        width: 93px
    }

    .menu ul li.menu--03 a>img {
        width: 86px
    }

    .menu ul li.menu--01 {
        padding: 0 26px;
    }

    .menu ul li.menu--01 a {
        width: 76px
    }

    .menu ul li.menu--01 a>img {
        width: 69px
    }

    /* .menu ul li.menu--01 a {
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    } */
/* 
    .menu ul li.menu--01 a:hover {
        opacity: .7
    } */

    .menu ul li.menu--04 {
        padding: 0 32px
    }

    .menu ul li.menu--04 a {
        width: 124px
    }

    .menu ul li.menu--04 a>img {
        width: 116px
    }

    .menu ul li.menu--05 {
        padding: 0 30px
    }

    .menu ul li.menu--05 a {
        width: 129px
    }

    .menu ul li.menu--05 a>img {
        width: 121px
    }

    /* .menu ul li.menu--05 a span {
        left: 0;
        top: 2px
    } */

    .menu ul li.menu--06 {
        padding: 0 32px
    }

    .menu ul li.menu--06 a {
        width: 112px
    }

    .menu ul li.menu--06 a>img {
        width: 106px
    }

    .menu ul li.menu--06:after {
        border-right: 3px dotted #d2c4bd;
        bottom: 0;
        content: "";
        display: block;
        height: 48px;
        right: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 3px
    }


    /* .menu ul li.menu--06 {
        padding: 0 0 0 34px
    }

    .menu ul li.menu--06 a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #715d4e;
        border-radius: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 44px;
        justify-content: center;
        -webkit-transition: background-color .3s ease;
        -o-transition: background-color .3s ease;
        transition: background-color .3s ease;
        width: 44px;
        will-change: background-color
    }

    .menu ul li.menu--06 a:hover {
        background-color: #d25555
    }

    .menu ul li.menu--06 img {
        width: 18px
    } */

    .link {
        background: url(../images/common/bg_pink.png?v2f505faae4a684046fe75b33fe7a6527) repeat 0 0;
        background-size: cover;
        padding: 87px 0 110px
    }

    .link__ttl img {
        width: 379px
    }

    .link__list {
        width: 1000px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        /* justify-content: space-between; */
        margin: 0 auto;
    }

    .link__list li {
        border: 2px solid transparent;
        border-radius: 8px;
        -webkit-transition: border-color .3s ease;
        -o-transition: border-color .3s ease;
        transition: border-color .3s ease;
        /* width: 234px; */
        width: 317px;
        will-change: border-color;
        margin: 6px;
        
    }

    .link__list li:hover {
        border-color: #eb5151;
        border-width: 2px
    }

    .ranking {
        padding: 96px 0
    }

    .ranking:after,
    .ranking:before {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x top;
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .ranking:before {
        top: -20px
    }

    .ranking:after {
        bottom: -20px;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg)
    }

    .ranking__ttl img {
        width: 310px
    }

    .ranking__ttl .en {
        height: 17px
    }

    .ranking__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .ranking__item {
        margin-left: 44px;
        padding: 38px 0 164px;
        position: relative;
        width: 304px
    }

    .ranking__item:nth-child(3n+1) {
        margin-left: 0
    }

    .ranking__item:nth-child(3n+1):after {
        border-bottom: 3px dotted #a99b8f;
        bottom: 0;
        content: "";
        display: block;
        height: 3px;
        left: 0;
        position: absolute;
        width: 1000px
    }

    .ranking__item:nth-child(-n+3) {
        padding-top: 0
    }

    .ranking__rank {
        text-align: center
    }

    .ranking__rank img {
        width: 104px
    }

    .ranking__image {
        border: 1px solid #cfbaa7;
        border-radius: 20px;
        margin-top: 16px;
        overflow: hidden
    }

    .ranking__image img {
        font-family: "object-fit: contain;";
        height: 300px;
        -o-object-fit: contain;
        object-fit: contain;
        width: 100%
    }

    .ranking__text {
        color: #553921;
        margin-top: 20px
    }

    .ranking__links {
        bottom: 48px;
        position: absolute;
        width: 100%
    }

    .ranking__links a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: #fff;
        border: 2px solid #2f6423;
        border-radius: 8px;
        -webkit-box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: #2f6423;
        display: block;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-weight: 700;
        height: 40px;
        padding: 0 22px;
        position: relative;
        -webkit-transition: background-color .3s ease, color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        transition: background-color .3s ease, color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        -o-transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, color .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, color .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        width: 100%;
        will-change: transform, box-shadow, background-color, color
    }

    .ranking__links a:hover {
        background-color: #2f6423;
        -webkit-box-shadow: none;
        box-shadow: none;
        color: #fff;
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    .ranking__links a:hover:after {
        background: url(../images/top/icon_link_white.svg?v2a4ce51081d21f86139b2099c944351f) no-repeat 0 0;
        background-size: contain
    }

    .ranking__links a:after {
        background: url(../images/top/icon_link.svg?vf1a093cc0d671d47c8b99815c47e3027) no-repeat 0 0;
        background-size: contain;
        bottom: 0;
        content: "";
        display: block;
        height: 28px;
        margin: auto;
        position: absolute;
        right: 10px;
        top: 10px;
        width: 32px
    }

    .ranking__links a+a {
        margin-top: 12px
    }

    .ranking .info-link {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
        margin-top: 88px
    }

    .ranking .info-link a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background: url(../images/common/bg_green.png?vc0f367c68bbf7e903d48269019d35365) repeat 0 0 #fff;
        background-color: cover;
        border-radius: 8px;
        -webkit-box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 80px;
        justify-content: center;
        position: relative;
        -webkit-transition: background .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        transition: background .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        -o-transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        width: 336px;
        will-change: transform, box-shadow, background
    }

    .ranking .info-link a+a {
        margin-left: 80px
    }

    .ranking .info-link a span {
        color: #fff;
        font-size: 1.25rem
    }

    .ranking .info-link a:after {
        border-color: transparent transparent transparent #fff;
        border-style: solid;
        border-width: 5px 0 5px 8px;
        bottom: 0;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 20px;
        top: 0;
        -webkit-transition: border-color .3s ease;
        -o-transition: border-color .3s ease;
        transition: border-color .3s ease;
        width: 0;
        will-change: border-color
    }

    .ranking .info-link a:hover {
        background: #fff;
        border: 2px solid #eb5151;
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    .ranking .info-link a:hover:after {
        border-color: transparent transparent transparent #eb5151
    }

    .ranking .info-link a:hover span {
        color: #eb5151
    }

    .whats {
        background: url(../images/common/bg_pink.png?v2f505faae4a684046fe75b33fe7a6527) repeat 0 0;
        background-size: cover;
        overflow: hidden;
        padding: 110px 0 0
    }

    .whats__ttl img {
        width: 493px
    }

    .whats__text {
        margin-top: -10px;
        padding-bottom: 86px;
        position: relative
    }

    .whats .deco {
        left: 50%;
        position: absolute;
        z-index: 0
    }

    .whats .deco--01 {
        margin-left: -634px;
        top: 30px
    }

    .whats .deco--01 img {
        width: 350px
    }

    .whats .deco--02 {
        margin-left: 254px;
        top: -100px
    }

    .whats .deco--02 img {
        width: 278px
    }

    .whats .deco--03 {
        bottom: 48px;
        margin-left: 156px
    }

    .whats .deco--03 img {
        width: 489px
    }

    .whats p {
        color: #4c2707;
        font-size: 1.125rem;
        line-height: 2.3;
        position: relative;
        text-align: center;
        z-index: 1
    }

    .whats p em {
        display: inline-block;
        font-style: normal;
        position: relative
    }

    .whats p em:after {
        background: url(../images/top/deco_wave.png?v45b0a1c62e5be9be346f6e205a28a975) repeat-x 0 0;
        background-size: auto 100%;
        bottom: 0;
        content: "";
        display: inline-block;
        height: 8px;
        left: 0;
        position: absolute;
        width: 100%
    }

    .whats p+p {
        margin-top: 38px
    }

    .whats .carousel {
        position: relative
    }

    .whats .carousel:after,
    .whats .carousel:before {
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .whats .carousel:before {
        background: url(../images/common/wave_pink.png?v0ff1c28f4a806330a64de55d023e2274) repeat-x 0 0;
        top: 0;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg)
    }

    .whats .carousel:after {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x 0 0;
        bottom: 0
    }

    .whats .carousel .swiper-slide img {
        height: 340px
    }

    .news {
        padding: 60px 0 82px;
        background: linear-gradient(360deg, #ffffff, #fff8f7);
    }

    .news:after{
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x top;
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        width: 100%;
        z-index: 2;
        bottom: -20px;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg)
    }

    .news__ttl img {
        width: 402px
    }

    .news__list {
        margin-top: -16px
    }

    .news__list li:after {
        border-top: 3px dotted #ddd7d2;
        content: "";
        display: block;
        height: 3px;
        width: 100%
    }

    .news__list li+li {
        margin-top: 20px
    }

    .news__list li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 16px 20px 16px 0;
        position: relative
    }

    .news__list li a:after {
        border-color: transparent transparent transparent #715d4e;
        border-style: solid;
        border-width: 7px 0 7px 11px;
        bottom: 0;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 0;
        top: 0;
        -webkit-transition: border-color .3s ease;
        -o-transition: border-color .3s ease;
        transition: border-color .3s ease;
        width: 0;
        will-change: border-color
    }

    .news__list li a p {
        color: #4c2707;
        -webkit-transition: color .3s ease;
        -o-transition: color .3s ease;
        transition: color .3s ease;
        will-change: color
    }

    .news__list li a p.date {
        width: 160px
    }

    .news__list li a p.title {
        width: calc(100% - 160px)
    }

    .news__list li a:hover:after {
        border-color: transparent transparent transparent #eb5151
    }

    .news__list li a:hover p {
        color: #eb5151
    }

    .news__list li.icon-new p.title:after {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #2f6423;
        border-radius: 4px;
        color: #fff;
        content: "New";
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        font-family: Comfortaa, cursive;
        font-size: .875rem;
        height: 22px;
        justify-content: center;
        letter-spacing: 0;
        margin-left: 10px;
        width: 44px
    }

    .news__link {
        margin-top: 24px
    }

    .news__link a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #817267;
        border-radius: 8px;
        -webkit-box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 10px 10px 0 hsla(24, 11%, 45%, .3);
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-weight: 500;
        height: 40px;
        justify-content: center;
        margin: 0 0 0 auto;
        position: relative;
        -webkit-transition: background-color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        transition: background-color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        -o-transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
        transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, -webkit-transform .3s ease, -webkit-box-shadow .3s ease;
        width: 184px;
        will-change: transform, box-shadow, background-color
    }

    .news__link a:hover {
        background-color: #d25555;
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-transform: translateY(2px);
        transform: translateY(2px)
    }

    .news__link a:after {
        border-color: transparent transparent transparent #fff;
        border-style: solid;
        border-width: 5px 0 5px 6px;
        bottom: 0;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 14px;
        top: 0;
        width: 0
    }


    .use {
        padding: 60px 0 82px
    }

    .use__ttl img {
        width: 271px
    }

    .use__list {
        margin-top: -16px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .use__list li {
        text-align: left;
        width: 31%;
        padding: 12px 0;
    }

    .use__list li h3 {
        /* margin: 12px 0 9px; */
        text-align: center;
        padding: 18px 6px 6px;
        color: #37702b;
    }

    .use__list li h3 span {
        font-size: 26px;
    }

    .use__list li p {
        padding: 6px;
        font-size: 0.9rem;
    }

    /* ---------------------------------------------- */
    /* TOPへボタン */
    /* ----------------------- */
    #pagetop {
        /* レイアウト */
        position: fixed;
        right: 30px;
        bottom: 30px;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: center;
        /* 見た目 */
        width: 100px;
        color: #fff;
        transition: .3s;

        /* デフォルトは非表示 */
        opacity: 0;
        visibility: hidden;
        transition: 0.2s;
    }

    /* スクロールされたときに適用されるCSS */
    #pagetop.visible {
        opacity: 1;
        visibility: visible;
    }

}

@media only screen and (max-width:768px) {
    .root {
        padding-top: 0
    }

    main {
        padding-top: 11.71875vw
    }

    section {
        position: relative
    }

    .sec-ttl {
        margin-bottom: 6.510416666666667vw;
        text-align: center
    }

    .sec-ttl .en {
        display: block;
        height: 2.864583333333333vw;
        margin-top: 4.947916666666666vw;
        text-align: center
    }

    .sec-ttl .en img {
        height: 100%;
        vertical-align: top;
        width: auto
    }

    .sec-ttl:after {
        background: url(../images/top/ttl_under.svg?v8cab8be9545e7efa0fe5b5d53533c961) no-repeat top;
        background-size: contain;
        content: "";
        display: block;
        height: 4.166666666666666vw;
        margin: 4.6875vw auto 0;
        width: 19.921875vw
    }

    .mv .swiper-container .swiper-slide {
        width: 78.125vw !important;
        position: relative;
    }

    .mv .swiper-container .swiper-button {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #fff;
        border-radius: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 9.895833333333332vw;
        justify-content: center;
        left: 2.864583333333333vw;
        width: 9.895833333333332vw
    }

    .mv .swiper-container .swiper-button:after {
        content: none
    }

    .mv .swiper-container .swiper-button:before {
        border-color: transparent #2f6423 transparent transparent;
        border-style: solid;
        border-width: 1.953125vw 3.125vw 1.953125vw 0;
        content: "";
        display: block;
        height: 0;
        margin-right: .6510416666666667vw;
        width: 0
    }

    .mv .swiper-container .swiper-button-next {
        left: auto;
        right: 2.864583333333333vw
    }

    .mv .swiper-container .swiper-button-next:before {
        margin-left: .6510416666666667vw;
        margin-right: 0;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }

    .mv .swiper-container .mainVisual-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        margin-right: -50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        text-align: center;
        z-index: 100;
    }

    .mv .swiper-container .mainVisual-inner .mainVisual-text{
        width: 66.66666666666666vw;
    }

    .link {
        background: url(../images/common/bg_pink.png?v2f505faae4a684046fe75b33fe7a6527) repeat 0 0;
        background-size: cover;
        margin-top: -4.947916666666666vw;
        padding: 19.010416666666664vw 0 15.625vw
    }

    .link:before {
        background: url(../images/common/wave_pink.png?v0ff1c28f4a806330a64de55d023e2274) repeat-x 16.276041666666664vw top;
        background-size: auto 2.604166666666667vw;
        content: "";
        display: block;
        height: 2.604166666666667vw;
        position: absolute;
        top: 2.34375vw;
        width: 100%;
        z-index: 2
    }

    .link__list {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
    }

    .link__list li {
        width: 48%;
    }



    .link__ttl img {
        width: 72.91666666666666vw
    }

    .link__list a {
        border: .26041666666666663vw solid transparent;
        border-radius: 2.34375vw;
        display: block;
        margin-top: 2.864583333333333vw;
        width: 100%
    }

    .ranking {
        margin-top: -4.947916666666666vw;
        padding: 17.96875vw 0 15.625vw
    }

    .ranking:after,
    .ranking:before {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x 0 0;
        background-size: auto 2.604166666666667vw;
        content: "";
        display: block;
        height: 2.604166666666667vw;
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .ranking:before {
        top: 2.34375vw
    }

    .ranking:after {
        bottom: 2.34375vw;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg)
    }

    .ranking__ttl img {
        width: 59.375vw
    }

    .ranking__ttl .en {
        height: 3.515625vw
    }

    .ranking__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: -2.604166666666667vw
    }

    .ranking__item {
        padding: 7.291666666666667vw 0 41.66666666666667vw;
        position: relative;
        width: 42.44791666666667vw
    }

    .ranking__item:nth-child(odd) {
        margin-left: 0
    }

    .ranking__item:nth-child(odd):after {
        border-bottom: 1.171875vw dotted #a99b8f;
        bottom: 0;
        content: "";
        display: block;
        height: 1.171875vw;
        left: 0;
        position: absolute;
        width: 90.625vw
    }

    .ranking__rank {
        text-align: center
    }

    .ranking__rank img {
        width: 18.489583333333336vw
    }

    .ranking__image {
        border: 1px solid #cfbaa7;
        border-radius: 2.083333333333333vw;
        margin-top: 3.125vw;
        overflow: hidden
    }

    .ranking__image img {
        font-family: "object-fit: contain;";
        /* height: 31.770833333333332vw; */
        height: 42vw;
        -o-object-fit: contain;
        object-fit: contain;
        width: 100%
    }

    .ranking__text {
        color: #553921;
        font-size: 3.90625vw;
        margin-top: 4.427083333333334vw
    }

    .ranking__links {
        bottom: 7.291666666666667vw;
        position: absolute;
        width: 100%
    }

    .ranking__links a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: #fff;
        border: .5208333333333333vw solid #2f6423;
        border-radius: 1.171875vw;
        -webkit-box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        color: #2f6423;
        display: block;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 3.90625vw;
        font-weight: 500;
        height: 13.28125vw;
        padding: 0 6.770833333333333vw 0 2.604166666666667vw;
        position: relative;
        text-align: center;
        width: 100%
    }

    .ranking__links a:after {
        background: url(../images/top/icon_link.svg?vf1a093cc0d671d47c8b99815c47e3027) no-repeat 0 0;
        background-size: contain;
        bottom: 0;
        content: "";
        display: block;
        height: 7.291666666666667vw;
        margin: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: 8.333333333333332vw
    }

    .ranking__links a+a {
        margin-top: 2.604166666666667vw
    }

    .ranking .info-link {
        margin-top: 12.5vw
    }

    .ranking .info-link a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background: url(../images/common/bg_green.png?vc0f367c68bbf7e903d48269019d35365) repeat 0 0;
        background-color: cover;
        border-radius: 1.0416666666666665vw;
        -webkit-box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 12.5vw;
        justify-content: center;
        margin: 0 auto;
        position: relative;
        width: 72.91666666666666vw
    }

    .ranking .info-link a+a {
        margin-top: 4.166666666666666vw
    }

    .ranking .info-link a span {
        color: #fff;
        font-size: 4.6875vw;
        font-weight: 500;
        letter-spacing: .07em
    }

    .ranking .info-link a:after {
        border-color: transparent transparent transparent #fff;
        border-style: solid;
        border-width: 1.3020833333333335vw 0 1.3020833333333335vw 2.083333333333333vw;
        bottom: 0;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 3.125vw;
        top: 0;
        width: 0
    }

    .whats {
        background: url(../images/common/bg_pink.png?v2f505faae4a684046fe75b33fe7a6527) repeat 0 0;
        background-size: cover;
        margin-top: -4.947916666666666vw;
        overflow: hidden;
        padding: 20.572916666666664vw 0 0
    }

    .whats__ttl img {
        width: 52.864583333333336vw
    }

    .whats__text {
        padding-bottom: 34.375vw;
        position: relative
    }

    .whats .deco {
        position: absolute;
        z-index: 0
    }

    .whats .deco--01 {
        left: -15.625vw;
        top: 37.23958333333333vw
    }

    .whats .deco--01 img {
        width: 36.19791666666667vw
    }

    .whats .deco--02 {
        right: -5.859375vw;
        top: 29.296875vw
    }

    .whats .deco--02 img {
        width: 33.33333333333333vw
    }

    .whats .deco--03 {
        bottom: 8.59375vw;
        right: -10.416666666666668vw
    }

    .whats .deco--03 img {
        width: 34.63541666666667vw
    }

    .whats p {
        color: #4c2707;
        font-size: 4.166666666666666vw;
        line-height: 2.2;
        position: relative;
        text-align: center;
        z-index: 1
    }

    .whats p em {
        display: inline-block;
        font-style: normal;
        position: relative
    }

    .whats p em:after {
        background: url(../images/top/deco_wave.png?v45b0a1c62e5be9be346f6e205a28a975) repeat-x 0 0;
        background-size: auto 100%;
        bottom: 0;
        content: "";
        display: inline-block;
        height: 1.8229166666666667vw;
        left: 0;
        position: absolute;
        width: 100%
    }

    .whats p+p {
        margin-top: 22.135416666666664vw
    }

    .whats .carousel {
        position: relative
    }

    .whats .carousel:after,
    .whats .carousel:before {
        content: "";
        display: block;
        height: 2.604166666666667vw;
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .whats .carousel:before {
        background: url(../images/common/wave_pink.png?v0ff1c28f4a806330a64de55d023e2274) repeat-x 0 0;
        background-size: auto 2.604166666666667vw;
        top: -.13020833333333331vw;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg)
    }

    .whats .carousel:after {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x 0 0;
        background-size: auto 2.604166666666667vw;
        bottom: -.13020833333333331vw
    }

    .use {
        margin-top: -4.947916666666666vw;
        padding: 17.96875vw 0 13.28125vw;
    }

    .use__ttl img {
        width: 50.08333333333334vw
    }

    .use__list {
        /* margin-top: -16px; */
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .use__list li {
        width: 48%;
        padding: 1.96875vw 0;
    }

    .use__list li h3 {
        /* margin: 12px 0 9px; */
        letter-spacing: 0.1vw;
        line-height: 5.6875vw;
        text-align: center;
        padding: 1.96875vw 0;
        color: #37702b;
        font-size: 4.60625vw;
        text-align: left;
        text-indent: -5.96875vw;
        padding-left: 5.96875vw;
    }

    .use__list li h3 span {
        font-size: 5.6875vw;
    }

    .use__list li p {
        /* padding: 1.96875vw 0; */
        font-size: 3.0625vw;
    }


    .news {
        margin-top: -4.947916666666666vw;
        padding: 17.96875vw 0 13.28125vw
    }

    .news__ttl img {
        width: 77.08333333333334vw
    }

    .news__list li:after {
        border-top: 3px dotted #ddd7d2;
        content: "";
        display: block;
        height: 3px;
        width: 100%
    }

    .news__list li+li {
        margin-top: 1.8229166666666667vw
    }

    .news__list li a {
        display: block;
        padding: 3.90625vw 0;
        position: relative
    }

    .news__list li a:after {
        border-color: transparent transparent transparent #715d4e;
        border-style: solid;
        border-width: 1.5625vw 0 1.5625vw 2.473958333333333vw;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 0;
        top: 3.90625vw;
        width: 0
    }

    .news__list li a p {
        color: #4c2707;
        font-size: 3.90625vw
    }

    .news__list li a p.title {
        line-height: 1.6;
        margin-top: 3.90625vw
    }

    .news__list li.icon-new p.title:after {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #2f6423;
        border-radius: 1.0416666666666665vw;
        color: #fff;
        content: "New";
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        font-family: Comfortaa, cursive;
        font-size: 3.125vw;
        height: 5.208333333333334vw;
        justify-content: center;
        line-height: 1;
        margin-left: 3.125vw;
        vertical-align: middle;
        width: 9.375vw
    }

    .news__link {
        margin-top: 5.46875vw
    }

    .news__link a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        background-color: #817267;
        border-radius: 1.0416666666666665vw;
        -webkit-box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 3.90625vw;
        font-weight: 500;
        height: 9.114583333333332vw;
        justify-content: center;
        margin: 0 0 0 auto;
        position: relative;
        width: 43.22916666666667vw
    }

    .news__link a:after {
        border-color: transparent transparent transparent #fff;
        border-style: solid;
        border-width: 1.3020833333333335vw 0 1.3020833333333335vw 1.5625vw;
        bottom: 0;
        content: "";
        display: block;
        height: 0;
        margin: auto;
        position: absolute;
        right: 2.604166666666667vw;
        top: 0;
        width: 0
    }

    #pagetop {
        /* レイアウト */
        position: fixed;
        right: 4.30625vw;
        bottom: 15.30625vw;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20%;
        cursor: pointer;
        transition: .3s;
    }

}