@charset "utf-8";

header,
header .subl.top {
	background-color:#ffffff;
	color:#0097ff;
}
header .td.logo {
	color:#444444;
}
header :where(.td.mainMenu) a {
	--arc:#0097ff;
}
header .logo svg * {
	fill:#444444;
}
header .cart svg * {
	fill:#ffffff;
}
header .td.tp,
header input + .swh li {
	background-color:#0097ff;
}
header .td.cart .cart {
	background-color:#000000;
}
.floatTOP > div {
	background-color:#fdd000;
	color:#000000;
}

h1, h2, h3, h4, h5, h6 {
    display: block;
    font-size: inherit;
    font-weight: normal;
    font-style: normal;
}

@media screen and (min-width:840px) {
	header .subl.top .xi > label > .subl:before {
		background-color:#ffffff;
	}
}

@media screen and (min-width: 840px) {
    .flx_blog .inner, .flx_content .inner {
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }
}

@media screen and (min-width: 840px) {
    .flx_blog .inner, .flx_blog .outer,
	.flx_blog .content, .flx_content .outer {
        padding: 48px;
    }
}
.flx_blog .inner, .flx_blog .outer,
.flx_content .inner, .flx_content .outer {
    max-width: 1008px;
    padding: 3vw;
    line-height: 1.6;
    font-size: 16px;
    margin: 0 auto;
}

.flx_blog .list {
    width: 100%;
}

.flx_blog .list > a, .flx_blog .list > a:hover, .flx_blog .list > a:visited {
    position: relative;
    display: block;
}
a, a:hover {
    color: #0097ff;
    text-decoration: none;
}

.flx_blog .list .wrap {
    padding: 2em;
    color: #000000cc;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.flx_blog .list > a .thumb {
    position: relative;
    max-width: 400px;
    width: 100%;
    overflow: hidden;
}

@media screen and (min-width: 840px) {
    .flx_blog .list > a .thumb {
        width: 200px;
    }
}


.flx_blog .list > a:hover .thumb:before {
    top: 0;
}

