@import url('https://fonts.googleapis.com/css?family=Montserrat:400');
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* CSS Variables */
:root {
	--base-font-size: 16;
	--rem-font-size: 16px;
	--font-title: var(--font-poppins, 'Poppins'), 'Helvetica', sans-serif;
}

@media screen and (max-width: 1024px) {
	:root {
		--rem-font-size: calc(16 / 1024 * 100vw);
	}
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	:root {
		--rem-font-size: calc(16 / 375 * 100vw);
	}
}

/* Section Headers */
.section-header {
	font-family: var(--font-title);
	font-weight: 700;
	line-height: 110%;
	font-size: 2rem;
	font-size: calc(28 / var(--base-font-size) * var(--rem-font-size)) !important;
	margin-bottom: calc(40 / var(--base-font-size) * var(--rem-font-size)) !important;
	text-align: center !important;
	letter-spacing: 0.2em !important;
}

/* Top Main Image - Full Width Hero */
.top-mainimage {
	width : 100%;
	position : relative;
}

.mainimage-area {
	width : 100%;
	position : relative;
	overflow : hidden;
}

.mainimage-area img {
	width : 100%;
	height : auto;
	display : block;
	object-fit : cover;
}

.mainimage-logo {
	position : absolute;
	top : 50%;
	left : 50%;
	transform : translate(-50%, -50%);
	z-index : 10;
}

.mainimage-area .mainimage-logo img {
	width : 338px !important;
	height : auto !important;
	max-width : none !important;
	object-fit : contain !important;
}

@media screen and (max-width: 767px) {
	.mainimage-area .mainimage-logo img {
		width : 210px !important;
	}
}

.view-pc {
	display : block;
}

.view-sp {
	display : none;
}

@media screen and (max-width: 767px) {
	.view-pc {
		display : none;
	}
	
	.view-sp {
		display : block;
	}
}

.mainimage-description {
	width : 100%;
	background-color : #ffffff;
	padding : 60px 20px;
	text-align : center;
}

.mainimage-description p {
	color : #333333;
	font-size : 16px;
	line-height : 1.8;
	margin : 0;
	max-width : 1200px;
	margin-left : auto;
	margin-right : auto;
}

.mainimage-description .scroll-down-arrow {
	display : block;
	margin : 30px auto 0;
	padding : 0;
	background : none;
	border : none;
	cursor : pointer;
	color : #000000;
	transition : transform 0.3s ease, opacity 0.3s ease;
}

.mainimage-description .scroll-down-arrow:hover {
	transform : translateY(5px);
	opacity : 0.7;
}

.mainimage-description .scroll-down-arrow:active {
	transform : translateY(8px);
}

.mainimage-description .scroll-down-arrow svg {
	display : block;
	margin : 0 auto;
}

@media screen and (max-width: 767px) {
	.mainimage-description .scroll-down-arrow {
		margin : 20px auto 0;
	}
	
	.mainimage-description .scroll-down-arrow svg {
		width : 20px;
		height : 20px;
	}
}

@media screen and (max-width: 767px) {
	.mainimage-description {
		padding : 40px 20px;
	}
	
	.mainimage-description p {
		font-size : 14px;
		line-height : 1.6;
	}
}
#loading {
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	z-index : 0;
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
	background : #f0f0f0;
	z-index : 999;
	pointer-events : none;
	/* Luminous Circles */
}

#loading.is-load {
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

#loading.is-ready {
	opacity : 0 !important;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	-webkit-transition : opacity 1s ease;
	        transition : opacity 1s ease;
}

#loading .pl-circles {
	position : absolute;
	top : 0;
	left : 0;
	width : 100vw;
	height : 100vh;
	text-align : center;
}

#loading .pl-circles .loader {
	position : absolute;
	top : 45%;
	left : 50%;
	-webkit-transform : translate(-50%, -50%);
	    -ms-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
	width : 100px;
	height : 60px;
}

#loading .pl-circles .loader span, #loading .pl-circles .loader:before, #loading .pl-circles .loader:after {
	position : absolute;
	display : block;
	width : 15px;
	height : 15px;
	border-radius : 50%;
	opacity : 0.2;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=20)';
	background : #a0a0a0;
}

#loading .pl-circles .loader span {
	top : 50%;
	left : 50%;
	-webkit-transform : translate(-50%, -50%);
	    -ms-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
	-webkit-animation : lightUp 1.5s linear infinite 0.5s;
	        animation : lightUp 1.5s linear infinite 0.5s;
}

#loading .pl-circles .loader:before, #loading .pl-circles .loader:after {
	content : '';
}

#loading .pl-circles .loader:before {
	top : 50%;
	left : 0;
	-webkit-transform : translate(0, -50%);
	    -ms-transform : translate(0, -50%);
	        transform : translate(0, -50%);
	-webkit-animation : lightUp 1.5s linear infinite;
	        animation : lightUp 1.5s linear infinite;
}

#loading .pl-circles .loader:after {
	top : 50%;
	right : 0;
	-webkit-transform : translate(0, -50%);
	    -ms-transform : translate(0, -50%);
	        transform : translate(0, -50%);
	-webkit-animation : lightUp 1.5s linear infinite 1s;
	        animation : lightUp 1.5s linear infinite 1s;
}

