@charset "UTF-8";

.product_tag-ind,
.product_tag-mfr,
.product_place {
	display: none!important;
}

@media screen and (max-width: 767px) {
	.home_case .section_bottom-space {
		padding-bottom: 0;
	}
}

/* base */
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body {
	height: 100%;
}

body {
	color: #1A1311;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	letter-spacing: 0.12em;
	line-height: 1.75;
}

section {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

a {
	-webkit-transition: 0.3s all ease;
	transition: 0.3s all ease;
}

a[href]:hover {
	opacity: 0.7;
	text-decoration: none !important;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: 700;
}

b,
strong {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: bold;
}

table {
	width: 100%;
}

table th {
	text-align: left;
}

.pc_none {
	display: none;
}

@media (max-width: 767px) {
	.pc_none {
		display: block;
	}

	.sp_none {
		display: none;
	}
}

/* COMMON
--------------------- */
:root {
	--color-primary: #009BE1;
	--font-teko: 'Teko', sans-serif;
	--font-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

/*– EYECATCH ———————–*/
.eyecatch {
	width: 100%;
	height: 550px;
	position: relative;
}

.eyecatch::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .25);
}

.eyecatch_img,
.eyecatch_img img {
	display: block;
	width: 100%;
	height: 100%;
}

.eyecatch_img img {
	object-fit: cover;
	object-position: center;
}

.eyecatch_textarea {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 85%;
	max-width: 1200px;
	margin: 0 auto;
	color: #FFF;
}

.eyecatch_textarea-title {
	font-size: 64px;
	font-weight: 600;
	margin: 0 0 10px;
}

.eyecatch_textarea-subtitle {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.8;
}

@media (max-width: 767px) {
	.eyecatch {
		height: 350px;
	}

	.eyecatch_textarea {
		width: 88%;
	}

	.eyecatch_textarea-title {
		font-size: 32px;
		margin: 0;
	}

	.eyecatch_textarea-subtitle {
		font-size: 14px;
		letter-spacing: 0.03em;
	}
}

/*– BREADCRUMB ———————–*/
.breadcrumb {
	text-align: right;
	width: 85%;
	max-width: 1200px;
	margin: 35px auto 0;
}

.breadcrumb ul li {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
}

.breadcrumb ul li {
	color: #1A1311;
}

.breadcrumb_home a {
	text-decoration: underline;
}

@media (max-width: 767px) {
	.breadcrumb {
		width: 88%;
	}

	.breadcrumb ul li {
		font-size: 12px;
	}
}

/*– CONTAINER ———————–*/
section {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.section_container {
	width: 85%;
	max-width: 1200px;
	padding-top: max(75px, min(6.94vw, 100px));
	margin: 0 auto;
}

.section_bottom-space {
	padding-bottom: max(75px, min(6.94vw, 100px));
}

.slider {
	display: none;
}

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

@media screen and (max-width: 767px) {
	.section_container {
		width: 88%;
	}
}

/*– FONT ———————–*/
[lang="en"] {
	display: block;
	color: var(--color-primary);
	font-family: 'Teko', sans-serif;
	font-weight: 300;
}

/*– SECTIONE_TITLE ———————–*/
.section_title {
	margin-bottom: max(55px, min(4.86vw, 70px));
}

.section_title [lang="en"] {
	font-size: max(64px, min(7.22vw, 104px));
	font-weight: 300;
	line-height: 0.8;
}

.section_title [lang="ja"] {
	font-size: max(14px, min(1.39vw, 20px));
	font-weight: 600;
}

/*– SECTION_MESSAGE ———————–*/
.section_message {
	font-size: max(20px, min(1.94vw, 28px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.7;
	margin-bottom: max(35px, min(3.13vw, 45px));
}

@media screen and (max-width: 767px) {
	.section_message {
		line-height: 1.6;
		letter-spacing: 0.01em;
	}
}

/*– SECTION_TEXT ———————–*/
.section_text {
	font-size: 16px;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	.section_text {
		line-height: 1.75;
	}
}

/*– BUTTON ———————–*/
.btn {
	display: inline-block;
	margin-top: max(30px, min(2.78vw, 40px));
}

.btn_inner {
	display: inline-block;
	position: relative;
	font-size: 14px;
}

.btn_line .btn_inner {
	text-align: left;
	min-width: 120px;
	padding-bottom: 14px;
	padding-right: 55px;
	border-bottom: 1px solid var(--color-primary);
}

.btn_line .btn_inner::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: url(../images/common/btn_arrow-blue.svg) no-repeat center/contain;
	transition: ease-in-out .3s;
}

.btn_line .btn_inner:hover::before {
	right: -10px;
}

.btn_round .btn_inner::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: ease-in-out .3s;
}

.btn_round .btn_inner:hover::before {
	right: 10px;
}

.btn_inner [lang="en"] {
	font-weight: 300;
	line-height: 1.1;
}

.btn_inner [lang="ja"] {
	font-weight: 600;
}

.btn_round .btn_inner [lang="en"],
.btn_round .btn_inner [lang="ja"] {
	color: #FFF;
}

.btn_download {
	text-align: center;
	margin-top: max(75px, min(6.94vw, 100px));
}

.btn_download a {
	display: inline-block;
	min-width: 270px;
	color: #FFF;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 2.5;
	border-radius: 100vh;
	background: var(--color-primary);
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

.btn_download a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
	transition: ease-in-out .3s;
}

.btn_download a:hover::before {
	right: 10px;
}

@media screen and (min-width: 768px) {
	.btn {
		margin-right: 40px;
	}

	.btn_round .btn_inner {
		border: 2px solid #EFEFEF;
		border-radius: 100vh;
		padding: 18px 65px 18px 32px;
	}

	.btn_round .btn_inner::before {
		right: 16px;
		width: 8px;
		height: 8px;
		background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
	}
}

@media screen and (max-width: 767px) {
	.btn,
	.btn_inner {
		display: block;
	}

	.btn_inner {
		width: 100%;
	}

	.btn_round .btn_inner {
		border-bottom: 2px solid #EFEFEF;
		padding-bottom: 14px;
	}

	.btn_round .btn_inner::before {
		right: 0;
		width: 22px;
		height: 22px;
		background: url(../images/common/btn_arrow-white-sp.svg) no-repeat center/contain;
	}
}

/*– TABLE ———————–*/
table th,
table td {
	line-height: 2;
	border-bottom: 2px solid #E6E6E6;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

table th {
	width: 30%;
	vertical-align: top;
}

table tr:first-child th,
table tr:first-child td {
	border-top: 2px solid #E6E6E6;
}

.table_blue-line th::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 40px;
	height: 2px;
	background: var(--color-primary);
}



@media screen and (min-width: 768px) {
	.table_blue-line tr:last-child th::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		width: 40px;
		height: 2px;
		background: var(--color-primary);
	}
}

@media screen and (max-width: 767px) {
	table th,
	table td {
		display: block;
		width: 100%;
	}

	table th {
		padding-bottom: 0;
		border-bottom: none
	}

	table td {
		padding-top: 10px;
	}

	table tr:first-child td {
		border-top: none;
	}

	.table_blue-line tr:last-child td::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		width: 40px;
		height: 2px;
		background: var(--color-primary);
	}
}


/*– YOUTUBE ———————–*/
.youtube_area {
	position: relative;
	overflow: hidden;
	margin: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px) auto;
}

