@charset "UTF-8";

/* .inBlock *[class*="inBlock"],
.inBlock_XL *[class*="inBlock"],
.inBlock_L *[class*="inBlock"],
.inBlock_M *[class*="inBlock"],
.inBlock_S *[class*="inBlock"],
.inBlock_XS *[class*="inBlock"] {
   padding-right: 0;
   padding-left: 0;
   max-width: 20.75em;
   margin-right: auto;
   margin-left: auto;
} */

@media (min-width: 501px) {

    .inBlock,
    .inBlock_XL,
    .inBlock_L,
    .inBlock_M,
    .inBlock_S,
    .inBlock_XS {
        padding-right: 28px !important;
        padding-left: 28px !important;
    }
}

#main {
    position: relative;
}

#bg-wrap {
    width: 0;
    height: 0;
    top: 0;
    position: fixed;
}

#bg-wrap.over {
    position: absolute;
    left: 0;
    bottom: 0;
    top: auto;
}

#bg-wrap .bg-inner {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

#bg-wrap.over .bg-inner {
    transform: translateY(-100%);
}

#bg-wrap .bg-inner .bg {
    width: 100vw;
    height: 100%;
}

#bg-wrap .bg-inner .bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 769px) {
    #bg-wrap .bg-inner {
        width: calc(100vw - 185px - 83px);
    }

    #bg-wrap .bg-inner .bg {
        margin-left: -185px;
        margin-right: -83px;
    }
}

#magazine {
    background: #FFF;
    position: relative;
}

@media (min-width: 769px) {
    #magazine {
        max-width: 750px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-size: 20px !important;
    }
}

@media (min-width: 829px) {
    #magazine {
        font-size: 22px !important;
    }
}


iframe {
    vertical-align: bottom;
}

/* --------------------
   .ttl
-------------------- */
.section_ttl {
    font-size: 1.9em;
    font-weight: 700;
}

#cont1 .section_ttl,
#cont1 .color,
#bnr .color {
    color: #0062a4;
}

#cont2 .section_ttl,
#cont2 .color {
    color: #006e2e;
}

/* --------------------
   .cv
-------------------- */
.cv ul {
    display: flex;
    justify-content: center;
}

.cv ul li a,
.cv ul li span {
    display: block;
    transition: .1s ease-in-out;
    cursor: pointer;
}

.cv ul li a:hover img,
.cv ul li span:hover img {
    transition: .1s ease-in-out;
    opacity: .6;
}

/* --------------------
   .toc
-------------------- */
.toc ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-right: -.75em;
    margin-left: -.75em;
}

.toc ul li {
    flex: 0 0 33.33333%;
    padding: .75em;
}

@media (max-width: 768px) {
    .section_ttl {
        font-size: 1.2em;
        font-weight: 700;
        padding: 0 calc(20*1em / 16);
    }

    .toc ul li {
        flex: 0 0 33.33333%;
    }
}

/* --------------------
   #toc.toc
-------------------- */
#toc .toc_ttl {
    font-size: 1.3em;
    color: #5c5c5c;
    font-weight: 700;
    text-align: center;
}

#toc.toc ul li {
    flex: 0 0 100%;
    padding: .75em;
    font-size: 1.5em;
    font-weight: 700;
    text-align: left;
}

#toc.toc ul li.toc_cont1 {
    color: #59afdc;
}

#toc.toc ul li.toc_cont2 {
    color: #52935c;
}

/* --------------------
   .card
-------------------- */
.card {
    padding-bottom: 1.5em;
}

.card .card_header .imgBox.imgStatic {
    height: 12em;
}

.card .card_body .btnBox+.txtBox {
    margin-top: 2em;
}

/* --------------------
   .acc
-------------------- */
.acc_head {
    cursor: pointer;
    position: relative;
}

.acc_btn {
    height: 27.5%;
    padding: .25em 0;
    font-weight: 700;
    text-align: center;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
}

.acc_btn::before {
    content: '';
    display: block;
    margin: 0 auto;
    width: .5em;
    height: .5em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 25%;
    transform: rotate(45deg);
}

.acc_btn.boxclose::before {
    transform: translateY(50%) rotate(-135deg);
}

#cont1 .acc_btn {
    color: #00428a;
}

