@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
}
img {
		border: none;
		vertical-align: top;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		user-select: none;
}
body {
		font-family: 'Roboto', 'Noto Sans JP', sans-serif;
		font-size: 16px;
		color: #3D3A39;
		background: #fff;
		-webkit-text-size-adjust: 100%;
		text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, p, li, dt, dd, th, td {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
html.bodyLock {
		overflow: hidden;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
.page_shell {
		overflow: hidden
}
.header_bg {
		background: #fff;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 120px;
		z-index: 90;
		pointer-events: none
}
#toppage .header_bg {
		background: none;
}
#toppage .header_bg.isWht {
		background: #fff;
}
@media(max-width: 767px) {
		.header_bg {
				height: 80px;
		}
}
/* ============== */
.header_nav {
		position: fixed;
		right: 40px;
		top: 30px;
		width: 60px;
		height: 60px;
		z-index: 5000
}
@media(max-width: 960px) {
		.header_nav {
				right: 30px;
				top: 30px;
		}
}
@media(max-width: 767px) {
		.header_nav {
				right: 13px;
				top: 13px;
				width: 50px;
				height: 50px;
		}
}
.header_logo {
		width: 435px;
		position: fixed;
		top: 40px;
		left: 60px;
		z-index: 1000;
}
.header_logo img {
		width: 100%;
		height: auto
}
@media(max-width: 960px) {
		.header_logo {
				width: 340px;
				top: 40px;
				left: 40px;
		}
}
@media(max-width: 767px) {
		.header_logo {
				width: 200px;
				top: 27px;
				left: 30px;
		}
}
#toppage .header_logo {
		display: none
}
.header_nav_btn {
		border: none;
		background: none;
		width: 60px;
		height: 60px;
		cursor: pointer;
		display: inline-block;
		position: relative;
}
.header_nav_btn .header_nav_trigger_bar {
		position: absolute;
		top: 29px;
		left: 10px;
		width: 40px;
		height: 2px;
}
.header_nav_btn .open {
		opacity: 0;
		background: none !important;
}
.header_nav_trigger_bar {
		background: #3D3A39;
}
#toppage .header_nav_trigger_bar {
		background: #fff;
}
#toppage .isBlk .header_nav_trigger_bar {
		background: #3D3A39;
}
.header_nav_btn .header_nav_trigger_bar:first-child {
		top: 17px;
		transform-origin: right center;
}
.header_nav_btn .header_nav_trigger_bar:nth-child(2) {
		top: 29px;
		transform-origin: right center;
}
.header_nav_btn .header_nav_trigger_bar:nth-child(3) {
		top: 41px;
		width: 25px;
		left: 25px;
		transform-origin: right center;
}
@media(max-width: 767px) {
		.header_nav_btn {
				width: 50px;
				height: 50px;
		}
		.header_nav_btn .header_nav_trigger_bar {
				top: 24px;
				left: 8px;
				width: 34px;
		}
		.header_nav_btn .header_nav_trigger_bar:first-child {
				top: 14px;
		}
		.header_nav_btn .header_nav_trigger_bar:nth-child(2) {
				top: 24px;
		}
		.header_nav_btn .header_nav_trigger_bar:nth-child(3) {
				top: 34px;
				width: 20px;
				left: 22px;
		}
}
@media (hover: hover) {
		.header_nav_btn:not(.navOpen):hover .header_nav_trigger_bar:first-child {
				animation: hmbLine 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		}
		.header_nav_btn:not(.navOpen):hover .header_nav_trigger_bar:nth-child(2) {
				animation: hmbLine 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
				animation-delay: 0.12s;
		}
		.header_nav_btn:not(.navOpen):hover .header_nav_trigger_bar:nth-child(3) {
				animation: hmbLine 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
				animation-delay: 0.24s;
		}
}
@keyframes hmbLine {
		0% {
				transform: scaleX(1)
		}
		40%, 50% {
				transform: scaleX(0)
		}
		100% {
				transform: scaleX(1)
		}
}
.header_nav_btn.navOpen {
		transform: rotate(90deg);
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.navOpen .header_nav_trigger_bar:not(.open) {
		background: #3D3A39;
		transition: opacity 0.3s 0.08s;
		opacity: 0
}
.navOpen .header_nav_trigger_bar.open {
		opacity: 1;
}
.header_nav_trigger_bar.open::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #3D3A39;
}
.navOpen .header_nav_trigger_bar:nth-child(4) {
		transform: rotate(45deg)
}
.navOpen .header_nav_trigger_bar.open:nth-child(5) {
		transform: rotate(-45deg)
}
.header_nav_trigger_bar:nth-child(4)::after {
		transform-origin: left center;
		transform: scaleX(0);
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: 0.25s
}
.header_nav_trigger_bar:nth-child(5)::after {
		transform-origin: right center;
		transform: scaleX(0);
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: 0.15s
}
.navOpen .header_nav_trigger_bar::after {
		transform: scaleX(1)
}
/* ==================== */
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		z-index: 2000;
		display: none;
		background: #fff;
}
.navBoard .navBoard_logo {
		width: 435px;
		position: absolute;
		top: 40px;
		left: 60px;
}
.navBoard_logo img {
		width: 100%;
		height: auto;
}
@media(max-width: 960px) {
		.navBoard .navBoard_logo {
				width: 340px;
				top: 40px;
				left: 40px;
		}
}
@media(max-width: 767px) {
		.navBoard .navBoard_logo {
				width: 200px;
				top: 27px;
				left: 30px;
		}
}
.navBoard.isVisible .navBoard_bg {
		transform: scaleX(1) skewX(-15deg);
}
.navBoard_inner {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;
		box-sizing: border-box;
}
.navBoard_inner li {
		list-style: none;
		margin: 0 0 30px;
		font-family: 'Poppins', sans-serif;
		font-size: 46px;
		font-weight: 600;
		line-height: 1;
		text-align: center;
		letter-spacing: 0.02em;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		opacity: 0;
		transform: translateX(50px)
}
.underL {
		position: relative;
}
.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 3px;
		left: 0;
		width: 100%;
		height: 2px;
		background: #3D3A39;
		transform-origin: left center;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
