/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::after,
::before {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

ol,
ul {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit
}

abbr[title] {
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

embed,
iframe,
img,
object,
svg {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: 0 0;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,
th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: 700
}

html {
    font-size: 20px
}

body {
    font-family: Roboto, 'Noto Sans JP', YuGothic, 'Yu Gothic', Meiryo, 'メイリオ', 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    color: #5d3b2d;
    letter-spacing: .05em;
    text-size-adjust: 100%;
    overflow-x: hidden;
    background-color: #fff;
}

body * {
    outline: 0;
    font-feature-settings: 'palt' 1
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px
}

::-webkit-scrollbar-track {
    border-radius: 0;
    background: #e5e5e5
}

::-webkit-scrollbar-thumb {
    background: #727272;
    border-radius: 0;
    margin: 2px;
    box-shadow: none;
    border-radius: 100px;
    border: 1px solid rgba(0, 0, 0, .2)
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 900;
    line-height: 1.6
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden
}

picture {
    display: block;
    line-height: 0
}

a {
    transition: opacity .3s
}

a:hover {
    opacity: .6
}

a[href^='tel:'] {
    cursor: default;
    pointer-events: none
}

a,
em,
i,
strong {
    font-style: normal;
    font-weight: inherit;
    color: inherit;
    text-decoration: none
}

dl dt {
    font-weight: 900
}

figure {
    line-height: 0
}

figure figcaption {
    line-height: 1.6
}

table {
    width: 100%
}

table th {
    font-weight: 900
}

iframe {
    border: none
}

button,
input,
select,
textarea {
    font-family: Roboto, 'Noto Sans JP', YuGothic, 'Yu Gothic', Meiryo, 'メイリオ', 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    color: #5d3b2d;
    background: #fff;
    letter-spacing: .05em;
    text-size-adjust: 100%;
    overflow-x: hidden;
    width: 100%;
    padding: 0;
    border: none;
    border-radius: 0
}

label {
    display: inline-block;
    cursor: pointer
}

textarea {
    display: block;
    resize: vertical;
    vertical-align: bottom
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    transition: opacity .3s;
    cursor: pointer
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
    opacity: .6
}

.js_accordion dt {
    cursor: pointer
}

.js_accordion dd {
    display: none
}

.js_tab .js_tab_content {
    position: relative
}

.js_tab .js_tab_content>* {
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
    z-index: 1;
    opacity: 0;
    overflow: hidden;
    transform: translateY(20px);
    transition: all .5s
}

.js_tab .js_tab_content>.is-tab {
    position: relative;
    opacity: 1;
    z-index: 2;
    height: auto;
    transform: translateY(0)
}

.js_anim_scroll {
    transition: opacity .7s, transform .7s;
    transform: translateY(40px);
    opacity: 0;
    transition-delay: .2s
}

.js_anim_scroll.is-anim {
    transform: translateY(0);
    opacity: 1
}

.js_anim_scroll_group>* {
    display: inline-block;
    transition: opacity .6s, transform .6s;
    transform: translateY(20px);
    opacity: 0
}

.js_anim_scroll_group>:nth-child(1) {
    transition-delay: -.3s
}

.js_anim_scroll_group>:nth-child(2) {
    transition-delay: -.15s
}

.js_anim_scroll_group>:nth-child(3) {
    transition-delay: -.1s
}

.js_anim_scroll_group>:nth-child(4) {
    transition-delay: -75ms
}

.js_anim_scroll_group>:nth-child(5) {
    transition-delay: -60ms
}

.js_anim_scroll_group>:nth-child(6) {
    transition-delay: -50ms
}

.js_anim_scroll_group>:nth-child(7) {
    transition-delay: -42.8571429ms
}

.js_anim_scroll_group>:nth-child(8) {
    transition-delay: -37.5ms
}

.js_anim_scroll_group>:nth-child(9) {
    transition-delay: -33.3333333ms
}

.js_anim_scroll_group>:nth-child(10) {
    transition-delay: -30ms
}

.js_anim_scroll_group>:nth-child(11) {
    transition-delay: -27.2727273ms
}

.js_anim_scroll_group>:nth-child(12) {
    transition-delay: -25ms
}

.js_anim_scroll_group>:nth-child(13) {
    transition-delay: -.0230769231s
}

.js_anim_scroll_group>:nth-child(14) {
    transition-delay: -21.4285714ms
}

.js_anim_scroll_group>:nth-child(15) {
    transition-delay: -20ms
}

.js_anim_scroll_group>:nth-child(16) {
    transition-delay: -18.75ms
}

.js_anim_scroll_group>:nth-child(17) {
    transition-delay: -17.6470588ms
}

.js_anim_scroll_group>:nth-child(18) {
    transition-delay: -16.6666667ms
}

.js_anim_scroll_group>:nth-child(19) {
    transition-delay: -15.7894737ms
}

.js_anim_scroll_group>:nth-child(20) {
    transition-delay: -15ms
}

.js_anim_scroll_group.is-anim>* {
    transform: translateY(0);
    opacity: 1
}

.delay1 {
    transition-delay: -.3s
}

.delay2 {
    transition-delay: -.15s
}

.delay3 {
    transition-delay: -.1s
}

.delay4 {
    transition-delay: -75ms
}

.delay5 {
    transition-delay: -60ms
}

.delay6 {
    transition-delay: -50ms
}

.delay7 {
    transition-delay: -42.8571429ms
}

.delay8 {
    transition-delay: -37.5ms
}

.delay9 {
    transition-delay: -33.3333333ms
}

.delay10 {
    transition-delay: -30ms
}

.delay11 {
    transition-delay: -27.2727273ms
}

.delay12 {
    transition-delay: -25ms
}

.delay13 {
    transition-delay: -.0230769231s
}

.delay14 {
    transition-delay: -21.4285714ms
}

.delay15 {
    transition-delay: -20ms
}

.delay16 {
    transition-delay: -18.75ms
}

.delay17 {
    transition-delay: -17.6470588ms
}

.delay18 {
    transition-delay: -16.6666667ms
}

.delay19 {
    transition-delay: -15.7894737ms
}

.delay20 {
    transition-delay: -15ms
}

.m_box_fixed {
    position: relative;
    padding: 0 1.5rem
}

.m_box_product .hd {
    font-family: jaf-domus-titling-web, 'Zen Maru Gothic';
    font-weight: 900;
    font-size: 2.4rem
}

.m_box_product .hd span {
    position: relative;
    display: inline-block;
    padding: 0 3rem
}

.m_box_product .hd span:after,
.m_box_product .hd span:before {
    content: '';
    position: absolute;
    margin: auto;
    top: 1rem;
    width: 2rem;
    height: 2rem;
    background: url(../img/hd3_footprint.svg) no-repeat center;
    background-size: 100% auto
}

.m_box_product .hd span:before {
    left: 0
}

.m_box_product .hd span:after {
    right: 0
}

.m_box_product ul {
    margin-top: 1rem
}

.m_box_product ul li+li {
    margin-top: 1rem
}

.m_box_product ul li.family a {
    background: #007048
}

.m_box_product ul li.family a:after {
    background: url(../img/i_arr_wh.svg) #007048 no-repeat center
}

.m_box_product ul li.senior a {
    background: #a5609e
}

.m_box_product ul li.senior a:after {
    background: url(../img/i_arr_wh.svg) #a5609e no-repeat center
}

.m_box_product ul .senior a dl dt {
    background: #a5609e;
}
.m_box_product ul li.petit a {
    background: #e9983e
}

.m_box_product ul li.petit a:after {
    background: url(../img/i_arr_wh.svg) #e9983e no-repeat center
}

.m_box_product ul .petit a dl dt {
    background: #e9983e;
}

.m_box_product ul li a {
    display: flex;
    align-items: center;
    position: relative;
    border-radius: .8rem;
    overflow: hidden;
    padding: .2rem 2rem .2rem .2rem;
    height: 7rem;
    box-shadow: 0 .5rem .5rem rgba(190, 175, 154, .5)
}

.m_box_product ul li a:after {
    content: '';
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    width: 3rem;
    height: 100%;
    background: url(../img/i_arr_wh.svg) #007048 no-repeat center;
    background-size: .9rem auto !important
}

.m_box_product ul li a h4 {
    font-family: jaf-domus-titling-web, 'Zen Maru Gothic';
    flex-shrink: 0;
    width: 7.5rem;
    font-weight: 900;
    font-size: 1.5rem;
    color: #fff;
    line-height: 1;
    padding-bottom: .6rem;
}

.m_box_product ul li a h4 em {
    font-size: 1.8rem
}

.m_box_product ul li a dl {
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.m_box_product ul li a dl dt {
    flex-shrink: 0;
    background: #007048;
    border-radius: 0.9rem;
    padding: 0.2em;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    width: 10rem;
}

.m_box_product ul li a dl dt img {
    width: 9.8rem
}

.m_box_product ul li a dl dd {
    font-size: 1.2rem;
    text-align: left;
    padding-left: .8rem;
    color: #333;
    line-height: 1.3;
}

.m_txt_ttlA {
    position: relative;
    background: url(../img/ttlA_bg.webp) center;
    background-size: cover;
    padding: 1.5rem 0;
    color: #fff
}

.m_txt_ttlA h2 {
    font-family: jaf-domus-titling-web, 'Zen Maru Gothic';
    font-size: 2.8rem;
    line-height: 1.3
}

.m_txt_ttlA .lead {
    margin-top: .5rem;
    font-size: 1.8rem;
    line-height: 1.4
}

.m_txt_ttlA picture {
    position: absolute;
    bottom: -1rem;
    left: -2.5rem;
    width: 8.4rem
}

.m_txt_ttlB {
    font-family: jaf-domus-titling-web, 'Zen Maru Gothic';
    font-weight: 900;
    position: relative;
    font-size: 2rem
}

.m_txt_ttlB:after,
.m_txt_ttlB:before {
    content: '';
    position: absolute;
    margin: auto;
    bottom: .5rem;
    width: .2rem;
    height: 2.2rem;
    border-radius: 1rem;
    background: #5d3b2d
}

.m_txt_ttlB:before {
    left: 1.3rem;
    transform: rotate(-30deg)
}

.m_txt_ttlB:after {
    right: 1.3rem;
    transform: rotate(30deg)
}

.m_txt_ttlB em {
    background: #f8f1b9
}

.m_txt_ttlSub {
    font-family: jaf-domus-titling-web, 'Zen Maru Gothic';
    font-weight: 900;
    font-size: 1.4rem;
    margin-bottom: .5rem;
    letter-spacing: normal
}

.pc-hide {
    display: none
}

.sp-hide {
    display: block
}

@media only screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:1.5) {
    img {
        image-rendering: auto
    }
}

@media screen and (max-width:767px) {
    html {
        font-size: 2.6666666667vw
    }

    img {
        image-rendering: auto
    }

    a[href^='tel:'] {
        pointer-events: auto
    }

    button,
    input,
    select,
    textarea {
        font-size: 1.5rem
    }

    .pc-hide {
        display: block
    }

    .sp-hide {
        display: none
    }
}