@charset "UTF-8";
* {
    box-sizing:border-box
}

body, html {
    margin: 0;
    padding:0
}

body {
    font-family:Zen Maru Gothic, Noto Sans JP, sans-serif
}

figure, ul {
    margin:0
}

ul {
    list-style-type: none;
    padding:0
}

img {
    max-width:100%
}

a {
    overflow-wrap: break-word;
    word-wrap: break-word;
    text-decoration: none;
    color:#000
}

a[href] {
    cursor: pointer;
    transition:opacity .3s ease-out
}

a[href]:hover {
    opacity:.8
}

h1, h2, h3, h4, h5, h6 {
    margin:0
}

@media (max-width: 1220px) {
    [data-view=pc] {
        display:none !important
    }
}

@media (min-width: 1220px) {
    [data-view=sp] {
        display:none !important
    }
}

@media (max-width: 1220px) {
    main > section:not(.top):not(.topics) {
        padding-left: 6.6157760814%;
        padding-right:6.6157760814%
    }
}

main > section:not(.top):not(.topics) > div {
    width: 75pc;
    margin:0 auto
}

@media (max-width: 1220px) {
    main > section:not(.top):not(.topics) > div {
        width:100%
    }
}

section.top {
    display:flex
}

@media (max-width: 1220px) {
    section.top {
        display:block
    }
}

section.top > div {
    background: #f7f6f0;
    width: 50.46%;
    padding-bottom:60px
}

@media (max-width: 1220px) {
    section.top > div {
        width: 100%;
        padding-bottom:40px
    }
}

section.top > div .wrap {
    width: 600px;
    margin: 0 0 0 auto;
    padding-right:30px
}

@media (max-width: 1220px) {
    section.top > div .wrap {
        padding-right: 0;
        width:100%
    }
}

section.top > div h1 {
    padding: 60px 0 0;
    text-align: center;
    margin-bottom:53px
}

@media (max-width: 1220px) {
    section.top > div h1 {
        margin-bottom:33px
    }
}

section.top > div h1 img {
    height:171px
}

@media (max-width: 1220px) {
    section.top > div h1 img {
        height:8pc
    }
}

section.top > div figure {
    background: no-repeat 50%;
    background-size: cover;
    aspect-ratio:393/340
}

section.top > div h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .06em;
    margin-bottom:37px
}

@media (max-width: 1220px) {
    section.top > div h2 {
        font-size: 26px;
        font-weight: 700;
        line-height: 1.42308;
        letter-spacing: .06em;
        padding: 0 6.6157760814%;
        margin:41px 0 29px
    }
}

section.top > div article {
    font-size: 1pc;
    font-weight: 400;
    line-height: 1.875;
    letter-spacing:.05em
}

@media (max-width: 1220px) {
    section.top > div article {
        font-size: 1pc;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: .05em;
        padding:0 6.6157760814%
    }
}

@media (max-width: 1220px) {
    section.top > div aside {
        display:none
    }
}

section.top > div aside a, section.top > div aside img {
    display: block;
    margin-top:37px
}

section.top > figure {
    width: 49.54%;
    background: no-repeat 50%;
    background-size:cover
}

@media (max-width: 1220px) {
    section.top > figure {
        display:none
    }
}

section.topics {
    padding-bottom:58px
}

@media (max-width: 1220px) {
    section.topics {
        padding-bottom:38px
    }
}

section.topics h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .03em;
    color: #fff;
    background: #13a86c;
    text-align: center;
    padding: 22px 10px 22px 24px;
    margin-bottom:58px
}

@media (max-width: 1220px) {
    section.topics h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: .03em;
        padding: 11px 10px 13px 9pt;
        margin-bottom:18px
    }
}

section.topics ul {
    width: 75pc;
    margin: 0 auto;
    padding:0 0 0 7px
}

@media (max-width: 1220px) {
    section.topics ul {
        width: 100%;
        padding:0 6.6157760814%
    }
}

section.topics ul a {
    display:block
}

section.topics ul a[href]:hover {
    text-decoration:underline
}

section.topics ul a:not(:last-child) {
    padding: 0 0 18px;
    border-bottom: 1px dotted #b0b0b0;
    margin:0 0 18px
}