.flx_blog .list > a .thumb:before {
    position: absolute;
    content: '';
    display: block;
    top: -150%;
    left: 0;
    right: 0;
    height: 150%;
    transition-property: all;
    transition-duration: 0.5s;
    transition-timing-function: ease;
    background-image: linear-gradient(to bottom, #000000aa, #00000044 66%, #00000000);
    z-index: 2;
}

.flx_blog .list > a:visited:hover .thumb:after, .flx_blog .list > a:hover .thumb:after {
    font-size: 150%;
    opacity: 1;
    color: #ffffff;
}

.flx_blog .list > a .thumb:after {
    position: relative;
    content: '詳細へ';
    display: block;
    opacity: 0;
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: ease;
    text-align: center;
    line-height: 1;
    padding: calc(50% - .5em) 0;
    z-index: 3;
}

.flx_blog .list > a:hover .thumb > span:last-child {
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    filter: blur(3px) grayscale(80%);
}

.flx_blog .list > a .thumb > span:last-child {
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}

.flx_blog .list > a .data {
    max-width: 450px;
    width: 100%;
}

.flx_blog .list > a .data h1 {
	font-weight: 700;
	font-size: 1.6rem;
}

.flx_blog .list > a .data h4 {
	font-weight: 700;
	font-size: 1.2rem;
}

@media screen and (min-width: 840px) {
    .flx_blog .list > a .data {
        width: calc(100% - 200px);
        padding: 0 0 0 2em;
    }
}

.flx_blog .hashes, .flx_blog .dates {
    margin-top: 1rem;
    text-align: left;
}

@media screen and (min-width: 840px) {
    .flx_blog .hashes, .flx[sec01] .dates {
    }
}

.flx_blog .addtime, .flx_blog .editime {
    font-size: 3vw;
    display: inline-block;
}

@media screen and (min-width: 440px) {
    .flx_blog .addtime, .flx_blog .editime, .flx_blog .hashes > a {
        font-size: 13px;
    }
}

.flx_blog p {
    text-align: left;
    font-size: inherit;
    word-break: break-all;
    margin-top: .5em;
    margin-bottom: .5em;
}

.hidden {
	display: none;
}

.red {
	color: #ff0000;
	font-weight: 500;
}

.no-dot, .no-dot > li {
	list-style-type: none;
}

.flx_content .blogTitle {
	position: relative;
    padding: 0 .5em .5em;
    font-size: 1.3em;
    font-weight: 700;
    line-height: 1.4;
}


.flx_content .wrap {
    padding: 2em;
    color: #000000cc;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.flx_content .thumb {
    position: relative;
    max-width: 400px;
    width: 100%;
    overflow: hidden;
}

.flx_content .thumb img {
	width: 100%;
}

@media screen and (min-width: 840px) {
    .flx_content .thumb {
        width: 200px;
    }
}

.flx_content .thumb > span:last-child {
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: linear;
}

.flx_content .data {
	max-width: 650px;
    width: 100%;
}

.flx_content div {
	font-size: 1.2rem;
}

.thumb_img {
	width: 40%;
}
@media screen and (max-width: 640px) {
    .flx_content .content_img {
        width: 100%;
    }
	.thumb_img {
		width: 100%;
	}
}

@media screen and (min-width: 840px) {
    .flx_content .data {
        width: calc(100% - 200px);
        padding: 0 0 0 2em;
    }
}

.flx_content h1 {
	font-weight: 700;
	font-size: 1.6rem;
}

.flx_content h4 {
	font-weight: 700;
	font-size: 1.2rem;
}

.flx_content .hashes, .flx_blog .dates {
    margin-top: 1rem;
    text-align: left;
}

.flx_content .addtime, .flx_blog .editime {
    font-size: 3vw;
    display: inline-block;
}

@media screen and (min-width: 440px) {
    .flx_content .addtime, .flx_blog .editime, .flx_blog .hashes > a {
        font-size: 13px;
    }
}

.flx_content p {
    text-align: left;
    font-size: inherit;
    word-break: break-all;
    margin-top: .5em;
    margin-bottom: .5em;
}


.flx0 .hok {
	position:relative;
	display:block;
	pointer-events:none;
}
.flx0 .hok li {
	position:absolute;
	display:block;
	inset:auto 0 0;
	height:14vw;
}
@media screen and (min-width:840px) {
	.flx0 .hok li {
		height:80px;
	}
}

.calendars {
	display:flex;
	flex-flow:wrap;
	gap:1em;
	padding:.5em;
	align-items:baseline;
}
.calendars table {
	border-spacing:0;
	line-height:1;
}
.calendars th[colspan] {
	text-align:center;
}
.calendars th {
	background-color:#000;
	color:#fff;
}
.calendars :where(.blk, td):before {
	content:'';
	display:block;
	inset:0;
	position:absolute;
}
.calendars :where(tr:nth-child(odd) td:nth-child(even), tr:nth-child(even) td:nth-child(odd)):before {
	background-color:#00000009;
}
.calendars td {
	position:relative;
	padding:0;
}
.calendars :where(td > div, th) {
	text-align:right;
	padding:.5em .7em;
}
.calendars .today:before {
	border:2px solid #0097ff;
}
.calendars .holiday div {
	background-color:#fff0d1;
}
.calendars .other div {
	color:#00000011;
}
.calendars .smp {
	line-height:1;
}
.calendars .blk {
	position:relative;
	display:inline-block;
	height:1em;
	width:2em;
	vertical-align:bottom;
	margin-left:.5em;
}
.calendars .blk div {
	inset:0;
	position:absolute;
}
@media screen and (min-width:840px) {
	.calendars table {
		max-width:calc((100% - 2em) / 2);
	}
	.calendars .smp {
		width:100%;
	}
}

.stepCounter {
	display:block;
	padding:0;
	counter-reset:step;
}
.stepCounter li {
	position:relative;
	display:block;
	padding:0 0 0 23px;
}
.stepCounter > li:after,
.stepCounter > li:before {
	position:absolute;
	width:48px;
	height:48px;
	border-radius:24px;
	left:0;
	top:0;
	color:#ffffff;
	text-align:center;
}
.stepCounter > li:before {
	content:'STEP';
	background:#002047;
	font-size:10px;
	padding-top:7px;
}
.stepCounter > li:after {
	counter-increment:step;
	content:counter(step);
	font-size:20px;
	padding-top:15px;
}
.stepCounter > li > * {
	border-left:1px dashed rgba(0,0,0,.1);
}
.stepCounter > li:last-child > * {
	border-color:rgba(0,0,0,0);
}
.stepCounter h5 {
	padding:0 0 1em 40px;
	font-weight:700;
	font-size:1.2em;
	line-height:48px;
}
.stepCounter div {
	padding:0 0 3em 40px;
}
.cau {
	display:block;
	font-size:80%;
	padding-top:1em;
}
.cau > li {
	display:block;
	padding-top:.5em;
	text-indent:-1.5em;
}
.cau > li:before {
	content:'※';
	text-indent:0;
	display:inline-block;
	width:1.5em;
}
.plist {
	padding-left:1em;
}

.flx0 h3.spTitle {
	background:#000;
	color:#fff;
	font-size:160%;
	padding:.3em 3em;
	width:fit-content;
	margin:0 auto 2em;
	line-height:1;
}
@media screen and (min-width:840px) {
	.flx0 h3.spTitle {
		width:78%;
	}
}
.text-center {
	text-align: center;
}
.sp_br{
    display: none;
}
@media screen and (max-width: 640px) {
    .sp_br{
        display: block;
    }
}
.display-flex {
	display:flex;
}
.flex-row {
	flex-direction: row;
}
.flex-col {
	flex-direction: column;
}

@media screen and (max-width: 640px) {
	.flex-row {
		flex-direction: column;
	}
}

.font12 {
	font-size: 120%;
}

.type-circle {
    list-style-type: circle;
}
.explain h4 {
	font-size: 1.4rem;
}
section.guide {
    div.inner {
        .head {
            line-height: 2;
            h1 {
                font-size: 1.6rem;
            }
            .title {
                font-weight: 700;
                font-size: 1.6rem;
            }
        }
        .caption {
            font-size: 0.9rem;
        }
        .goods-choice {
            margin-left: 1.5em;
            margin-bottom: 10px;
            display: flex;
            justify-content: space-between;
            ul {
                line-height: 2.2;
            }
        }
        .desc {
            margin-left: 1.5em;
        }
        .other-brands {
            margin-left: 2.5em;
            span.desc {
                display: block;
                margin-left: 0.5em;
            }
        }
    }
}

section.recommend div.inner {
    .underline {
        text-decoration: underline;
    }
    .headline {
        margin-bottom: 3em;
        margin-left: 1em;
        
        a {
        color: #000000;
        &:hover {
            color: #000000;
        }
        }
    }
    div[id^=section] {
        margin-top: 2em;
    }
    .table-wrap {
        overflow-x: auto;
    }
    table.spec-first, table.spec-second {
        width: 100%;
        margin-top: 2rem;
        border: 0.1px solid #aaaaaa;
        border-collapse: collapse;
        overflow: scroll;
        th {
            text-align: center;
        }
        th, td {
            border: 0.1px solid #aaaaaa;
            padding: 0 0.5em;
        }
    }
    table.spec-first {
        tr td:nth-of-type(2n+1) {
            text-align: center;
        }
        tr:nth-of-type(2n) {
            background-color: #f5f5f5;
        }
    }
    table.spec-second {
        tr td:nth-of-type(5) {
            text-align: center;
        }
    }
    ul.product-spec {
        margin-left: 2.5em;
    }
    ul.product-spec:not(:last-child) {
        margin-bottom: 1em;
    }
    div.desc {
        margin-left: 2em;
    }
}

section.jasmine div.inner {
    .underline {
        text-decoration: underline;
    }
    .headline {
        margin-bottom: 3em;
        margin-left: 1em;
        
        a {
            color: #000000;
            &:hover {
                color: #000000;
            }
        }
    }
    div[id^=section] {
        margin-top: 2em;
    }
    .table-wrap {
        overflow-x: auto;
    }
    table.spec-second {
        width: 100%;
        margin-top: 2rem;
        border: 0.1px solid #aaaaaa;
        border-collapse: collapse;
        overflow: scroll;
        th, td {
            border: 0.1px solid #aaaaaa;
            padding: 0 0.5em;
        }
    }
    .product-spec {
        margin-left: 2.5em;
    }
    @media screen and (max-width: 839px) {
        .product-spec {
            margin-left: 1.5em;
        }
        .sp_none {
            display: none;
        }
        .recomend_frase {
            font-size: 0.9rem;
            font-weight: bold;
        }
    }
    @media screen and (min-width: 840px){
    }
}

@media screen and (max-width: 839px) {
	section.guide {
        div.inner {
            .head {
                line-height: 2;
                h1 {
                    font-size: 1.4rem;
                }
                .title {
                    font-weight: 700;
                    font-size: 1.4rem;
                }
            }
            .caption {
                font-size: 0.9rem;
            }
            .goods-choice {
                margin-left: 1.5em;
                margin-bottom: 10px;
                display: block;
                ul {
                    line-height: 1.6;
                }
                div.img {
                    text-align: center;
                }
            }
            .desc {
                margin-left: 1.5em;
            }
            .other-brands {
                margin-left: 2.5em;
                span.desc {
                    display: block;
                    margin-left: 0.5em;
                }
            }
        }
	}
}

section.regulast div.inner {
    img {
        width: 60%;
    }
    .underline {
        text-decoration: underline;
    }
    div[id^=section] {
        margin-top: 2em;
    }

    #section_reg5 .info div {
        margin-bottom: 1em;
    }
}
@media screen and (max-width: 839px){
    section.regulast div.inner img {
        width: 70%;
    }
    .sp_none {
        display: none;
    }
}

