@charset "utf-8";

@font-face{
	font-family:"NotoSansSubset";
	font-display:swap;
	src:url("NotoSansJP-Regular-Subset.woff2") format("woff2");
}


:root{
	--color-black:#111111;
	--color-gray:#cccccc;
	--color-gray2:#f2f2f2;
	--color-white:#ffffff;
	--color-main:#900000;

	--color-text:var(--color-black);
	--color-placeholder:#666666;

	--contentWidth:min(1200px,90vw);
	--contentWidthRate:90%;
	--contentPadding:calc((100% - var(--contentWidthRate)) * 0.5);
	--contentNarrowWidth:min(500px,78vw);

	--sectionPadding:80px;

	--hoverOpacity:0.8;
	--hoverDuration:0.1s;

	--rewindSize:50px;
	--rewindCut:6px;
	--rewindMargin:20px;
}
@media (width<=768px){
	:root{
		--rewindSize:40px;
		--rewindCut:5px;
		--rewindMargin:10px;

		--sectionPadding:60px;
	}
}

*{
	margin:0;
	padding:0;
}
*,*::before,*::after{
	box-sizing:border-box;
}
html{
	overflow-y:unset;
	height:unset;
}
body{
	color:var(--color-text);
	font-size:16px;
	line-height:1.65;
	font-feature-settings:"palt";
	text-align:unset;
	-webkit-text-size-adjust:unset;
	background-color:var(--color-white);
	height:unset;
	word-wrap:unset;
	overflow-x:clip;
}
body,body *{
	font-family:"NotoSansSubset", sans-serif;
}
html,body{
	scroll-behavior:smooth;
	scroll-padding-top:var(--headerSize);
}
body #wrapper{
	display:contents;
	background:none;
	min-height:0;
}
body header,
body foote,
body #footer-inner{
	display:contents;
	margin:0;
	padding:0;
	background:none;
	width:auto;
	position:static;
}
.footer_area,
body #header-inner{
	display:none !important;
}
body div#cart-footer,
body footer{
    background-color:unset;
    margin:0 auto;
    line-height:inherit;
    position:relative;
    height:auto;
    width:100%;
}

a{
	--color:var(--color-main-dark);
	--text-decoration:underline;
}
a,a:link,a:visited,a:hover,a:active{
	color:var(--color);
	text-decoration:var(--text-decoration);
	text-underline-offset:0.2em;
}
a{
	transition:opacity var(--hoverDuration) ease-out;
}
a:hover{
	opacity:var(--hoverOpacity);
}
img{
	width:auto;
	height:auto;
	max-width:100%;
	border:none;
}
a:hover img{
	opacity:1;
	filter:none;
	-ms-filter:none;
	-moz-opacity:1;
}
section{
	margin:0;
	padding:0;
}
body .large{
	font-size:24px;
}
@media (width<=768px){
	body .large{
		font-size:18px;
	}
}
.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.mainColor{
	color:var(--color-main);
	--color:var(--color-main);
}