.youtube_area::before {
	content: '';
	display: block;
	padding-top: 56.25%;
}

.youtube_area>iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.youtube_area:first-child {
	margin-top: 0;
}

.youtube_area:last-child {
	margin-bottom: 0;
}

/*– BASE SLIDER ———————–*/
.slick-arrow {
	display: block;
	position: absolute;
	top: -80px;
	height: 50px;
	width: 50px;
	z-index: 10;
	background-size: contain;
}

.slick-arrow.slick-prev {
	right: 145px;
	background-image: url(../images/common/slide-prev.svg);
}

.slick-arrow.slick-next {
	right: 80px;
	background-image: url(../images/common/slide-next.svg);
}

/*– GALLERY ———————–*/

.gallery .gallery-item {
	margin-top: 2%!important;
}

.gallery-columns-2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.gallery-columns-2 img {
	border: none!important;
	aspect-ratio: 3/2;
	object-fit: cover;
	object-position: center;
}

.gallery-columns-2 .gallery-item {
	width: 49%!important;
}

.gallery > br {
	display: none!important;
}

/* HEADER
--------------------- */
.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

.header.fixed {
	position: fixed;
	background: rgba(34, 34, 34, .5);
	animation: slideDown 1s ease-in-out;
}

@keyframes slideDown {
	0% {
		transform: translateY(-100%);
	}

	100% {
		transform: translateY(0%);
	}
}

.header_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 95%;
	height: 100px;
	padding-top: 10px;
	margin: 0 auto;
}

.header_logo {
	width: max(170px, min(15.28vw, 220px));
	height: max(18px, min(1.6vw, 23px));
	z-index: 999;
}

.header_logo svg {
	fill: var(--color-primary);
	filter: drop-shadow(2px -2px 3px #ffffffb5) drop-shadow(2px 2px 3px #ffffffb5) drop-shadow(-2px -2px 3px #ffffffb5) drop-shadow(-2px 2px 3px #ffffffb5);
}

.global-nav .nav-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.global-nav .nav-list .nav-item {
	cursor: pointer;
}

.global-nav .nav-list .nav-item a {
	display: block;
	color: #FFF;
	font-size: min(0.97vw, 14px);
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 0.6em min(0.87vw, 12.5px);
	text-align: center;
	text-decoration: none;
	filter: drop-shadow(0px 5px 10px rgb(0, 0, 0));
}

.header_btn {
	display: inline-block;
	text-align: center !important;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 2;
	width: min(11.46vw, 165px);
	padding: 25px 55px;
	margin-left: min(0.87vw, 12.5px);
	border-radius: 100vh;
	position: relative;
}

.header_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
}

.header_btn-contact::after {
	background: url(../images/common/btn_arrow-black.svg) no-repeat center/contain;
}

.header_btn-camera {
	/* 	background: linear-gradient(45deg, #0167FA, #01F0FA); */
	background: #5F5F5F;
	border: 1px solid #FFF;
}

.header_btn-contact {
	/* 	background: linear-gradient(45deg, #01FA57, #00CAD3); */
	color: #1A1311!important;
	background: #FFF;
	border: 1px solid #5F5F5F;
}

.header_btn-camera::before {
	content: "ライブ映像配信中";
	display: block;
	position: absolute;
	bottom: 100%;
	left: 0;
	margin: 0 auto;
	width: 100%;
	text-align: center;
	font-size: min(0.76vw, 11px);
	font-weight: 600;
	letter-spacing: 0.03em;
}

@media screen and (min-width: 1024px) {
	.nav-item-home {
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	.header {
		top: 0;
	}

	.header_container {
		width: 88%;
		height: 70px;
		padding-top: 0;
	}
}

@media screen and (min-width: 1024px) {
	.nav-item_sub {
		position: absolute;
		top: 90px;
		left: 50%;
		transform: translateX(-50%);
		width: 95%;
		background: rgba(34, 34, 34, .9);
		border-radius: 10px;
		opacity: 0;
		transition: all 0.2s ease;
		visibility: hidden;
		overflow: hidden;
	}

	.nav-item_sub .inner {
		display: grid;
		grid-template-columns: 300px 1fr 1fr;
		align-items: center;
		gap: 3%;
		width: 100%;
		padding-right: 3%;
	}

	.sub_menu-title {
		width: 100%;
		height: 100%;
		min-height: 300px;
		justify-self: start;
		position: relative;
	}

	.sub_menu-title::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(34, 34, 34, .1);
	}

	.sub_menu-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.sub_menu-text {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
	}

	.sub_menu-text [lang="en"] {
		color: #FFF;
		font-size: 44px;
	}

	.sub_menu-text [lang="ja"] {
		color: #FFF;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.03em;
	}

	.nav-item_sub .inner ul {
		display: block;
		width: 100%;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.global-nav .nav-list .nav-item_sub a {
		display: block;
		text-align: left;
		font-size: 18px;
		padding: 20px 0;
		width: 100%;
		position: relative;
	}

	.global-nav .nav-list .nav-item_sub a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 30px;
		height: 30px;
		background: url(../images/common/btn_arrow-white-sp.svg) no-repeat center/contain;
	}

	.nav-item:hover .nav-item_sub {
		opacity: 1;
		visibility: visible;
	}
}

@media screen and (min-width: 1200px) {
	.nav-item_sub {
		left: auto;
		right: 2%;
		transform: inherit;
		max-width: 1200px;
	}
}

@media screen and (max-width: 1023px) {
	.sub_menu-title {
		display: none;
	}
}

.global-nav-icon {
	display: none;
}

@media screen and (max-width: 1023px) {
	body.menu_open {
		height: 100%;
		overflow: hidden;
	}

	body .header {
		background: rgba(34, 34, 34, 0);
		transition: ease-out .2s;
	}

	body.menu_open .header {
		background: rgba(34, 34, 34, 1);
	}

	.global-nav-icon {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		cursor: pointer;
		width: 55px;
		height: 55px;
		color: #FFF;
		font-size: 11px;
		font-weight: 500;
		font-family: var(--font-teko);
		letter-spacing: 0.03em;
		background: linear-gradient(45deg, #0167FA, #01F0FA);
		border-radius: 50%;
		z-index: 2;
		transition: ease-in .3s;
	}

	.global-nav-icon.menu_open {
		background: #FFF;
		padding-top: 10px;
	}

	.global-nav-icon .sp_menu-line {
		width: 12px;
		height: 2px;
		background: #FFF;
		border-radius: 100vh;
		margin-top: 3px;
		transition: ease-in .3s;
	}

	.global-nav-icon.menu_open .sp_menu-line {
		margin-top: -2px;
		background: linear-gradient(45deg, #0167FA, #01F0FA);
	}

	.global-nav-icon.menu_open .sp_menu-line:first-of-type {
		transform: rotate(-45deg);
	}

	.global-nav-icon.menu_open .sp_menu-line:nth-child(2) {
		transform: rotate(45deg);
	}

	.global-nav-icon .sp_menu {
		margin-top: 3px;
	}

	.global-nav-icon.menu_open .sp_menu {
		color: #00aafb;
	}

	.global-nav-header {
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%);
	}

	.global-nav .nav-list {
		display: none;
		left: 50%;
		transform: translate(-50%, 0%);
		width: 100%;
		background: #222;
		padding: 0 5%;
		position: absolute;
	}

	.global-nav .nav-list .nav-item a {
		text-align: left;
		color: #fff;
		font-size: 14px;
		position: relative;
	}

	.global-nav .nav-list .nav-item:not(:first-child)>a:not(.header_btn) {
		border-top: 2px solid #FFF;
		padding: 20px 0;
		opacity: 1 !important;
	}

	.global-nav .nav-list .nav-item>a:not(.header_btn)::before {
		content: attr(data-en);
		display: block;
		text-align: left;
		color: #fff;
		font-family: var(--font-teko);
		font-size: 28px;
		letter-spacing: 0.06em;
		line-height: 1;
	}

	.global-nav .nav-list .hav_child>a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5%;
		width: 7px;
		height: 7px;
		border-right: 2px solid #FFF;
		border-bottom: 2px solid #FFF;
		transform: rotate(45deg) translateY(-50%);
	}

	.global-nav .nav-list .nav-item .nav-item_sub a {
		position: relative;
		padding: 10px 0;
	}

	.global-nav .nav-list .nav-item .nav-item_sub ul:last-child li:last-child a {
		padding-bottom: 30px;
	}

	.nav-item_sub a::before {
		content: "-";
		display: inline-block;
		font-size: 14px;
		padding-left: 10px;
		padding-right: 6px;
	}

	.header_btn-wrapper {
		padding-top: 50px;
		padding-bottom: 50px;
		border-top: 2px solid #FFF;
	}

	.header_btn {
		width: 48%;
	}

	.header_btn-camera::before {
		font-size: 11px;
	}
}