@media (max-width: 1220px) {
    section.topics ul a:not(:last-child) {
        padding: 0 0 9pt;
        margin:0 0 9pt
    }
}

section.topics ul li {
    display:flex
}

@media (max-width: 1220px) {
    section.topics ul li {
        display:block
    }
}

section.topics ul li.new time label:after {
    content: "NEW";
    font-family: Noto Sans JP, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: 0;
    color: #fff;
    background: red;
    border-radius: 5px;
    padding: 0 9px;
    margin-left:15px
}

section.topics ul li article, section.topics ul li time {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing:.05em
}

section.topics ul li article {
    padding:0 0 0 13px
}

@media (max-width: 1220px) {
    section.topics ul li article {
        padding: 0;
        margin-top:9px
    }
}

section.point {
    padding: 60px 0 56px;
    background:#faf6b3
}

@media (max-width: 1220px) {
    section.point {
        padding-top: 41px;
        padding-bottom:38px
    }
}

section.point h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    text-align: center;
    padding: 0 0 0 1pc;
    margin-bottom:70px
}

@media (max-width: 1220px) {
    section.point h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: .03em;
        padding: 0;
        margin-bottom:46px
    }
}

section.point ul {
    display: flex;
    justify-content:space-between
}

@media (max-width: 1220px) {
    section.point ul {
        display:block
    }
}

section.point ul li {
    width:380px
}

section.point ul li h3 {
    color: #13a86c;
    display: flex;
    margin:0 0 20px
}

section.point ul li h3 span:first-child {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing:.05em
}

section.point ul li h3 span:first-child:after {
    content: "";
    background: #13a86c;
    display: block;
    height: 4px;
    width: 100%;
    border-radius:75pt
}

section.point ul li h3 span:last-child {
    font-size: 36px;
    font-weight: 700;
    line-height: .83333;
    letter-spacing: .05em;
    padding:3px 0 0 3px
}

section.point ul li h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom:1pc
}

@media (max-width: 1220px) {
    section.point ul li {
        width:100%
    }

    section.point ul li:not(:last-child) {
        margin-bottom:45px
    }
}

section.point ul li article {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: .05em;
    margin-bottom:18px
}

section.goods {
    background: #fdfcea;
    padding:61px 0 60px 9pt
}

@media (max-width: 1220px) {
    section.goods {
        padding-top: 41px;
        padding-bottom:41px
    }
}

section.goods h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    text-align: center;
    margin-bottom:59px
}

@media (max-width: 1220px) {
    section.goods h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: .03em;
        margin-bottom:40px
    }
}

section.goods h2 + article {
    font-size: 1pc;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: .05em;
    text-align: center;
    margin-bottom:58px
}

@media (max-width: 1220px) {
    section.goods h2 + article {
        text-align: left;
        margin-bottom:38px
    }
}

section.goods ul {
    display: grid;
    grid-template-columns: repeat(4, 285px);
    grid-template-rows: auto;
    grid-gap:20px
}

@media (max-width: 1220px) {
    section.goods ul {
        grid-template-columns:repeat(2, 2fr)
    }
}

section.goods ul li {
    border: 2px solid #13a86c;
    border-radius: 10px;
    background: #fff;
    padding:18px
}

@media (max-width: 1220px) {
    section.goods ul li {
        padding:8px
    }
}

section.goods ul li figure {
    border-radius: 10px;
    background: no-repeat 50%;
    background-size: cover;
    margin-bottom: 20px;
    aspect-ratio:245/181
}

@media (max-width: 1220px) {
    section.goods ul li figure {
        margin-bottom: 10px;
        aspect-ratio:140/140
    }
}

section.goods ul li h3 {
    font-size: 1pc;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    color: #333;
    margin-bottom:4px
}

@media (max-width: 1220px) {
    section.goods ul li h3 {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.46154;
        letter-spacing: 0;
        margin-bottom:2px
    }
}

section.goods ul li article {
    font-family: Noto Sans JP, sans-serif;
    font-size: 9pt;
    font-weight: 400;
    line-height: 2;
    letter-spacing:.05em
}

@media (max-width: 1220px) {
    section.goods ul li article {
        font-size: 10px;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing:.05em
    }
}

section.how-to-use {
    background: #f7f6f0;
    padding:60px 0 58px 9pt
}