body #contents{
	width:var(--contentWidth);
	margin:60px auto;
	padding:0;
	overflow:revert;
	display:flex;
	align-items:flex-start;
	gap:5%;
	position:relative;
}
@media (width<=768px){
	body #contents{
		margin-top:30px;
	}
}
body #contents:has(#main-column-full){
	display:block;
}
body:has(.firstView) #contents{
	margin-top:0;
}
body #contents > article{
	display:contents;
}
body #main-column{
	width:100%;
	float:none;
	margin:0;
	padding:0;
	order:2;
}
body #sub-column{
	width:260px;
	float:none;
	margin:0;
	padding:0;
	flex-shrink:0;
	order:1;
	left:auto;
	right:auto;
	top:auto;
	bottom:auto;
}
body #floating-menu{
	right:var(--rewindMargin);
	bottom:var(--rewindMargin);
}
.content{
	width:var(--contentWidth);
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
.fullWidth{
	width:100svw;
	position:relative;
	left:calc(50% - 50svw);
}

@media (width<=768px){
	.forWide{display:none!important}
}
@media (width>768px){
	.forMobile{display:none!important}
}

.accordionSwitch{
	cursor:pointer;
}
.accordionSwitch.always{
	pointer-events:none;
}
.accordionSwitch input{
	display:none !important;
}
.accordion{
	display:grid;
	grid-template-rows:0fr;
	transition:grid-template-rows 0.4s ease-out;
}
.accordionSwitch:has(input:checked) + .accordion,
.accordionSwitch.active + .accordion{
	grid-template-rows:1fr;
}
.accordionContent{
	overflow:hidden;
}
.alwaysOpen .accordionSwitch{
	cursor:auto;
}
.alwaysOpen .accordion{
	grid-template-rows:1fr!important;
}

:where(.scroller){
	position:relative;
}
:where(.scrollerViewport){
	-ms-overflow-style:none;
	scrollbar-width:none;
	overflow-y:auto;
	user-select:none;
}
:where(.scrollerViewport::-webkit-scrollbar){
	display:none;
}
:where(.scrollerScrollBar){
	opacity:0;
	transition:opacty 0.2s ease-out;
	pointer-events:none;
	width:3px;
	height:100%;
	position:absolute;
	top:0;
	right:0;
	background:rgba(0,0,0,0.1);
	border-radius:3px;
}
:where(.scrollerScrollBar>span){
	position:absolute;
	display:block;
	cursor:pointer;
	width:9px;
	left:calc(50% - 4.5px);
	height:50px;
	max-height:100%;
	background:#ccc;
	border-radius:3px;
}
:where(.scroller:has(.overflowVertical) .scrollerScrollBar),
:where(.scroller:has(.overflowHorizontal) .scrollerScrollBar){
	opacity:1;
	pointer-events:all;
}

button.isolated{
	appearance:none;
	border:none;
	outline:none;
	background:none;
	color:inherit;
	border-radius:0;
	margin:0;
	padding:0;
	text-decoration:none;
	--text-decoration:none;
}

.freeAreaTitleCutter,
.free-contents:has(.freeAreaTitleCutter) h2:has(.freeAreaTitle){
	display:none;
}

/*
@media (width>768px){
	body #sub-column{
		display:none !important;
	}
}
@media (width<=768px){
	#sub-column,#sub-column.spsDrawerOpen,#sub-column.spsDrawerClose{
		transition:top 0.3s ease-out;
		-webkit-overflow-scrolling:touch;
		z-index:9000;
		position:fixed;
		width:100svw;
		height:100svh;
		left:0;
		bottom:100lvh;
		transform:none;
	}
	#sub-column.active{
		bottom:0;
	}
}
@media (width>768px){
	body:has(#itemDetail-wrap > .description) #sub-column{
		display:none;
	}
}
*/

.flexGroup{
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
}
.inlineHeader{
	display:inline-block;
	margin:0;
	padding:0 !important;
	font-size:inherit !important;
	font-weight:inherit !important;
	letter-spacing:inherit !important;
	border:none !important;
}



























:root{
	--headerSize:85px;
}
@media (width<=768px){
	:root{
		--headerSize:80px;
	}
}
.header{
	width:100%;
	height:var(--headerSize);
	background:linear-gradient(to bottom,#ffffffff 0%,white calc(100% - 20px),#ffffff00 100%);
	position:sticky;
	left:0;
	top:0;
	z-index:10000;
}
.header > .content{
	width:90vw;
	height:100%;
	display:flex;
	align-items:center;
	gap:30px;
}
.headerLogo,.headerLogo a,.headerLogo img{
	margin:0;
	padding:0;
	display:block;
	width:153px;
	height:auto;
	flex-shrink:0;
}
.headerIcons{
	margin:0 0 0 auto;
	display:flex;
	gap:15px;
	flex-shrink:0;
}
.headerIcon{
	width:30px;
	height:30px;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	transition:opacity var(--hoverDuration) ease-out;
}
.headerIcon img,.headerIcon svg{
	display:block;
}
.headerIcon:hover{
	opacity:var(--hoverOpacity);
}
.headerNav{
	display:flex;
	gap:30px;
	justify-content:right;
	align-items:center;
	width:100%;
	height:100%;
	margin:0 0 0 auto;
}
.headerNav > *{
	cursor:pointer;
	display:flex;
	align-items:center;
	height:100%;
	font-size:17px;
	line-height:1.5;
	--color:var(--color-text);
	--text-decoration:none;
	white-space:nowrap;
	position:relative;
}
.headerNav > *::before{
	content:"";
	--cut:10px;
	position:absolute;
	width:calc(100% + 20px);
	height:2em;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	background:var(--color-gray2);
	clip-path: polygon(var(--cut) 0%, 100% 0%, 100% 100%, 0% 100%, 0% var(--cut));
	z-index:-1;
}
@media (width<=1360px){
	.headerNav > *[data-priority="low"]{
		display:none;
	}
}
@media (width>768px){
	.headerIconMenu{
		display:none;
	}
}
@media (width<=768px){
	.headerIcons{
		margin-right:calc(var(--contentPadding) * -0.5);
	}
	.headerIconSearch{
		display:none;
	}
	.headerNav{
		display:none;
	}
	.headerIconMenu img:nth-child(1){
		display:flex;
	}
	.headerIconMenu img:nth-child(2){
		display:none;
	}
	body:has(.drawerNav.active) .headerIconMenu img:nth-child(1){
		display:none;
	}
	body:has(.drawerNav.active) .headerIconMenu img:nth-child(2){
		display:flex;
	}
}












.partsNavToggle::after{
	content:"";
	width:15px;
	height:15px;
	display:block;
	background:var(--color-text);
	clip-path:polygon(74.402% 32.402%, 50% 56.804%, 25.598% 32.402%, 17.282% 40.718%, 50% 73.436%, 82.718% 40.718%);
}
.partsNavToggle.active::after{
	clip-path:polygon(25.598% 67.598%, 50% 43.196%, 74.402% 67.598%, 82.718% 59.282%, 50% 26.564%, 17.282% 59.282%);
}
.partsNav{
	--margin:0;
	--width:min(750px,100svw);
	--padding:30px;
	position:fixed;
	left:calc(50% - var(--width) * 0.5);
	top:calc(var(--headerSize) + var(--margin));
	width:var(--width);
	background:#d9d9d9;
	z-index:9999;
	display:grid;
	grid-template-rows:0fr;
	transition:grid-template-rows 0.4s ease-out;
}
.partsNav::before{
	content:"";
	position:absolute;
	width:100%;
	height:var(--margin);
	left:0;
	bottom:100%;
	background:transparent;
	pointer-events:none;
}
body:has(.partsNavToggle.active) .partsNav{
	grid-template-rows:1fr;
}
body:has(.partsNavToggle.active) .partsNav::before{
	pointer-events:all;
}
.partsNavInner{
	overflow:hidden;
}
.partsNavContent{
	padding:25px;
	display:flex;
	align-items:stretch;
	gap:30px;
}
.partsNavMain{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	width:100%;
}
.partsNavGroup{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	width:100%;
}
.partsNavImage{
	max-width:250px;
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}
.partsNavTitle{
	font-size:24px;
	font-weight:bold;
	line-height:1;
	white-space:nowrap;
}
.partsNav a{
	--color:var(--color-text);
	--text-decoration:none;
	padding:0.2em 0;
	display:flex;
	align-items:center;
	white-space:nowrap;
	position:relative;
}
.partsNav a::after{
	content:"";
	width:12px;
	height:12px;
	position:relative;
	display:block;
	background:var(--color-text);
	clip-path:polygon(32.402% 25.598%, 56.804% 50%, 32.402% 74.402%, 40.718% 82.718%, 73.436% 50%, 40.718% 17.282%);
}
@media (width<=768px){
	.partsNav{
		display:none;
	}
}























.drawerNav,
.drawerNavViewport{
	top:0;
	width:100svw;
	height:100lvh;
	z-index:9999;
	background:white;
}
.drawerNavViewport{
	top:0;
	width:100svw;
	height:100svh;
}
.drawerNav,
.drawerNavViewport{
	transition:left 0.4s ease-out;
	position:fixed;
	left:100%;
	overflow-y:scroll;
}
.drawerNav.active,
.drawerNav.active .drawerNavViewport{
	left:0;
}
.drawerNavContent{
	width:100%;
	padding:calc(var(--headerSize) + 15px) var(--contentPadding) 60px;
}
@media (width>768px){
	.drawerNav{
		display:none;
	}
}
.drawerNavSearch{
	position:relative;
	--height:60px;
}
.drawerNavSearch input{
	width:100%;
	height:var(--height);
	background:transparent;
	color:var(--color-text);
	appearance:none;
	outline:none;
	border:none;
	border-bottom:1px solid var(--color-text);
	font-size:16px;
	padding:0 calc(var(--height) + 0.75em) 0 0.75em;
}
.drawerNavSearch input::placeholder{
	color:#b1b1b1;
}
.drawerNavSearch button{
	appearance:none;
	outline:none;
	background:transparent;
	border:none;
	width:var(--height);
	height:var(--height);
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	right:0;
	top:0;
}
.drawerNavLink{
	margin-top:30px;
}
.drawerNavLink + .drawerNavLink{
	margin-top:0;
}
a.drawerNavLink,
.drawerNavLink .accordionSwitch{
	width:100%;
	height:60px;
	display:flex;
	justify-content:left;
	align-items:center;
	font-size:18px;
	font-weight:bold;
	color:var(--color-text);
	text-decoration:none;
	--color:var(--color-text);
	--text-decoration:none;
	position:relative;
}
.drawerNavLink{
	border-bottom:1px solid #dddddd;
}
a.drawerNavLink::after,
.drawerNavLink .accordionSwitch::after{
	content:"";
	width:20px;
	height:20px;
	position:absolute;
	right:5px;
	top:calc(50% - 10px);
	display:block;
	background:var(--color-main);
}
a.drawerNavLink::after{
	clip-path:polygon(32.402% 25.598%, 56.804% 50%, 32.402% 74.402%, 40.718% 82.718%, 73.436% 50%, 40.718% 17.282%);
}
.drawerNavLink .accordionSwitch::after{
	clip-path:polygon(74.402% 32.402%, 50% 56.804%, 25.598% 32.402%, 17.282% 40.718%, 50% 73.436%, 82.718% 40.718%);
}
.drawerNavLink .accordionSwitch.active::after{
	clip-path:polygon(25.598% 67.598%, 50% 43.196%, 74.402% 67.598%, 82.718% 59.282%, 50% 26.564%, 17.282% 59.282%);
}
.drawerNavLink .accordion a:last-child{
	padding-bottom:30px;
}
.drawerNavLink .accordion a{
	display:block;
	padding:10px 0;
	font-size:18px;
	line-height:1.5;
	color:var(--color-text);
	text-decoration:none;
	--color:var(--color-text);
	--text-decoration:none;
}













.headerSearchBarWrap{
	--right:180px;
	position:fixed;
	z-index:9999;
	right:var(--right);
	top:calc(var(--headerSize) + 10px);
	width:0;
	background:white;
	transition:width 0.4s ease-out;
}
.headerSearchBarWrap.active{
	width:min(800px,calc(90svw - var(--right)));
}
.headerSearchBar{
	position:relative;
	overflow:hidden;
	width:100%;
}
.headerSearchBarContent{
	width:100%;
	top:0;
	padding:20px;
	display:flex;
	gap:30px;
	align-items:center;
}
.headerSearchBarContent label{
	font-size:24px;
	font-weight:bold;
	white-space:nowrap;
}
.headerSearchBarField{
	width:100%;
	position:relative;
	--height:60px;
}
.headerSearchBarField input{
	width:100%;
	height:var(--height);
	background:var(--color-gray2);
	color:var(--color-text);
	appearance:none;
	outline:none;
	border:none;
	border-bottom:1px solid var(--color-text);
	font-size:16px;
	padding:0 calc(var(--height) + 0.75em) 0 0.75em;
}
.headerSearchBarField input::placeholder{
	color:#b1b1b1;
}
.headerSearchBarField button{
	appearance:none;
	outline:none;
	background:transparent;
	border:none;
	width:var(--height);
	height:var(--height);
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	right:0;
	top:0;
	cursor:pointer;
}
.headerSearchBarField button img{
	width:40%;
	height:auto;
	display:block;
}
.headerSearchBarClose{
	--cut:8px;
	width:40px;
	height:40px;
	position:absolute;
	top:-20px;
	right:-20px;
	background:var(--color-main);
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.4s ease-out;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
.headerSearchBarClose::after{
	content:"";
	width:70%;
	height:70%;
	position:absolute;
	left:15%;
	top:15%;
	background:white;
	clip-path:polygon(70.492% 25.35%, 74.65% 29.508%, 54.158% 50%, 74.65% 70.492%, 70.492% 74.65%, 50% 54.158%, 29.508% 74.65%, 25.35% 70.492%, 45.842% 50%, 25.35% 29.508%, 29.508% 25.35%, 50% 45.842%);
}
.headerSearchBarWrap.active .headerSearchBarClose{
	opacity:1;
	pointer-events:all;
}
@media (width<=768px){
	.headerSearchBarWrap{
		display:none;
	}
}
















.footerTopBackground img{
	opacity:0.1;
}
.footerTopLogo{
	display:block;
	width:fit-content;
	margin:0 auto;
	transform:rotate(-20deg);
}
.footerTopLogo img{
	width:211px;
	height:auto;
	display:block;
}
.footerTopButtons{
	margin-top:60px;
	width:100%;
	display:flex;
	justify-content:center;
	gap:15px;
}
.footerTopButtons .sectionButton{
	margin:0;
	width:calc(50% - 7.5px);
	max-width:485px;
	height:110px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.footerTopButtonMain{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
}
.footerTopButtonMain i{
	display:block;
	width:15px;
	height:15px;
	background:white;
	clip-path:polygon(32.402% 25.598%, 56.804% 50%, 32.402% 74.402%, 40.718% 82.718%, 73.436% 50%, 40.718% 17.282%);
}
.footerTopButtonSub{
	margin-top:5px;
	font-size:16px;
	line-height:1.5;
	text-align:center;
}
@media (width<=768px){
	.footerTopButtons{
		margin-top:40px;
		flex-direction:column;
		gap:15px;
	}
	.footerTopButtons .sectionButton{
		margin:0 auto;
		width:100%;
		height:125px;
	}
}

body .footer{
	display:block;
	padding:25px 0 calc(25px + var(--rewindSize) + var(--rewindMargin)) 0;
	height:auto!important;
}
.footer .content{
	display:flex;
	gap:30px;
	justify-content:space-between;
	align-items:flex-end;
}
.footerLinks{
	display:flex;
	justify-content:left;
}
.footerLinks a{
	margin-left:var(--margin);
	display:block;
	--margin:40px;
	--color:var(--color-text);
	--text-decoration:none;
	position:relative;
	white-space:nowrap;
	line-height:1;
}
.footerLinks a::before{
	content:"";
	position:absolute;
	left:calc(var(--margin) * -0.5);
	top:calc(50% - 0.5em);
	width:1px;
	height:1em;
	background:var(--color-text);
	opacity:0.5;
}
.credit{
	font-size:12px;
	line-height:1.5;
	white-space:nowrap;
}
@media (width>960px){
	.footerLinks a:first-child{
		margin-left:0;
	}
	.footerLinks a:first-child::before{
		content:none;
	}
}
@media (width<=1060px){
	.footerLinks{
		flex-wrap:wrap;
		gap:15px 0;
	}
	.footerLinks a:nth-child(1),
	.footerLinks a:nth-child(3),
	.footerLinks a:nth-child(4){
		margin-left:0;
	}
	.footerLinks a:nth-child(1)::before,
	.footerLinks a:nth-child(3)::before,
	.footerLinks a:nth-child(4)::before{
		content:none;
	}
	.footerLinks a:nth-child(3),
	.footerLinks a:nth-child(4){
		width:100%;
	}
}
@media (width<=768px){
	body .footer{
		padding:35px 0;
	}
	.footer .content{
		display:block;
	}
	.footerLinks{
		--margin:30px;
	}
	.credit{
		margin-top:20px;
		text-align:center;
	}
}













#page-top{
	pointer-events:none !important;
}
#page-top a{
	pointer-events:all;
	cursor:pointer;
	height:var(--rewindSize);
	width:var(--rewindSize);
	display:block;
	padding:0;
	background:var(--color-main) !important;
	position:relative;
	overflow:hidden;
	clip-path:polygon(var(--rewindCut) 0%,100% 0%,100% calc(100% - var(--rewindCut)),calc(100% - var(--rewindCut)) 100%,0% 100%,0% var(--rewindCut));
}
#page-top a img{
    display:none !important;
}
#page-top a::after{
	content:"";
	position:absolute;
	width:50%;
	height:50%;
	left:50%;
	top:50%;
	background:white;
	clip-path:polygon(25.598% 67.598%, 50% 43.196%, 74.402% 67.598%, 82.718% 59.282%, 50% 26.564%, 17.282% 59.282%);
	transform:translate(-50%,-50%);
}
#to-cart{
	margin-bottom:5px;
}
#to-cart a,
#to-cart a img{
	height:var(--rewindSize);
	width:var(--rewindSize);
	max-width:var(--rewindSize);
	display:block;
	clip-path:polygon(var(--rewindCut) 0%,100% 0%,100% calc(100% - var(--rewindCut)),calc(100% - var(--rewindCut)) 100%,0% 100%,0% var(--rewindCut));
}

