@media screen and (max-width: 1023px) {
	.nav-item_sub {
		display: none;
	}

	.global-nav {
		position: fixed;
		width: 100%;
		height: calc(100% - 50px);
		pointer-events: none;
		top: 70px;
		left: 0;
	}

	.nav-list {
		height: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.global-nav .nav-list .nav-item a.no_event {
	pointer-events: none;
}

@media screen and (min-width: 1024px) {
	.global-nav .nav-list .nav-item_sub a.nav_pc_none {
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	.global-nav .nav-list .nav-item a.sp_no_event {
		pointer-events: none;
	}
}

/* FOOTER
--------------------- */
.footer {
	background: #222;
	padding-top: max(65px, min(5vw, 72px));
	padding-bottom: max(55px, min(5vw, 72px));
}

.footer_container {
	width: 85%;
	max-width: 1200px;
	margin: 0 auto;
}

.footer_logo img {
	width: max(210px, min(15.28vw, 220px));
	height: auto;
	margin-bottom: 53px;
}

.footer_nav-title [lang="ja"],
.footer_nav-title [lang="en"],
.footer_nav-menu li a,
.footer_bottom-menu li a,
.footer_bottom-btn,
.fotter_bottom-copyright {
	color: #FFF;
}

.footer_nav-title {
	padding-bottom: 12px;
	margin-bottom: 28px;
	border-bottom: 1px solid #FFF;
}

.footer_nav-title [lang="ja"] {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.footer_nav-title [lang="en"] {
	font-size: 32px;
}

.footer_nav-menu li a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 2.3;
}

.footer_bottom {
	margin-top: 60px;
}

.footer_bottom-menu {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 2;
	margin-bottom: 30px;
}

.footer_bottom-menu li a {
	display: inline-block;
	padding: 0 13px;
}

.footer_bottom-btn span {
	display: block;
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-bottom: 5px;
}

.footer_bottom-btn a {
	display: inline-block;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 3.5;
	padding: 0 55px;
	border-radius: 100vh;
	position: relative;
}

.footer_bottom-btn a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
}

.footer_bottom--btn-contact a::after {
	background: url(../images/common/btn_arrow-black.svg) no-repeat center/contain;
}

.footer_bottom--btn-camera a {
	/* 	background: linear-gradient(45deg, #0167FA, #01F0FA); */
	background: #0E0E0E;
	border: 1px solid #FFF;
}

.footer_bottom--btn-contact a {
	/* 	background: linear-gradient(45deg, #01FA57, #00CAD3); */
	color: #1A1311!important;
	background: #E4E4E4;
	border: 1px solid #5F5F5F;
}

.fotter_bottom-copyright {
	font-size: 20px;
	font-family: var(--font-teko);
}

@media screen and (min-width: 768px) {
	.footer_nav-item {
		min-width: 9vw;
	}
}

@media screen and (max-width: 767px) {
	.footer_container {
		width: 88%;
	}

	.footer_nav-item {
		width: 42%;
		margin-bottom: 50px;
	}

	.footer_nav-item:nth-child(3) {
		width: 100%;
	}

	.footer_bottom-menu {
		justify-content: space-evenly;
		flex-wrap: wrap;
	}

	.footer_bottom-btn {
		width: 48%;
	}

	.footer_bottom-btn a {
		width: 100%;
		padding: 0;
	}

	.fotter_bottom-copyright {
		margin-top: 50px;
	}
}

/* HERO
--------------------- */
.hero {
	width: 100%;
	height: 1170px;
	position: relative;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.hero {
		height: max(1210px, min(300vw, 1770px));
	}
}

/*– SLIDER ———————–*/
.hero_slider,
.hero_slider-item {
	display: none;
}

.hero_slider.active,
.hero_slider-item.active {
	display: block;
}

.hero_slider,
.hero_slider-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.hero_slider-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/*– THUMBNAIL ———————–*/
.hero_thumbnail {
	position: absolute;
	bottom: 370px;
	right: 35px;
}

.hero_thumbnail-item {
	display: block;
	width: 320px;
	height: 210px;
	border-radius: 10px;
	cursor: pointer;
	position: relative;
	z-index: 1;
}

.hero_thumbnail-item:not(:last-child) {
	margin-bottom: 15px;
}

.hero_thumbnail-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
}

.hero_thumbnail-item::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background: rgba(34, 34, 34, .6);
	border-radius: 10px;
}

