@charset "UTF-8";

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin        : 0;
    padding       : 0;
    border        : 0;
    outline       : 0;
    font-size     : 100%;
    vertical-align: baseline;
    background    : transparent;
    font-weight   : normal;
}

img {
    margin        : 0;
    padding       : 0;
    border        : 0;
    outline       : 0;
    font-size     : 100%;
    vertical-align: bottom;
    background    : transparent;
}

/**************************************************/
/* base */
/**************************************************/
@media (max-aspect-ratio: 12/7) {
    :root {
        font-size: 1.3333333333vw;
    }
}

@media (min-aspect-ratio: 12/7) {
    :root {
        font-size: 2.2857142857vh;
    }
}

@media (max-width: 767px) {
    :root {
        font-size: 4.4444444444vw;
    }
}

html {
    -webkit-font-smoothing : antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
    font-size  : 1rem;
    color      : #000;
    margin     : 0;
}

img {
    width       : 100%;
    /* max-width: 100%; */
}

ul,
ol {
    list-style: none;
    margin    : 0;
    padding   : 0;
}

#inbox {
    overflow-x: clip;
}

#inbox::after {
    content            : "";
    display            : block;
    position           : fixed;
    inset              : 0;
    background         : url("../img/bg.png") no-repeat;
    background-size    : cover;
    background-position: top;
    z-index            : -1;
}

@media (max-width: 767px) {
    #inbox::after {
        background: none;
    }
}

#inbox>.wrapper {
    display          : -webkit-box;
    display          : -ms-flexbox;
    display          : flex;
    -webkit-box-align: start;
    -ms-flex-align   : start;
    align-items      : flex-start;
    max-width        : 75rem;
    margin           : 0 auto;
}

#inbox>.wrapper>.inner {
    max-width       : 22.5rem;
    background-color: #fff;
    margin          : 0 auto;
}

.main {
    position: relative;
}

.main__img {
    vertical-align: bottom;
}

#bg01 {
    background       : url(../img/bg01.png);
    background-repeat: no-repeat;
    background-size  : cover;
}

.main__rule_box {
    position: relative;
}

.main__rule {
    width             : 78%;
    height            : 75%;
    position          : absolute;
    overflow-y        : scroll;
    /* scrollbar-width: none; */
    top               : 16.5%;
    right             : 0;
    left              : 0;
    margin            : 0 auto;
    padding           : 10px;
    font-size         : 14px;
    border            : #b8b8b8 1px solid;
}

.main__rule>* {
    word-wrap     : break-word;
    letter-spacing: 0;
}

.main__rule h5 {
    font-size  : 14px;
    font-weight: normal;
    margin     : 0;
    padding-top: 3%;
    line-height: 1.5;
}

.main__rule h5:first-child {
    padding-top: 0;
}

.main__rule p {
    margin: 0.8% 0 0 0;
}

.main__rule a {
    text-decoration: underline;
    color          : #000;
}

.main__rule ul,
.main__rule ol {
    padding-left: 1em;
    text-indent : -1em;
}

#about,
#contact {
    position: relative;
}

.button03 {
    position: absolute;
    bottom  : 4%;
    right   : 0;
    left    : 0;
    margin  : 0 auto;
    width   : 31%;
    height  : 3.5%;
}

.link_box {
    position: relative;
}

.button04 {
    position: absolute;
    bottom  : 12.3%;
    left    : 29%;
    width   : 8%;
    height  : 12%;
}

.button05 {
    position: absolute;
    bottom  : 12.3%;
    left    : 46%;
    width   : 8%;
    height  : 12%;
}

.button06 {
    position: absolute;
    bottom  : 12.3%;
    left    : 63%;
    width   : 8%;
    height  : 12%;
}

.menu {
    position: relative;
}