.section,
section:has(.ranking){
	margin:0;
	padding:var(--sectionPadding) 0;
	position:relative;
}
.section:has(.sectionBackground){
	width:100svw;
	left:calc(50% - 50svw);
}
.section .content{
	z-index:2;
}
.section.border{
	border-top:1px solid var(--color-gray);
}
.section:not(:has(.sectionBackground)) + .section:not(:has(.sectionBackground)):not(.border){
	margin-top:calc(var(--sectionPadding) * -1);
}
section:has(.ranking){
	margin-top:calc(var(--sectionPadding) * -1);
}
.freeArea2:has(.section){
	margin-bottom:0 !important;
	padding-bottom:0 !important;
}








.sectionTitle,
.w100 .news h2,
section > .ranking h2{
	display:block;
	width:auto;
	font-size:40px;
	font-weight:bold;
	line-height:1.5;
	white-space:nowrap;
	letter-spacing:0!important;
	border:none !important;
	margin:0!important;
	padding:0!important;
}
.sectionTitle > span,
.w100 .news h2 > span,
section > .ranking h2 > span{
	--size:19px;
	color:var(--color-main);
	font-size:16px;
	font-weight:normal;
	line-height:var(--size);
	height:var(--size);
	display:flex;
	align-items:center;
	gap:0.3em;
	position:relative;
}
.sectionTitle > span::before,
.w100 .news h2 > span::before,
section > .ranking h2 > span::before,
.sectionTitle > span::after,
.w100 .news h2 > span::after,
section > .ranking h2 > span::after{
	content: "";
	display:block;
	width:calc((5 / 19) * var(--size));
	height:var(--size);
	background:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%205%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M0%202.25391V16.6309L4.2666%2018.8848L4.7334%2018L1%2016.0273V2.85645L4.7334%200.884766L4.2666%200L0%202.25391Z'%20fill='%23900000'/%3E%3C/svg%3E") no-repeat center / contain;
}
.sectionTitle > span::after,
.w100 .news h2 > span::after,
section > .ranking h2 > span::after{
	transform:scale(-1,1);
}

.sectionTitleNote{
	font-size:16px !important;
	line-height:inherit !important;
}

@media (width<=768px){
	.sectionTitle,
	.w100 .news h2{
		font-size:26px;
		font-weight:bold;
		line-height:1.5;
	}
	.sectionTitle > span,
	.w100 .news h2 > span{
		--size:14px;
		font-size:14px;
	}
	.sectionTitleNote{
		font-size:14px !important;
		line-height:inherit !important;
	}
}
















.sectionBackground{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:1;
	pointer-events:none;
}
.sectionBackground.gray{
	background:#f7f7f7;
}
.sectionBackground.frame{
	width:96vw;
	max-width:1360px;
	height:calc(100% - var(--sectionPadding) * 0.5);
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	border:1px solid var(--color-main);
}

.sectionBackground img{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	object-fit:cover;
}
.section:has(.sectionBackground) .content{
	z-index:2;
}

.sectionButton{
	--cut:20px;
	margin:60px auto 0;
	width:480px;
	max-width:100%;
	height:100px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	background:var(--color-main);
	--color:var(--color-white);
	--text-decoration:none;
	padding:0 25px;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
	font-size:24px;
	line-height:1.5;
}
@media (width<=768px){
	.sectionButton{
		--cut:15px;
		margin:40px auto 0;
		width:286px;
		height:70px;
		padding:0 23px;
		font-size:18px;
	}
}
.sectionButton.black{
	background:var(--color-black);
}
.sectionButton.black .arrowSquare{
	background:var(--color-white);
}
.sectionButton.black .arrowSquare::after{
	background:var(--color-black);
}

