@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
table {
		border-collapse: collapse;
}
img {
		border: none;
		vertical-align: top;
}
.clear {
		clear: both;
}
body {
		font-weight: 400;
		color: #000;
		background-color: #EFEFEF;
		font-size: 16px;
		font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
}
body.bodyLock, html.bodyLock {
		overflow: hidden
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
h1, h2, h3, h4, h5, h6 {
		font-weight: normal;
}
h1, h2, h3 {
		font-feature-settings: "palt";
		letter-spacing: 0.3em;
}
@media(max-width: 767px) {
		h1, h2, h3 {
				font-feature-settings: "palt";
				letter-spacing: 0.2em;
		}
}
h4, h5, h6 {
		font-feature-settings: "palt";
		letter-spacing: 0.1em;
}
p, li, dt, dd {
		font-feature-settings: "palt";
		letter-spacing: 0.1em;
}
.page_shell {
		overflow-x: clip;
}
.hdr_corporate_logo {
		position: absolute;
		left: 112px;
		top: 0;
		width: 135px;
		z-index: 9000;
}
.navBoard .nav_corporate_logo {
		position: absolute;
		top: 0;
		left: 110px;
		width: 14.1666666667vw;
		width: 135px;
}
.hdr_corporate_logo img {
		width: 100%;
		height: auto;
}
@media (max-width: 767px) {
		.hdr_corporate_logo {
				width: 80px;
				left: 30px;
		}
		.navBoard .nav_corporate_logo {
				width: 80px;
				top: 0;
				left: 30px
		}
}
section {
		padding: 200px 0;
		min-height: 100px;
}
.safety_section {
		background: #fff;
		padding-left: 0;
		padding-right: 0;
}
.simple_section {
		background: #F1E9E3;
}
section.feature_section {
		padding-left: 0;
		padding-right: 0;
}
.section_hd {
		width: 380px;
		margin: 0 auto 60px;
}
.section_hd img {
		width: 100%;
		height: auto
}
@media(max-width: 960px) {
		section {
				padding: 160px 0;
		}
		.section_hd {
				width: 300px;
				margin: 0 auto 40px;
		}
}
@media(max-width: 767px) {
		section {
				padding: 100px 0;
		}
		.section_hd {
				width: 190px;
				margin: 0 auto 35px;
		}
}
/* ========== */
footer {
		background-color: #F1E9E3;
		height: 100px;
		color: #000;
		display: flex;
		justify-content: center;
		align-items: center;
}
.copy {
		font-family: 'Inter', sans-serif;
		font-size: 12px;
		font-weight: 500;
}
/* ========== */
.pagetop {
		position: fixed;
		right: 40px;
		bottom: 54px;
		width: 80px;
		height: 80px;
		cursor: pointer;
		background: #fff;
		border: 1px solid #000;
		border-radius: 50%;
		z-index: 100;
		display: none;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.pagetop::after {
		content: '';
		display: block;
		position: absolute;
		top: 33px;
		left: 30px;
		width: 20px;
		height: 20px;
		pointer-events: none;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(-45deg)
}
@media(max-width: 1440px) {
		.pagetop {
				right: 40px;
				bottom: 64px;
				width: 60px;
				height: 60px;
		}
		.pagetop::after {
				top: 25px;
				left: 22px;
				width: 16px;
				height: 16px;
		}
}
@media(max-width: 767px) {
		.pagetop {
				right: 20px;
				bottom: 20px;
				width: 40px;
				height: 40px;
		}
		.pagetop.isActive {
				bottom: 77px;
		}
		.pagetop::after {
				top: 16px;
				left: 15px;
				width: 10px;
				height: 10px;
		}
}
/* ========== */
.side_btn {
		width: 123px;
		position: fixed;
		left: 20px;
		bottom: 90px;
		z-index: 50;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), bottom 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scale(0) translateY(160px)
}
.side_btn.isActive {
		transform: scale(1) translateY(0px)
}
.side_btn a {
		display: block;
		position: relative;
}
.side_btn a::before, .side_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 123px;
		height: 123px;
}
.side_btn a::before {
		background: #ddd;
		border-radius: 50%;
		transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.side_btn a::after {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 123px;
		background-image: url("../images/side_btn_theS-Long_wht.png");
		opacity: 0;
		transition: opacity 0.3s;
		pointer-events: none;
		z-index: 10
}
@media(max-width: 767px) {
		.side_btn {
				width: 80px;
				left: 15px;
				bottom: 70px;
		}
		.side_btn a::before, .side_btn a::after {
				width: 80px;
				height: 80px;
		}
		.side_btn a::after {
				background-size: 80px;
		}
}
@media (hover: hover) {
		.side_btn a:hover::before {
				transform: scale(1.15);
				background: #EA6202;
				mix-blend-mode: multiply
		}
		.side_btn a:hover img {
				opacity: 0
		}
		.side_btn a:hover::after {
				opacity: 1
		}
}
.side_btn .in {
		position: relative;
		z-index: 2
}
.side_btn img {
		width: 100%;
		height: auto;
}
/* ========== */
.alignR {
		text-align: right;
}
/* ==================== */
/* ==================== */ ::selection {
		background: #e1d2c9;
		color: #000;
}
::-moz-selection {
		background: #e1d2c9;
		color: #000;
}
@media(min-width: 768px) {
		::-webkit-scrollbar {
				width: 10px;
				height: 10px;
		}
		::-webkit-scrollbar-track {
				background-color: #fff;
		}
		::-webkit-scrollbar-thumb {
				background-color: #EA6202;
		}
}
.global_nav_wrap {
		position: sticky;
		top: 20px;
		left: 0;
		width: 100%;
		z-index: 100
}
.global_nav {
		max-width: 1000px;
		margin: 0 auto
}
.global_nav ul {
		list-style: none;
		height: 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-radius: 10px;
		overflow: hidden;
}
.global_nav ul li {
		width: 20%;
		box-sizing: border-box;
		border-right: 2px solid #fff;
}
.global_nav ul li:last-child {
		border-right: none;
}
.global_nav ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 80px;
		text-decoration: none;
		color: #000;
		text-align: center;
		background: #ddd;
		transition: background 0.3s;
}
.global_nav ul li a.isCurrent {
		background: #786352;
		color: #fff;
}
.global_nav ul li a .en {
		width: 135px;
		height: 12px;
		margin: 0 0 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.isCurrent .en img {
		opacity: 0;
}
.global_nav .en.glnav-1 {
		background-image: url("../images/navPC-1_wht.png")
}
.global_nav .en.glnav-2 {
		background-image: url("../images/navPC-2_wht.png")
}
.global_nav .en.glnav-3 {
		background-image: url("../images/navPC-3_wht.png")
}
.global_nav .en.glnav-4 {
		background-image: url("../images/navPC-4_wht.png")
}
.global_nav .en.glnav-5 {
		background-image: url("../images/navPC-5_wht.png")
}
@media (hover: hover) {
		.global_nav ul li a:not(.isCurrent):hover {
				background: #d2c3b9;
		}
}
.global_nav ul li a .en img {
		width: 100%;
		height: auto;
}
.global_nav ul li a .jp {
		font-size: 11px;
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0
}
.global_nav ul li a .in {
		transform: translateY(3px)
}
@media(max-width: 1100px) {
		.global_nav {
				max-width: 900px;
		}
}
@media(max-width: 1023px) {
		.global_nav {
				max-width: 730px;
		}
		.global_nav ul {
				height: 70px;
		}
		.global_nav ul li a {
				height: 70px;
		}
		.global_nav ul li a .en {
				width: 110px;
				margin: 0;
		}
		.global_nav ul li a .jp {
				font-size: 10px;
		}
		.global_nav ul li a .in {
				transform: translateY(3px)
		}
}
@media(max-width: 767px) {
		.global_nav_wrap {
				display: none
		}
}
/* ========== */
@media(min-width: 768px) {
		.sp_nav, .navBoard {
				display: none !important
		}
}
.sp_nav, .sp_nav_trigger {
		width: 35px;
		height: 35px;
		box-sizing: border-box;
		background: none;
		border: none;
}
.sp_nav {
		position: fixed;
		top: 20px;
		right: 23px;
		z-index: 7000;
}
.sp_nav_trigger {
		background: none;
		cursor: pointer;
		display: inline-block;
		position: relative;
		width: 35px;
		height: 35px;
		color: #000;
}
.sp_nav_trigger .nav_txt {
		position: absolute;
		left: 0;
		bottom: 0px;
		width: 35px;
		text-align: center;
		font-family: 'Inter', sans-serif;
		font-size: 10px;
		font-weight: 500;
}
.sp_nav_trigger .sp_nav_trigger_bar {
		display: block;
		position: absolute;
		top: 3px;
		left: 0;
		height: 2px;
		width: 35px;
		background: #000;
		z-index: 2;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child {
		top: 3px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
		top: 13px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		top: 8px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		transform: rotate(30deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		transform: rotate(-30deg);
		background: none;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3)::before, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4)::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #000;
		transform: scaleX(0);
		transform-origin: right center;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3)::before, .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transform: scaleX(1);
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		z-index: 6000;
		display: none;
		background: #ddd;
}
.navBoard_inner {
		display: flex;
		align-items: center;
		height: 100vh;
		height: 100dvh;
		box-sizing: border-box;
		padding-left: 45px;
		padding-right: 45px;
}
.navBoard_wrap, .navBoard_wrap ul {
		width: 100%;
}
.navBoard_wrap ul {
		list-style: none;
}
.navBoard_wrap li {
		margin: 0;
		font-size: 18px;
		font-weight: 500;
		position: relative;
}
.navBoard_wrap li::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #fff;
		transform-origin: left center;
		transform: scaleX(0);
}
.navBoard_wrap ul li:last-child::after {
		display: none
}
.navBoard_wrap li .en {
		width: 170px;
		margin-bottom: 5px;
}
.navBoard_wrap li .en img {
		width: 100%;
		height: auto;
}
.navBoard_wrap li .jp {
		font-size: 13px;
		letter-spacing: 0.08em;
}
.navBoard_wrap li a {
		display: block;
		padding: 22px 15px 22px;
		position: relative;
		color: #000;
		text-decoration: none;
		transform: translateX(-40px);
		opacity: 0;
}
.navBoard_wrap ul li:nth-child(2) a {
		animation-delay: 0.1s;
}
.navBoard_wrap ul li:nth-child(3) a {
		animation-delay: 0.2s;
}
.navBoard_wrap ul li:nth-child(4) a {
		animation-delay: 0.3s;
}
.navBoard_wrap ul li:nth-child(5) a {
		animation-delay: 0.4s;
}
.isVisible .navBoard_wrap li a {
		animation: navActive 0.55s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.navBoard_wrap ul li:nth-child(1)::after {
		animation-delay: 0.1s;
}
.navBoard_wrap ul li:nth-child(2)::after {
		animation-delay: 0.2s;
}
.navBoard_wrap ul li:nth-child(3)::after {
		animation-delay: 0.3s;
}
.navBoard_wrap ul li:nth-child(4)::after {
		animation-delay: 0.4s;
}
.isVisible .navBoard_wrap li::after {
		animation: navLineActive 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.navBoard_wrap li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6.5px);
		right: 30px;
		width: 13px;
		height: 13px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(45deg);
		opacity: 0;
}
.isVisible .navBoard_wrap li a::after {
		animation: navArwIn 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.navBoard_wrap ul li:nth-child(1) a::after {
		animation-delay: 0.1s;
}
.navBoard_wrap ul li:nth-child(2) a::after {
		animation-delay: 0.2s;
}
.navBoard_wrap ul li:nth-child(3) a::after {
		animation-delay: 0.3s;
}
.navBoard_wrap ul li:nth-child(4) a::after {
		animation-delay: 0.4s;
}
.navBoard_wrap ul li:nth-child(5) a::after {
		animation-delay: 0.5s;
}
@keyframes navActive {
		0% {
				transform: translateX(-40px);
				opacity: 0;
		}
		100% {
				transform: translateX(0px);
				opacity: 1;
		}
}
@keyframes navLineActive {
		0% {
				transform: scaleX(0);
		}
		100% {
				transform: scaleX(1);
		}
}
@keyframes navArwIn {
		0% {
				opacity: 0;
				right: 30px;
		}
		100% {
				opacity: 1;
				right: 10px;
		}
}