@media (hover: hover) {
		a:hover .underL::after {
				transform: scaleX(1);
		}
}
@media(max-width: 767px) {
		.navBoard_inner li {
				transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
				transform: translateX(30px)
		}
}
.navBoard_inner li:nth-child(2) {
		transition-delay: 0.05s
}
.navBoard_inner li:nth-child(3) {
		transition-delay: 0.1s
}
.navBoard_inner .dr_submenu + ul li:nth-child(1) {
		transition-delay: 0.15s;
}
.navBoard_inner .dr_submenu + ul li:nth-child(2) {
		transition-delay: 0.2s;
}
.navBoard_inner .dr_submenu + ul li:nth-child(3) {
		transition-delay: 0.25s
}
.navBoard_inner .dr_submenu + ul li:nth-child(4) {
		transition-delay: 0.3s
}
.navBoard_inner .dr_submenu + ul li:nth-child(5) {
		transition-delay: 0.35s
}
.navBoard.isVisible .navBoard_inner li {
		opacity: 1;
		transform: translateX(0px)
}
.navBoard_inner .dr_submenu li {
		font-size: 36px;
		margin: 0 0 20px;
}
.navBoard_inner li a {
		text-decoration: none;
		display: block;
		color: #3D3A39;
		text-align: center;
}
.navBoard_inner li.parent {
		cursor: pointer;
}
.navBoard_inner li.parent span {
		position: relative;
		display: inline-block;
}
.navBoard_inner li.parent span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		right: -30px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		border-right: 2px solid #3D3A39;
		border-bottom: 2px solid #3D3A39;
		transform: rotate(45deg);
}
.navBoard_inner li.parent.isOpen span::after {
		top: calc(50% - 4px);
		border-top: 2px solid #3D3A39;
		border-left: 2px solid #3D3A39;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
}
.dr_submenu {
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.sub_menu {
		padding-bottom: 10px;
}
@media(min-width: 768px) and (max-height: 900px) {
		.navBoard_inner li {
				font-size: 34px;
				margin: 0 0 20px;
		}
		.navBoard_inner .dr_submenu li {
				font-size: 24px;
				margin: 0 0 15px;
		}
}
@media(min-width: 768px) and (max-height: 600px) {
		.navBoard_inner li {
				font-size: 30px;
				margin: 0 0 15px;
		}
		.navBoard_inner .dr_submenu li {
				font-size: 20px;
				margin: 0 0 10px;
		}
}
@media(max-width: 767px) {
		.navBoard_inner {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				padding: 0 20px 0 60px;
		}
		.navBoard_inner li a {
				text-align: left;
		}
		.navBoard_inner li {
				margin: 0 0 18px;
				font-size: 30px;
				text-align: left;
		}
		.navBoard_inner .dr_submenu li {
				font-size: 24px;
				margin: 0 0 18px;
		}
		.navBoard_inner li.parent span::after {
				top: calc(50% - 9px);
				right: -24px;
				width: 7px;
				height: 7px;
		}
		.navBoard_inner li.parent.isOpen span::after {
				top: calc(50% - 1px);
		}
}
@media(max-width: 375px) {
		.navBoard_inner li {
				margin: 0 0 12px;
				font-size: 28px;
		}
		.navBoard_inner .dr_submenu li {
				font-size: 18px;
				margin: 0 0 10px;
		}
}
.navBoard .dr_frame {
		position: absolute;
		background: #3D3A39;
		pointer-events: none;
		z-index: 10;
}
.dr_frame.psLeft, .dr_frame.psRight {
		width: 14px;
		height: 100%;
}
.dr_frame.psUp, .dr_frame.psBtm {
		width: 100%;
		height: 14px;
}
.dr_frame.psLeft {
		top: 0;
		left: 0;
		transform-origin: center bottom;
		transform: scaleY(0);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.dr_frame.psUp {
		top: 0;
		left: 0;
		transform-origin: left center;
		transform: scaleX(0);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.dr_frame.psRight {
		top: 0;
		right: 0;
		transform-origin: center top;
		transform: scaleY(0);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.dr_frame.psBtm {
		bottom: 0;
		left: 0;
		transform-origin: right center;
		transform: scaleX(0);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.isVisible .dr_frame {
		transform: scale(1)
}
@media(max-width: 767px) {
		.dr_frame.psLeft, .dr_frame.psRight {
				width: 10px;
				height: 100%;
		}
		.dr_frame.psUp, .dr_frame.psBtm {
				width: 100%;
				height: 10px;
		}
}
/* ==================== */
.gtranslate_trigger {
		position: fixed;
		width: 60px;
		top: 34px;
		right: 110px;
		cursor: pointer;
		transition: opacity 0.3s;
		z-index: 100
}
.gtranslate_trigger.isOpen {
		opacity: 0.5
}
.gtranslate_trigger_icon {
		width: 44px;
		margin: 0 auto
}
.gtranslate_trigger_icon img {
		width: 100%;
		height: auto;
}
#toppage .gtranslate_trigger .gtranslate_trigger_icon img {
		filter: invert(1) brightness(2);
}
#toppage .gtranslate_trigger_txt {
		color: #fff;
}
#toppage .gtranslate_trigger.isBlk .gtranslate_trigger_icon img {
		filter: none;
}
#toppage .isBlk .gtranslate_trigger_txt {
		color: #3D3A39;
}
.gtranslate_trigger_txt {
		text-align: center;
		font-size: 9px;
		font-family: 'Poppins', sans-serif;
		line-height: 1;
		font-weight: 500;
}
.gtranslate_wrap {
		width: 170px;
		position: fixed;
		right: 38px;
		top: 110px;
		opacity: 0;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		transform: translateX(80px);
		z-index: -1;
		pointer-events: none;
}
.gtranslate_wrap.isOpen {
		transform: translateX(0px);
		opacity: 1;
		pointer-events: all;
		z-index: 100;
}
.gtranslate_hdr {
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		line-height: 1;
		width: 100%;
}
.gtranslate_cont {
		width: 100%;
		background: #fff;
		overflow: hidden;
		border-radius: 4px;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}
.glink.nturl.notranslate.gt-current-lang {
		font-weight: 700;
}
.gtranslate_hdr a {
		display: block;
		text-decoration: none;
		color: #3D3A39;
		padding: 7px 5px 7px 10px;
		transition: background 0.2s;
}
.gtranslate_hdr a:first-child {
		padding-top: 9px;
}
.gtranslate_hdr a:last-child {
		padding-bottom: 9px;
}
@media (hover: hover) {
		.gtranslate_hdr a:hover {
				background: #ededed;
		}
}
@media(max-width: 767px) {
		.gtranslate_trigger {
				width: 46px;
				top: 17px;
				right: 70px;
		}
		.gtranslate_trigger_icon {
				width: 36px;
		}
		.gtranslate_trigger_txt {
				font-size: 8px;
				position: relative;
				top: -1px
		}
		.gtranslate_hdr {
				font-size: 14px;
		}
		.gtranslate_wrap {
				width: 180px;
				right: -2px;
				top: 79px;
		}
		.gtranslate_cont {
				border-radius: 0 0 0 4px;
		}
		.gtranslate_hdr a {
				padding: 12px 5px 7px 12px;
		}
		.gtranslate_hdr a:first-child {
				padding-top: 12px;
		}
		.gtranslate_hdr a:last-child {
				padding-bottom: 12px;
		}
}
/* ==================== */
.wrap {
		max-width: 1000px;
		margin: 0 auto;
		padding: 100px 0;
}
.second_contents {
		padding-top: 160px;
		padding-bottom: 120px;
}
@media(max-width: 767px) {
		.second_contents {
				padding-top: 120px;
				padding-bottom: 80px;
		}
}
/* ==================== */
.page_header {
		max-width: 1500px;
		margin: 0 auto 40px;
		padding: 0 40px;
		position: relative;
		z-index: 10;
}
.page_header h2 {
		font-family: 'Poppins', sans-serif;
		font-size: 70px;
		line-height: 1;
		font-weight: 600;
		letter-spacing: 0
}
.page_header h2 span {
		position: relative
}
.page_header h2 span::after {
		content: '';
		display: block;
		width: 4px;
		height: 50px;
		background: #3D3A39;
		position: absolute;
		top: 25px;
		right: -40px;
		transform: skew(-20deg);
}
@media (max-width: 767px) {
		.page_header {
				margin-bottom: 30px;
				padding: 0 25px;
		}
		.page_header h2 {
				font-size: 34px;
		}
		.page_header h2 span::after {
				width: 2px;
				height: 26px;
				top: 13px;
				right: -15px;
				transform: skew(-20deg);
		}
}
/* ==================== */
.right_parts {
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		font-size: 14px;
		letter-spacing: 0.04em;
		color: #3D3A39;
		position: fixed;
		right: -150px;
		top: 50%;
		display: flex;
		align-items: center;
		transform: rotate(90deg);
		width: 421px;
}
.right_parts a {
		color: #3D3A39;
		text-decoration: none;
}
.right_copyright {
		margin-right: 20px;
}
@media(max-width: 1200px) {
		.right_parts {
				font-size: 14px;
				letter-spacing: 0;
				color: #3D3A39;
				position: static;
				right: inherit;
				top: inherit;
				display: flex;
				flex-direction: row-reverse;
				align-items: center;
				transform: rotate(0deg);
				width: auto;
				padding: 50px 30px;
		}
		.right_copyright {
				margin: 0 0px 0 20px;
		}
}
@media(max-width: 767px) {
		.right_parts {
				font-size: 11px;
				padding: 25px 15px;
		}
}
.footer_parts {
		position: relative;
		z-index: 10;
}
.footer_parts::before {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20vw 0 0 20vw;
		border-color: transparent transparent transparent #3D3A39;
		position: absolute;
		left: 0;
		bottom: 0;
		pointer-events: none
}
@media(max-width: 767px) {
		footer::before {
				border-width: 35vw 0 0 35vw;
		}
}
/* ==================== */
.blank_overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 9999;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #3D3A39;
		display: none;
		min-height: 100vh;
}
.blank_overlay p {
		font-size: 15px;
		margin: 0 auto 2em;
		text-align: center;
		line-height: 1.8;
		max-width: 500px;
}
@media(max-width: 390px) {
		.blank_overlay p.langEn {
				font-size: 14px;
		}
}
.blank_overlay ul {
		display: flex;
		justify-content: center
}
.blank_overlay li {
		font-size: 16px;
		list-style: none;
		margin: 0 5px;
		font-family: 'Roboto', sans-serif
}
.blank_overlay li a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 80px;
		height: 36px;
		border-radius: 4px;
		box-sizing: border-box;
		border: 1px solid #3D3A39;
		text-decoration: none;
		transition: opacity 0.3s;
}
.blank_overlay li a:hover {
		opacity: 0.7;
}
.blank_overlay li.agree_yes a {
		background: #3D3A39;
		color: #fff;
}
.blank_overlay li.agree_close a {
		background: #fff;
		color: #3D3A39;
}
/* ==================== */
.wp-block-table .has-fixed-layout {
		table-layout: auto !important
}
.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th {
		border: none;
		padding: 0;
		width: auto;
		padding: 0 10px 10px 0;
}
.wp-block-table .has-fixed-layout tr td:first-child {
		white-space: nowrap;
		width: 1%;
}
.wp-block-table .has-fixed-layout td a {
		color: #3D3A39;
		text-decoration: underline;
}
@media (hover: hover) {
		.wp-block-table .has-fixed-layout td a:hover {
				color: #3D3A39;
				text-decoration: none;
		}
}
@media(max-width: 840px) {
		.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th {
				display: block;
		}
		.wp-block-table .has-fixed-layout tr td:first-child {
				white-space: inherit;
				width: auto;
				padding: 0 0 3px;
		}
		.wp-block-table .has-fixed-layout tr td:nth-child(2) {
				padding: 0 0 15px;
		}
}
/* ==================== */
*::selection {
		background: #ccc !important;
		-webkit-background-clip: inherit;
		-webkit-text-fill-color: #ccc;
		color: #3D3A39;
}
::-moz-selection {
		background: #ccc;
}
::-webkit-scrollbar {
		width: 10px;
		height: 8px;
}
::-webkit-scrollbar-track {
		background-color: #f5f5f5;
}
::-webkit-scrollbar-thumb {
		background-color: #3D3A39;
}