.sectionButtons{
	margin-top:60px;
	display:flex;
	justify-content:center;
	gap:15px;
}
.sectionButtons .sectionButton{
	margin:0;
	width:calc(50% - 7.5px);
	max-width:480px;
}
@media (width<=768px){
	.sectionButtons{
		margin-top:40px;
		display:flex;
		flex-direction:column;
	}
	.sectionButtons .sectionButton{
		margin:0 auto;
		width:100%;
		max-width:480px;
	}
}




.sectionMessage{
	margin-top:40px;
	font-size:18px;
}
@media (width<=768px){
	.sectionMessage{
		margin-top:30px;
		font-size:16px;
	}
}













.arrowSquare{
	width:28px;
	height:auto;
	aspect-ratio:1 / 1;
	position:relative;
	flex-shrink:0;
	background:var(--color-black);
}
.arrowSquare::after{
	content:"";
	width:66%;
	height:66%;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	clip-path:polygon(33.59% 24.41%, 59.18% 50%, 33.59% 75.59%, 39.53% 81.53%, 71.06% 50%, 39.53% 18.47%);
	background:var(--color-white);
}



























tab-navigation{
	margin:0 auto;
	width:100%;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	--cols:5;
	--gap:10px;
	gap:10px var(--gap);
}
.sectionTitle + tab-navigation{
	margin-top:40px;
}
tab-navigation:has(a:first-child:last-child){
	display:none;
}
@media (width<=1200px){
	tab-navigation{
		--cols:4;
	}
}
@media (width<=960px){
	tab-navigation{
		--cols:3;
	}
}
tab-navigation > a{
	--cut:10px;
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	width:calc(100% / var(--cols) - var(--gap) * (var(--cols) - 1) / var(--cols));
	height:50px;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:18px;
	line-height:1;
	white-space:nowrap;
	background:var(--color-gray);
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
tab-navigation > a::after{
	content:"";
	width:1em;
	height:1em;
	display:inline-block;
	background:var(--color-text);
	clip-path:polygon(75.59% 33.59%, 50% 59.18%, 24.41% 33.59%, 18.47% 39.53%, 50% 71.06%, 81.53% 39.53%);
	margin-left:0.3em;
}
@media (width<=768px){
	tab-navigation{
		--cols:1;
		--gap:10px;
		max-width:var(--contentNarrowWidth);
	}
	tab-navigation > a{
		font-size:16px;
	}
}








tab-panel:not(:first-child){
	display:block;
	margin-top:80px;
}












video-part{
	margin:0 auto;
	display:block;
	position:relative;
	width:100%;
	height:auto;
	max-width:800px;
	aspect-ratio:16 / 9;
	background:#f0f0f0;
}
video-part img{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	object-fit:cover;
	cursor:pointer;
}
video-part iframe{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}
video-part svg{
	position:absolute;
	width:50px;
	height:50px;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	pointer-events:none;
}





























.firstView{
	height:calc(100lvh - var(--headerSize));
	min-height:500px;
	background:#e0e0e0;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	padding-bottom:calc((100lvh - 100svh) + 20px);
}
.firstView::after{
	content:"";
	z-index:3;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:40%;
	background:linear-gradient(to bottom,#ffffff00,#ffffffff);
}
.firstViewImage,
.firstViewImage img,
.firstViewImage video{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:1;
}
.firstViewMessage{
	width:var(--contentWidthRate);
	font-size:clamp(24px,2.64vw,64px);
	line-height:1.65;
	font-weight:bold;
	position:relative;
	z-index:5;
}
.firstViewMessage img{
	margin:10px 0 0 0;
	width:100%;
	display:block;
}
.firstViewMessage br{
	display:none;
}
@media (width<=768px){
	.firstView{
		height:calc(100lvh - var(--headerSize) + 20px);
		margin-top:-20px;
		min-height:0;
	}
	.firstViewMessage{
		font-size:24px;
	}
	.firstViewMessage img{
		margin:14px 0 0 0;
	}
	.firstViewMessage br{
		display:block;
	}
}

















.topBanners{
	margin:0 0 var(--sectionPadding);
	--cut:15px;
	--cut2:14px;
}
.firstView + .topBanners{
	margin:56px 0 0;
}
.topBanners .content{
    --gap:20px;
    --cols:3;
	display:flex;
	justify-content:left;
	gap:15px var(--gap);
}
.topBanner{
	width:calc((100% - var(--gap) * (var(--cols) - 1)) / var(--cols));
	height:120px;
	display:flex;
	align-items:center;
	--color:var(--color-white);
	--text-decoration:none;
	padding-right:20px;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
}
.topBanner img{
	width:130px;
	height:100%;
	display:block;
	object-fit:cover;
	flex-shrink:0;
	clip-path:polygon(var(--cut2) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut2));
}
.topBanner span{
	font-size:20px;
	line-height:1.35;
	white-space:nowrap;
	display:block;
	width:100%;
	padding:0 1em;
}
.topBannerPrimary{
	background:var(--color-main);
	border:1px solid var(--color-main);
}
.topBannerPrimary .arrowSquare{
	background:var(--color-black);
}
.topBannerPrimary .arrowSquare::after{
	background:var(--color-white);
}
.topBannerSecondary{
	background:var(--color-black);
	border:1px solid var(--color-black);
}
.topBannerSecondary .arrowSquare{
	background:var(--color-white);
}
.topBannerSecondary .arrowSquare::after{
	background:var(--color-black);
}

@media (width<=1260px){
	.topBanners .content{
		flex-wrap:wrap;
		--cols:2;
		--gap:16px;
	}
}
@media (width<=768px){
	.topBanners{
		margin:0 0 var(--sectionPadding);
		--cut:15px;
		--cut2:14px;
	}
	.firstView + .topBanners{
		margin:56px 0 0;
	}
	.topBanners .content{
		max-width:100%;
		display:flex;
		flex-direction:column;
		gap:16px;
	}
	.topBanner{
		width:100%;
	}
	.topBanner span{
		font-size:18px;
		line-height:1.35;
		padding:0 0.7em;
	}
}










body #main-column .news h2::before{
	content:none;
}
section.cont:has(.news){
	margin:0;
	padding:var(--sectionPadding) 0;
}
.w100 .news{
    float:none;
    width:100%;
    margin:0;
    padding:0;
	display:flex;
	gap:5%;
}
.w100 .news h2{
	flex-shrink:0;
}
.w100 .news h2::first-letter{
	font-size:inherit;
}
.news .news-contents{
	width:100%;
	display:flex;
	gap:5px;
	flex-direction:column;
}