.hero_thumbnail-item::after {
	content: attr(data-cat);
	position: absolute;
	bottom: 20px;
	right: 20px;
	color: #FFF;
	font-size: 30px;
	font-weight: 400;
	font-family: var(--font-teko);
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.hero_thumbnail-item.active::before {
		background: linear-gradient(to right, #0093FF 0%, #00F5FF 100%);
		width: calc(100% + 6px);
		height: calc(100% + 6px);
		z-index: -1;
	}
}

@media screen and (max-width: 767px) {
	.hero_thumbnail {
		position: absolute;
		top: max(440px, min(130.67vw, 860px));
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}

	.hero_thumbnail-list {
		display: flex;
	}

	.hero_thumbnail-item {
		width: max(220px, 58.67vw);
		height: max(145px, 38.67vw);
		margin: 0 2vw;
	}

	.hero_thumbnail-item.active {
		box-shadow: 10px 13px 16px rgba(0, 90, 47, .46);
	}

	.hero_thumbnail-item.active::before {
		background: rgba(34, 34, 34, 0);
	}

	.hero_thumbnail-item::after {
		font-size: max(24px, min(6.4vw, 30px));
	}
}

/*– TEXTAREA ———————–*/
.hero_textarea {
	position: absolute;
	top: 300px;
	left: 5.5%;
}

.hero_textarea-title {
	color: #FFF;
	font-size: min(4.17vw, 60px);
	font-family: var(--font-serif);
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.3;
	text-shadow: 0 0 16px rgba(0, 0, 0, .46);
	margin-bottom: min(4.03vw, 38px);
	filter: drop-shadow(0px 5px 10px rgb(0, 0, 0));
}

.hero_textarea-text {
	color: #FFF;
	font-size: min(1.39vw, 20px);
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.8;
	text-shadow: 0 0 16px rgba(0, 0, 0, .46);
	filter: drop-shadow(0px 5px 10px rgb(0, 0, 0));
}

@media screen and (max-width: 767px) {
	.hero_textarea {
		top: 40vw;
		transform: inherit;
		width: 88%;
		margin: 0 auto;
	}

	.hero_textarea-title {
		font-size: max(35px, min(7.82vw, 60px));
		line-height: 1.5;
		margin-bottom: min(3.91vw, 30px);
	}

	.hero_textarea-text {
		color: #FFF;
		font-size: max(12px, min(4.27vw, 16px));
	}
}

/*– NEWSBAR ———————–*/
.hero_newsbar {
	position: absolute;
	bottom: 370px;
	padding: 0 30px;
	background: rgba(0, 0, 0, .2);
	border: 1px solid #FFF;
	border-radius: 100vh;
	overflow: hidden;
}

.hero_newsbar-title[lang="en"] {
	color: #FFF;
	font-size: 20px;
}

.hero_newsbar-date {
	color: #FFF;
	font-size: 16px;
	font-family: var(--font-teko);
	margin-right: 23px;
}

.hero_newsbar-post {
	display: inline-block;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

@media screen and (min-width: 1251px) {
	.hero_newsbar {
		right: 410px;
		width: 510px;
	}
}

@media screen and (max-width: 1250px) {
	.hero_newsbar {
		width: calc(340px + 120 * (100vw - 768px)/482);
		left: calc(40px + 345 * (100vw - 768px)/482);
	}
}

@media screen and (min-width: 768px) {
	.hero_newsbar {
		display: flex;
		justify-content: start;
		align-items: center;
		height: 60px;
	}

	.hero_newsbar-title[lang="en"] {
		width: 25%;
	}

	.hero_newsbar-list {
		width: 75%;
	}

	.hero_newsbar-date {
		font-size: min(1.11vw, 16px);
	}

	.hero_newsbar-post {
		font-size: min(0.97vw, 14px);
	}
}

@media screen and (max-width: 767px) {
	.hero_newsbar {
		width: 88%;
		top: max(625px, min(180vw, 1220px));
		bottom: auto;
		left: 50%;
		transform: translateX(-50%);
		padding: 8.5px 10px;
		border-radius: 0;
		background: rgba(0, 0, 0, .4);
	}

	.hero_newsbar-post {
		font-size: 13px;
	}
}

/*– PRODUCTS ———————–*/
.hero_products {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 85%;
	background: rgba(0, 0, 0, .7);
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 40px;
	border-radius: 20px 0 0 0;
}

.hero_products-title span {
	display: inline-block;
	color: #FFF;
}

.hero_products-title [lang="en"] {
	font-size: 48px;
	margin-right: max(8px, min(1.04vw, 15px));
}

.hero_products-title [lang="ja"] {
	font-size: 14px;
	font-weight: 400;
}

.hero_products-list .slick-arrow {
	display: block;
	position: absolute;
	top: -80px;
	height: 50px;
	width: 50px;
	z-index: 10;
	background-size: contain;
}

.hero_products-list .slick-arrow.slick-prev {
	right: 145px;
	background-image: url(../images/home/hero_products/slide-prev.svg);
}

.hero_products-list .slick-arrow.slick-next {
	right: 80px;
	background-image: url(../images/home/hero_products/slide-next.svg);
}

.hero_product-item {
	width: 250px;
	margin-right: max(15px, min(1.39vw, 20px));
}

.product_img {
	width: 100%;
	height: 125px;
	border-radius: 10px;
	object-fit: cover;
	object-position: center;
	margin-bottom: 15px;
}

.product_tag-ind,
.product_tag-mfr {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.08em;
	line-height: 2;
	border-radius: 100vh;
	padding: 0 15px;
	margin-bottom: 10px;
}

.product_tag-ind {
	background: #fff;
	margin-right: 6px;
}

.product_tag-mfr {
	color: #FFF;
	border: 1px solid #FFF;
}

.product_place,
.product_name {
	display: flex;
	color: #FFF;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.product_place-head,
.product_name-head {
	width: 37%;
}

@media screen and (max-width: 767px) {
	.hero_products {
		width: 94%;
		padding-bottom: 110px;
	}

	.hero_products-title [lang="en"] {
		font-size: 24px;
	}

	.hero_products-title [lang="ja"] {
		font-size: 12px;
	}

	.hero_products-list .slick-arrow {
		top: calc(100% + 25px);
	}

	.hero_products-list .slick-arrow.slick-prev {
		right: auto;
		left: 0;
	}

	.hero_products-list .slick-arrow.slick-next {
		right: auto;
		left: 65px;
	}

}

/* HOME
--------------------- */
/*– ABOUT ———————–*/
@media screen and (max-width: 767px) {
	.about_img {
		margin-bottom: max(22px, 1.94vw);
	}
}

/*– STRENGTH ———————–*/
.home_strength .section_bottom-space {
	padding-bottom: max(45px, min(4.86vw, 70px));
}

.home_strength {
	background: url(../images/home/home_strength-bg.png) no-repeat center/cover;
}

.strength_img {
	display: block;
}

.strength_img:not(:last-child) {
	margin-bottom: max(12px, min(1.11vw, 16px));
}

.strength_img img {
	border-radius: 8px;
	box-shadow: 0px 13px 16px rgba(0, 44, 95, .16);
}

@media screen and (min-width: 768px) {
	.strength_img {
		width: 88%;
		margin: 0 auto;
	}

	.strength_img:nth-child(2) {
		position: relative;
		margin-right: -10%;
	}
}

/*– PRODUCTS ———————–*/
.home_products .section_message {
	margin-bottom: 25px;
}

.home_products--list {
	width: 100%;
	max-width: 1420px;
	margin: 65px auto 0;
}

.home_products--list .home_products--img {
	display: block;
	width: calc((100% / 3) + 1px);
	border: 1px solid #E3E3E3;
	margin-top: -1px;
}

.btn_wrapper {
	width: 90%;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.home_products--list {
		margin-left: .5px;
	}

	.home_products--list .home_products--img {
		margin-left: -1px;
	}
}

@media screen and (min-width: 1420px) {
	.home_products--list {
		margin: 65px auto 0;
	}
}

@media screen and (max-width: 767px) {
	.home_products--list .home_products--img {
		width: 100%;
	}

	.home_products--list {
		width: 90%;
	}
}

/*– CASE ———————–*/
.home_case--slide {
	position: relative;
	overflow: hidden;
}

.home_case--img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media screen and (min-width: 768px) {
	.home_case--slide {
		min-height: 570px;
	}
}

@media screen and (max-width: 767px) {
	.home_case--slide {
		width: 120%;
		height: 108vw;
		margin-top: max(72px, 19.2vw);
		margin-left: -10%;
	}
}

/*– NEWS ———————–*/
.home_news--item {
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #E6E6E6;
	position: relative;
}

.home_news--item::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: url(../images/common/btn_arrow-blue.svg) no-repeat center/contain;
	transition: ease-in-out .3s;
}

.home_news--item:hover::before {
	right: -10px;
}

.news_cat {
	display: inline-block;
	min-width: 110px;
	text-align: center;
	color: #FFF;
	font-family: var(--font-teko);
	background: var(--color-primary);
	border-radius: 100vh;
	padding-top: 1.5px;
	width: 84px;
	margin-right: 24px;
	cursor: pointer;
}

.news_date {
	color: #C6C6C6;
	font-family: var(--font-teko);
	margin-right: 45px;
}

.news_title {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	line-height: 2.5;
	padding-right: 30px;
}

@media screen and (max-width: 767px) {
	.news_title {
		display: block;
		margin-top: 10px;
	}
}

/*– MOVIE ———————–*/
.home_movie {
	background: #F4F6FA;
}

.home_movie .section_message {
	color: var(--color-primary);
}

.home_movie .flex_item {
	position: relative;
	overflow: hidden;
}

.movie_area {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	border-radius: 10px;
	border: 5px solid #FFF;
	overflow: hidden;
}

.movie_area .arrow,
.movie_area .arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
}

.home_movie--title {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin-top: max(22px, min(1.67vw, 24px));
}

.movie_area .arrow {
	width: 56px;
	height: 56px;
	border-radius: 100%;
	background-color: rgba(255, 255, 255, 0.3);
	border: 2px solid #FFF;
	pointer-events: none;
}

.movie_area .arrow::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #FFF;
}