.button07 {
    position: absolute;
    top     : 28%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button08 {
    position: absolute;
    top     : 31.8%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button09 {
    position: absolute;
    top     : 35.5%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button10 {
    position: absolute;
    top     : 39.5%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button11 {
    position: absolute;
    top     : 43.2%;
    left    : 27.5%;
    width   : 31.5%;
    height  : 2.5%;
}

.button12 {
    position: absolute;
    top     : 47.1%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button13 {
    position: absolute;
    top     : 50.8%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button14 {
    position: absolute;
    top     : 54.6%;
    left    : 29%;
    width   : 31.5%;
    height  : 2.5%;
}

.button15 {
    position: absolute;
    top     : 0.1%;
    left    : 0.1%;
    width   : 24%;
    height  : 0.4%;
}

#inbox>.wrapper>.sidebar {
    position: sticky;
    top     : 0;
    width   : 26.25rem;
    height  : 100vh;
}

@media (max-width: 1300px) {
    #inbox>.wrapper>.inner {
        max-width: max-content;
    }

    .left_img,
    .menu {
        display: none;
    }
}

@media (max-width: 767px) {
    #inbox>.wrapper>.sidebar {
        display: none;
    }
}

/* #inbox>.wrapper>.sidebar .body {
    padding           : 1.625rem 0;
    height            : calc(100vh - 5.625rem);
    -webkit-box-sizing: border-box;
    box-sizing        : border-box;
    overflow          : hidden;
} */

#inbox>.wrapper>.sidebar .body .l-spnav-content {
    width         : -webkit-fit-content;
    width         : -moz-fit-content;
    width         : fit-content;
    min-width     : 21.25rem;
    margin-inline : auto;
    padding-bottom: 0;
}

#inbox>.wrapper>.sidebar>.inner {
    background-size: 75rem auto;
    height         : 100%;
}

#inbox>.wrapper>.sidebar.-left .l-spnav-content,
#inbox>.wrapper>.sidebar.-right .l-spnav-content {
    display        : flex;
    justify-content: end;
    align-items    : center;
    height         : 100vh;
}

#inbox>.wrapper>.sidebar.-left .l-spnav-content img,
#inbox>.wrapper>.sidebar.-right .l-spnav-content img {
    width: 100%;
}

@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

    #inbox>.wrapper>.sidebar.-left .l-spnav-content img,
    #inbox>.wrapper>.sidebar.-right .l-spnav-content img {
        width: 92%;
    }
}

.l-spnav-content {
    padding              : 0 2rem;
    -webkit-box-sizing   : border-box;
    box-sizing           : border-box;
    height               : 100%;
    min-height           : 43.75rem;
    display              : -webkit-box;
    display              : -ms-flexbox;
    display              : flex;
    -webkit-box-orient   : vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction   : column;
    flex-direction       : column;
}

.goods01 {
    color: #8634d2;
}

.goods02 {
    color: #0245b9;
}

.goods03 {
    color: #12d4c2;
}

.goods04 {
    color: #79a2f3;
}

.goods05 {
    color: #ffb940;
}

.goods06 {
    background-color: #e6f5fd;
    text-align      : center;
    padding         : 7% 0;
}

.goods_subtitle {
    font-size  : 18px;
    font-weight: bold;
    text-align : center;
    padding    : 3% 0;
}

.goods_subtitle span {
    font-size  : 11px;
    font-weight: 400;
    border     : 1px solid;
    margin-left: 5px;
    padding    : 2px 4px;
}

.goods_box {
    width     : 86%;
    margin    : 0 auto;
    text-align: center;
}

.goods_box p {
    font-size     : 13px;
    text-align    : left;
    display       : inline-block;
    padding-bottom: 3%;
}

.goods_box p span {
    font-size: 11px;
}

#goods ul {
    font-size  : 11px;
    text-align : left;
    display    : inline-block;
    padding-top: 5%;
}

#goods ul li {
    padding-left: 1em;
    text-indent : -1em;
}

/* 追加 */


.u-sp-only {
    display: block
}

@media not (max-width: 1300px) {
    .u-sp-only {
        display: none
    }
}

.u-sp {
    display: none
}

@media not (min-width: 750px) {
    .u-sp {
        display: block
    }
}

.u-pc {
    display: block
}

@media not (min-width: 750px) {
    .u-pc {
        display: none
    }
}

.p-headerSp__drawer {
    position                 : sticky;
    top                      : 15px;
    margin-left              : auto;
    margin-top               : -70px;
    /* 自身の高さ分を相殺 */
    z-index                  : 1000;
    inline-size              : calc(70 * 1px);
    block-size               : calc(70 * 1px);
    border-top-left-radius   : 10px;
    border-bottom-left-radius: 10px;
    background-color         : #fff;
    box-shadow               : inset 0 2px 2px #0000001a, inset 2px 0 2px #0000001a, inset 0 -2px 2px #0000001a;
}

@media not (min-width: 750px) {
    .p-headerSp__drawer {
        inline-size: calc(60 * 1px);
        block-size : calc(60 * 1px);
        margin-top : -60px;
        /* 自身の高さ分を相殺 */
    }
}

.p-headerSp__drawer-menu {
    font-size : 16px;
    text-align: center
}

@media not (min-width: 750px) {
    .p-headerSp__drawer-menu {
        font-size: calc(14 * 1px)
    }
}