dl.news-box:first-child{
	border:none;
}
dl.news-box{
	--cut:15px;
	margin:0;
	padding:20px;
	background:var(--color-main);
	color:var(--color-white);
	font-size:18px;
	line-height:1.65;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
.news-box dd a{
	color:inherit;
	text-decoration:underline;
}
.news-box dd a:hover{
	color:inherit;
	text-decoration:underline;
	opacity:var(--hoverOpacity);
}

@media (width<=768px){
	.w100 .news{
		float:none;
		width:100%;
		margin:0;
		padding:0;
		display:block;
	}
	.news .news-contents{
		margin-top:15px;
		width:100%;
		display:flex;
		gap:20px;
		flex-direction:column;
	}
	dl.news-box{
		font-size:16px;
		line-height:1.65;
	}
}
















.partsGuide .sectionBackground{
	opacity:0.1;
}
.partsGuideMap{
	--cut:30px;
	margin:40px auto 0;
	width:100%;
	/*height:auto;
	aspect-ratio:1200 / 650;
	background:rgba(0,0,0,0.05);
	border:1px solid var(--color-black);
	overflow:hidden;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));*/
	position:relative;
}
.partsGuideMap img{
	width:100%;
	height:auto;
	display:block;
}
/*
.partsGuideMap::before,.partsGuideMap::after{
	content:"";
	width:calc(var(--cut) * 2);
	height:1px;
	position:absolute;
	background:var(--color-black);
	z-index:5;
}
.partsGuideMap::before{
	top:calc(var(--cut) - 1.5px);
	left:0;
	transform:rotate(-45deg);
	transform-origin:left bottom;
}
.partsGuideMap::after{
	top:100%;
	left:calc(100% - var(--cut) + 0.5px);
	transform:rotate(-45deg);
	transform-origin:left top;
}
.partsGuideMapMainImage{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	object-fit:contain;
}
.partsGuideMapSubImage{
	position:absolute;
	width:42%;
	height:auto;
	right:5%;
	bottom:5%;
}
*/
@media (width<=768px){
	.partsGuideMap{
		--cut:15px;
		margin:20px auto 0;
		aspect-ratio:335 / 236;
	}
	.partsGuideMapSubImage{
		display:none;
	}
}

.partsGuideLinks{
	--cols:5;
	--gap:15px;
	--colWidth:calc(100% / var(--cols) - var(--gap) * (var(--cols) - 1) / var(--cols));
	width:100%;
	display:grid;
	grid-template-columns:repeat(var(--cols),var(--colWidth));
	column-gap:var(--gap);
}
.partsGuideLink{
	margin:40px 0 0 0;
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	display:grid;
	grid-row:span 4;
	grid-template-rows:subgrid;
	row-gap:15px;
}
.partsGuideLinkImage{
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	border:1px solid var(--color-black);
	display:block;
	position:relative;
	background:rgba(0,0,0,0.05);
}
.partsGuideLinkImage img{
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	display:block;
}
.partsGuideLinkImage i{
	--cut:5px;
	display:flex;
	align-items:baseline;
	padding:0.5em 0.8em;
	background:var(--color-black);
	color:var(--color-white);
	font-size:16px;
	font-weight:bold;
	font-style:normal;
	line-height:1;
	white-space:nowrap;
	position:absolute;
	left:0;
	top:0;
	clip-path:polygon(0% 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%);
}
.partsGuideLinkImage i::after{
	margin-left:0.2em;
	font-size:130%;
}
.partsGuideLink:nth-child(1) .partsGuideLinkImage i::after{content:"1"}
.partsGuideLink:nth-child(2) .partsGuideLinkImage i::after{content:"2"}
.partsGuideLink:nth-child(3) .partsGuideLinkImage i::after{content:"3"}
.partsGuideLink:nth-child(4) .partsGuideLinkImage i::after{content:"4"}
.partsGuideLink:nth-child(5) .partsGuideLinkImage i::after{content:"5"}
.partsGuideLink:nth-child(6) .partsGuideLinkImage i::after{content:"6"}
.partsGuideLink:nth-child(7) .partsGuideLinkImage i::after{content:"7"}
.partsGuideLink:nth-child(8) .partsGuideLinkImage i::after{content:"8"}
.partsGuideLink:nth-child(9) .partsGuideLinkImage i::after{content:"9"}
.partsGuideLink:nth-child(10) .partsGuideLinkImage i::after{content:"10"}
.partsGuideTitle{
	font-size:20px;
	line-height:1.65;
	font-weight:bold;
	display:flex;
	align-items:center;
}
.partsGuideDescription{
	font-size:16px;
	line-height:1.65;
}
.partsGuideButton{
	--cut:15px;
	width:100%;
	height:60px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	white-space:nowrap;
	font-size:18px;
	line-height:1;
	padding:0 15px;
	border:1px solid var(--color-text);
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
	overflow:hidden;
	position:relative;
}
.partsGuideButton::after{
	content:"";
	width:calc(var(--cut) * 2);
	height:1px;
	background:var(--color-black);
	position:absolute;
	left:-1px;
	top:calc(var(--cut) - 1px);
	transform-origin:left top;
	transform:rotate(-45deg);
}

@media (width<=1200px){
	.partsGuideLinks{
		--cols:4;
		--gap:12px;
	}
	.partsGuideLinkImage i{
		padding:0.5em 0.8em;
		font-size:14px;
	}
	.partsGuideLinkImage i::after{
		margin-left:0.15em;
		font-size:120%;
	}
	.partsGuideTitle{
		font-size:18px;
	}
	.partsGuideButton{
		--cut:12px;
		font-size:16px;
		padding:0 12px;
	}
}
@media (width<=960px){
	.partsGuideLinks{
		--cols:3;
		--gap:10px;
	}
	.partsGuideLinkImage i{
		padding:0.3em 0.5em;
		font-size:12px;
	}
	.partsGuideLinkImage i::after{
		margin-left:0.10em;
		font-size:120%;
	}
	.partsGuideTitle{
		font-size:16px;
	}
	.partsGuideButton{
		--cut:10px;
		font-size:14px;
		padding:0 10px;
	}
}
@media (width<=768px){
	.partsGuideLinks{
		margin:20px 0 0 0;
		width:100%;
		display:flex;
		flex-direction:column;
		gap:20px;
	}
	.partsGuideLink{
		--imageSize:158px;
		--buttonHeight:44px;
		margin:0;
		display:block;
		width:100%;
		height:auto;
		min-height:var(--imageSize);
		padding:0 0 calc(var(--buttonHeight) + 20px) calc(var(--imageSize) + 15px);
		position:relative;
	}
	.partsGuideLinkImage{
		width:var(--imageSize);
		height:var(--imageSize);
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		left:0;
		top:0;
	}
	.partsGuideLinkImage i{
		font-size:12px;
	}
	.partsGuideTitle{
		font-size:18px;
		display:block;
	}
	.partsGuideDescription{
		font-size:14px;
		display:block;
		margin-top:10px;
	}
	.partsGuideButton{
		position:absolute;
		right:0;
		bottom:0;
		--cut:10px;
		width:calc(100% - var(--imageSize) - 15px);
		height:44px;
		font-size:14px;
		padding:0 20px 0 10px;
	}
	.partsGuideButton .arrowSquare{
		width:20px;
	}
}

























.promotionMovieList{
	margin:40px auto 0;
	width:100%;
	display:flex;
	justify-content:center;
	gap:3%;
}
.promotionMovieMain{
	width:48.5%;
	max-width:770px;
	height:auto;
	aspect-ratio:16 / 9;
	position:relative;
	background:#e0e0e0;
}
@media (width<=1260px){
	.promotionMovieList{
		flex-direction:column;
		gap:30px;
	}
	.promotionMovieMain{
		width:100%;
		margin:0 auto;
	}
}
.promotionMovieMain:not(.ready){
	cursor:pointer;
}
.promotionMoviePoster{
	width:100%;
	height:auto;
	display:block;
}
.promotionMoviePlayButton{
	width:50px;
	height:50px;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	transition:opacity var(--hoverDuration) ease-out;
}
.promotionMoviePlayButton:hover{
	opacity:var(--hoverOpacity);
}
.promotionMovieMain iframe{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	border:0;
	z-index:5;
}
.promotionMovieMessages{
	margin:60px 0 0 0;
	width:100%;
	display:flex;
	justify-content:left;
	align-items:stretch;
	flex-wrap:wrap;
	--cols:3;
	--gap:3%;
	gap:40px var(--gap);
}
@media (width<=960px){
	.promotionMovieMessages{
		--cols:2;
	}
}
.promotionMovieMessage{
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	width:calc(100% / var(--cols) - var(--gap) * (var(--cols) - 1) / var(--cols));
	display:block;
}
.promotionMovieMessageImage{
	width:100%;
	height:auto;
	display:block;
}
.promotionMovieMessageCaption{
	margin-top:15px;
	display:block;
	font-size:18px;
	font-weight:bold;
	line-height:1.65;
}
@media (width<=768px){
	.promotionMovieMain{
		margin:20px auto 0;
		width:100%;
		max-width:100%;
	}
	.promotionMovieMessages{
		margin:40px auto 0;
		max-width:var(--contentNarrowWidth);
		--cols:1;
		gap:20px 0;
	}
	.promotionMovieMessageCaption{
		margin-top:10px;
		font-size:16px;
	}
}












.topRankingList{
	margin:40px auto 0;
	width:100%;
	display:flex;
	justify-content:left;
	align-items:stretch;
	flex-wrap:wrap;
	--cols:5;
	--gap:15px;
	gap:40px var(--gap);
}
@media (width<=1200px){
	.topRankingList{
		--cols:4;
	}
}
@media (width<=960px){
	.topRankingList{
		--cols:3;
	}
}
.topRankingItem{
	--cut:10px;
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	width:calc(100% / var(--cols) - var(--gap) * (var(--cols) - 1) / var(--cols));
	display:block;
}
.topRankingItemImage{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	position:relative;
	overflow:hidden;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
}
.topRankingItemImage img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
}
.topRankingItemImage::after{
	position:absolute;
	left:0;
	top:0;
	width:50px;
	height:50px;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:26px;
	line-height:1;
	font-weight:bold;
	color:var(--color-white);
	white-space:nowrap;
	background:var(--color-black);
	clip-path:polygon(0% 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%);
}
.topRankingItem:nth-child(1) .topRankingItemImage::after{content:"1";background:#B39841}
.topRankingItem:nth-child(2) .topRankingItemImage::after{content:"2";background:#93B3B3}
.topRankingItem:nth-child(3) .topRankingItemImage::after{content:"3";background:#B37241}
.topRankingItem:nth-child(4) .topRankingItemImage::after{content:"4"}
.topRankingItem:nth-child(5) .topRankingItemImage::after{content:"5"}
.topRankingItem:nth-child(6) .topRankingItemImage::after{content:"6"}
.topRankingItem:nth-child(7) .topRankingItemImage::after{content:"7"}
.topRankingItem:nth-child(8) .topRankingItemImage::after{content:"8"}
.topRankingItem:nth-child(9) .topRankingItemImage::after{content:"9"}
.topRankingItem:nth-child(10) .topRankingItemImage::after{content:"10"}
.topRankingItemName{
	display:block;
	margin:15px 0 0 0;
	font-size:20px;
	font-weight:bold;
	line-height:1.65;
}
.topRankingItemPrice{
	display:block;
	margin:15px 0 0 0;
	font-size:18px;
	line-height:1.65;
}

@media (width<=768px){
	.topRankingList{
		margin:20px auto 0;
		max-width:var(--contentNarrowWidth);
		--cols:1;
		gap:20px;
	}
	.topRankingItem{
		--cut:10px;
		width:100%;
	}
	.topRankingItemImage::after{
		width:50px;
		height:50px;
		font-size:26px;
	}
	.topRankingItemName{
		margin:10px 0 0 0;
		font-size:18px;
	}
	.topRankingItemPrice{
		margin:4px 0 0 0;
		font-size:16px;
	}
}











.interval{
	height:auto;
	aspect-ratio:1400 / 360;
	overflow:hidden;
}
.interval img{
	display:block;
	width:100%;
	height:100%;
}
@media (width<=768px){
	.interval{
		aspect-ratio:375 / 240;
	}
}















.supportList{
	margin:40px 0 0;
	width:100svw;
	position:relative;
	left:calc(50% - 50svw);
	border-top:1px solid var(--color-gray);
	border-bottom:1px solid var(--color-gray);
	display:flex;
	justify-content:center;
	align-items:stretch;
}
.supportListItem{
	width:min(320px,33.33%);
	border-left:1px solid var(--color-gray);
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	padding:44px 5px;
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	position:relative;
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
	white-space:nowrap;
}
@media (width>768px){
	.supportList:has(.supportListItem:nth-child(2):last-child) .supportListItem{
		width:min(500px,50%);
	}
}
.supportListItem:last-child{
	border-right:1px solid var(--color-gray);
}
.supportListItem > span{
	display:block;
}
.supportListItem > img{
	display:block;
	width:53px;
	height:40px;
	margin-bottom:10px;
}
.supportListItem .arrowSquare{
	--cut:10px;
	width:40px;
	height:40px;
	position:absolute;
	right:0;
	bottom:0;
	background:var(--color-main);
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
}
.supportListItem .arrowSquare::after{
	width:50%;
	height:50%;
}
@media (width<=768px){
	.supportList{
		margin:20px 0 0;
		width:100%;
		position:static;
		left:auto;
		border-top:none;
		border-bottom:none;
		display:block;
	}
	.supportListItem{
		width:100%;
		border:1px solid var(--color-gray);
		border-bottom:none;
		flex-direction:row;
		align-items:center;
		font-size:18px;
	}
	.supportListItem img{
		margin:0 0.5em 0 0;
	}
	.supportListItem:last-child{
		border-bottom:1px solid var(--color-gray);
	}
}


















.faqGroup{
	margin:60px auto 0;
	max-width:930px;
}
.faqGroupHeader{
	--cut:15px;
	--offset:35%;
	margin-bottom:20px;
	width:100%;
	height:67px;
	display:flex;
	justify-content:left;
	align-items:center;
	padding:0 24px;
	background:var(--color-text);
	color:var(--color-white);
	font-size:20px;
	line-height:1;
	font-weight:bold;
	white-space:nowrap;
	clip-path:polygon(0% 0%,var(--offset) 0%,calc(var(--offset) + var(--cut)) var(--cut),100% var(--cut),100% 100%,0% 100%);
}
.faqQuestion{
	--pad:14px;
	--fontSize:18px;
	--lineHeight:1.65;
	padding:var(--pad) 40px var(--pad) 1.5em;
	display:block;
	font-size:var(--fontSize);
	line-height:var(--lineHeight);
	font-weight:bold;
	position:relative;
}
.faqQuestion::before{
	content:"Q.";
	position:absolute;
	left:0;
	top:var(--pad);
	color:var(--color-main);
}
.faqQuestion::after{
	content:"";
	position:absolute;
	width:15px;
	height:15px;
	right:20px;
	top:calc(50% - 15px * 0.5);
	background:var(--color-text);
	clip-path:polygon(75.59% 33.59%, 50% 59.18%, 24.41% 33.59%, 18.47% 39.53%, 50% 71.06%, 81.53% 39.53%);
}
.faqQuestion.active::after{
	clip-path:polygon(24.41% 66.41%, 50% 40.82%, 75.59% 66.41%, 81.53% 60.47%, 50% 28.94%, 18.47% 60.47%);
}
.alwaysOpen .faqQuestion{
	padding-right:1.5em;
}
.alwaysOpen .faqQuestion::after{
	content:none;
}
.faqAnswerContent{
	background:var(--color-gray2);
	padding:15px 2.5%;
	font-size:18px;
	line-height:1.65;
	margin-bottom:20px;
}

@media (width<=768px){
	.faqGroup{
		margin:40px auto 0;
		max-width:100%;
	}
	.faqGroupHeader{
		--cut:10px;
		--offset:45%;
		margin-bottom:10px;
		height:58px;
		padding:0 14px;
		font-size:18px;
	}
	.faqQuestion{
		--pad:10px;
		--fontSize:16px;
		--lineHeight:1.65;
	}
	.faqAnswerContent{
		padding:14px;
		font-size:16px;
		line-height:1.65;
		margin-bottom:15px;
	}
}


























section#itemDetail-wrap .description{
	margin:0;
	padding:80px 0 80px 0;
}
section#itemDetail-wrap .description:has(.section:last-child){
	padding-bottom:0;
}




.sidePart{
	--cut:30px;
	margin:40px auto 0;
	width:100%;
	max-width:1080px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.sidePart:nth-of-type(odd){
	flex-direction:row-reverse;
}
.sidePartImage,
.sidePartMessage{
	flex-shrink:0;
	width:48%;
	position:relative;
}
.sidePartImage{
	height:365px;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
.sidePartImage img{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	object-fit:cover;
}
.sidePartTitle{
	font-size:26px;
	font-weight:bold;
}
.sidePartText{
	width:100%;
}
.sidePartText:not(:first-child){
	margin-top:20px;
}
.sidePartNote{
	margin:10px 0 0 !important;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.sidePartNote li{
	list-style:none !important;
	font-size:16px;
	line-height:1.6;
	position:relative;
	padding-left:1.5em;
}
.sidePartNote li::before{
	content:"\203B";
	position:absolute;
	left:0;
	top:0;
}
.sidePartNote li::marker{
	display:none !important;
}
@media (width<=768px){
	.sidePart{
		--cut:20px;
		display:block;
	}
	.sidePartImage,
	.sidePartMessage{
		width:100%;
	}
	.sidePartImage{
		aspect-ratio:335 / 236;
		height:auto;
	}
	.sidePartMessage{
		margin-top:12px;
	}
	.sidePartTitle{
		font-size:22px;
	}
	.sidePartTitle.forMobile{
		font-size:18px;
		margin-bottom:0.7em;
	}
	.sidePartText:not(:first-child){
		margin-top:12px;
	}
	.sidePartNote{
		margin:10px 0 0 !important;
		gap:5px;
	}
	.sidePartNote li{
		font-size:14px;
	}
}











.productTable{
	--border:#cccccc;
	margin-top:40px;
	width:100%;
	border:1px solid var(--border);
}
.productTable dl:not(:last-child){
	border-bottom:1px solid var(--border);
}
.productTable dl{
	width:100%;
	min-height:60px;
	display:flex;
	align-items:stretch;
}
.productTable dt{
	flex-shrink:0;
	width:max(25%,200px);
	font-size:18px;
	font-weight:bold;
	align-content:center;
	text-align:center;
	background:#eeeeee;
	border-right:1px solid var(--border);
	padding:0.65em 20px;
}
.productTable dd{
	width:100%;
	font-size:18px;
	align-content:center;
	text-align:left;
	padding:0.65em 30px;
}
@media (width<=768px){
	.productTable{
		margin-top:30px;
	}
	.productTable dl:not(:last-child){
		border:none;
	}
	.productTable dl{
		min-height:0;
		display:block;
	}
	.productTable dt{
		width:100%;
		padding:0.5em 15px;
		text-align:left;
		border-right:none;
		border-bottom:1px solid var(--border);
	}
	.productTable dd{
		width:100%;
		padding:0.5em 15px;
	}
	.productTable dl:not(:last-child) dd{
		border-bottom:1px solid var(--border);
	}
}







.productStepList{
	margin:40px 0 0 0;
	width:100%;
	display:flex;
	justify-content:left;
	align-items:stretch;
	flex-wrap:wrap;
	--cols:3;
	--gap:3%;
	gap:40px var(--gap);
}
@media (width<=960px){
	.productStepList{
		--cols:2;
	}
}
.productStepListItem{
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	width:calc(100% / var(--cols) - var(--gap) * (var(--cols) - 1) / var(--cols));
	display:block;
}
.productStepListItemImage{
	--cut:10px;
	width:100%;
	height:auto;
	display:block;
	position:relative;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% 100%,0% 100%,0% var(--cut));
}
.productStepListItemImage i{
	width:auto;
	min-width:100px;
	max-width:70%;
	height:auto;
	min-height:50px;
	display:flex;
	justify-content:center;
	align-items:baseline;
	padding:10px;
	background:var(--color-text);
	color:white;
	position:absolute;
	left:0;
	top:0;
	font-size:16px;
	line-height:1.35;
	font-weight:bold;
	font-style:normal;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
.productStepListItemImage i u{
	text-decoration:none;
	font-size:130%;
	font-style:inherit;
	font-weight:inherit;
}
.productStepListItemText{
	margin-top:15px;
	display:block;
	font-size:18px;
	font-weight:bold;
	line-height:1.65;
}
@media (width<=768px){
	.productStepList{
		margin:30px auto 0;
		--cols:1;
		gap:30px 0;
	}
	.productStepListItemImage i{
		min-width:80px;
		min-height:35px;
		font-size:14px;
	}
	.productStepListItemText{
		margin-top:10px;
		font-size:16px;
	}
}






#itemDetail-cont{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:5%;
}
#itemDetail-cont > form{
	display:contents;
}
#itemDetail-cont .itemThumb-wrap{
	float:none;
	width:100%;
	margin:0;
}
#itemDetail-cont .itemOutline{
    float:none;
    width:450px;
	flex-shrink:0;
}
@media (width<=960px){
	#itemDetail-cont{
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
		gap:40px;
	}
	#itemDetail-cont .itemThumb-wrap{
		width:100%;
		max-width:550px;
		margin:0 auto;
	}
	#itemDetail-cont .itemOutline{
		width:100%;
		max-width:550px;
		margin:0 auto;
	}
}


