.newstyle {
    font-family: "Zen Kaku Gothic New", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 500;
    font-style: normal;
}
@media (min-width: 768px) {
    .newstyle {
        font-size: 20px;
    }
}

.newstyle .pc {
    display: none;
}
@media (min-width: 768px) {
    .newstyle .pc {
        display: block;
    }
    .newstyle .sp {
        display: none;
    }
}

.newstyle .sans {
    font-family: 'Noto Sans JP', '游ゴシック体', Yu Gothic, '游ゴシック', 'YuGothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
.newstyle .serif {
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.newstyle .ymi {
    font-family: "游明朝体", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "MS P明朝", "MS PMincho", serif;
    font-weight: 400;
}
.newstyle .ygo {
    font-family: "游ゴシック体", Yu Gothic, "游ゴシック", "YuGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 500;
}
.newstyle .mro {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
}
.newstyle .mgo {
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.newstyle span.grn {
    font-weight: bold;
    color: #00966f;
}

.newstyle .header__bnr .tail {
    display: none;
}
.newstyle .ttl {
    text-align: center;
    z-index: 2;
    position: relative;
    margin: 0 auto;
}
.newstyle .ttl::before {
    content: '';
    position: absolute;
    left: -100%;
    right: -100%;
    margin: auto;
    height: 100px;
    background: no-repeat center center / 100% auto;
}
.newstyle .sub_ttl {
    margin-top: 40px;
    font-size: 21px;
    text-align: center;
    line-height: 1.25;
    font-weight: bold;
}
@media (min-width: 768px) {
    .newstyle .sub_ttl {
        font-size: 35px;
        margin-top: 70px;
    }
}
.newstyle .sub_ttl2 {
    margin-top: 38px;
    font-size: 14px;
    text-align: center;
}
@media (min-width: 768px) {
    .newstyle .sub_ttl2 {
        font-size: 22px;
        line-height: 2;
    }
}
.newstyle .txt {
    padding-top: 17px;
    text-align: center;
    line-height: 1.45;
}
@media (min-width: 768px) {
    .newstyle .txt {
        font-size: 22px;
        padding-top: 30px;
        line-height: 1.6;
    }
}
.newstyle .button {
    text-align: center;
    margin-top: 45px;
}
@media (min-width: 768px) {
    .newstyle .button {
        margin: 84px auto 0;
        max-width: 500px;
    }
}
.newstyle .button a {
    position: relative;
    background: #fcc800;
    display: flex;
    margin: 0 auto;
    border-radius: 15px;
    height: 72px;
    border-bottom: 4px solid #cfa100;
    justify-content: center;
    align-items: center;
}
@media (min-width: 768px) {
    .newstyle .button a {
    height: 100px;
    }
}
.newstyle .button a::after {
    content: '';
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    width: 6px;
    height: 10px;
    background: url(../../../img/new/top/btn_icon.png) no-repeat center center / 100% auto;
    margin: auto;
}
@media (min-width: 768px) {
    .newstyle .button a::after {
        width: 12px;
        height: 20px;
        right: 35px;
    }
}
.newstyle .button a img {
    height: 57%;
}
@media (min-width: 768px) {
    .newstyle .button a img {
        height: 55px;
    }
}
.newstyle .button.grn a {
    background: #00966f;
    border-bottom-color: #197f5e;
}
.newstyle .button.red a {
    background: #e50020;
    border-bottom-color: #ba1c2f;
}
.newstyle .button.blu a {
    background: #006eba;
    border-bottom-color: #19628b;
}
.newstyle .ifrm {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}
.newstyle .ifrm iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* .lineup ラインナップ */
.newstyle .lineup {
    padding: 80px 20px 70px;
    background: #FFF;
}
@media (min-width: 768px) {
    .newstyle .lineup {
        padding: 175px 20px 150px;
    }
}
.newstyle .lineup .ttl {
    max-width: 135px;
}
@media (min-width: 768px) {
    .newstyle .lineup .ttl {
        max-width: 213px;
    }
}
.newstyle .lineup .ttl::before {
    top: -77px;
    width: 345px;
    background-image: url(../../../img/new/top/sp/lineup_decoration.png);
    height: 130px;
}
@media (min-width: 768px) {
    .newstyle .lineup .ttl::before {
        top: -117px;
        width: 801px;
        background-image: url(../../../img/new/top/lineup_decoration.png);
        height: 232px;
        left: -200%;
        right: -200%;
    }
}
@media (min-width: 768px) {
    .newstyle .lineup .sub_ttl2 {
        margin-top: 60px;
    }
}
.newstyle .lineup .button.bottom {
    margin-left: 20px;
    margin-right: 20px;
}
@media (min-width: 768px) {
    .newstyle .lineup .button.bottom {
        margin-left: auto;
        margin-right: auto;
        max-width: 600px;
    }
}
.newstyle .cartbox {
    position: relative;
    margin-top: 43px;
}
@media (min-width: 768px) {
    .newstyle .cartbox {
        margin: 109px auto 0;
        max-width: 1000px;
    }
}
.newstyle .cartbox .cart + .cart {
    margin-top: 52px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart + .cart {
        margin-top: 116px;
    }
}
.newstyle .cartbox .cart .cart_ttl {
    position: relative;
    padding: 17px 115px 15px 12px;
    background: #00966f;
    text-align: center;
    border-radius: 15px 15px 0 0;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .cart_ttl {
        padding: 24px;
        border-radius: 30px 30px 0 0;
    }
}
.newstyle .cartbox .cart:nth-of-type(2) .cart_ttl {
    background: #e50020;
}
.newstyle .cartbox .cart:nth-of-type(3) .cart_ttl {
    background: #006eba;
}
.newstyle .cartbox .cart .cart_ttl > img {
    height: 24px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .cart_ttl > img {
        height: inherit;
    }
}    
.newstyle .cartbox .cart .cart_ttl .age {
    position: absolute;
    top: -100%;
    right: 17px;
    width: 88px;
    bottom: -100%;
    margin: auto;
    height: 88px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .cart_ttl .age {
    right: 40px;
    width: 150px;
    height: 150px;
    bottom: -80%;
    }
}
.newstyle .cartbox .cart .cart_content {
    padding: 0 20px 25px;
    background: #fffae7;
    border-radius: 0 0 15px 15px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .cart_content {
        padding: 0 20px 90px;
        border-radius: 0 0 30px 30px;
    }
}
.newstyle .cartbox .cart .txt {
    padding-top: 25px;
    line-height: 1.3;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .txt {
        padding-top: 40px;
        line-height: 2;
    }
}
.newstyle .cartbox .cart .cart_button {
    margin-top: 27px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .btnbox {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .newstyle .cartbox .cart .cart_button {
        margin: 42px 20px 0;
    }
    .newstyle .cartbox .cart .cart_button.button {
    max-width: 600px;
    margin: 85px auto 0;
    }
}
.newstyle .cartbox .cart .cart_button.button a img,
.newstyle .lineup .button.bottom a img {
    height: 38px;
}
@media (min-width: 768px) {
    .newstyle .cartbox .cart .cart_button.button a img,
    .newstyle .lineup .button.bottom a img {
        height: 23px;
    }
}
.newstyle .lineup .ico {
    position: absolute;
}
@media (max-width: 767px) {
    .newstyle .lineup .ico {
        display: none;
    }
}
.newstyle .lineup .ico--01 {
    background: url(../../../img/new/top/lineup_decoration01.png) center/cover no-repeat;
    width: 138px;
    height: 148px;
    top: 2%;
    left: -27.5%;
}
.newstyle .lineup .ico--02 {
    background: url(../../../img/new/top/lineup_decoration02.png) center/cover no-repeat;
    width: 167px;
    height: 177px;
    bottom: 79%;
    right: -32%;
}
.newstyle .lineup .ico--03 {
    background: url(../../../img/new/top/lineup_decoration03.png) center/cover no-repeat;
    width: 125px;
    height: 159px;
    top: 35%;
    left: -29.5%;
}
.newstyle .lineup .ico--04 {
    background: url(../../../img/new/top/lineup_decoration04.png) center/cover no-repeat;
    width: 123px;
    height: 141px;
    bottom: 44.5%;
    right: -30.5%;
}
.newstyle .lineup .ico--05 {
    background: url(../../../img/new/top/lineup_decoration05.png) center/cover no-repeat;
    width: 128px;
    height: 144px;
    bottom: 26.5%;
    left: -30.2%;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .newstyle .lineup .ico--05 {
        right: 0;
        bottom: -60px;
    }
}
.newstyle .lineup .ico--06 {
    background: url(../../../img/new/top/lineup_decoration06.png) center/cover no-repeat;
    width: 153px;
    height: 139px;
    bottom: 9%;
    right: -31.2%;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .newstyle .lineup .ico--06 {
        right: 0;
        bottom: -60px;
    }
}

/* .iconic 公式キャラクター いちばんくん */
.newstyle .iconic {
    background: #fff;
    position: relative;
}
@media (min-width: 768px) {
    .newstyle .iconic {
        padding: 90px 20px 80px;
        text-align: center;
    }
}
@media (max-width: 767px) {
    .newstyle .iconic {
        padding: 70px 20px 80px;
    }
}
.newstyle .iconic .ico {
    position: absolute;
}
.newstyle .iconic .ico--01 {
    background: url("../../../img/top/intro_ico_11.png") center/cover no-repeat;
    width: 128px;
    height: 110px;
    top: 38%;
    right: 9.2%;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .newstyle .iconic .ico--01 {
        right: 0;
    }
}
@media (max-width: 767px) {
    .newstyle .iconic .ico--01 {
        width: 84px;
        height: 74px;
        top: auto;
        bottom: 3%;
        right: 7%;
    }
}
.newstyle .iconic .ico--02 {
    background: url("../../../img/top/intro_ico_12.png") center/cover no-repeat;
    width: 126px;
    height: 126px;
    bottom: -44px;
    left: 6.7%;
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .newstyle .iconic .ico--02 {
        right: 0;
    }
}
@media (max-width: 767px) {
    .newstyle .iconic .ico--02 {
        width: 85px;
        height: 80px;
        top: auto;
        bottom: -10%;
        left: 2%;
    }
}
.newstyle .iconic .iconic-inner {
    display: flex;
    max-width: 485px;
    width: 100%;
    margin: 0 auto;
}
@media (max-width: 767px) {
    .newstyle .iconic .iconic-img {
        /* max-width: 30%; */
        width: 100%;
    }
}
.newstyle .iconic .iconic-content {
    font-size: 20px;
    padding: 8px 0 0 22px;
    line-height: 24px;
    letter-spacing: 0.05em;
    font-family: "M PLUS Rounded 1c", sans-serif;
}
@media (max-width: 767px) {
    .newstyle .iconic .iconic-content {
        max-width: 70%;
        width: 100%;
        font-size: 14px;
        padding: 0 0 0 20px;
        line-height: 18px;
        letter-spacing: 0;
    }
}
.newstyle .iconic .iconic-content small {
    font-size: 15px;
    font-weight: 800;
}
@media (max-width: 767px) {
    .newstyle .iconic .iconic-content small {
        font-size: 12px;
    }
}
.newstyle .iconic .iconic-content span {
    font-size: 21px;
    font-weight: 800;
    display: block;
}
@media (max-width: 767px) {
    .newstyle .iconic .iconic-content span {
        font-size: 18px;
        margin: 0 0 10px;
    }
}

.top .noLink.cusrorDefault {
    cursor: default;
    opacity: 1;
    pointer-events: none;
}

/* mask なみなみ 上 */
.cstm-wave,
.cstm-wave_t,
.cstm-wave_b {
    position: relative;
    z-index: 2;
}
.cstm-wave:before,
.cstm-wave:after,
.cstm-wave_t:before,
.cstm-wave_b:after {
    height: 20px;
    background: #fffae7;
    --mask:
        radial-gradient(33.6px at 50% 47px, #000 99%, #0000 101%) calc(50% - 40px) 0/80px 100%,
        radial-gradient(33.6px at 50% -27px, #0000 99%, #000 101%) 50% 20px/80px 100% repeat-x;
    -webkit-mask: var(--mask);
    mask: var(--mask);
    transform: scale(2.25);
    content: '';
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;

    @media (max-width: 1023px) {
        --mask:
            radial-gradient(30.24px at 50% 42.3px, #000 99%, #0000 101%) calc(50% - 36px) 0/72px 100%,
            radial-gradient(30.24px at 50% -24.3px, #0000 99%, #000 101%) 50% 18px/72px 100% repeat-x;

        @media (max-height: 500px) {
        --mask:
            radial-gradient(16.01px at 50% 22.5px, #000 99%, #0000 101%) calc(50% - 20px) 0/40px 100%,
            radial-gradient(16.01px at 50% -12.5px, #0000 99%, #000 101%) 50% 10px/40px 100% repeat-x;
        }
    }

    @media (max-width: 480px) {
        --mask:
            radial-gradient(16.01px at 50% 22.5px, #000 99%, #0000 101%) calc(50% - 20px) 0/40px 100%,
            radial-gradient(16.01px at 50% -12.5px, #0000 99%, #000 101%) 50% 10px/40px 100% repeat-x;
    }
}
@media (min-width: 768px) {
    .cstm-wave:before,
    .cstm-wave:after,
    .cstm-wave_t:before,
    .cstm-wave_b:after {
        height: 50px;
    }
}
.cstm-wave:before,
.cstm-wave_t:before {
    top: -20px;
}
@media (min-width: 768px) {
    .cstm-wave:before,
    .cstm-wave_t:before {
        top: -30px;
    }
}
.cstm-wave:after,
.cstm-wave_b:after {
    transform: scale(2.25) rotate(180deg);
    bottom: -20px;
}
@media (min-width: 768px) {
    .cstm-wave:after,
    .cstm-wave_b:after {
        transform: scale(2.5) rotate(180deg);
        bottom: -30px;
    }
}
.cstm-wave_t.grn:before {
    background: #00966f;
}

.newstyle .btmccl {
    position: relative;
}
.newstyle .btmccl > * {
    position: relative;
    z-index: 2;
}
.newstyle .btmccl:before,
.newstyle .btmccl:after {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
}
.newstyle .btmccl:before {
    height: 32.05128205vw;
    background: #fffae7;
}
@media (min-width: 768px) {
    .newstyle .btmccl:before {
        height: 206px;
    }
}
.newstyle .btmccl:after {
    height: 64.1025641vw;
    border-radius: 100%;
    background: #FFF;
}
@media (min-width: 768px) {
    .newstyle .btmccl:after {
        height: 412px;
        width: 1920px;
        left: -100%;
        right: -100%;
        margin: auto;
    }
}
.newstyle .btmccl.crm:before {
    content: none;
}
.newstyle .btmccl.crm:after {
    background: #fffae7;
    bottom: -32.05128205vw;
}
@media (min-width: 768px) {
    .newstyle .btmccl.crm:after {
        bottom: -206px;
    }
}

.newstyle .btmccl.trp:after {
	background: url(../../../img/new/about/sp/sec03_bg_pattern.jpg) repeat center top / 6.41025641vw auto;
}

@media (min-width: 768px) {
    .newstyle .btmccl.trp:after {
        background-size: 51.5px auto;
    }
}    

/*# sourceMappingURL=maps/top.min.css.map */