.p-headerSp__drawer-line-container {
    block-size        : calc(20 * 1px);
    flex-direction    : column;
    justify-content   : space-between;
    margin-block-start: calc(12 * 1px);
    display           : flex
}

@media not (min-width: 750px) {
    .p-headerSp__drawer-line-container {
        margin-block-start: calc(8 * 1px)
    }
}

.p-headerSp__drawer-line {
    inline-size     : calc(32 * 1px);
    background-color: #000;
    block-size      : 2px;
    margin-inline   : auto
}

@media not (min-width: 750px) {
    .p-headerSp__drawer-line {
        inline-size: calc(25 * 1px)
    }
}

.p-headerSp__nav {
    z-index         : 1000;
    width           : 43.37vw;
    height          : 100svh;
    height          : calc(100svh - 32px);
    padding         : 16px;
    background-color: #fff;
    position        : fixed;
    top             : 0;
    right           : 50%;
    transform       : translate(50%)
}

@media not (min-width: 750px) {
    .p-headerSp__nav {
        width: 100%;
    }
}

.p-headerSp__nav-inner {
    block-size      : 100%;
    padding         : 16px;
    background-color: #b6f3ff;
    box-sizing      : border-box;
}

.p-headerSp__nav-bg-white {
    height             : calc(100svh - 70px);
    block-size         : 100%;
    background-color   : #fff;
    padding-block-start: calc(70 * 1px);
    padding-block-end  : calc(30 * 1px);
    overflow           : auto;
    box-sizing         : border-box;
}

.p-headerSp__item {
    padding-inline: 16px
}

.p-headerSp__list {
    text-align         : center;
    background-image   : repeating-linear-gradient(90deg, #b6f3ff, #b6f3ff 10px, #0000 10px, #0000 14px);
    background-position: 0 100%;
    background-repeat  : repeat-x;
    background-size    : 100% 2px
}

.p-headerSp__link {
    padding        : 16px;
    box-sizing     : border-box;
    text-decoration: none;
    inline-size    : 100%;
    font-size      : 16px;
    color          : #01adff;
    font-weight    : 700;
    display        : block
}

@media not (max-width: 1300px) {
    .js-headerSp__nav {
        display: none
    }
}

.js-headerSp__nav {
    display: none
}

.p-header-line {
    border-radius     : 10px;
    margin-block-start: 10px;
    padding-block-end : 8px;
}

.p-header-line__img {
    inline-size     : 68px;
    padding         : 10px;
    background-color: #43a932;
    border-radius   : 10px;
    margin-inline   : auto
}

.p-header-line__img img {
    aspect-ratio: 48/48;
    object-fit  : cover;
    width       : 100%;
    height      : 100%
}

.p-header-line__text {
    font-size         : 10px;
    font-weight       : 700;
    color             : #43a932;
    text-align        : center;
    margin-block-start: 8px;
}

.p-header-lineSp {
    place-items: center;
    display    : grid
}

.p-header-lineSp__text {
    inline-size     : min(100%, 200px);
    padding         : 16px;
    font-size       : 16px;
    font-weight     : 700;
    color           : #fff;
    text-align      : center;
    background-color: #43a932;
    border-radius   : calc(30 * 1px);
    text-decoration : none;
    display         : inline-block
}

.js-header-nav {
    opacity   : 0;
    transition: all .3s allow-discrete;
    display   : none
}

@starting-style {
    .js-header-nav {
        opacity: 0
    }
}

.js-header-nav.is-active {
    opacity   : 1;
    transition: all .3s allow-discrete;
    display   : block
}

@starting-style {
    .js-header-nav.is-active {
        opacity: 0
    }
}

.p-headerSp__drawer-line {
    transition: all .3s
}

.p-headerSp__drawer.is-active .p-headerSp__drawer-line-container .p-headerSp__drawer-line:first-child {
    transform: translateY(8px) rotate(45deg)
}

.p-headerSp__drawer.is-active .p-headerSp__drawer-line-container .p-headerSp__drawer-line:nth-child(2) {
    visibility: hidden;
    opacity   : 0
}

.p-headerSp__drawer.is-active .p-headerSp__drawer-line-container .p-headerSp__drawer-line:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg)
}


.p-header-lineSp__text {
    inline-size     : min(100%, 200px);
    padding         : 16px;
    font-size       : 16px;
    font-weight     : 700;
    color           : #fff;
    text-align      : center;
    background-color: #43a932;
    border-radius   : 30px;
    text-decoration : none;
    display         : inline-block
}