ul.infoArea:not(:has(li)){
	display:none;
}

section#itemDetail-wrap .description > p{
    display:contents;
	margin:0;
	padding:0;
	font-size:inherit;
	line-height:inherit;
}

section.userreview{
	margin-left:auto;
	margin-right:auto;
	max-width:960px;
}
















body:has(#Journal) #bread-crumb,
#Journal > h1,
#Journal > article h2:not(.sectionTitle),
#Journal .state_r{
	display:none !important;
}
#Journal,
#Journal > article,
#Journal .journal-cont{
	display:contents !important;
	margin:0 !important;
	padding:0 !important;
}




.breadcrumbs{
	--gap:24px;
	width:100%;
	display:flex;
	justify-content:left;
	gap:var(--gap);
}
.breadcrumbs > *{
	display:block;
	--color:var(--color-text);
	--text-decoration:none;
	color:var(--color-text);
	text-decoration:none;
	position:relative;
	font-size:14px;
	line-height:1.6;
}
.breadcrumbs > a::after{
	content:"";
	width:1px;
	height:1.2em;
	position:absolute;
	left:calc(100% + var(--gap) * 0.5);
	top:50%;
	transform:translate(-50%,-50%) rotate(45deg);
	background:var(--color-text);
	pointer-events:none;
}
@media (width<=768px){
	.breadcrumbs > *{
		font-size:12px;
	}
}