.movie_area img {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateY(-50%);
	object-fit: cover;
	object-position: center;
}

.movie_area a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.home_movie--title {
		margin-bottom: max(32px, 8.53vw);
	}
}

/* PRODUCTS(POST)
--------------------- */
.products_post {
	padding-bottom: max(75px, min(6.94vw, 100px));
}

.products_post .btn_line .btn_inner::before {
	background: url(../images/common/btn_arrow-blue_bottom.svg) no-repeat center/contain;
}

.products_post .section_container {
	max-width: 820px;
}

.product_nav {
	text-align: center;
	width: 85%;
	margin: 40px auto 0;
}

.product_intro-img {
	aspect-ratio: 2 / 1;
	overflow: hidden;
	border: 1px solid #E3E3E3;
	margin-bottom: max(30px, min(3.47vw, 50px));
	position: relative;
}

.product_intro-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product_intro-name {
	position: absolute;
	top: 10%;
	left: 5%;
	font-size: max(18px, min(1.67vw, 24px));
	font-weight: 600;
	letter-spacing: 0.04em;
}

.product_intro-details p {
	letter-spacing: 0.04em;
	line-height: 2;
}

.checked_list:not(:last-child) {
	margin-bottom: max(20px, min(3.47vw, 25px));
}

.checked_list-title {
	font-size: max(20px, min(1.53vw, 22px));
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 2;
	padding-left: max(32px, min(2.36vw, 34px));
	margin-bottom: 5px;
	position: relative;
}

.checked_list-title::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: max(22px, min(1.67vw, 24px));
	height: max(22px, min(1.67vw, 24px));
	background: url(../images/common/list_checked.svg) no-repeat center/contain;
}

.spec_container:not(:last-of-type) {
	margin-bottom: 70px;
}

.spec_container.mb0:not(:last-of-type) {
	margin-bottom: 0px;
}

.spec_container-title {
	color: var(--color-primary);
	font-size: max(20px, min(1.53vw, 22px));
	font-weight: 600;
	margin-bottom: max(32px, min(2.36vw, 34px));
}

.spec_caution {
	color: #828282;
	font-size: 14px;
	line-height: 2;
	padding-top: max(20px, min(2.78vw, 40px));
}

@media screen and (max-width: 767px) {
	.product_nav {
		width: 88%;
	}

	.product_intro-img {
		aspect-ratio: 16 / 9;
	}

	.product_intro-name {
		position: absolute;
		top: 5%;
		left: 3%;
	}
}

/* COMPANY
--------------------- */
/*– AYUMI ———————*/
.ayumi_message-title {
	text-align: left;
	font-size: max(24px, min(2.78vw, 40px));
	font-family: var(--font-serif);
	letter-spacing: 0.12em;
	margin-bottom: max(35px, min(3.82vw, 55px));
}

.ayumi_message-text {
	line-height: 2.5;
}

.ayumi_message-text:not(:last-child) {
	margin-bottom: 30px;
}

.ayumi_history-ad {
	font-size: 40px;
	font-family: var(--font-teko);
	line-height: 1;
	border-bottom: 3px solid #222;
}

.history_slider {
	width: 85%;
	max-width: 1200px;
	margin: 0 auto;
}

.history_slider .slick-list {
	padding-top: max(55px, min(4.86vw, 70px));
	position: relative;
}

.history_slider .slick-list:first-child {
	padding-left: 0!important;
}

.history_slider .slick-arrow {
	top: -18%;
}

.history_slider .slick-arrow.slick-prev {
	right: 65px;
}

.history_slider .slick-arrow.slick-next {
	right: 0;
}

.history_ad {
	display: block;
	color: var(--color-primary);
	font-size: max(64px, min(7.22vw, 104px));
	font-family: var(--font-teko);
}

.history_img {
	display: block;
	width: 100%;
	aspect-ratio: 2.3/1;
	margin-bottom: 15px;
	position: relative;
	z-index: 1;
}

.history_slider-slide:not(:last-child) .history_img::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 38px;
	transform: translateY(-50%);
	width: 100%;
	height: 3px;
	background: #222;
	z-index: -1;
}

.history_img img {
	width: 100%;
	object-fit: cover;
	object-position: center;
}

.history_text-details,
.history_text-social {
	display: block;
	text-align: center;
	font-size: 14px;
	line-height: 2;
	padding-left: 10px;
	padding-right: 10px;
}

.history_text-social {
	font-weight: 600;
}

@media screen and (min-width: 768px) {
	.ayumi_message-text {
		text-align: left;
	}

	.history_slider-slide {
		width: 365px;
	}

	.history_slider-slide:not(:last-of-type) {
		margin-right: 38px;
	}
}

@media screen and (max-width: 1400px) {
	.history_slider {
		width: 92.5%;
		margin: auto 0 auto auto;
	}

	.history_slider .slick-arrow.slick-prev {
		right: calc(7.5% + 65px);
	}

	.history_slider .slick-arrow.slick-next {
		right: 7.5%;
	}
}

@media screen and (max-width: 767px) {
	.ayumi_message-text {
		line-height: 2;
	}

	.ayumi_history-ad {
		font-size: 24px;
	}

	.history_slider {
		width: 100%;
	}

	.history_slider-slide {
		margin-right: 7.5px;
	} 

	.history_slider .slick-list {
		margin-bottom: max(75px, min(6.94vw, 100px));
	}

	.history_slider .slick-list::before {
		top: 63%;
	}

	.history_slider .slick-arrow {
		top: calc(100% + 30px)
	}

	.history_slider .slick-arrow.slick-prev {
		right: auto;
		left: calc(50% - 35.2px);
		transform: translateX(-50%);
	}

	.history_slider .slick-arrow.slick-next {
		right: auto;
		left: calc(50% + 35.2px);
		transform: translateX(-50%);
	}
}