@media (max-width: 1220px) {
    section.how-to-use {
        padding-top: 39px;
        padding-bottom:37px
    }
}

section.how-to-use h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    text-align: center;
    margin-bottom:61px
}

@media (max-width: 1220px) {
    section.how-to-use h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: .03em;
        margin-bottom:42px
    }
}

@media (max-width: 1220px) {
    section.how-to-use .slider-frame {
        width: 341px;
        margin: 0 auto;
        position: relative;
        max-width:100%
    }
}

section.how-to-use .slider-frame a[data-index=next], section.how-to-use .slider-frame a[data-index=prev] {
    display: none;
    cursor: pointer;
    position: absolute;
    width: 46px;
    height: 46px;
    top: calc(45.8% - 23px);
    border: 2px solid #fff;
    border-radius: 50%;
    z-index: 1;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, .6);
    background-size: 6px 10px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAoCAYAAADkDTpVAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAGfSURBVEhLxZc9SgRBEIXtXBQE/8ADCGKibroG4h2MjL2ApzA3MzHxBEai+IOpgoh6AAVBEwPj8b2hVtp1x66q6R4bamt6d+Z909W9XdVhDK2qqjm4fViffbQL2E4I4U36bhcgPounb2HzQyqv6G8A8uBWx4MEHMFvNYi84/v1NhAC+KYcRVNjmPqAPHlGogFQ1w1JhSh+aVe4CJiGyj1sRhECjoRz8qi4t74l8AOQRbhLGGGpZgpXDSgJ+QZEkGtcT6WGoZ34HwCBLMOf54L8AuSGjATkhDQCckH+BESQK1xPeiY+CRDICvyZB6ICtIGoAQJZlZFMKMLFXXrJBBDIGvwpTAM5MAOicDGtjidG8uwF9CB8opj0DzMAOy/ngSHSLNtjEwDi1uXaUwMc4nUeVwG84lwASQDEuX2X2SpEvFVu+J/tOsebD/6A3aZMKV/KJP1StVH5wkvOB3eYFE3paK5POyl+U+cDrjhTPRrnCM35wC1e70VdHKFYst/AFobS3wv6m5azwKj0OVimzK27sG1YBTuE7UH8M5Fzkz9/ATHU6mt+HJ7nAAAAAElFTkSuQmCC);
    background-position:50%
}

section.how-to-use .slider-frame a[data-index=next][data-index=prev], section.how-to-use .slider-frame a[data-index=prev][data-index=prev] {
    left: -17px;
    transform-origin: center;
    transform:rotate(180deg)
}

section.how-to-use .slider-frame a[data-index=next][data-index=next], section.how-to-use .slider-frame a[data-index=prev][data-index=next] {
    right:-17px
}

@media (max-width: 1220px) {
    section.how-to-use .slider-frame a[data-index=next], section.how-to-use .slider-frame a[data-index=prev] {
        display:block
    }
}

section.how-to-use .slider-frame nav {
    display: none;
    text-align: center;
    margin-bottom:1pc
}

@media (max-width: 1220px) {
    section.how-to-use .slider-frame nav {
        display:block
    }
}

section.how-to-use .slider-frame nav a {
    background: #fff;
    display: inline-block;
    margin: 0 5px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #13a86c;
    cursor: pointer;
    position: relative
}

section.how-to-use .slider-frame[data-index="0"] nav a:first-child:after, section.how-to-use .slider-frame[data-index="1"] nav a:nth-child(2):after, section.how-to-use .slider-frame[data-index="2"] nav a:nth-child(3):after, section.how-to-use .slider-frame[data-index="3"] nav a:nth-child(4):after, section.how-to-use .slider-frame[data-index="4"] nav a:nth-child(5):after, section.how-to-use .slider-frame[data-index="5"] nav a:nth-child(6):after, section.how-to-use .slider-frame[data-index="6"] nav a:nth-child(7):after, section.how-to-use .slider-frame[data-index="7"] nav a:nth-child(8):after, section.how-to-use .slider-frame[data-index="8"] nav a:nth-child(9):after, section.how-to-use .slider-frame[data-index="9"] nav a:nth-child(10):after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    top: calc(50% - 7px);
    left: calc(50% - 7px);
    border-radius: 50%;
    background:#13a86c
}