@-webkit-keyframes lightUp {
	0% {
		opacity : 0.2;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=20)';
	}
	40% {
		opacity : 1;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
	}
	60% {
		opacity : 0.2;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=20)';
	}
	100% {
		opacity : 0.2;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=20)';
	}
}

/* Slider */
.slick-slider {
	position : relative;
	display : block;
	-webkit-box-sizing : border-box;
	        box-sizing : border-box;
	-webkit-touch-callout : none;
	-webkit-user-select : none;
	   -moz-user-select : none;
	    -ms-user-select : none;
	        user-select : none;
	-ms-touch-action : pan-y;
	    touch-action : pan-y;
	-webkit-tap-highlight-color : transparent;
}

.slick-list {
	position : relative;
	overflow : hidden;
	display : block;
	margin : 0;
	padding : 0;
}

.slick-list:focus {
	outline : none;
}

.slick-list.dragging {
	cursor : pointer;
	cursor : hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform : translate3d(0, 0, 0);
	    -ms-transform : translate3d(0, 0, 0);
	        transform : translate3d(0, 0, 0);
}

.slick-track {
	position : relative;
	left : 0;
	top : 0;
	display : block;
	margin-left : auto;
	margin-right : auto;
}

.slick-track:before, .slick-track:after {
	content : '';
	display : table;
}

.slick-track:after {
	clear : both;
}

.slick-loading .slick-track {
	visibility : hidden;
}

.slick-slide {
	float : left;
	height : 100%;
	min-height : 1px;
	display : none;
}

[dir='rtl'] .slick-slide {
	float : right;
}

.slick-slide img {
	display : block;
}

.slick-slide.slick-loading img {
	display : none;
}

.slick-slide.dragging img {
	pointer-events : none;
}

.slick-initialized .slick-slide {
	display : block;
}

.slick-loading .slick-slide {
	visibility : hidden;
}

.slick-vertical .slick-slide {
	display : block;
	height : auto;
	border : 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display : none;
}

#body_inner {
	position : relative;
}

#body_inner:after {
	content : '';
	display : block;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	background : #fff;
	z-index : 99999;
	-webkit-transition : all 0.8s ease 0.2s;
	        transition : all 0.8s ease 0.2s;
}

#body_inner:before {
	content : '';
	display : block;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	background : #fff;
	z-index : -1;
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	-webkit-transition : all 0.5s ease;
	        transition : all 0.5s ease;
}

#body_inner.is-loaded:after {
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	z-index : -1;
}

#body_inner.is-removing:before {
	opacity : 1;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
	z-index : 99999;
}

#body_inner.is-fixed {
	position : fixed !important;
	width : 100%;
}

.mat-s {
	margin-top : 30px !important;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.mat-s {
		margin-top : 15px !important;
	}
}