/*– COMPANY ———————*/
.access_table th,
.access_table tr:first-child th,
.access_table td {
	border: none;
}

.access_table th {
	padding-top: 0;
	padding-bottom: 0;
}

.access_table td {
	padding-bottom: 0;
}

.access_img,
.access_map {
	height: 425px;
	object-fit: cover;
	object-position: center;
	margin-top: 24px;
}

.overview_crient {
	margin-top: 10px;
	margin-bottom: 15px;
}

.overview_crient:nth-child(1) {
	padding-right: max(15px, min(2.43vw, 35px));
}

.overview_crient:nth-child(2) {
	border-left: 1px solid #DCDDDD;
	padding-left: max(15px, min(2.43vw, 35px));
}

@media screen and (max-width: 767px) {
	.overview_crient li {
		font-size: 14px;
	}

	.access_img,
	.access_map,
	.access .btn_line {
		width: 100%;
	}

	.access_img {
		height: auto;
		aspect-ratio: 3/4;
		margin-top: 0;
		margin-bottom: 24px;
	}
}

/*– GREETING ———————*/
.greeting .section_container {
	max-width: 1340px;
}

.greeting_textarea-title,
.greeting_textarea-philosophy,
.greeting_textarea-quality {
	font-size: max(20px, min(2.22vw, 32px));
	font-family: var(--font-serif);
	letter-spacing: 0.08em;
}

.greeting_textarea-title {
	margin-bottom: max(15px, min(3.47vw, 50px));
}

.greeting_textarea-philosophy,
.greeting_textarea-quality {
	margin-bottom: 15px;
}

.greeting_textarea-quality {
	margin-top: max(25px, min(3.47vw, 50px));
}

.greeting_textarea-text,
.greeting_textarea-list {
	letter-spacing: 0.08em;
	line-height: 2;
}

.greeting_img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	object-position: center;
}

.greeting_company-name,
.greeting_ceo-name {
	text-align: right;
	margin: max(15px, min(2.08vw, 30px)) 0 auto auto;
}

.greeting_company-name img,
.greeting_ceo-name img {
	display: inline;
	width: max(170px, min(16.67vw, 240px));
}

.greeting_company-name img {
	width: max(200px, min(20.83vw, 350px));
}

.greeting_ceo-name span {
	margin-right: 10px;
	vertical-align: middle;
}

.greeting_ceo-name img {
	width: max(170px, min(16.67vw, 170px));
}

.greeting_ceo-name {
	margin: max(40px, min(2.08vw, 40px)) 0 auto auto;
}

@media screen and (min-width: 768px) {
	.greeting_img {
		min-height: 500px;
	}
}

@media screen and (max-width: 767px) {
	.greeting_img {
		margin-bottom: 24px;
	}
}

/* PRODUCTS
--------------------- */
.products .section_container {
	width: 88%;
	max-width: 980px;
	padding-top: max(50px, min(6.94vw, 100px));
}

.products_btn-wrapper {
	text-align: center;
	margin-bottom: max(50px, min(5.56vw, 80px));
}

.products_container:not(:last-child) {
	margin-bottom: max(15px, min(2.08vw, 30px));
}

.products_container-title {
	font-size: max(26px, min(2.08vw, 30px));
	margin-bottom: max(20px, min(2.43vw, 35px));
}

.product_list-item {
	margin-bottom: 55px;
	position: relative;
}

.product_list-link {
	display: block;
}

.product_list-img {
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
	object-position: center;
	border: 1px solid #E3E3E3;
	margin-bottom: max(15px, min(2.08vw, 30px)); 
}

.product_list-title {
	font-size: max(18px, min(1.39vw, 20px));
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: 15px;
}

.product_btn-viewmore {
	display: block;
	width: 160px;
	color: var(--color-primary);
	font-weight: 600;
	margin: 32px 0 auto auto;
	position: relative;
}

.product_btn-viewmore::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: url(../images/common/btn_arrow-blue.svg) no-repeat center/contain;
	transition: ease-in-out .3s;
}

.product_list-link:hover .product_btn-viewmore::before {
	right: -10px;
}

.product_list-table,
.product_list-compatible {
	margin-top: 24px;
}

.product_list-table th,
.product_list-table td,
.product_compatible-table th,
.product_compatible-table td {
	font-size: 14px;
}

.product_list-table th,
.product_list-table td {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E6E6E6;
}

.product_list-table tr:first-child th,
.product_list-table tr:first-child td {
	border-top: 1px solid #E6E6E6;
}

.product_compatible-table th,
.product_compatible-table td {
	padding-top: 0;
	padding-bottom: 0;
}

.product_compatible-table th,
.product_compatible-table td,
.product_compatible-table tr:first-child th,
.product_compatible-table tr:first-child td {
	border-top: none;
	border-bottom: none;
}

.product_compatible-title {
	color: #00A8D0;
	font-weight: 600;
	margin-bottom: 15px;
	position: relative;
}

.product_compatible-title::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	max-width: 170px;
	height: 1px;
	background: #00A8D0;
	z-index: -1;
}

.product_compatible-title span {
	display: inline-block;
	background: #FFF;
	padding-right: 15px;
}

.product_compatible-tag {
	display: inline-block;
	text-align: center;
	color: #FFF;
	font-weight: 600;
	line-height: 2;
	background: #00A8D0;
	border-radius: 100vh;
	padding: 0 15px;
	margin-bottom: 10px;
	margin-right: 10px;
}

@media screen and (min-width: 768px) {
	.products_btn-wrapper .btn {
		margin-left: min(1.39vw, 25px);
		margin-right: min(1.39vw, 25px);
	}

	.product_list-item {
		padding-bottom: 50px;
	}

	.product_list-textarea {
		display: block;
		padding-left: min(1.74vw, 25px);
		padding-right: min(1.74vw, 25px);
	}

	.product_btn-viewmore {
		margin: auto 0 auto auto;
		position: absolute;
		bottom: 0;
		right: 0;
	}
}

@media screen and (max-width: 767px) {	
	.product_list-table th {
		padding-bottom: 0;
		border-top: none;
		border-bottom: none;
	}

	.product_list-table td {
		padding-top: 0;
	}

	.product_list-table tr:first-child td {
		border-top: none;
	}
}