@media (max-width: 1220px) {
    section.how-to-use .panel-wrap {
        width: 341px;
        margin: 0 auto 20px;
        overflow: hidden;
        max-width:100%
    }
}

section.how-to-use .panel {
    display: flex;
    justify-content: space-between;
    margin-bottom:61px
}

@media (min-width: 1220px) {
    section.how-to-use .panel {
        transform:translateX(0) !important
    }
}

@media (max-width: 1220px) {
    section.how-to-use .panel {
        display: block;
        white-space: nowrap;
        margin: 0;
        transition: transform .3s ease-out;
        font-size:0
    }
}

section.how-to-use .panel li {
    border: 2px solid #13a86c;
    border-radius: 10px;
    background: #fff;
    width: 380px;
    padding:26px 28px 23px
}

section.how-to-use .panel li h3 {
    color: #13a86c;
    display: flex;
    margin:0 0 20px
}

section.how-to-use .panel li h3 span:first-child {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing:.05em
}

section.how-to-use .panel li h3 span:first-child:after {
    content: "";
    background: #13a86c;
    display: block;
    height: 4px;
    width: 100%;
    border-radius:75pt
}

section.how-to-use .panel li h3 span:last-child {
    font-size: 36px;
    font-weight: 700;
    line-height: .83333;
    letter-spacing: .05em;
    padding:3px 0 0 3px
}

section.how-to-use .panel li h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .05em;
    margin-bottom:1pc
}

@media (max-width: 1220px) {
    section.how-to-use .panel li {
        display: inline-block;
        width: 341px;
        padding-top: 37px;
        white-space: normal;
        max-width:100%
    }
}

section.how-to-use .panel li article {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: .05em;
    margin-bottom:19px
}

section.how-to-use aside {
    border-radius: 10px;
    background: #fff;
    padding:17px 20px
}

section.how-to-use aside h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.66667;
    letter-spacing: .05em;
    margin-bottom:2px
}

section.how-to-use aside ul li {
    font-size: 14px;
    font-weight: 400;
    line-height: 2.14286;
    letter-spacing: .05em;
    padding: 0 1pc;
    position:relative
}

section.how-to-use aside ul li:before {
    content: "※";
    display: inline-block;
    position: absolute;
    left: 1px;
    top:0
}

section.train {
    background: #d5ebdf;
    padding:62px 0 59px 9pt
}

@media (max-width: 1220px) {
    section.train {
        padding-top: 43px;
        padding-bottom:42px
    }
}

section.train h2 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    text-align: center;
    margin-bottom:58px
}

@media (max-width: 1220px) {
    section.train h2 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: .05em;
        margin-bottom:41px
    }
}

section.train h2 + article {
    font-size: 1pc;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: .05em;
    text-align: center;
    margin-bottom:58px
}

@media (max-width: 1220px) {
    section.train h2 + article {
        text-align: left;
        margin-bottom:38px
    }
}

section.train ul {
    display: grid;
    grid-template-columns: repeat(3, 380px);
    grid-template-rows: auto;
    grid-gap:30px
}

@media (max-width: 1220px) {
    section.train ul {
        grid-template-columns: repeat(2, 2fr);
        grid-gap:22px
    }
}

section.train ul li {
    border-top: 2px solid;
    background:#fff
}

section.train ul li h3 {
    display: flex;
    padding: 5px 6px;
    align-items:center
}

@media (max-width: 1220px) {
    section.train ul li h3 {
        padding:10px 0
    }
}

section.train ul li h3 figure {
    width: 60px;
    height:60px
}

@media (max-width: 1220px) {
    section.train ul li h3 figure {
        display:none
    }
}

section.train ul li h3 div {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    padding:0 13px
}

@media (max-width: 1220px) {
    section.train ul li h3 div {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.53846;
        letter-spacing: 0;
        padding:0 10px
    }
}

section.train ul li h3 + figure {
    background: no-repeat 50%;
    background-size: cover;
    margin-bottom: 20px;
    aspect-ratio:380/181
}

@media (max-width: 1220px) {
    section.train ul li h3 + figure {
        aspect-ratio: 160/100;
        margin-bottom:10px
    }
}