section.regulast.verse div.inner {
    img {
        width: 70%;
    }
    .underline {
        text-decoration: underline;
    }
    div[id^=section] {
        margin-top: 2em;
    }

    #section_reg5 .info div {
        margin-bottom: 1em;
    }
}
@media screen and (max-width: 839px){
    section.regulast.verse div.inner img {
        width: 100%;
    }
    .sp_none {
        display: none;
    }
}

section.ranking_2025 div.inner {
    img {
        width: 60%;
    }
    #section_reg2 div.image:nth-of-type(1) img {
        width: 50%;
    }
    #section_reg2 div.image:nth-of-type(2) img {
        width: 60%;
    }
    #section_reg2 div.image:nth-of-type(3) img {
        width: 80%;
    }
    #section_reg2 div.image:nth-of-type(4) img {
        width: 30%;
    }
    #section_reg2 div.image:nth-of-type(5) img {
        width: 40%;
    }
    #section_reg2 div.image:nth-of-type(6) img {
        width: 60%;
    }
    div[id^=section] {
        margin-top: 2em;
    }
}
@media screen and (max-width: 839px){
    section.ranking_2025 div.inner {
        img {
            width: 100%;
        }
        #section_reg2 div.image:nth-of-type(n) img {
            width: 100%;
        }
        #section_reg2 div.image:nth-of-type(3) img {
            width: 120%;
        }
        #section_reg2 div.image:nth-of-type(4) img,
        #section_reg2 div.image:nth-of-type(5) img {
            width: 80%;
        }
        #section_reg3 div.image:nth-of-type(n) img {
            width: 80%;
        }
        #section_reg3 span.caption {
            font-size: 0.9rem;
        }
    }
    .sp_none {
        display: none;
    }
}

.floatTOP > div {
	right:max(0px, calc(env(safe-area-inset-right) / 2));
	left:auto !important;
	bottom:max(2px, calc(env(safe-area-inset-left) / 2));
}