:root{
	--freepageTitlePad:15px;
}
.freepageTitle{
	margin:60px 0 0 0;
	width:fit-content;
	max-width:100%;
	font-size:46px;
	font-weight:bold;
	line-height:1.3;
	padding-left:var(--freepageTitlePad);
	padding-bottom:7px;
	position:relative;
	border-bottom:1px solid #4d4d4d;
}
.freepageTitle::before{
	content:"";
	width:5px;
	height:calc(100% - 7px);
	background:var(--color-main);
	position:absolute;
	left:0;
	top:0;
}
.freepageTitleMessage{
	margin-top:30px;
	font-size:18px;
	padding-left:var(--freepageTitlePad);
}

@media (width<=768px){
	:root{
		--freepageTitlePad:10px;
	}
	.freepageTitle{
		margin:30px 0 0 0;
		font-size:28px;
		padding-bottom:7px;
	}
	.freepageTitle::before{
		width:3px;
		height:calc(100% - 7px);
	}
	.freepageTitleMessage{
		margin-top:20px;
		font-size:16px;
		padding-left:0;
	}
}
















.deliveryStepList{
	--gap:60px;
	margin-top:40px;
	width:100%;
	display:flex;
	flex-direction:column;
	gap:var(--gap);
}
.deliveryStepListItem{
	display:flex;
	align-items:flex-start;
	gap:5%;
}
.deliveryStepListItemImage{
	--cut:30px;
	width:40%;
	position:relative;
}
.deliveryStepListItemImage img{
	width:100%;
	height:auto;
	display:block;
	z-index:2;
	position:relative;
	clip-path:polygon(var(--cut) 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%,0% var(--cut));
}
.deliveryStepListItem:not(:last-child) .deliveryStepListItemImage::after{
	content:"";
	width:10px;
	height:calc(200% + var(--gap));
	position:absolute;
	left:50%;
	top:0;
	transform:translatex(-50%);
	background:var(--color-main);
	z-index:1;
}
.deliveryStepListItemText{
	width:55%;
}
.deliveryStepListItemTitle{
	display:flex;
	align-items:center;
	gap:15px;
	font-size:22px;
	font-weight:bold;
	line-height:1.35;
}
.deliveryStepListItemTitle i{
	--cut:10px;
	width:100px;
	height:50px;
	display:flex;
	justify-content:center;
	align-items:baseline;
	padding:10px;
	background:var(--color-text);
	color:white;
	font-size:16px;
	line-height:1.35;
	font-weight:bold;
	font-style:normal;
	clip-path:polygon(0% 0%,100% 0%,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0% 100%);
}
.deliveryStepListItemTitle i u{
	text-decoration:none;
	font-size:130%;
	font-style:inherit;
	font-weight:inherit;
}
.deliveryStepListItemMessage{
	margin-top:20px;
}

@media (width<=768px){
	.deliveryStepList{
		--gap:30px;
		margin-top:30px;
	}
	.deliveryStepListItem{
		flex-direction:column;
		gap:15px;
	}
	.deliveryStepListItemImage{
		--cut:20px;
		width:100%;
	}
	.deliveryStepListItem:not(:last-child) .deliveryStepListItemImage::after{
		content:none;
	}
	.deliveryStepListItemText{
		width:100%;
	}
	.deliveryStepListItemTitle{
		gap:10px;
		font-size:18px;
	}
	.deliveryStepListItemTitle i{
		width:80px;
		height:35px;
		padding:4px;
		font-size:14px;
	}
	.deliveryStepListItemMessage{
		margin-top:15px;
	}
}