#cont2 .acc_btn {
    color: #013b21;
}

.acc_body {
    padding-bottom: 1em;
    overflow: hidden;
}

/* --------------------
   #cont1
-------------------- */
#cont1 .point1,
#cont1 .point3 {
    background: #d4e4ed;
}

#cont1 .point2 .acc_body {
    padding-bottom: 0;
}

#cont1 .point2 {
    background: #c0d9e7;
    overflow: hidden;
}

/* --------------------
   #cont2
-------------------- */
#cont2 .point1,
#cont2 .point3 {
    background: #bfd4c2;
}

#cont2 .point2 {
    background: #d0dacd;
}

#cont2 .btnBox .buyBtn {
    border-color: #cbaf6d;
    background: #cbaf6d;
    color: #FFF;
    display: block;
    margin: 0 auto;
    width: 100%;
}

#cont2 .btnBox .buyBtn:hover {
    border-color: #cbaf6d;
    background: #FFF;
    color: #cbaf6d;
}

/* --------------------
   .bnr
-------------------- */
.bnrList {
    justify-content: center;
    align-items: flex-end;
    margin-left: -1em;
    margin-right: -1em;
}

.bnrList>p {
    flex: 0 0 50%;
    padding-left: 1em;
    padding-right: 1em;
}


/* --------------------
   Btn
-------------------- */
.btnBox .cartBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.75em;
    font-weight: 500;
    line-height: 1;
    width: 11.8572em;
    max-width: 100%;
    padding: 0.45em 0 0.6em 0;
    margin: 0 auto;
    border-radius: 0;
    text-align: center;
    vertical-align: middle;
    position: relative;
    z-index: 1;
    cursor: pointer;
    transition: .2s;
    color: #FFF;
    background: #b0804c;
    background: linear-gradient(90deg, #b0804c 0%, #e5c49a 50%, #b0804c 100%);
    border-width: 6px;
    border-style: solid;
    border-color: rgba(255, 255, 255, .2) rgba(0, 0, 0, .2) rgba(0, 0, 0, .3) rgba(255, 255, 255, .3);
}

.cartBtn i.cart {
    display: block;
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    background: url(../img/cart.png) no-repeat center center / contain;
    transform: translateY(.05em);
}

.acc .acc_body p {
    font-size: 1.2em;
    font-weight: 500;
}

.card .card_body .color,
.card .card_body .btnBox+.txtBox {
    font-size: 1.5em;
    font-weight: 500;
}

.card .txtBox .ttl {
    font-size: 1.4em;
    font-weight: 500;
}

.card .txtBox .sub_ttl {
    font-size: 1.1em;
}

.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.btnBox.cont {
    padding: 0 72px;
}

.btnBox .cartBtn {
    font-size: 52px;
    width: 100%;
}

.card {
    max-width: unset;
    padding: 0 15px;
}

/* .card .priceBox .discount + .price .num,
.card .priceBox .price .num {
   font-size: 2.333em;
} */

@media (min-width: 769px) {
    #cont1 .color--big,
    #cont2-1 .color--big {
        font-size: 1.5em;
    }

    .card .priceBox .discount .num,
    .card .priceBox .off {
        font-size: calc(42*1em / 22);
    }

    .card .priceBox .discount+.price .num,
    .card .priceBox .price .num {
        font-size: calc(60*1em / 22);
    }
}

@media (max-width: 768px) {

    .inBlock,
    .inBlock_XL,
    .inBlock_L,
    .inBlock_M,
    .inBlock_S,
    .inBlock_XS {
        padding: 0 3.5vw;
    }

    .btnBox.cont {
        padding: 0 36px;
    }

    .btnBox .cartBtn {
        font-size: 25px;
    }

    .card {
        padding: 0;
    }

    .card .card_body .color,
    .card .card_body .btnBox+.txtBox {
        font-size: 1.1em;
        font-weight: 500;
    }

    .card .txtBox .ttl {
        font-size: 1em;
        font-weight: 500;
    }

    .card .txtBox .sub_ttl {
        font-size: .8em;
    }

    #toc .toc_ttl {
        font-size: calc(17*1em / 16);
    }

    .card .priceBox .price .num {
        font-size: 1.875em;
    }
}