/* EXPIRE PRODUCTS
--------------------- */
.expireproducts_title {
	color: var(--color-primary);
	font-size: max(20px, min(1.94vw, 28px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	background: #F0F5FC;
	padding: max(5px, min(1.04vw, 15px)) max(15px, min(2.78vw, 40px));
	margin-top: 50px;
	margin-bottom: 20px;
}

.expireproducts .index_list-table {
	width: 100%;
}

.contact_list tr:first-child th,
.contact_list tr:first-child td {
	border-top: none;
}

.contact_list th,
.contact_list td {
	border-bottom: none;
}

.model_name {
	text-align: left!important;
	padding-left: 0!important;
}

@media screen and (min-width: 768px) {
	.contact_list {
		max-width: 60%;
	}
}

/* HOUSING / SWIVEL
--------------------- */
.housing_swivel_nav .section_container {
	width: 88%;
	max-width: 1100px;
}

.housing_swivel_nav-item a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.housing_swivel_nav-item a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.housing_swivel_nav-item a::after {
	content: "";
	position: absolute;
	bottom: max(10px, min(1.67vw, 24px));
	right: max(14px, min(2.92vw, 42px));
	width: max(30px, min(2.78vw, 40px));
	height: max(30px, min(2.78vw, 40px));
	background: url(../images/common/btn_arrow-white-sp.svg) no-repeat center/contain;
}

.housing_swivel_nav-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.housing_swivel_nav-item h2 {
	color: #FFF;
	font-size: max(20px, min(2.08vw, 30px));
	font-weight: 600;
	letter-spacing: 0.08em;
	position: absolute;
	bottom: max(10px, min(1.67vw, 24px));
	left: max(14px, min(2.92vw, 42px));
}

@media screen and (max-width: 767px) {
	.housing_swivel_nav-item:not(:last-child) {
		margin-bottom: 30px;
	}
}

/* BROADCAST
--------------------- */
.broadcast_nav-item a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.broadcast_nav-item a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
}

.broadcast_nav-item a::after {
	content: "";
	position: absolute;
	bottom: max(10px, min(1.04vw, 15px));
	right: max(14px, min(1.67vw, 24px));
	width: min(2.08vw, 30px);
	height: min(2.08vw, 30px);
	background: url(../images/common/btn_arrow-white-sp.svg) no-repeat center/contain;
}

.broadcast_nav-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.broadcast_nav-item h2 {
	color: #FFF;
	font-size: min(1.67vw, 24px);
	font-weight: 600;
	letter-spacing: 0.08em;
	position: absolute;
	bottom: max(10px, min(1.04vw, 15px));
	left: max(14px, min(1.67vw, 24px));
}

@media screen and (max-width: 767px) {
	.broadcast_nav-item a::after {
		width: 30px;
		height: 30px;
	}

	.broadcast_nav-item:not(:last-child) {
		margin-bottom: 30px;
	}

	.broadcast_nav-item h2 {
		font-size: max(18px, min(1.67vw, 24px));
	}
}


/* WORKS
--------------------- */
.works_case-title {
	width: 85%;
	max-width: 1200px;
	margin: 30px auto;
}

.works_case-title:not(:first-of-type) {
	margin: 60px auto 30px;
}

.works_case-subtitle {
	width: 85%;
	max-width: 1200px;
	margin: 0 auto 20px;
	font-size: max(18px, min(1.39vw, 20px));
	font-weight: 600;
}

.works_case-title [lang="en"] {
	display: inline-block;
	font-size: max(42px, min(3.61vw, 52px));
	margin-right: max(5px, min(2.08vw, 15px));
	line-height: 1;
}

.works_case-title [lang="ja"] {
	font-size: max(14px, min(1.39vw, 20px));
	font-weight: bold;
}

.works_slider {
	width: 85%;
	max-width: 1200px;
	margin: 0 auto;
}

.works_slider .slick-list {
	position: relative;
}

.works_slider .slick-list:first-child {
	padding-left: 0!important;
}

.works_slider .slick-arrow {
	top: -21%;
}

.works_slider .slick-arrow.slick-prev {
	right: 65px;
}

.works_slider .slick-arrow.slick-next {
	right: 0;
}

.works_slider-img {
	width: 100%;
	aspect-ratio: 1.8/1;
	object-fit: cover;
	object-position: center;
}

.works_slider-title {
	text-align: center;
	color: var(--color-primary);
	font-size: max(18px, min(1.39vw, 20px));
	font-weight: 600;
	padding-top: max(10px, min(1.39vw, 20px));
	padding-bottom: max(10px, min(1.39vw, 20px));
}

@media screen and (max-width: 1400px) {
	.works_slider {
		width: 92.5%;
		margin: auto 0 auto auto;
	}

	.works_slider .slick-arrow.slick-prev {
		right: calc(7.5% + 65px);
	}

	.works_slider .slick-arrow.slick-next {
		right: 7.5%;
	}
}

@media screen and (min-width: 768px) {
	.works_slider-slide:not(:last-of-type) {
		margin-right: 5px;
	}

	.works_slider-inner {
		padding-left: min(1.39vw, 20px);
		padding-right: min(1.39vw, 20px);
	}
}

@media screen and (max-width: 767px) {
	.works_case-title,
	.works_case-subtitle {
		width: 88%;
	}

	.works_case-title:not(:first-of-type) {
		margin: 150px auto 30px;
	}

	.works_slider {
		width: 88%;
		margin: 0 auto;
	}

	.works_slider .slick-list {
		margin-bottom: max(75px, min(6.94vw, 100px));
	}

	.works_slider .slick-list::before {
		top: 63%;
	}

	.works_slider-slide:not(:last-of-type) {
		margin-left: 2.5px;
		margin-right: 2.5px;
	}

	.works_slider .slick-arrow {
		top: calc(100% + 30px)
	}

	.works_slider .slick-arrow.slick-prev {
		right: auto;
		left: calc(50% - 35.2px);
		transform: translateX(-50%);
	}

	.works_slider .slick-arrow.slick-next {
		right: auto;
		left: calc(50% + 35.2px);
		transform: translateX(-50%);
	}
}

/* CATALOG / INDEX
--------------------- */
.catalog-index_nav .section_container {
	width: 88%;
	max-width: 1100px;
}

.catalog-index_nav-item a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.catalog-index_nav-item a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(transparent, rgba(0, 0, 0, .5));
}

.catalog-index_nav-item a::after {
	content: "";
	position: absolute;
	bottom: max(10px, min(1.67vw, 24px));
	right: max(14px, min(2.92vw, 42px));
	width: max(30px, min(2.78vw, 40px));
	height: max(30px, min(2.78vw, 40px));
	background: url(../images/common/btn_arrow-white-sp.svg) no-repeat center/contain;
}

.catalog-index_nav-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.catalog-index_nav-textarea {
	color: #FFF;
	font-weight: 600;
	letter-spacing: 0.08em;
	position: absolute;
	bottom: max(10px, min(1.67vw, 24px));
	left: max(14px, min(2.92vw, 42px));
}

.catalog-index_nav-textarea h2 {
	font-size: max(20px, min(2.08vw, 30px));
}

@media screen and (max-width: 767px) {
	.catalog-index_nav-item:not(:last-child) {
		margin-bottom: 30px;
	}
}

/*– CATALOG ———————–*/
.catalog {
	margin-bottom: max(75px, min(6.94vw, 100px));
}

.catalog_list-link {
	display: block;
}

.catalog_list-img {
	width: 100%;
	aspect-ratio: 1/1.5;
	object-fit: cover;
	object-position: center;
	border: 3px solid #E0E0E0;
}

.catalog_list-title {
	text-align: center;
	font-weight: 600;
	margin-top: 20px;
}

@media screen and (max-width: 639px) {
	.catalog_list-link {
		margin-bottom: max(30px, min(7.82vw, 50px));
	}
}

/*– INDEX ———————–*/
.index_searchbox {
	text-align: center;
	background: #F5F5F5;
	padding: max(20px, min(2.78vw, 40px));
	margin-bottom: max(30px, min(4.17vw, 60px));
}

.index_searchbox-title {
	font-size: max(20px, min(2.08vw, 30px));
	font-weight: 600;
	margin-bottom: max(10px, min(1.04vw, 15px));
}

.index_searchbox-link {
	display: inline-block;
	text-align: center;
	font-weight: 600;
	line-height: 3;
	padding: 0 18px;
	background: #FFF;
	border-radius: 100vh;
	margin: 4px;
}