.informationPanel{
	margin:40px auto 0;
	max-width:920px;
}
.informationPanel + .informationPanel{
	margin-top:20px;
}
.informationPanel .accordionSwitch{
	font-size:18px;
	line-height:28px;
	font-weight:bold;
	padding-left:28px;
	position:relative;
}
.informationPanel .accordionSwitch::before{
	content:"";
	width:28px;
	height:28px;
	display:block;
	position:absolute;
	left:0;
	top:0;
	background:var(--color-main);
	clip-path:polygon(34.184% 23.816%, 60.368% 50%, 34.184% 76.184%, 38.936% 80.936%, 69.872% 50%, 38.936% 19.064%);
}
.informationPanel .accordionSwitch.active:not(.always)::before{
	clip-path:polygon(23.816% 65.816%, 50% 39.632%, 76.184% 65.816%, 80.936% 61.064%, 50% 30.128%, 19.064% 61.064%);
}
.informationPanelContent{
	margin-top:10px;
	padding:15px 22px;
	background:var(--color-gray2);
}















.attension .content{
	display:flex;
	align-items:flex-start;
	gap:15px;
}
.attension img{
	width:48px;
	height:auto;
	display:block;
	flex-shrink:0;
}
.attensionMessage{
	width:100%;
	font-size:22px;
	font-weight:bold;
	color:var(--color-main);
}
.attensionMessage u{
	display:inline-block;
	text-decoration:none;
}
@media (width<=768px){
	.attension .content{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:15px;
	}
	.attensionMessage{
		width:100%;
		font-size:18px;
	}
	.attensionMessage u{
		display:inline;
	}
}

.supportNote .content{
	background:var(--color-gray2);
	padding:20px;
}
.supportNoteTitle{
	font-size:22px;
	font-weight:bold;
}
.supportNoteMessage{
	margin-top:20px;
	font-size:18px;
}
.supportNoteMessage a{
	color:var(--color-main);
	font-weight:bold;
}
@media (width<=768px){
	.supportNoteTitle{
		font-size:18px;
	}
	.supportNoteMessage{
		margin-top:15px;
		font-size:16px;
	}
}












.companyTable{
	width:100%;
	max-width:1000px;
	margin:60px auto 0;
}
.companyTable dl{
	display:flex;
	align-items:flex-start;
	gap:5%;
}
.companyTable dl + dl{
	margin-top:40px;
}
.companyTable dt{
	width:200px;
	font-size:18px;
	font-weight:bold;
	flex-shrink:0;
}
.companyTable dd{
	width:100%;
	font-size:18px;
}
.companyMap{
	margin-top:20px;
	width:100%;
	height:400px;
	position:relative;
	overflow:hiden;
}
.companyMap iframe{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	border:none;
}
@media (width<=768px){
	.companyTable{
		margin:20px auto 0;
	}
	.companyTable dl{
		flex-direction:column;
		gap:5px;
	}
	.companyTable dl + dl{
		margin-top:20px;
	}
	.companyTable dt{
		width:100%;
		font-size:16px;
	}
	.companyTable dd{
		width:100%;
		font-size:16px;
	}
	.companyMap{
		margin-top:15px;
		width:100%;
		height:200px;
	}
}











.staffMessageContent{
	margin-top:40px;
	width:100%;
	display:flex;
	align-items:flex-start;
	gap:6%;
}
.staffMessageImage{
	width:44%;
	height:auto;
	display:block;
	flex-shrink:0;
}
.staffMessageText{
	width:100%;
}
.staffMessageTitle{
	font-size:26px;
	font-weight:bold;
}
.staffMessageBody{
	margin-top:15px;
	font-size:18px;
}
.staffMessageAuthor{
	margin-top:80px;
	font-size:18px;
	text-align:right;
}
@media (width<=768px){
	.staffMessageContent{
		margin-top:30px;
		width:100%;
		flex-direction:column;
		gap:20px;
	}
	.staffMessageImage{
		width:100%;
	}
	.staffMessageTitle{
		font-size:22px;
	}
	.staffMessageBody{
		margin-top:15px;
		font-size:16px;
	}
	.staffMessageAuthor{
		margin-top:30px;
		font-size:16px;
	}
}







body:not(:has(.breadcrumbs)) .topAttention{
	margin-top:calc(var(--sectionPadding) * -1)
}
.topAttention .content{
	border:1px solid var(--color-main);
	padding:50px;
	background:#90000013;
}
.topAttentionsList{
	margin:40px 0 0 !important;
	padding:0;
	list-style:none !important;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.topAttentionsList li{
	list-style:none !important;
	font-size:18px;
	position:relative;
	padding-left:1.5em;
}
.topAttentionsList li::before{
	content:"\203B";
	position:absolute;
	left:0;
	top:0;
}
.topAttentionsList a{
	font-weight:bold;
	--color:var(--color-main);
}
@media (width<=768px){
	.topAttention .content{
		padding:20px;
	}
	.topAttention .sectionTitle{
		width:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
		text-align:center;
	}
	.topAttention .sectionTitle span{
		margin:0 auto;
	}
	.topAttentionsList{
		margin:30px 0 0 !important;
		gap:10px;
	}
	.topAttentionsList li{
		font-size:16px;
	}
}







article#Detail #main-column h1{
	font-size:135%;
	font-weight:bold;
}






.lineInfo{
	display:flex;
	margin:40px 0 0;
	align-items:center;
	gap:20px;
	--text-decoration:none;
	--color:var(--color-text);
	font-size:18px;
}
.lineInfo > img{
	width:250px;
	height:auto;
	display:block;
}
@media (width<=768px){
	.lineInfo{
		--text-decoration:underline;
		font-size:16px;
	}
	.lineInfo > img{
		width:80px;
	}
}





.supportAccessTelLink{
	--text-decoration:none;
	color:var(--color-text);
	display:flex;
	align-items:baseline;
	font-size:18px;
	font-weight:bold;
	margin-bottom:5px;
}
.supportAccessTelLink u{
	font-size:120%;
	text-decoration:inherit;
	color:var(--color-main);
}
@media (width<=768px){
	.supportAccessTelLink{
		flex-direction:column;
		margin-bottom:15px;
	}
}


















body #main-column .ranking h2::before{
	content:none;
}
section > .ranking h2{
	margin-bottom:30px !important;
}
.ranking a{
	text-decoration:none;
}











.oldModelDifference{
	margin-top:60px;
	display:flex;
	gap:30px 5%;
	flex-wrap:wrap;
	align-items:center;
}
.oldModelDifferenceTitle{
	width:100%;
	font-size:26px;
	font-weight:bold;
	text-align:center;
}
.oldModelDifferenceImage{
	width:47.5%;
}
.oldModelDifferenceImage img{
	width:100%;
	height:auto;
	display:block;
}
.oldModelDifferenceText{
	width:47.5%;
	font-size:20px;
	font-weight:bold;
}
.oldModelDifferenceText ul{
	margin:0 !important;
	list-style:none;
}
.oldModelDifferenceText ul li{
	padding-left:1.2em;
	position:relative;
	list-style:none;
	list-style-type:none !important;
}
.oldModelDifferenceText ul li::before{
	content:"";
	width:0.5em;
	height:0.5em;
	position:absolute;
	left:0;
	top:calc(1.6em * 0.5);
	transform:translatey(-50%);
	border-radius:50%;
	background:var(--color-main);
}
@media (width<=768px){
	.oldModelDifference{
		margin-top:30px;
		display:block;
	}
	.oldModelDifferenceTitle{
		font-size:20px;
	}
	.oldModelDifferenceImage{
		margin-top:20px;
		width:100%;
	}
	.oldModelDifferenceText{
		margin-top:15px;
		width:100%;
		font-size:16px;
	}
}














.subcategoryNav{
	display:flex;
	flex-wrap:wrap;
	gap:5px 10px;
	width:100%;
	margin:40px 0 30px;
}
.subcategoryNav > a{
	display:flex;
	justify-content:left;
	align-items:center;
	width:250px;
	height:45px;
	font-size:16px;
	line-height:1.5;
	padding:0 30px 0 15px;
	--cut:10px;
	--color:var(--color-text);
	--text-decoration:none;
	background:var(--color-gray2);
	clip-path: polygon(var(--cut) 0%, 100% 0%, 100% 100%, 0% 100%, 0% var(--cut));
	position:relative;
}
.subcategoryNav > a .arrowSquare{
	width:16px;
	position:absolute;
	right:10px;
	top:50%;
	transform:translatey(-50%);
}
@media (width<=768px){
	.subcategoryNav > a{
		width:calc(50% - 5px);
		min-width:0;
	}
}






















section#itemDetail-wrap table.spec .option_area th,
section#itemDetail-wrap table.spec .option_area td{
	padding-top:10px;
	padding-bottom:10px;
}
.option_area select,
.option_area input{
	font-size:16px;
}
.option_area .option_comment{
	margin-bottom:10px;
}