section.train ul li article {
    padding:0 20px 21px
}

@media (max-width: 1220px) {
    section.train ul li article {
        padding:0 10px 10px
    }
}

section.train ul li label {
    font-size: 9pt;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .05em;
    display: block;
    border-radius: 15px;
    border: 2px solid;
    text-align: center;
    padding: 2px 10px;
    margin-bottom:21px
}

@media (max-width: 1220px) {
    section.train ul li label {
        font-size: 9px;
        font-weight: 700;
        line-height: 1.55556;
        letter-spacing: .05em;
        border: 1px solid;
        padding: 0 4px;
        margin-bottom:13px
    }
}

section.train ul li h4 {
    font-size: 1pc;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing:.05em
}

@media (max-width: 1220px) {
    section.train ul li h4 {
        font-size: 11px;
        font-weight: 700;
        line-height: 1.81818;
        letter-spacing:0
    }
}

section.train ul li a {
    font-size: 14px;
    font-weight: 700;
    line-height: 2.25;
    letter-spacing: .05em;
    color: #fff;
    display: block;
    margin-top: 20px;
    text-align: center;
    border-radius: 5px;
    padding:5px 10px 3px
}

@media (max-width: 1220px) {
    section.train ul li a {
        font-size: 9pt;
        font-weight: 700;
        line-height: 1.33333;
        letter-spacing: .03em;
        margin-top: 1pc;
        text-align: left;
        padding:7px 10px 9px
    }

    section.train ul li a span {
        display: block;
        padding-right: 20px;
        position:relative
    }
}

section.train ul li a[target=_blank] span:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background: no-repeat 50% url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4AQMAAACSSKldAAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACdJREFUGNNjYGD+DwIk0xBQTzIN1n2AdPofULf8kKEZSKUh/iSdBgBal7i2PTDUoAAAAABJRU5ErkJggg==);
    background-size: contain;
    margin-left:10px
}

@media (max-width: 1220px) {
    section.train ul li a[target=_blank] span:after {
        position: absolute;
        right: 0;
        top: calc(50% - 7px)
    }
}

section.train ul li[data-color-id="00"] {
    border-top-color: #25575b
}

section.train ul li[data-color-id="00"] label {
    border-color: #25575b;
    color: #25575b
}

section.train ul li[data-color-id="00"] a {
    background: #25575b
}

section.train ul li[data-color-id="50"] {
    border-top-color: #da482d
}

section.train ul li[data-color-id="50"] label {
    border-color: #da482d;
    color: #da482d
}

section.train ul li[data-color-id="50"] a {
    background: #da482d
}

section.train ul li[data-color-id="51"] {
    border-top-color: #b31c31
}

section.train ul li[data-color-id="51"] label {
    border-color: #b31c31;
    color: #b31c31
}

section.train ul li[data-color-id="51"] a {
    background:#b31c31
}

section.train ul li[data-color-id="52"] {
    border-top-color: #306672
}

section.train ul li[data-color-id="52"] label {
    border-color: #306672;
    color: #306672
}

section.train ul li[data-color-id="52"] a {
    background:#306672
}

footer {
    padding:60px 0 59px 9pt
}

@media (max-width: 1220px) {
    footer {
        padding:36px 0
    }
}

footer ul {
    width: 75pc;
    margin:0 auto
}

@media (max-width: 1220px) {
    footer ul {
        display:none
    }
}

footer ul li {
    margin-bottom:52px
}

footer article {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71429;
    letter-spacing: .05em;
    color: #13a86c;
    text-align:center
}

@media (max-width: 1220px) {
    footer article {
        font-size: 11px;
        font-weight: 400;
        line-height: 2.18182;
        letter-spacing: .05em
    }
}

/*ページトップボタン（2023/11/6追加）*/
a.btn_top {
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 280px;
	margin: auto;
	padding: 1rem 4rem 1rem 3rem;
	font-weight: bold;
	background: #13A86C;
	color: #fff;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
}
a.btn_top::before {
	content: '';
	width: 7px;
	height: 7px;
}
a.btn_top:hover {
	background: #13A86C;
	color: #fff;
}
/*2023/11/7追加*/
section.train p {
	font-size: 0.7em;
	line-height: 14px;
}