.mat-m {
	margin-top : 40px !important;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.mat-m {
		margin-top : 20px !important;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.mat-l-sp {
		margin-top : 50px !important;
	}
}

.sub {
	font-size : 50%;
}

[data-js-fixed].is-stop {
	position : fixed;
	top : 0 !important;
	-webkit-transition : none !important;
	        transition : none !important;
	-webkit-transform : translate3d(0px, 0px, 0px) !important;
	        transform : translate3d(0px, 0px, 0px) !important;
}

[data-src] {
	background-repeat : no-repeat;
	background-size : 100% auto;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	background-color : #f0f0f0;
}

[data-pj-mv] {
	position : relative;
	z-index : 99999;
}

.m-box-headnav {
	position : relative;
}

.m-box-headnav .headnav-area {
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	background : rgba(0, 0, 0, 0.75);
	z-index : 1000;
}

.m-box-headnav .headnav-area .headnav-inner {
	margin : 0 40px;
	position : relative;
	*zoom : 1;
}

.m-box-headnav .headnav-area .headnav-inner:after {
	content : ' ';
	display : table;
	clear : both;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner {
		width : auto;
		margin : 0 20px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-logo {
	float : left;
	padding : 32px 0;
	line-height : 0.1;
	position : relative;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo {
		float : none;
		padding : 40px 0;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo {
		padding : 20px 0;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-logo a {
	display : inline-block;
	margin-top : -13px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo a {
		margin-top : -20px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo a {
		margin-top : -10px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-logo img {
	width : 123px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo img {
		width : 172px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo img {
		width : 86px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-logo.has-ttl .logo-ttl {
	position : absolute;
	left : 153px;
	bottom : 25px;
	display : block;
	color : #fff;
	line-height : 1.7;
	padding-left : 30px;
	font-size : 18.56px;
	font-size : 1.16rem;
	font-family : 'Montserrat', sans-serif;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-logo.has-ttl .logo-ttl:before {
	content : '';
	display : inline-block;
	width : 1px;
	height : 16px;
	background : #fff;
	position : absolute;
	left : 0;
	top : 50%;
	margin-top : -8px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-logo.has-ttl .logo-ttl {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu {
	float : right;
	font-family : 'Montserrat', sans-serif;
	color : #fff;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu {
		float : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger {
	display : none;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger {
		display : block;
		position : absolute;
		top : 0;
		right : -17px;
		width : 100px;
		height : 100px;
		cursor : pointer;
		-webkit-transition : all 0.3s ease-in-out;
		        transition : all 0.3s ease-in-out;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span {
		position : absolute;
		top : 50%;
		left : 50%;
		width : 28px;
		height : 4px;
		margin-left : -14px;
		background-color : #fff;
		display : inline-block;
		-webkit-transition : all 0.3s ease-in-out;
		        transition : all 0.3s ease-in-out;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(1) {
		margin-top : -12px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(2) {
		margin-top : -2px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(3) {
		margin-top : 8px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger.is-active > span:nth-of-type(1) {
		margin-top : 0 !important;
		-webkit-transform : rotateZ(45deg);
		    -ms-transform : rotate(45deg);
		        transform : rotateZ(45deg);
		transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, -webkit-transform 0.25s ease 0.36s;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger.is-active > span:nth-of-type(2) {
		-webkit-transition : 0.2s ease 0.1s;
		        transition : 0.2s ease 0.1s;
		opacity : 0;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger.is-active > span:nth-of-type(3) {
		margin-top : 0 !important;
		-webkit-transform : rotateZ(-45deg);
		    -ms-transform : rotate(-45deg);
		        transform : rotateZ(-45deg);
		-webkit-transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, -webkit-transform 0.25s ease 0.36s;
		        transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, -webkit-transform 0.25s ease 0.36s;
		        transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s;
		        transition : margin 0.2s cubic-bezier(0.36, 0, 0.59, 0.99) 0.1s, transform 0.25s ease 0.36s, -webkit-transform 0.25s ease 0.36s;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger {
		right : -13px;
		width : 40px;
		height : 50px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span {
		width : 14px;
		height : 2px;
		margin-left : -7px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(1) {
		margin-top : -7px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(2) {
		margin-top : -1px;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-burger > span:nth-of-type(3) {
		margin-top : 5px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list {
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list {
		display : none;
		margin : 0 -20px;
		max-height : calc(100vh - 150px);
		overflow : auto;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li + li {
	margin-left : 80px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li + li {
		margin-left : 30px;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li + li {
		margin-left : 0;
		border-top : 1px solid #fff;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item {
	display : block;
	color : #fff;
	padding : 27px 0 26px;
	position : relative;
	font-size : 16px;
	font-size : 1rem;
	cursor : pointer;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item {
		padding : 10px 20px;
		font-size : 0.9375rem;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item:before {
	content : '';
	display : inline-block;
	position : absolute;
	bottom : 24px;
	left : 50%;
	width : 0;
	height : 2px;
	background : #fff;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item:before {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item:hover {
	text-decoration : none;
}

@media screen and (min-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item:hover:before {
		width : 100%;
		margin-left : -50%;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.is-current:before {
	width : 100%;
	margin-left : -50%;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border {
	padding-right : 14px;
	padding-left : 14px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border {
		padding : 10px 20px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:before {
	background : transparent;
	border : 1px solid #fff;
	top : 20px;
	left : 0;
	right : 0;
	bottom : 20px;
	width : auto;
	height : auto;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:after {
	content : '';
	display : inline-block;
	position : absolute;
	top : 20px;
	left : 0;
	bottom : 20px;
	width : 0;
	background : #fff;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:after {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border span {
	display : inline-block;
	position : relative;
	z-index : +1;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border span {
		display : block;
		text-align : center;
		border : 1px solid #fff;
		padding : 5px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:hover {
	color : #262626;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:hover:before {
	width : auto;
	margin-left : 0;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-item.border:hover:after {
	width : 100%;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop {
	display : block;
	position : relative;
	padding-right : 18px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop:after {
	content : '';
	display : inline-block;
	width : 1px;
	height : 1px;
	border-top : 6px solid #fff;
	border-left : 5px solid transparent;
	border-right : 5px solid transparent;
	position : absolute;
	right : 0;
	top : 50%;
	margin-top : -3px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop:after {
		width : 12px;
		height : 2px;
		border : none;
		background : #fff;
		left : auto;
		right : 20px;
		margin-top : -1px;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop:before {
		content : '';
		display : inline-block;
		width : 2px;
		height : 12px;
		background : #fff;
		position : absolute;
		right : 25px;
		top : 50%;
		margin-top : -6px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop.is-open:after {
	-webkit-transform : rotate(180deg);
	    -ms-transform : rotate(180deg);
	        transform : rotate(180deg);
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop.is-open {
		background : #626262;
	}
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop.is-open:before {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-hasdrop.is-open .menu-item:before {
	width : 100%;
	margin-left : -50%;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop {
	position : absolute;
	top : 80px;
	width : 740px;
	left : 50%;
	margin-left : -370px;
	z-index : +1;
	display : none;
	max-height : calc(100vh - 300px);
	overflow : auto;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop {
		position : relative;
		top : auto;
		width : auto;
		left : auto;
		margin : 0;
		padding : 0;
		max-height : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area {
	background : rgba(0, 0, 0, 0.85);
	padding : 40px 85px 40px 50px;
	font-size : 14px;
	font-size : 0.875rem;
	position : relative;
	*zoom : 1;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area:after {
	content : ' ';
	display : table;
	clear : both;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area {
		padding : 10px 0;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : 40px;
	left : 370px;
	width : 1px;
	bottom : 40px;
	background : rgba(255, 255, 255, 0.5);
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area:before {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl {
	float : left;
	width : 300px;
	padding-top : 10px;
	font-size : 16px;
	font-size : 1rem;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl {
		float : none;
		width : auto;
		padding : 11px 25px 11px 40px;
		font-size : 0.75rem;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl a {
	color : #fff;
	display : inline-block;
	padding-right : 20px;
	position : relative;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl a {
		display : block;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl a:after {
	content : '';
	display : inline-block;
	width : 8px;
	height : 8px;
	border-top : 2px solid #fff;
	border-right : 2px solid #fff;
	-webkit-transform : rotate(45deg);
	    -ms-transform : rotate(45deg);
	        transform : rotate(45deg);
	position : absolute;
	right : 2px;
	top : 50%;
	margin-top : -6px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl a:after {
		display : none;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-ttl.no-link {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu {
	float : right;
	width : 260px;
	font-size : 14px;
	font-size : 0.875rem;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu {
		float : none;
		width : auto;
		font-size : 0.75rem;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul {
	position : relative;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li {
	margin : 0;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li + li {
	margin : 0;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li + li {
		border : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li a {
	display : block;
	color : #fff;
	padding : 11px 20px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li a {
		float : none;
		width : auto;
		padding : 11px 40px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li a:hover {
	background : #626262;
	text-decoration : none !important;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub {
	display : block;
	color : #fff;
	padding : 11px 30px 11px 20px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
	cursor : pointer;
	position : relative;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub {
		padding : 11px 45px 11px 40px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub:after {
	content : '';
	display : inline-block;
	width : 1px;
	height : 1px;
	border-left : 6px solid #fff;
	border-top : 4px solid transparent;
	border-bottom : 4px solid transparent;
	position : absolute;
	right : 10px;
	top : 50%;
	margin-top : -4px;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub:after {
		right : 25px;
		width : 10px;
		height : 2px;
		background : #fff;
		border : none;
		margin-top : -1px;
		-webkit-transition : all 0.3s ease;
		        transition : all 0.3s ease;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub:before {
		content : '';
		display : inline-block;
		width : 2px;
		height : 10px;
		background : #fff;
		position : absolute;
		right : 29px;
		top : 50%;
		margin-top : -5px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub:hover {
	background : #626262;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub.is-open {
	background : #626262;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub.is-open:before {
		display : none;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-hassub.is-open:after {
		-webkit-transform : rotate(180deg);
		    -ms-transform : rotate(180deg);
		        transform : rotate(180deg);
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub {
	position : absolute;
	top : 0;
	right : -335px;
	width : 310px;
	display : none;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub {
		position : relative;
		right : auto;
		width : auto;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub > li a {
		padding-left : 60px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl {
	display : block;
	color : #fff;
	padding : 11px 30px 11px 20px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
	cursor : pointer;
	position : relative;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl {
		padding : 11px 45px 11px 60px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl:after {
	content : '';
	display : inline-block;
	width : 1px;
	height : 1px;
	border-top : 6px solid #fff;
	border-left : 4px solid transparent;
	border-right : 4px solid transparent;
	position : absolute;
	right : 10px;
	top : 50%;
	margin-top : -3px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl:after {
		width : 10px;
		height : 2px;
		background : #fff;
		right : 25px;
		margin-top : -1px;
		border : none;
	}
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl:before {
		content : '';
		display : inline-block;
		width : 2px;
		height : 10px;
		background : #fff;
		position : absolute;
		right : 29px;
		top : 50%;
		margin-top : -5px;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl:hover {
	background : #626262;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl.is-open {
	background : #626262;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl.is-open:after {
	-webkit-transform : rotate(180deg);
	    -ms-transform : rotate(180deg);
	        transform : rotate(180deg);
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-sttl.is-open:before {
		display : none;
	}
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-menu ul li .menu-sub .sub-smenu {
	display : none;
	padding-left : 20px;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-close {
	width : 20px;
	height : 20px;
	position : absolute;
	top : 20px;
	right : 20px;
	cursor : pointer;
	-webkit-transition : all 0.5s ease;
	        transition : all 0.5s ease;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-close:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : 50%;
	left : 50%;
	-webkit-transform : translate(-50%, -50%) rotate(45deg);
	    -ms-transform : translate(-50%, -50%) rotate(45deg);
	        transform : translate(-50%, -50%) rotate(45deg);
	width : 28px;
	height : 2px;
	background : #fff;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-close:after {
	content : '';
	display : inline-block;
	position : absolute;
	top : 50%;
	left : 50%;
	-webkit-transform : translate(-50%, -50%) rotate(-45deg);
	    -ms-transform : translate(-50%, -50%) rotate(-45deg);
	        transform : translate(-50%, -50%) rotate(-45deg);
	width : 28px;
	height : 2px;
	background : #fff;
}

.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-close:hover {
	-webkit-transform : rotate(90deg);
	    -ms-transform : rotate(90deg);
	        transform : rotate(90deg);
}

@media screen and (max-width: 1024px) {
	.m-box-headnav .headnav-area .headnav-inner .headnav-menu .menu-list > li .menu-drop .drop-area .drop-close {
		display : none;
	}
}

.m-box-headnav.is-sticky .headnav-area {
	position : fixed;
}

.benefit-nav ul {
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.benefit-nav ul {
		display : block;
	}
}

.benefit-nav ul li {
	width : 20%;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.benefit-nav ul li {
		width : auto;
	}
}

.benefit-nav ul li a {
	display : block;
	position : relative;
}

.benefit-nav ul li a img {
	width : 100%;
}

.benefit-nav ul li a span {
	display : inline-block;
	color : #fff;
	font-family : 'Montserrat', sans-serif;
	font-size : 24px;
	font-size : 1.5rem;
	text-shadow : 0 0 18px rgba(0, 0, 0, 0.25);
	position : absolute;
	top : 50%;
	left : 50%;
	-webkit-transform : translate(-50%, -50%);
	    -ms-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
}

@media screen and (max-width: 1024px) {
	.benefit-nav ul li a span {
		font-size : 1.2rem;
	}
}

@media screen and (min-width: 1600px) {
	.benefit-nav ul li a span {
		font-size : 1.875rem;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.benefit-nav ul li a span {
		font-size : 1.3125rem;
	}
}

.benefit-nav ul li a:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : 0;
	left : 0;
	right : 0;
	bottom : 0;
	background : rgba(0, 0, 0, 0.5);
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (min-width: 1024px) {
	.benefit-nav ul li a:hover img {
		opacity : 1 !important;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
	}
	.benefit-nav ul li a:hover:before {
		opacity : 0;
		-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
	}
}

.benefit-nav ul li a.is-current:before {
	opacity : 0;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}

.m-pagettl {
	width : 1024px;
	margin : 50px auto 45px;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-pagettl {
		width : auto;
		margin : 22px auto 20px;
	}
}

.m-pagettl h1 {
	font-family : 'Montserrat', sans-serif;
	letter-spacing : 0.05em;
	text-align : center;
	font-size : 36px;
	font-size : 2.25rem;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-pagettl h1 {
		font-size : 1.125rem;
	}
}

a.m-btn-video {
	font-family : 'Montserrat', sans-serif;
	letter-spacing : 0.1em;
	display : inline-block;
	border : 1px solid #000;
	font-size : 16px;
	font-size : 1rem;
	font-weight : bold;
	color : #000;
	padding : 15px 20px;
	min-width : 310px;
	text-align : center;
	position : relative;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (min-width: 1600px) {
	a.m-btn-video {
		padding : 18px 25px;
		font-size : 1.25rem;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	a.m-btn-video {
		display : block;
		width : auto;
		min-width : 10px;
		font-size : 0.875rem;
		padding : 13px 20px;
	}
}

a.m-btn-video:before {
	content : '';
	display : inline-block;
	position : absolute;
	top : 0;
	left : 0;
	bottom : 0;
	width : 0;
	background : #626262;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

a.m-btn-video span {
	display : inline-block;
	position : relative;
	padding-right : 34px;
	/*
		&:after{
			content: '';
			display: inline-block;
			width: 30px;
			height: 30px;
			background: url(../images/i_ar_video_on.png) no-repeat;
			position: absolute;
			right: 0px;
			top: 50%;
			margin-top: -15px;
			transition: all 0.3s ease;
			opacity: 0;
			@include viewSp() {
				width: 22px;
				height: 22px;
				background-size: 22px 22px;
				margin-top: -11px;
			}
		}
		*/
}

@media screen and (min-width: 1600px) {
	a.m-btn-video span {
		padding-right : 42px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	a.m-btn-video span {
		padding-right : 25px;
	}
}

a.m-btn-video span:before {
	content : '';
	display : inline-block;
	width : 1px;
	height : 1px;
	border-left : 14px solid #000;
	border-top : 8px solid transparent;
	border-bottom : 8px solid transparent;
	position : absolute;
	right : 0;
	top : 50%;
	margin-top : -8px;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (min-width: 1600px) {
	a.m-btn-video span:before {
		border-left : 18px solid #000;
		border-top : 10px solid transparent;
		border-bottom : 10px solid transparent;
		margin-top : -9px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	a.m-btn-video span:before {
		border-left : 10px solid #000;
		border-top : 6px solid transparent;
		border-bottom : 6px solid transparent;
		margin-top : -7px;
	}
}

a.m-btn-video.btn-m {
	min-width : 10px;
	width : 100%;
	font-size : 24px;
	font-size : 1.5rem;
	padding : 19px 15px;
}

a.m-btn-video.btn-s {
	min-width : 10px;
	width : auto;
	font-size : 16px;
	font-size : 1rem;
	padding : 10px 15px;
}

a.m-btn-video.btn-s span {
	padding-right : 34px;
}

a.m-btn-video:hover {
	color : #fff;
	border : 1px solid #626262;
}

a.m-btn-video:hover:before {
	width : 100%;
}

a.m-btn-video:hover span:before {
	border-left-color : #fff;
}

.m-box-regionlink a {
	display : block;
	background : #626262;
	color : #fff;
	font-family : 'Montserrat', sans-serif;
	letter-spacing : 0.05em;
	font-size : 24px;
	font-size : 1.5rem;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-regionlink a {
		font-size : 1rem;
	}
}

.m-box-regionlink a span {
	display : block;
	width : 1024px;
	margin : 0 auto;
	text-align : center;
	position : relative;
	padding : 30px 0;
}

@media screen and (max-width: 1024px) {
	.m-box-regionlink a span {
		width : auto;
		margin : 0 20px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-regionlink a span {
		padding : 12px 0;
	}
}

.m-box-regionlink a span:after {
	content : '';
	display : inline-block;
	width : 12px;
	height : 12px;
	border-top : 3px solid #fff;
	border-right : 3px solid #fff;
	position : absolute;
	right : 4px;
	top : 50%;
	margin-top : -6px;
	-webkit-transform : rotate(45deg);
	    -ms-transform : rotate(45deg);
	        transform : rotate(45deg);
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.m-box-regionlink a span:after {
		width : 8px;
		height : 8px;
		margin-top : -4px;
	}
}

.m-box-regionlink a:hover {
	text-decoration : none;
}

@media screen and (min-width: 1024px) {
	.m-box-regionlink a:hover span:after {
		right : -1px;
	}
}

.modal {
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	z-index : 99999;
	display : none;
}

.modal .modal-bg {
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	background : #000;
	opacity : 0.8;
	-ms-filter : 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)';
}

.modal .modal-inner {
	position : absolute;
	top : 50%;
	left : 50%;
	width : 100%;
	height : 100%;
	max-width : 1024px;
	-webkit-transform : translate(-50%, -50%);
	    -ms-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
	z-index : 1;
}

@media screen and (min-width: 1600px) {
	.modal .modal-inner {
		max-width : 1280px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.modal .modal-inner {
		width : 90%;
	}
}

.modal #player {
	position : absolute;
	top : 50%;
	left : 50%;
	width : 90%;
	padding-top : 50%;
	-webkit-transform : translate(-50%, -50%);
	    -ms-transform : translate(-50%, -50%);
	        transform : translate(-50%, -50%);
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.modal #player {
		min-width : 0;
		padding-top : 50%;
	}
}

.modal #player .video-js {
	position : absolute;
	top : 0;
	right : 0;
	width : 100% !important;
	height : 100% !important;
}

.modal #player video {
	position : absolute;
	top : 0;
	right : 0;
	width : 100% !important;
	height : 100% !important;
}

.modal .modal-close {
	position : absolute;
	top : -70px;
	right : 0;
	width : 50px;
	height : 50px;
	z-index : 10;
	-webkit-transform : rotate(45deg);
	    -ms-transform : rotate(45deg);
	        transform : rotate(45deg);
	cursor : pointer;
	-webkit-transition : all 0.5s ease;
	        transition : all 0.5s ease;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.modal .modal-close {
		top : -50px;
		right : 0;
		width : 40px;
		height : 40px;
	}
}

.modal .modal-close:hover {
	-webkit-transform : rotate(135deg);
	    -ms-transform : rotate(135deg);
	        transform : rotate(135deg);
}

.modal .modal-close:before {
	content : '';
	position : absolute;
	top : 25px;
	right : 0;
	width : 100%;
	height : 2px;
	background : #fff;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.modal .modal-close:before {
		top : 20px;
	}
}

.modal .modal-close:after {
	content : '';
	position : absolute;
	top : 0;
	left : 25px;
	width : 2px;
	height : 100%;
	background : #fff;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.modal .modal-close:after {
		left : 20px;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.view-pc {
		display : none !important;
	}
}

.view-sp {
	display : none !important;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.view-sp {
		display : block !important;
	}
}

/* Products Recommend List */
.top-recommend {
	margin : 50px 0;
	width : 100%;
	padding : 0 20px;
	box-sizing : border-box;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.top-recommend {
		margin : 30px 0;
	}
}

/* Removed conflicting styles - now using .section-header class */

/* WASHLET+ Banner - Full Width */
.top-bnr {
	width: 100%;
	display: block;
	margin: 0;
	padding: 0;
}

.top-bnr a {
	display: block;
	width: 100%;
}

.top-bnr img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.top-bnr h2 {
    max-width: 1024px;
    margin: 0 auto;
    text-align: center;
    position: relative;
}

.top-bnr p {
	text-align: center;
    padding: 2% 1% 3%;
    font-size: 16px;
}

.recommend-list {
	display : grid;
	grid-template-columns : repeat(3, 1fr);
	gap : 30px;
	width : 100%;
	margin : 0;
	padding : 0;
	list-style : none;
}

@media screen and (max-width: 1024px) {
	.recommend-list {
		gap : 20px;
		padding : 0;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.recommend-list {
		grid-template-columns : repeat(2, 1fr);
		gap : 15px;
		padding : 0 15px;
	}
}

.recommend-list li {
	position : relative;
}

.recommend-list li a {
	display : block;
	text-decoration : none;
	color : #000;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

.recommend-list li a:hover {
	opacity : 0.8;
}

.recommend-list li dl {
	margin : 0;
}

.recommend-list li dt {
	margin : 0 0 10px;
}

.recommend-list li dt img {
	width : 100%;
	height : auto;
	display : block;
}

.recommend-list li dd {
	margin : 0;
	text-align : center;
}

.recommend-list li dd span {
	font-family : 'Montserrat', sans-serif;
	font-size : 14px;
	font-size : 0.875rem;
	display : block;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.recommend-list li dd span {
		font-size : 0.75rem;
	}
}

.recommend-list li:empty {
	min-height : 0;
}

/* Showcase Section - Add matching top spacing */
section.showcase {
	margin-top : 40px;
}

/* Showcase Slider - Based on gb-faucet */
.showcase-slider {
	position : relative;
	margin-top : 60px;
	margin-bottom : 40px;
}

/* Hide default Swiper navigation buttons */
.showcase-slider .swiper-button-prev,
.showcase-slider .swiper-button-next,
.showcase-slider .swiper-bnr-container .swiper-button-prev,
.showcase-slider .swiper-bnr-container .swiper-button-next,
.swiper-bnr-container .swiper-button-prev,
.swiper-bnr-container .swiper-button-next {
	display : none !important;
	visibility : hidden !important;
	opacity : 0 !important;
}

.showcase__card {
	display : block;
	overflow : hidden;
}

@media screen and (min-width: 1024.1px) {
	.showcase__card {
		-webkit-transition : -webkit-filter 0.3s ease;
		transition : -webkit-filter 0.3s ease;
		transition : filter 0.3s ease;
		transition : filter 0.3s ease, -webkit-filter 0.3s ease;
	}
	.showcase__card:hover {
		-webkit-filter : brightness(1.2);
		        filter : brightness(1.2);
	}
}

.showcase-slider .swiper-slide-active .showcase-slider__background {
	-webkit-animation-duration : 7s;
	        animation-duration : 7s;
	-webkit-animation-timing-function : ease;
	        animation-timing-function : ease;
	-webkit-animation-name : bg-fade2;
	        animation-name : bg-fade2;
	-webkit-animation-fill-mode : forwards;
	        animation-fill-mode : forwards;
}

.showcase-slider__indicator {
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__indicator {
		display : -ms-grid;
		display : grid;
		-ms-flex-align : center;
		-webkit-box-align : center;
		        align-items : center;
		margin-top : 15px;
		gap : 35px;
		padding-right : 20px;
		padding-left : 20px;
		-ms-grid-columns : 8px 35px 1fr 35px 8px;
		grid-template-columns : 8px 1fr 8px;
	}
}

.showcase-slider__control {
	position : absolute;
	right : 40px;
	bottom : 42px;
	z-index : 1;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__control {
		bottom : 80px;
		right : 10px;
	}
}

.showcase-slider__play,
.showcase-slider__pause {
	display : none;
	width : 40px;
	height : 40px;
	border-radius : 50%;
	background : rgba(255, 255, 255, 0.8);
	border : none;
	cursor : pointer;
	position : relative;
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;
}

.showcase-slider__play.is-active,
.showcase-slider__pause.is-active {
	display : block;
}

.showcase-slider__play:hover,
.showcase-slider__pause:hover {
	background : rgba(255, 255, 255, 1);
}

.showcase-slider__pause:before,
.showcase-slider__pause:after {
	content : '';
	position : absolute;
	background : #000;
	width : 4px;
	height : 14px;
	top : 50%;
	-webkit-transform : translateY(-50%);
	    -ms-transform : translateY(-50%);
	        transform : translateY(-50%);
}

.showcase-slider__pause:before {
	left : 14px;
}

.showcase-slider__pause:after {
	right : 14px;
}

.showcase-slider__play:before {
	content : '';
	position : absolute;
	left : 16px;
	top : 50%;
	-webkit-transform : translateY(-50%);
	    -ms-transform : translateY(-50%);
	        transform : translateY(-50%);
	width : 0;
	height : 0;
	border-left : 12px solid #000;
	border-top : 8px solid transparent;
	border-bottom : 8px solid transparent;
}

.showcase-slider__pagination {
	position : absolute;
	display : -ms-flexbox;
	display : -webkit-box;
	display : flex;
	gap : 10px;
	right : 40px;
	bottom : 20px;
	z-index : 1;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__pagination {
		gap : 4px;
		position : static;
	}
}

.showcase-slider__bullet {
	position : relative;
	width : 30px;
	height : 3px;
	background-color : #fff;
	-webkit-transition : background-color 0.5s;
	        transition : background-color 0.5s;
	border : none;
	padding : 0;
	cursor : pointer;
}

.showcase-slider__bullet.-active {
	background-color : #666;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__bullet {
		background : #cbcbcb;
		width : auto;
		-ms-flex-positive : 1;
		-webkit-box-flex : 1;
		        flex-grow : 1;
	}
}

.showcase-slider__bullet.-active::before {
	content : '';
	display : none;
	position : absolute;
	left : 0;
	top : 0;
	height : 100%;
	width : 100%;
	background : #fff;
	-webkit-transform-origin : left;
	    -ms-transform-origin : left;
	        transform-origin : left;
	-webkit-animation-duration : 5s;
	        animation-duration : 5s;
	-webkit-animation-timing-function : linear;
	        animation-timing-function : linear;
	-webkit-animation-name : bullet;
	        animation-name : bullet;
	-webkit-animation-fill-mode : forwards;
	        animation-fill-mode : forwards;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__bullet.-active::before {
		background : #626262;
	}
}

@-webkit-keyframes bullet {
	0% {
		-webkit-transform : scaleX(0);
		        transform : scaleX(0);
	}
	100% {
		-webkit-transform : scaleX(1);
		        transform : scaleX(1);
	}
}

@keyframes bullet {
	0% {
		-webkit-transform : scaleX(0);
		        transform : scaleX(0);
	}
	100% {
		-webkit-transform : scaleX(1);
		        transform : scaleX(1);
	}
}

.showcase-slider__button-prev {
	position : absolute;
	z-index : 10;
	left : 40px;
	top : 50%;
	-webkit-transform : translateY(-50%) scaleX(-1);
	    -ms-transform : translateY(-50%) scaleX(-1);
	        transform : translateY(-50%) scaleX(-1);
	width : 26px;
	cursor : pointer;
	border : none;
	background : transparent;
	padding : 0;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__button-prev {
		width : auto;
		position : static;
		-webkit-transform : scaleX(-1);
		    -ms-transform : scaleX(-1);
		        transform : scaleX(-1);
	}
}

.showcase-slider__button-prev img {
	display : block;
	width : 100%;
	height : auto;
}

.showcase-slider__button-prev::before {
	content : '';
	display : block;
	width : 80px;
	height : 80px;
	background : transparent;
	z-index : -1;
	position : absolute;
	left : 50%;
	top : 50%;
	-webkit-transform : translate(-55%, -50%);
	    -ms-transform : translate(-55%, -50%);
	        transform : translate(-55%, -50%);
	border-radius : 50%;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__button-prev::before {
		display : none;
	}
}

.showcase-slider__button-next {
	position : absolute;
	z-index : 10;
	right : 40px;
	top : 50%;
	-webkit-transform : translateY(-50%);
	    -ms-transform : translateY(-50%);
	        transform : translateY(-50%);
	width : 26px;
	cursor : pointer;
	border : none;
	background : transparent;
	padding : 0;
}


@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__button-next {
		width : auto;
		position : static;
		-webkit-transform : none;
		    -ms-transform : none;
		        transform : none;
	}
}

.showcase-slider__button-next img {
	display : block;
	width : 100%;
	height : auto;
}

.showcase-slider__button-next::before {
	content : '';
	display : block;
	width : 80px;
	height : 80px;
	background : transparent;
	z-index : -1;
	position : absolute;
	left : 50%;
	top : 50%;
	-webkit-transform : translate(-55%, -50%);
	    -ms-transform : translate(-55%, -50%);
	        transform : translate(-55%, -50%);
	border-radius : 50%;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
	.showcase-slider__button-next::before {
		display : none;
	}
}

.showcase-slider__background {
	width : 100%;
	height : 100%;
	overflow : hidden;
}

.showcase-slider__background img {
	width : 100%;
	height : auto;
	display : block;
	object-fit : cover;
}

@-webkit-keyframes bg-fade2 {
	0% {
		-webkit-transform : scale(1.05);
		        transform : scale(1.05);
	}
	100% {
		-webkit-transform : scale(1);
		        transform : scale(1);
	}
}

@keyframes bg-fade2 {
	0% {
		-webkit-transform : scale(1.05);
		        transform : scale(1.05);
	}
	100% {
		-webkit-transform : scale(1);
		        transform : scale(1);
	}
}

/* Concept Section */
.index-concept {
	background : url('/assets/global/washlet/images/bg_concept_pc.webp') no-repeat right bottom;
	background-size : cover;
	padding : 120px 0 100px 0;
	position : relative;
}

@media screen and (min-width: 1600px) {
	.index-concept {
		font-size : 3.125rem;
	}
}

@media screen and (max-width: 1024px) {
	.index-concept {
		width : auto;
		margin : 0;
	}
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept {
		padding : 40px 0;
		background : url('/assets/global/washlet/images/bg_concept_sp.jpg') no-repeat center bottom #c5d3e8;
		background-size : 100%;
	}
}

.index-concept h2.section-header {
	font-family : 'Montserrat', sans-serif;
	letter-spacing : 0.05em;
	width : 1024px;
	margin : 10px auto 0;
	font-size : 40px;
	font-size : 2.5rem;
	line-height : 1.25;
	text-align : center;
	position : relative;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept h2.section-header {
		width : auto;
		margin : 0 20px 0;
		font-size : 1.5rem;
	}
}

@media screen and (min-width: 1600px) {
	.index-concept h2.section-header {
		font-size : 3.125rem;
	}
}

.index-concept .concept-area {
	position : relative;
	width : 85%;
	margin : 30px auto 0;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area {
		margin : 10px auto 0;
		width : auto;
		max-width : auto;
		padding : 0 20px;
	}
}

.index-concept .concept-area .area-item {
	width : 55%;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area .area-item {
		width : auto;
	}
}

.index-concept .concept-area .area-item h3.item-ttl {
	font-size: 36px;
	line-height: 44px;
	font-weight : bold;
	color : #004fa2;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area .area-item h3.item-ttl {
		font-size : 0.9375rem;
	}
}

.index-concept .concept-area .area-item p {
	margin-top : 20px;
	font-size : 16px;
	font-size : 1rem;
	line-height : 2;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area .area-item p {
		margin-top : 10px;
		font-size : 0.75rem;
	}
}

.index-concept .concept-area .area-item p.note {
	margin-top : 20px;
	font-size : 14px;
	font-size : 0.875rem;
	line-height : 1.5;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area .area-item p.note {
		margin-top : 15px;
		font-size : 0.6875rem;
	}
}

.index-concept .concept-area .area-item .item-img {
	margin-top : 40px;
}

@media screen and (min-width: 0) and (max-width: 640px) {
	.index-concept .concept-area .area-item .item-img {
		margin-top : 32px;
		padding : 0 20px;
	}
}

.index-concept .concept-area .area-item .item-img img {
	width : 100%;
}