.index_searchbox-link:not(:first-child) {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
}

.index_list {
	margin-bottom: max(30px, min(3.47vw, 50px));
}

.index_list-title {
	color: var(--color-primary);
	font-size: max(20px, min(1.94vw, 28px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	background: #F0F5FC;
	padding: max(10px, min(1.04vw, 15px)) max(15px, min(2.78vw, 40px));
	margin-bottom: 20px;
}

.index_list-table th,
.index_list-table td {
	text-align: center;
	padding-top: 15px;
	padding-bottom: 15px;
}

.index_list-thead th:first-child,
.index_list-tbody td:first-child  {
	text-align: left;
	padding-left: max(15px, min(2.78vw, 40px));
}

.index_list-thead {
	background: #FCFCFC;
	border: 1px solid #E3E3E3;
}

.index_list-thead th {
	width: 25%;
	font-size: max(18px, min(1.39vw, 20px));
	border: none!important;
}

.index_list-tbody tr:first-child td {
	border-top: none;
}

.index_list-tbody td {
	border-bottom: 1px solid #E6E6E6;
}

.index_download {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-primary);
	position: relative;
}

.index_download::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(../images/common/icon_index-download.svg) no-repeat center/contain;
	margin-left: 5px;
}

@media screen and (min-width: 768px) {
	.index_list-table {
		width: 93%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.index_list-scroll {
		overflow: scroll;
	}

	.index_list-table th,
	.index_list-table td {
		display: table-cell;
		width: auto;
		white-space: nowrap;
		padding: 10px;
	}

	/* 	.index_searchbox-link:first-child {
	width: 100%;
} */

	.index_list-scroll > p {
		padding-bottom: 15px;
	}
}

/*  STRENGTH
--------------------- */
.strength_btn-wrapper {
	text-align: center;
}

.strength_item:not(:last-child) {
	margin-bottom: max(50px, min(5.56vw, 80px));
}

.strength_intro {
	margin-bottom: max(40px, min(4.51vw, 65px));
}

.strength_sub-title {
	color: var(--color-primary);
	font-size: max(22px, min(2.78vw, 40px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: max(15px, min(2.08vw, 30px));
}

.strength_intro-text {
	line-height: 2;
}

.strength_item-title {
	color: var(--color-primary);
	font-size: max(20px, min(1.94vw, 28px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	background: #F0F5FC;
	padding: max(5px, min(1.04vw, 15px)) max(15px, min(2.78vw, 40px));
	margin-bottom: 20px;
}

.strength_inner-message {
	font-size: max(18px, min(1.39vw, 20px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.strength_list-item {
	margin-top: max(20px, min(1.94vw, 28px));
	margin-bottom: max(15px, min(1.39vw, 20px));
}

.strength_list-img {
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
	object-position: center;
}

.strength_list-img.aspect15 {
	aspect-ratio: 1.5/1;
}

.strength_list-title {
	text-align: center;
	font-size: max(17px, min(1.39vw, 20px));
	font-weight: 600;
	margin-top: 15px;
}

.strength_list-text {
	line-height: 2;
	margin-top: 10px;
}

.strength_last-message {
	font-size: max(16px, min(1.67vw, 24px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: max(30px, min(5.72vw, 80px));
}

.strength_example {
	display: inline-block;
	font-weight: 600;
	margin-bottom: max(15px, min(2.08vw, 30px));
}

@media screen and (min-width: 768px) {
	.strength_item-inner {
		padding-left: min(2.78vw, 40px);
		padding-right: min(2.78vw, 40px);
	}

	.strength_list-text {
		padding-left: min(1.39vw, 20px);
		padding-right: min(1.39vw, 20px);
	}
}

/*– MADE IN JP ———————–*/
.strength_intro-eyecaych {
	display: block;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-bottom: max(40px, min(5.72vw, 80px));
}

/*– RECORD ———————–*/
.strength_intro-record {
	margin-top: max(40px, min(4.51vw, 65px));
	margin-bottom: 15px;
}

.strength_intro-record-img {
	aspect-ratio: 3/2;
	object-fit: cover;
	object-position: center;
}

.strength_intro-record-title,
.strength_item-list-title {
	font-size: max(18px, min(1.39vw, 20px));
	font-weight: bold;
	letter-spacing: 0.08em;
}

.strength_intro-record-title {
	text-align: center;
	font-size: max(16px, min(1.39vw, 20px));
	margin-top: max(5px, min(1.04vw, 15px));
}

.strength_item-inner:not(:last-child) {
	margin-bottom: max(40px, min(4.51vw, 65px));
}



/*  CF7
--------------------- */
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	display: block;
	width: 100%;
	height: 45px;
	margin-bottom: 0;
	padding: 0 12px;
	border: none;
	border-radius: 5px;
	box-shadow: none;
	background-color: #F5F5F5;
	vertical-align: middle;
	line-height: 45px;
}

table.CF7_table textarea {
	resize: vertical;
	max-width: 100%;
	min-height: 300px;
	line-height: 1.5em;
	padding: 0.5em;
	overflow: auto;
}

.CF7_table th,
.CF7_table td {
	border: none !important;
}

.CF7_table th {
	vertical-align: middle;
}

.CF7_table ::placeholder {
	color: #797979;
}

.CF7_req {
	font-size: 14px;
	color: #FA3B3B;
	font-weight: 600;
}

.CF7_unreq {
	font-size: 14px;
	color: #666;
	font-weight: 600;
}

@media screen and (min-width: 768px) {
	.CF7_req,
	.CF7_unreq {
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.CF7_req,
	.CF7_unreq {
		padding-left: 10px;
	}
}
/*– BTN:SEND ———————*/
.wpcf7 input.wpcf7-submit {
	min-width: 210px;
	text-align: center;
	color:#fff;
	font-weight: 600;
	letter-spacing: 0.12em;
	padding: 15px 30px;
	background: var(--color-primary);
	border-radius: 100vh;
	cursor: pointer;
}

.CF7_btn {
	max-width: 210px;
	text-align: center;
	margin: 40px auto 0;
	position: relative;
}

.CF7_btn::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

/*  ARCHIVES
--------------------- */
.news_list-item {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	margin-top: -1px;
}

.pagination {
	margin-top: 30px;
}

.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-numbers li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 70px;
	font-weight: 600;
	border-radius: 50%;
	background: #F0F0F0;
	margin-left: 8px;
	margin-right: 8px;
}

.page-numbers li .current {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	color: #FFF;
	background: var(--color-primary);
}

.page-numbers li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.page-numbers li a.prev,
.page-numbers li a.next {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #FFF;
}


/*  SINGLE
--------------------- */
.single_title {
	font-size: max(22px, min(1.67vw, 24px));
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: max(30px, min(2.78vw, 40px));
}

.single p {
	padding-bottom: 15px;
}

.btn_single a {
	display: inline-block;
	min-width: 210px;
	text-align: center;
	color: #FFF;
	font-weight: 600;
	line-height: 3.5;
	background: var(--color-primary);
	border-radius: 100vh;
	padding: 0 15px;
	position: relative;
}

.btn_single a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: url(../images/common/btn_arrow-white.svg) no-repeat center/contain;
	transition: ease-in-out .3s;
}

.btn_single a:hover::before {
	right: 10px;
}