/* Theme Name: ms */

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ch;
}
a:hover,
a:focus {
	text-decoration-style: dashed;
}
a:active {
	text-decoration: none;
}
p {
	text-wrap: wrap;
}
.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}
.wp-block-search__button,
.wp-block-file .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 0;
	border: none;
	color: var(--wp--preset--color--background);
	font-size: var(--wp--preset--font-size--medium);
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}
.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
	opacity: 0.90;
}
.wp-site-blocks,
body>.is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"]>.wp-block-group,
.is-root-container .wp-block[data-align="full"]>.wp-block-cover {
	padding-left: var(--wp--custom--spacing--outer);
	padding-right: var(--wp--custom--spacing--outer);
}
.wp-site-blocks .alignfull,
.wp-site-blocks>.wp-block-group.has-background,
.wp-site-blocks>.wp-block-cover,
.wp-site-blocks>.wp-block-template-part>.wp-block-group.has-background,
.wp-site-blocks>.wp-block-template-part>.wp-block-cover,
body>.is-root-container>.wp-block-cover,
body>.is-root-container>.wp-block-template-part>.wp-block-group.has-background,
body>.is-root-container>.wp-block-template-part>.wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
	margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	width: unset;
}
/* Blocks inside columns don't have negative margins. */
.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
/* We also want to avoid stacking negative margins. */
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"]>*:not(.wp-block-group) .wp-block[data-align="full"] {
	margin-left: auto !important;
	margin-right: auto !important;
	width: inherit;
}
.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--custom--spacing--outer);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--outer);
	padding-left: var(--wp--custom--spacing--outer);
}

html {
	scroll-padding-top: 150px;
}
body {
	color:#646464;
	font-size:20px;
	font-weight:300;
	letter-spacing:0;
	line-height:1.4;
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	font-style: normal;
	/* width:calc( 100% - 60px ); */
	/* margin-left:auto; */
	position:relative;
}
body::before {
	content:"";
	display:block;
	width:570px;
	height:570px;
	background-image:url('./assets/img/top_circle.png');
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	top:70px;
	left:90px;
	transform:translate(-50%,-50%);
}
.zen {
	font-family: "Zen Old Mincho", serif;
}
p + p {
	margin-top:1.5em;
}
a, a > span, a::before, a::after {
	color:inherit;
	text-decoration: none;
	display: block;
	transition: 0.5s;
}
a:hover, a:hover > span, a:hover::before, a:hover::after {
	color:#E60012 !important;
	transition: 0.5s;
}
a.no-link {
	pointer-events: none;
}
.right {
	text-align: right;
}
.mt0 {
	margin-top: 0 !important;
}
ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
img {
	width: 100%;
	image-rendering: -webkit-optimize-contrast;
}
.inline-block,
.inline-block-pc {
	display: inline-block;
}
.u-fade-type-up{
	transform: translateY(50px);
	opacity: 0;
}
.u-fade-type-up.is-active{
	transition: .6s;
	transform: translateY(0);
	opacity: 1;
}

.section {
	width:100%;
	padding:120px 0 120px 60px;
	margin: 0 auto;
	position: relative;
}
.subpage .section:last-of-type {
	padding-bottom:150px;
}
.container {
	width: 100%;
	max-width: 1300px;
	padding: 0 50px;
	margin: 0 auto;
}
@media screen and (max-width:1000px) {
	.section {
		padding:90px 0 90px 60px;
	}
	.subpage .section:last-of-type {
		padding-bottom:100px;
	}
}
@media screen and (max-width:750px) {
	body {
		font-size:16px;
	}
	body::before {
		width:460px;
		height:460px;
		top:135px;
		left:20px;
	}
	.inline-block-pc {
		display: inline;
	}
	.section {
		padding:70px 0;
	}
	.subpage .section:last-of-type {
		padding-bottom:70px;
	}
	.container {
		padding: 0 20px;
	}
}
.flex-container {
	display: flex;
	flex-wrap: wrap;
}
.flex_c2,
.flex_c3 {
	gap:30px;
}
.flex_c4 {
	gap:30px;
}
.flex-container.flex_c2 .flex-item {
	width:calc( ( 100% - 30px ) / 2 );
	background-color:#fff;
	border-radius:20px 0 20px 0;
}
.flex-container.flex_c3 .flex-item {
	width:calc( ( 100% - 60px ) / 3 );
	background-color:#fff;
	border-radius:20px 0 20px 0;
}
.flex-container.flex_c4 .flex-item {
	width:calc( ( 100% -90px ) / 4 );
	background-color:#fff;
	border-radius:20px 0 20px 0;
}
.sp-block {
	display: none;
}
.under1000,
.under500,
.under370 {
	display: none;
}
.scale {
	overflow: hidden;
}
.scale img {
	transition: 0.3s;
}
.scale:hover img {
	transform: scale(1.1);
	transition: 0.3s;
}
.image-area {
	overflow:hidden;
	position:relative;
}

@media screen and (max-width:1000px) {
	.flex-container.flex_c4 .flex-item {
    width: calc((100% - 32px) / 3);
	}
	.over1000 {
		display: none;
	}
	.under1000 {
		display: block;
	}
}
@media screen and (max-width:750px) {
	.pc-block {
		display: none !important;
	}
	.sp-block {
		display: block !important;
	}
	.btn a {
		max-width:240px;
	}
}
@media screen and (max-width:500px) {
	.over500 {
		display: none;
	}
	.under500 {
		display: block;
	}
	.btn {
		margin-top:30px;
	}
}
@media screen and (max-width:370px) {
	.over370 {
		display: none;
	}
	.under370 {
		display: block;
	}
}

/* LOADING */
.loading {
	width:100dvw;
	height:100dvh;
	padding:50px;
	background-color:#000;
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	top:0;
	left:0;
	z-index:10000000;
	animation:loading 5s linear 0.5s forwards;
}
@keyframes loading {
  0% { background-color:#000; }
	20% { background-color:#fff; }
	85% { background-color:#fff; opacity:1; }
	100% { background-color:#fff; opacity:0; display:none; }
}
.loading .image-area {
	width:100%;
	max-width:1141px;
	max-width:1000px;
	opacity:0;
	animation:loading-image-open 0.5s linear 1.5s forwards;
	position:relative;
	overflow:hidden;
}
.loading .image-area::before {
	content: '';
	display: block;
	width: 100%;
	width:calc( 200% * 93 / 618 );
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0) 100%);
	background:linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0) 100%);
	position: absolute;
	top: 0;
	left: -50%;
	-webkit-transform: skewX(15deg);
	transform: skewX(15deg);
	z-index: 2;
	animation: shine 1.5s ease-in-out 2.75s forwards;
}
.loading .image-area::after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-color:#fff;
	position:absolute;
	top:0;
	left:0;
	animation:loading-image-filter 0.75s linear 2s forwards;
}
@keyframes loading-image {
  0% { opacity:0; }
	100% { opacity:1; }
}
@keyframes loading-image-open {
  0% { opacity:0; }
	100% { opacity:1; }
}
@keyframes loading-image-filter {
  0% { left:0; }
	100% { left:100%; }
}
@keyframes shine {
	0% { left: -50%; opacity: 1; }
	100% { left: 150%; opacity: 0; }
}

/* page-contact */
/* .page-contact .section-form .container,
.page-contact_confirm .section-form .container {
	max-width:830px;
}
.form-area * {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
}
.form-area dl + dl {
	margin-top:24px;
}
.form-area dl dt {
	font-size:16px;
	font-weight:500;
	letter-spacing:0;
	line-height:20px;
}
.form-area dl dt .require {
	color:#fff;
	font-size:14px;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:14px;
	text-align:center;
	display:inline-block;
	width:45px;
	height:20px;
	padding:3px 0;
	margin-left:10px;
	background-color:#E60012;
	border-radius:4px;
}
.form-area dl dd {
	margin-top:10px;
}
.form-area dl dd input,
.form-area dl dd select,
.form-area dl dd textarea {
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	width: 100%;
	padding:21px 26px;
	border: 1px solid #B4C0D2;
	border-radius: 8px;
	box-sizing: border-box;
}
.form-area dl dd select.wpcf7-not-valid {
	color:#B4C0D2;
}
.form-area dl dd select option {
	color:#334155;
}
.form-area dl dd select option:nth-of-type(1) {
	color:#B4C0D2;
}
.form-area dl .supplement {
	font-size:15px;
	font-weight:300;
	letter-spacing:0;
	line-height:1.6;
	margin:5.5px 0 -2.5px;
} */







.btn-area {
	width:100%;
	max-width:660px;
	margin:60px auto 0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:nowrap;
	gap:20px;
}
.btn-area a {
	color:#646464;
	font-size:16px;
	font-weight:300;
	letter-spacing:0;
	line-height:20px;
	display:block;
	width:calc( ( 100% - 20px ) / 2 );
	height:70px;
	padding:25px 30px;
	background-color:#fff;
	border:1px solid #646464;
	border-radius:35px;
	position:relative;
}
.btn-area a::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:33px;
	transform:translateY(-50%);
}
.btn-area a:hover,
.single-news .parts_single-pagination .flex-item a:hover,
.single-news .parts_single-pagination .flex-item.prev a:hover::after,
.single-news .parts_single-pagination .flex-item.next a:hover::after {
	border-color:#E60012 !important;
}
.btn-area a:hover::after,
.section-news .news-list-area li a:hover::after,
.single-news .parts_single-pagination .flex-item.up a:hover::after {
	background-color:#E60012 !important;
}
@media screen and (max-width:750px) {
	.btn-area {
		margin:40px auto 0;
		gap:12px;
	}
	.btn-area a {
		font-size:14px;
		width:calc( ( 100% - 12px ) / 2 );
		height:60px;
		padding:20px;
	}
	.btn-area a::after {
		right:23px;
	}
}

/* header */
header {
	width:60px;
	height:100dvh;
	background-color:#fff;
	/* border-right:1px solid #C8C8C8; */
	position: fixed;
	top:0;
	left:0;
	z-index:10000;
}
header > .container {
	width: 100%;
	height:100%;
	padding:30px 24px;
	padding:30px 0;
	border-right:1px solid #C8C8C8;
	position:relative;
	z-index:20;
	flex-direction:column;
	justify-content:space-between;
	align-items:center;
}
header .logo-area a {
	font-size:10px;
	font-weight:300;
	letter-spacing:0;
	line-height:12px;
	writing-mode: vertical-rl;
	display:block;
}
header .btn_menu {
	width:12px;
	height:12px;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	cursor:pointer;
}
header .btn_menu .menu_on,
header.opened .btn_menu .menu_off {
	display:none;
}
header.opened .btn_menu .menu_on,
header .btn_menu .menu_off {
	display:block;
}
header .btn_lang a {
	display:none;
}
header .btn_lang img {
	width:14px;
	margin:0 auto 6px;
}
header .btn_lang span {
	display:none;
	font-size:14px;
	font-weight:300;
	letter-spacing:0;
	line-height:1;
	text-align:center;
	/* width:12px; */
}
header .btn_lang span.active {
	display:block;
}
header.opened .logo-area a,
header.opened .btn_lang a {
	color:#C8C8C8;
}
header .site-menu {
	width:120px;
	position:absolute;
	top:30px;
	left:110px;
	z-index:10;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	display:none;
}
header .site-menu.top {
	display:block;
}
header .site-menu li + li {
	margin-top:7px;
}
header .site-menu li a {
	display:block;
	font-size:16px;
	line-height:calc( 21em / 16 );
	padding-left:1em;
	position:relative;
}
header .site-menu li a::before {
	content:"";
	display:block;
	width:0.25em;
	height:0.25em;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:0.25em;
}
header .close-box {
	display:none;
	content:"";
	width:100vw;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.1);
	z-index:5;
}
header .close-box.active {
	display:block;
	display:none;
}
header > .fixed-menu {
	max-width:410px;
	margin:0;
	position:fixed;
	top:30px;
	right:50px;
	/* z-index:10000; */
	gap:10px;
	justify-content:flex-end;
}
.fixed-menu a {
	font-size:11px;
	font-weight:400;
	letter-spacing:0.030em;
	line-height:16px;
	width:calc( ( 100% - 20px ) / 3 );
	height:36px;
	padding:10px 12px;
	border-radius:18px;
}
.fixed-menu a::after {
	width:4px;
	height:4px;
	right:15px;
}
header .site-menu li a:hover::before {
	background-color:#E60012;
}

@media screen and (max-width:750px) {
	header {
		width:100%;
		height:58px;
	}
	header.scrolled {
		background-color:#fff;
	}
	header > .container {
		padding:20px;
		flex-direction:row;
		border-right:none;
		border-bottom:1px solid #C8C8C8;
	}
	header .logo-area {
		width:auto;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
	}
	header .logo-area a {
		writing-mode:unset;
	}
	header .btn_menu {
		position:static;
		transform:none;
	}
	header .btn_lang a {
		width:52px;
		padding:3px;
		border:1px solid #C8C8C8;
		border-radius:9px;
		display:flex;
		position:relative;
	}
	header .btn_lang a::after {
		content:"";
		display:block;
		width:3.75px;
		height:3px;
		border-top:3px solid #646464;
		border-left:1.86px solid transparent;
		border-right:1.86px solid transparent;
		position:absolute;
		top:50%;
		right:6px;
		transform:translateY(-50%);
	}
	header .btn_lang img {
		width:10px;
		margin:0 7px 0 0;
	}
	header .btn_lang span {
		font-size:10px;
	}
	header .site-menu {
		top:78px;
		left:20px;
	}
	header > .fixed-menu {
		width:calc( 100% - 40px );
		top:auto;
		right:auto;
		bottom:30px;
		left:50%;
		transform:translateX(-50%);
		justify-content:center;
	}
}
@media screen and (max-width:400px) {
	header > .fixed-menu {
		width:calc( 100% - 20px );
		gap:5px;
	}
	.fixed-menu a {
		font-size:10px;
		line-height:1;
		width:calc( ( 100% - 10px ) / 3 );
		height:auto;
		padding:10px;
	}
	.fixed-menu a::after {
		right:8px;
	}
}

/* footer */
.parts {
	display:flex;
	align-items:center;
	width:100%;
	height:280px;
	padding:0 0 0 60px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:relative;
}
.parts::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-color:#000;
	position:absolute;
	top:0;
	left:0;
}
.parts-fbms::before {
	opacity:0.4;
}
.parts-contact::before {
	opacity:0.3;
}
.parts:hover::before {
	opacity:0;
}
.parts-fbms {
	background-image:url('./assets/img/bg_fbms.jpg');
}
.parts-contact {
	background-image:url('./assets/img/bg_contact.jpg');
}
.parts .flex-container {
	align-items:center;
	gap:5px 40px;
	position:relative;
}
.parts-fbms .flex-container {
	gap:5px 20px;
}
.parts-contact .flex-container {
	gap:5px 40px;
}
.parts .flex-container::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#fff;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
.parts .parts-title {
	color:#fff;
	font-size:60px;
	font-weight:200;
	letter-spacing:0;
	line-height:60px;
}
.parts p {
	color:#fff;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.12em;
	line-height:1.5;
}
footer {
	background-color:#323232;
}
footer .footer-block {
	padding:60px 0 60px 60px;
}
footer .footer-block + .footer-block {
	border-top:1px solid #C8C8C8;
}
footer .footer-block.block01 .top-menu {
	justify-content:space-between;
	flex-wrap:nowrap;
	gap:60px 0;
}
footer .footer-block.block01 .text-area {
	width:420px;
}
footer .footer-block.block01 .text-area .text-jp {
	color:#C8C8C8;
	font-size:38px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.1em;
	line-height:55px;
}
footer .footer-block.block01 .text-area .text-en {
	color:#C8C8C8;
	font-size:22px;
	font-weight:200;
	line-height:1;
	margin-top:0.75em;
}
footer .footer-block.block01 .menu-area {
	width:calc( 100% - 420px );
}
footer .footer-block.block01 .main-menu {
	width:fit-content;
	margin-left:auto;
	justify-content:flex-end;
	gap:12px 36px;
}
footer .footer-block.block01 .main-menu li a {
	color:#C8C8C8;
	font-size:16px;
	line-height:20px;
}
footer .footer-block.block01 .sub-menu {
	width:fit-content;
	margin-top:80px;
	margin-left:auto;
	justify-content:flex-end;
	gap:10px 20px;
}
footer .footer-block.block01 .sub-menu li {
	position:relative;
}
footer .footer-block.block01 .sub-menu li:not(:last-of-type)::before {
	content:"/";
	color:#C8C8C8;
	font-size:12px;
	line-height:16px;
	position:absolute;
	top:50%;
	right:-10px;
	transform:translate(50%,-50%);
}
footer .footer-block.block01 .sub-menu li a {
	color:#C8C8C8;
	font-size:12px;
	letter-spacing:0.1em;
	line-height:16px;
}
footer .footer-block.block01 small {
	color:#C8C8C8;
	font-size:12px;
	font-weight:200;
	letter-spacing:0;
	line-height:16px;
	display:block;
	width:fit-content;
	margin-top:1.5em;
	margin-left:auto;
}
footer .footer-block.block01 .fixed-menu {
	max-width:none;
	justify-content: flex-start;
	gap:8px 15px;
}
footer .footer-block.block01 .fixed-menu a {
	color: #C8C8C8;
	font-size: 20px;
	font-weight: 200;
	letter-spacing: 0;
	line-height: 28px;
	display: block;
	width: calc( (100% - 30px) / 3 );
	height: 80px;
	padding: 25px 28px;
	background-color: transparent;
	border: 1px solid #C8C8C8;
	border-radius: 40px;
	position: relative;
}
footer .footer-block.block01  .fixed-menu a::after {
	background-color:#C8C8C8;
	right:34px;
}
footer .footer-block.block02 {
	padding:38px 0 38px 60px;
}
footer .footer-block.block02 .flex-container {
	justify-content:space-between;
	align-items:center;
	gap:10px 30px;
}
footer .footer-block.block02 p {
	color:#C8C8C8;
	font-size:16px;
	line-height:1;
}
footer .footer-block.block02 .sponsor-area {
	align-items:center;
	gap:50px;
}
footer .footer-block.block02 .sponsor-area .sponsor01 {
	width:141px;
}
footer .footer-block.block02 .sponsor-area .sponsor02 {
	width:133px;
}
footer .footer-block.block02 .sponsor-area .sponsor03 {
	width:112px;
}
footer .footer-block.block02 .sponsor-area .sponsor04 {
	width:76px;
}
footer .footer-block.block03 {
	padding:77px 0 77px 60px;
}
@media screen and (max-width:1300px) {
	footer .footer-block.block01 .sub-menu {
		width:332px;
	}
}
@media screen and (max-width:1200px) {
	footer .footer-block.block01 .main-menu {
		width:332px;
	}
}
@media screen and (max-width:900px) {
	.parts {
		height:200px;
	}
	.parts .container {
		padding:0 35px;
	}
	.parts-fbms .flex-container {
		gap:5px 20px;
	}
	.parts-contact .flex-container {
		gap:5px 30px;
	}
	.parts .parts-title {
		font-size:42px;
	}
	.parts p {
		font-size:10px;
		letter-spacing:0.1em;
	}
	footer .footer-block.block01 .top-menu {
		flex-direction:column;
	}
	footer .footer-block.block01 .text-area,
	footer .footer-block.block01 .menu-area {
		width:100%;
	}
	footer .footer-block.block01 .main-menu,
	footer .footer-block.block01 .sub-menu {
		width:100%;
		margin-left:0;
		justify-content:flex-start;
	}
	footer .footer-block.block01 .sub-menu {
		margin-top:36px;
	}
	footer .footer-block.block01 small {
		margin-top:36px;
		margin-left:0;
	}
	footer .footer-block.block02 p {
		font-size:12px;
	}
	footer .footer-block.block02 .sponsor-area {
		gap:20px;
		gap:unset;
		width:100%;
		max-width:298px;
	}
	footer .footer-block.block02 .sponsor-area .sponsor01 {
		width:73px;
	}
	footer .footer-block.block02 .sponsor-area .sponsor02 {
		width:68px;
	}
	footer .footer-block.block02 .sponsor-area .sponsor03 {
		width:58px;
	}
	footer .footer-block.block02 .sponsor-area .sponsor04 {
		width:39px;
	}
}
@media screen and (max-width:750px) {
	.parts {
		padding-left:0;
	}
	footer .footer-block {
		padding:40px 0 50px;
	}
	footer .footer-block.block01 .top-menu {
		gap:36px 0;
	}
	footer .footer-block.block01 .text-area .text-jp {
		font-size:25px;
		line-height:37px;
	}
	footer .footer-block.block01 .text-area .text-en {
		font-size:14px;
		margin-top:10px;
	}
	footer .footer-block.block01 .main-menu {
		margin-left:0;
		gap:12px 20px;
	}
	footer .footer-block.block01 .sub-menu {
		margin-top:36px;
	}
	footer .footer-block.block01 small {
		margin-top:36px;
		margin-left:0;
	}
	footer .footer-block.block01 .fixed-menu {
		margin-top:36px;
	}
	footer .footer-block.block01 .fixed-menu a {
		font-size: 14px;
		font-weight: 300;
		line-height: 18px;
		height: 60px;
		padding: 20px;
	}
	footer .footer-block.block01  .fixed-menu a::after {
		width:6px;
		height:6px;
		right:23px;
	}
	footer .footer-block.block02 {
		padding:20px 0;
	}
	footer .footer-block.block03 {
		padding:28px 0;
	}
}
@media screen and (max-width:550px) {
	/* footer .footer-block.block01 .main-menu, */
	footer .footer-block.block01 .fixed-menu {
		flex-direction:column;
	}
	footer .footer-block.block01 .sub-menu,
	footer .footer-block.block01 .fixed-menu a {
		width:100%;
		max-width:400px;
	}
}
@media screen and (max-width:420px) {
	.parts .flex-container {
		flex-direction:column;
		align-items:flex-start;
	}
	.parts p .sp-block {
		display:none !important;
	}
}

/* TOPページ */
.section-keyvisual {
	padding-top:96px;
	padding-bottom:30px;
}
.page-top .section-keyvisual {
	padding-bottom:0;
}
.section-keyvisual .container {
	position:relative;
}
.page-top .section-keyvisual .slick-list li {
	display:flex;
	align-items:flex-end;
}
.page-top .section-keyvisual .text-area {
	text-align:right;
	width:calc( 100% * 560 / 1200 );
	padding-right:30px;
	container-type:inline-size;
}
.page-top .section-keyvisual .text-area .top-slide_jp {
	/* font-size:32px; */
	font-size:calc( 100cqw * 32 / 530 );
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.1em;
	line-height:1.5;
	margin-right:-0.65em;
}
.page-top .section-keyvisual .text-area .top-slide_en {
	color:#A0A0A0;
	/* font-size:18px; */
	font-size:calc( 100cqw * 18 / 530 );
	font-weight:200;
	letter-spacing:0;
	line-height:1.5;
	margin-top:0.25em;
}
.page-top .section-keyvisual .slider .image-area {
	width:calc( 100% * 640 / 1200 );
	aspect-ratio:640 / 258;
	border-radius:8px;
	overflow:hidden;
}
.page-top .section-keyvisual .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.page-top .section-keyvisual .image-area img.bg-logo {
	width:100%;
	max-width:380px;
	height:100%;
	padding:40px;
	object-fit:contain;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	z-index:1;
}
.page-top .section-keyvisual .logo-area {
	width:100%;
	aspect-ratio:1141 / 172;
	margin:calc( 100% * 82 / 1200 ) 0;
	position:relative;
}
.smile-logo-area {
	width:100%;
	aspect-ratio:1141 / 172;
	position:relative;
}
.smile-logo-area img {
	width:100%;
	height:100%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.smile-logo-area img.normal,
.smile-logo-area:hover img.hover {
	opacity:1;
	transition:0.5s;
}
.smile-logo-area:hover img.normal,
.smile-logo-area img.hover {
	opacity:0;
	transition:0.5s;
}
.page-top .section-keyvisual .message-area {
	gap:12px 20px;
}
.page-top .section-keyvisual .message-area .flex-item {
	width:calc( ( 100% - 20px ) / 2 );
	/* height:160px; */
	padding:40px;
	padding:calc( ( 100% - 20px ) / 2 * 40 / 590 );
	background-color:#fff;
	border:1px solid #C8C8C8;
	border-radius:8px;
	overflow:hidden;
	position:relative;
	display:flex;
	align-items:center;
}
.page-top .section-keyvisual .message-area .flex-item:hover {
	background-color:rgba(200,200,200,0.2);
}
/* .page-top .section-keyvisual .message-area .flex-item::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.3);
	position:absolute;
	top:0;
	left:0;
}
.page-top .section-keyvisual .message-area .flex-item:hover::before {
	opacity:0;
} */
.page-top .section-keyvisual .message-area .flex-item::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#fff;
	background-color:#323232;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:32px;
	transform:translateY(-50%);
}
/* .page-top .section-keyvisual .message-area .flex-item .image-area {
	z-index:-1;
}
.page-top .section-keyvisual .message-area .flex-item p {
	color:#fff;
	font-size:32px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
	line-height:0.75em;
	position:absolute;
	top:50%;
	left:32px;
	transform:translateY(-50%);
}
.page-top .section-keyvisual .message-area .flex-item p span {
	color:#fff;
	font-size:14px;
	font-weight:300;
	letter-spacing:0;
	line-height:1;
	line-height:24px;
	display:inline-block;
	margin-left:20px;
	vertical-align:top;
} */
.page-top .section-keyvisual .message-area .flex-item .image-area {
	max-width:calc( 100% * 292 / 508 );
	height:100%;
	margin-right:calc( 100% * 22 / 508 );
}
.page-top .section-keyvisual .message-area .flex-item .image-area img {
	object-fit:contain;
}
.page-top .section-keyvisual .message-area .flex-item p {
	color:#323232;
	font-size:14px;
	font-weight:400;
	letter-spacing:0.15em;
	line-height:1;
}

.section-title,
.page-title {
	font-size:80px;
	font-weight:200;
	letter-spacing:0;
	line-height:1em;
	padding-left:18px;
	margin-top:-0.18em;
	position:relative;
	color:transparent;
	width:fit-content;
}
.section-title .st-text,
.page-title .st-text {
	color:transparent;
	background-clip:text;
	-webkit-background-clip: text;
	background-image: linear-gradient(-60deg, transparent 0%, transparent 20%,#646464 40%, #646464 60%, #E60012 70%, #646464 80%, #646464 100%);
	background-size: 500%;
	background-position: 100% 0%;
	background-repeat: no-repeat;
	width:100%;
}
.section-title .st_jp,
.page-title .st_jp {
	font-size:16px;
	font-weight:500;
	letter-spacing:0.3em;
	line-height:1;
	margin-top:1em;
	background-image: linear-gradient(-60deg, transparent 0%, transparent 20%,#A0A0A0 40%, #A0A0A0 60%, #E60012 70%, #A0A0A0 80%, #A0A0A0 100%);
}
.section-title::before,
.page-title::before {
	content:"";
	display:block;
	width:8px;
	height:8px;
	background-color:#E60012;
	border-radius:50%;
	position:absolute;
	top:0.18em;
	left:0;
	opacity:0;
}
.section-title.is-active::before,
.page-title.is-active::before {
	animation:stfade 0.5s linear 0.25s forwards;
}
@keyframes stfade {
  0% { opacity:0; }
	100% { opacity:1; }
}
.section-title.is-active .st-text,
.page-title.is-active .st-text {
	animation:bgflow 3s linear 0.5s forwards;
}
@keyframes bgflow {
  0% { background-position: 100% 0%; }
	100% { background-position: 0% 0%; }
}
.page-top .section-solutions .container {
	position:relative;
}
.page-top .section-solutions .section-title {
	position:absolute;
	top:0;
	left:calc( 50% + 40px );
}
.page-top .section-solutions .flex-container {
	gap:80px;
}
.page-top .section-solutions .flex-container .image-area,
.page-top .section-solutions .flex-container .list-area {
	width:calc( ( 100% - 80px ) / 2 );
	overflow:visible;
}
.page-top .section-solutions .image-area > div {
	display:none;
	opacity:0;
}
.page-top .section-solutions .flex-container .image-area .image-inner {
	margin-top:-40px;
	margin-left:calc( 570px - 50vw );
	display:flex;
	gap:20px;
}
@media screen and (max-width:1360px) {
	.page-top .section-solutions .flex-container .image-area .image-inner {
		margin-left:-110px;
	}
}
.page-top .section-solutions .flex-container .image-area .image-inner .inner-item {
	width:calc( ( 100% - 20px ) / 2 );
	border-radius:8px;
	overflow:hidden;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.page-top .section-solutions .flex-container .image-area .image-inner .item-left {
	margin-bottom:80px;
	background-image:url('./assets/img/slide-image_01.jpg');
}
.page-top .section-solutions .flex-container .image-area .image-inner .item-right {
	margin-top:80px;
	background-image:url('./assets/img/slide-image_02.jpg');
}
.page-top .section-solutions .flex-container .image-area .image-inner .inner-item img {
	width:100%;
	height:100%;
	object-fit:cover;
	margin-left:-100%;
}
.page-top .section-solutions .flex-container .text-area .s-text-jp {
	font-size:32px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.25em;
	line-height:1.5;
}
.page-top .section-solutions .flex-container .text-area .s-text-en {
	color:#A0A0A0;
	font-size:14px;
	font-weight:300;
	letter-spacing:0;
	line-height:1.5;
	margin-top:0.5em;
}
.page-top .section-solutions .image-area > div.active {
	display:block;
	opacity:1;
}
.page-top .section-solutions .image-area > div.active .image-inner .inner-item img {
	animation:slideIn 0.75s ease-out forwards;
}
@keyframes slideIn {
  0% { margin-left: -100%; }
  100% { margin-left: 0; }
}
.page-top .section-solutions .image-area > div.active .text-area {
	animation:fadeIn 1s ease forwards;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.page-top .section-solutions .flex-container .list-area {
	max-width:500px;
	margin-top:150px;
	border-top:1px solid #A0A0A0;
}
.page-top .section-solutions .flex-container .list-area li {
	width:100%;
	height:100px;
	border-bottom:1px solid #A0A0A0;
}
.page-top .section-solutions .flex-container .list-area li a {
	width:100%;
	height:100%;
	padding-top:20px;
	padding-bottom:20px;
	padding-right:37px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:22px;
	position:relative;
}
.page-top .section-solutions .flex-container .list-area li a::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
.page-top .section-solutions .flex-container .list-area li a:hover::after {
	background-color:#E60012;
}
.page-top .section-solutions .flex-container .list-area li a .s-num {
	font-size:12px;
	font-weight:500;
	letter-spacing:0;
	line-height:1;
}
.page-top .section-solutions .flex-container .list-area li a .s-title-jp {
	font-size:20px;
	font-weight:400;
	letter-spacing:0.15em;
	line-height:1;
}
.page-top .section-solutions .flex-container .list-area li a .s-title-en {
	color:#A0A0A0;
	font-size:14px;
	font-weight:300;
	letter-spacing:0;
	line-height:1;
	margin-left:auto;
}
.page-top .loop-text-area {
	margin:-20px 0;
	margin:60px 0 -70px;
}
.page-top .loop-text-area li {
	color:#DCDCDC;
	font-size:110px;
	font-weight:200;
	letter-spacing:0;
	line-height:1.25em;
	margin-top:-0.25em;
}
.page-top .section-use-cases {
	padding-bottom:0;
}
.page-top .section-use-cases,
.page-top .section-insights {
	overflow:hidden;
}
.page-top .section .swiper-slider {
	width: 100%;
	padding-top:60px;
	margin-top:-20px;
	position:relative;
}
.page-top .section .swiper-wrapper {
	cursor:pointer;
}
.page-top .section .swiper-slide {
	width: 390px;
	background-color:#F5F5F5;
	border-radius:6px;
	overflow:hidden;
}
.page-top .section .swiper-slide:hover {
	box-shadow:25px 25px 35px rgba(0,0,0,0.15);
	z-index:1;
}
.page-top .section .swiper-slide .image-area {
	width:100%;
	aspect-ratio:390 / 240;
}
.page-top .section .swiper-slide .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:0.5s;
}
.page-top .section .swiper-slide .text-area {
	width:100%;
	height:auto;
	min-height:240px;
	padding:23px 30px 40px;
	position:relative;
}
.page-top .section .swiper-slide .text-area .a-title {
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.5;
}
.page-top .section .swiper-slide .text-area .a-text {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:2;
	margin-top:14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.page-top .section .swiper-slide .text-area .a-cat-area {
	gap:2px 7px;
	margin-top:13px;
}
.page-top .section .swiper-slide .text-area .a-cat-area div {
	font-size:10px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
}
.page-top .section .swiper-slide .text-area .a-cat-area div::before {
	content:"#";
}
.page-top .section .swiper-slide .text-area .a-date {
	font-size:10px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
	position:absolute;
	bottom:12px;
	right:22px;
}
.page-top .section .swiper-slide:hover .image-area img {
	transform:scale(1.1);
	transition:0.5s;
}
.page-top .section .swiper-slide:hover .text-area .a-text,
.page-top .section .swiper-slide:hover .text-area .a-cat-area div,
.page-top .section .swiper-slide:hover .text-area .a-date {
	color:#646464 !important;
}
.page-top .section .swiper-scrollbar {
	width:390px !important;
	height:2px;
	background-color:#E6E6E6;
	position:absolute;
	top:0;
	bottom:auto;
	right:0;
	left:auto;
	cursor:pointer;
}
.page-top .section .swiper-scrollbar .swiper-scrollbar-drag {
	background-color:#E60012;
}
@media screen and (min-width:751px) {
	.page-top .section-insights .swiper-wrapper {
		display:flex;
		flex-wrap:wrap;
		gap:15px;
	}
	.page-top .section-insights .swiper-slide {
		width:calc( ( 100% - 15px ) / 2 );
		margin:0 !important;
	}
	.page-top .section-insights .swiper-scrollbar {
		display:none;
	}
}
@media screen and (min-width:1001px) {
	.page-top .section-insights .swiper-slide {
		width:calc( ( 100% - 30px ) / 3 );
	}
	.page-top .section-insights .swiper-scrollbar {
		display:none;
	}
}
.page-top .section-data {
	padding:80px 0 80px 60px;
}
.page-top .section-data .flex-container {
	max-width:1060px;
}
.page-top .section-data .flex-item {
	width:calc( 100% / 3 );
	height:160px;
	padding:10px 15px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	/* gap:32px; */
	gap:20px;
}
.page-top .section-data .flex-item + .flex-item {
	border-left:1px solid #A0A0A0;
}
.page-top .section-data .flex-item .image-area {
	width:32px;
}
.page-top .section-data .flex-item .data-quantity {
	width:100%;
	max-width:229px;
}
.page-top .section-data .flex-item .data-quantity img {
	width:100%;
	object-fit:contain;
}
.page-top .section-data .flex-item.data-sku .data-quantity img {
	aspect-ratio: 229 / 50;
	margin-bottom:calc( 100% * -4 / 229 );
}
.page-top .section-data .flex-item.data-partner .data-quantity img {
	aspect-ratio: 229 / 46;
}
.page-top .section-data .flex-item.data-areas .data-quantity img {
	aspect-ratio: 229 / 47;
	margin-bottom:calc( 100% * -1 / 229 );
}
.page-top .section-data .flex-item .data-name {
	font-size:16px;
  font-weight: 400;
	font-family: "M PLUS 1p", sans-serif;
	letter-spacing:0.15em;
	line-height:1;
}
.page-top .loop-image-area li {
	width:252px;
	height:352px;
	border-radius:8px;
	overflow:hidden;
}
.page-top .loop-image-area li:nth-of-type(odd) {
	margin:50px 8px 0;
}
.page-top .loop-image-area li:nth-of-type(even) {
	margin:0 8px 50px;
}
.section-news .container > .flex-container,
.subpage .section .sticky-flex {
	justify-content:space-between;
	align-items:flex-start;
	position:relative;
}
.section-news .container > .flex-container {
	min-height:220px;
	position:relative;
}
.subpage .section .sticky-flex .menu-area {
	position:sticky;
	top:150px;
}
.subpage .section .sticky-flex .menu-area .menu-window {
	font-size:18px;
	font-weight:300;
	letter-spacing:0;
	line-height:1;
}
.subpage .section .sticky-flex .menu-area .menu-list {
	margin-top:18px;
}
@media screen and (min-width:1001px) {
	.subpage .section .sticky-flex .menu-area .menu-list {
		display:block !important;
	}
}
.subpage .section .sticky-flex .menu-area .menu-list li + li {
	margin-top:6px;
}
.subpage .section .sticky-flex .menu-area .menu-list li a {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.15em;
	line-height:30px;
	width:fit-content;
	padding-left:1em;
	position:relative;
}
.subpage .section .sticky-flex .menu-area .menu-list li a::before {
	content:"";
	display:block;
	width:4px;
	height:4px;
	border-radius:50%;
	background-color:#646464;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
.section-news .news-list-area {
	width:100%;
	border-bottom:1px solid #C8C8C8;
}
.page-top .section-news .contents-area {
	width:795px;
}
.subpage .section .sticky-flex .contents-area {
	width:880px;
}
.section-news .news-list-area li {
	width:100%;
	margin-left:auto;
	border-top:1px solid #C8C8C8;
}
.section-news .news-list-area li.same {
	width:calc( 100% - 125px );
}
.section-news .news-list-area li a {
	padding:25px 40px 25px 0;
	align-items:center;
	position:relative;
}
.section-news .news-list-area li a::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
.section-news .news-list-area li a .info-date {
	font-size:18px;
	font-weight:200;
	line-height:1;
	width:125px;
	padding-left:10px;
}
.section-news .news-list-area li.same a .info-date {
	display:none;
}
.section-news .news-list-area li a .info-cat {
	font-size:14px;
	letter-spacing:0.15em;
	line-height:30px;
	width:172px;
	padding:0 28px;
	border-left:1px solid #C8C8C8;
	border-right:1px solid #C8C8C8;
}
.section-news .news-list-area li a .info-text {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:2;
	width:calc( 100% - 297px );
	padding-left:30px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.section-news .news-list-area li.not a {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:2;
	padding-left:10px;
}
.section-news .btn-area {
	width:calc( 100% - 880px );
	max-width:320px;
	position:absolute;
	bottom:0;
	left:0;
}
.section-news .btn-area a {
	width:100%;
}

@media screen and (max-width:1270px) {
	.section-news .btn-area {
		width:230px;
	}
}

@media screen and (max-width:1245px) {
	.page-top .section-news .contents-area {
		width:calc( 100% - 290px );
	}
	.subpage .section .sticky-flex .contents-area {
		width:calc( 100% - 205px );
	}
	.section-news .news-list-area li a {
		padding:20px 35px 20px 0;
	}
	.section-news .news-list-area li a .info-date {
		font-size:14px;
		width:98px;
	}
	.section-news .news-list-area li a .info-cat {
		font-size:12px;
		font-weight:400;
		line-height:20px;
		width:142px;
		padding:0 22px;
	}
	.section-news .news-list-area li a .info-text {
		width:calc( 100% - 240px );
		padding-left:22px;
	}
	.section-news .news-list-area li.same {
		width:calc( 100% - 98px );
	}
	.section-news .news-list-area li.same a .info-text {
		width:calc( 100% - 142px );
	}
}

@media screen and (max-width:1150px) {
	.page-top .section-solutions .section-title {
		position:relative;
		left:0;
	}
	.page-top .section-solutions .flex-container {
		margin-top:50px;
		gap:27.5px 40px;
	}
	.page-top .section-solutions .flex-container .image-area,
	.page-top .section-solutions .flex-container .list-area {
		width:calc( ( 100% - 40px ) / 2 );
	}
	.page-top .section-solutions .flex-container .image-area .image-inner {
		margin-top:0;
		gap:12px;
	}
	.page-top .section-solutions .flex-container .image-area .image-inner .inner-item {
		width:calc( ( 100% - 12px ) / 2 );
		border-radius:6px;
	}
	.page-top .section-solutions .flex-container .image-area .image-inner .item-left {
		margin-bottom:46px;
	}
	.page-top .section-solutions .flex-container .image-area .image-inner .item-right {
		margin-top:46px;
	}
	.page-top .section-solutions .flex-container .text-area .s-text-jp {
		font-size:25px;
	}
	.page-top .section-solutions .flex-container .text-area .s-text-en {
		font-size:12px;
	}
	.page-top .section-solutions .flex-container .list-area {
		margin-top:0px;
	}
	.page-top .section-solutions .flex-container .list-area li {
		height:80px;
	}
	.page-top .section-solutions .flex-container .list-area li a {
		gap:0 20px;
	}
	.page-top .section-solutions .flex-container .list-area li a .s-title-jp {
		font-size:16px;
	}
	.page-top .section-solutions .flex-container .list-area li a .s-title-en {
		font-size:12px;
	}
}
@media screen and (max-width:1000px) {
	.page-top .section-keyvisual .message-area .flex-item {
		padding:26px;
	}
	.page-top .section-keyvisual .message-area .flex-item::after {
		right:21px;
	}
	.page-top .section-keyvisual .message-area .flex-item p {
		font-size:10px;
	}
	.page-top .loop-text-area {
		margin:60px 0 -40px;
	}
	.page-top .section-solutions .flex-container .list-area li a {
		padding-right:0;
	}
	.page-top .section-solutions .flex-container .list-area li a .s-title-en {
		width:100%;
		margin-left:35px;
	}
	.section-news .container > .flex-container {
		flex-direction:column;
	}
	.subpage .section .sticky-flex .menu-area {
		width:100%;
		max-width:400px;
		border:1px solid #646464;
		border-radius:4px;
		position:initial;
		cursor:pointer;
	}
	.subpage .section .sticky-flex .menu-area .menu-window {
		font-size:12px;
		width:100%;
		padding:17px 15px;
		position:relative;
	}
	.subpage .section .sticky-flex .menu-area .menu-window::after {
		content:"";
		display:block;
		width:8px;
		height:8px;
		border-bottom:1px solid #646464;
		border-right:1px solid #646464;
		position:absolute;
		top:50%;
		right:21px;
		transform:translate(50%,-50%) rotate(45deg);
		transition:0.5s;
	}
	.subpage .section .sticky-flex .menu-area.opened .menu-window::after {
		transform:translate(50%,-50%) rotate(45deg) scale(-1, -1);
		transition:0.5s;
	}
	.subpage .section .sticky-flex .menu-area .menu-list {
		display:none;
		padding:0 15px;
		margin:0;
	}
	.subpage .section .sticky-flex .menu-area .menu-list li + li {
		margin:0;
	}
	.subpage .section .sticky-flex .menu-area .menu-list li a {
		font-size:12px;
		line-height:36px;
		width:100%;
		padding-left:0.75em;
		border-top:0.5px solid #646464;
	}
	.subpage .section .sticky-flex .menu-area .menu-list li a::before {
		width:2px;
		height:2px;
	}
	.page-top .section-news .contents-area,
	.subpage .section .sticky-flex .contents-area {
		width:100% !important;
		margin-top:60px;
	}
	.section-news .btn-area {
		width:100%;
		position:relative;
	}
}

@media screen and (max-width:850px) {
	.page-top .section-keyvisual {
		padding-top:250px;
	}
	.page-top .section-keyvisual .text-area {
		width:100%;
		padding-right:0;
		padding-bottom:calc( 100% * 82 / 1200 );
	}
	.page-top .section-keyvisual .text-area .top-slide_jp {
		font-size:32px;
	}
	.page-top .section-keyvisual .text-area .top-slide_en {
		font-size:18px;
	}
	.page-top .section-keyvisual .slider .image-area {
		width:100%;
	}
}

@media screen and (max-width:750px) {
	.section-keyvisual {
		padding-top:80px;
	}
	.page-top .section-keyvisual {
		padding-top:306px;
	}
	.page-top .section-keyvisual .image-area img.bg-logo {
		padding:26px;
	}
	/* .page-top .section-keyvisual .message-area .flex-item::after {
		right:21px;
	} */
	/* .page-top .section-keyvisual .message-area .flex-item p {
		font-size:24px;
		left:21px;
	}
	.page-top .section-keyvisual .message-area .flex-item p span {
		font-size:12px;
		line-height:18px;
		margin-left:15px;
	} */
	.subpage .page-title {
		height:155px;
	}
	.section-title,
	.page-title {
		font-size:50px;
	}
	.section-title .st_jp,
	.page-title .st_jp {
		font-size:15px;
		margin-top:0.5em;
	}
	.page-top .section-solutions .flex-container {
		margin-top:30px;
	}
	.page-top .section-solutions .flex-container .image-area .image-inner {
		margin-left:0;
	}
	.page-top .loop-text-area {
		margin:-10px 0;
		margin:60px 0 -30px;
	}
	.page-top .loop-text-area li {
		font-size:70px;
	}
	.page-top .section .swiper-slider {
		padding-top:0;
		padding-bottom:38px;
		margin-top:30px;
	}
	.page-top .section .swiper-scrollbar {
		width:100% !important;
		max-width:320px;
		top:auto;
		bottom:0;
		right:50%;
		left:auto;
		transform:translateX(50%);
		cursor:pointer;
	}
	.page-top .section-data {
		padding:50px 0;
	}
	.page-top .section-data .flex-item .data-quantity {
		font-size:50px;
	}
	.page-top .section-data .flex-item .data-name {
		font-size:14px;
	}
	.page-top .loop-image-area li {
		width:164px;
		height:228px;
		border-radius:6px;
	}
	.page-top .loop-image-area li:nth-of-type(odd) {
		margin:32px 6px 0;
	}
	.page-top .loop-image-area li:nth-of-type(even) {
		margin:0 6px 32px;
	}
	.subpage .section-keyvisual + .section {
		padding-top:0;
	}
	.page-top .section-news .contents-area,
	.subpage .section .sticky-flex .contents-area {
		margin-top:30px;
	}
	.section-news .news-list-area li a .info-cat {
		display: flex;
		flex-wrap:wrap;
		gap: 0 1em;
		width: calc(100% - 98px);
		padding-right:0;
		border-right:none;
	}
	.section-news .news-list-area li a .info-text {
		width:100%;
		padding-top:10px;
		padding-left:120px;
		border-left:1px solid transparent;
	}
	.section-news .news-list-area li.same a .info-cat {
		width:100%;
	}
	.section-news .news-list-area li.same a .info-text {
		width:100%;
		padding-left:22px;
	}
	.section-news .btn-area {
		max-width:190px;
		margin-top:40px;
	}
}
@media screen and (max-width:650px) {
	.page-top .section-keyvisual .message-area {
		margin-top:70px;
	}
	.page-top .section-keyvisual .message-area .flex-item {
		width:100%;
		height:106px;
	}
}

@media screen and (max-width:600px) {
	/* .page-top .section-keyvisual .message-area {
		margin-top:70px;
	}
	.page-top .section-keyvisual .message-area .flex-item {
		width:100%;
	} */
	.page-top .section-solutions .flex-container .image-area,
	.page-top .section-solutions .flex-container .list-area {
		width:100%;
	}
	.page-top .section-solutions .flex-container .list-area li a {
		padding-right:35px;
	}
	.page-top .section-solutions .flex-container .list-area li a .s-title-en {
		width:fit-content;
		margin-left:auto;
	}
	.page-top .section-data .flex-item {
		width:100%;
		height:166px;
		border-top:1px solid #A0A0A0;
	}
	.page-top .section-data .flex-item + .flex-item {
		border-left:none;
	}
	.page-top .section-data .flex-item:last-of-type {
		border-bottom:1px solid #A0A0A0;
	}
	.page-top .section-data .flex-item .data-quantity {
		max-width:192px;
	}
}

@media screen and (max-width:430px) {
	.page-top .section-keyvisual .message-area .flex-item {
		padding: 26px calc( 100% * 26 / 390 );
	}
}

@media screen and (max-width:420px) {
	.page-top .section-solutions .flex-container .list-area li a .s-title-en {
		width:100%;
		margin-left:35px;
	}
}

/* NEWS */
.subpage .section-keyvisual .image-area {
	width:640px;
	aspect-ratio: 640 / 258;
	border-radius:8px;
	overflow:hidden;
	margin-left:auto;
	margin-bottom:124px;
}
.subpage .section-keyvisual .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.parts_bc {
	width:100%;
	padding:0;
	margin:0;
	position:absolute;
	bottom:0;
	right:50px;
	z-index:1;
}
.parts_bc ul {
	line-height:0;
	text-align:right;
	margin:-2.75px 0;
}
.parts_bc ul li {
	font-size:12px;
	line-height:16px;
	display:inline;
}
.parts_bc ul li a,
.parts_bc ul li span {
	font-size:12px;
	font-weight:300;
	line-height:16px;
	padding-left:9px;
	display:inline;
	position:relative;
}
.parts_bc ul li > span {
	color:#A0A0A0;
}
.parts_bc ul li + li {
	padding-left:16px;
	position:relative;
}
.parts_bc ul li span::before {
	content:"";
	display:block;
	width:4px;
	height:4px;
	border-radius:50%;
	background-color:#646464;
	position:absolute;
	top:8.75px;
	left:0;
	transform:translateY(-50%);
}
.parts_bc ul li > span::before {
	background-color:#A0A0A0;
}

@media screen and (max-width:1120px) {
	.subpage .section-keyvisual .image-area {
		width:calc( 100% * 2 / 3 );
		margin-bottom:calc( 100% * 124 / 960 );
	}
}

@media screen and (max-width:750px) {
	.parts_bc {
		right:20px;
	}
}
@media screen and (max-width:600px) {
	.subpage::before,
	.subpage .site-menu.top {
		display:none !important;
	}
	.section-keyvisual .container {
		/* height:345px; */
	}
	.subpage .section-keyvisual .image-area {
		width:100%;
		margin-bottom:30px;
		border-radius:6px;
	}
	/* .parts_bc {
		position:relative;
		right:0;
		margin-top:80px;
	} */
}


/* page-about */
.page-about .section-lead {
	padding-bottom:60px;
}
.page-about .section-lead .flex-container {
	justify-content:space-between;
	gap:0 40px;
}
.page-about .section-lead .title-area {
	margin-bottom:-60px;
}
.page-about .section-lead .lead-title {
	font-size:32px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.050em;
	line-height:calc( 50em / 32 );
}
.page-about .section-lead .lead-title_en {
	color:#A0A0A0;
	font-size: 18px;
	font-weight: 200;
	letter-spacing: 0;
	line-height: 1;
	margin-top: 1em;
}
.page-about .section-lead .text-area {
	width:100%;
	max-width:785px;
	padding-top:100px;
}
.page-about .section-lead .text-area p {
	font-size:16px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:2;
}
.page-about .section-lead .text-area p + p {
	margin-top:2em;
}
.page-about .section-lead .image-area {
	margin-top:70px;
}
.page-about .section-message {
	padding-top:100px;
	padding-bottom:0;
}
.page-about .section-message .image-area {
	height:500px;
	margin-left:calc( 570px - 50vw );
	margin-left:calc( 50% - 50vw - 80px );
	border-radius:0 8px 8px 0;
	overflow:hidden;
	display:none;
}
.page-about .section-message .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.page-about .section-message .profile-area {
	margin-top:50px;
	gap:20px 80px;
	position:relative;
}
.page-about .section-message .profile-area::before {
	content:"";
	display:block;
	width:1px;
	height:100%;
	background-color:#C8C8C8;
	position:absolute;
	bottom:50%;
	left:50%;
	transform:translate(-50%,50%);
}
.page-about .section-message .profile-area .flex-item {
	width:calc( 50% - 40px );
}
.page-about .section-message .profile-area .flex-item .position {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.15em;
	line-height:calc( 24em / 14 );
}
.page-about .section-message .profile-area .flex-item .name {
	font-size:32px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.050em;
	line-height:1;
	margin-top:30px;
}
.page-about .section-message .profile-area .flex-item .name_en {
	color:#A0A0A0;
	font-size:16px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
	margin-top:1em;
}
.page-about .section-message .profile-area .flex-item .profile-lead {
	font-size:14px;
	font-weight:400;
	letter-spacing:0;
	line-height:calc( 30em / 14 );
}
.page-about .section-message .message-area {
	padding:40px 60px 70px;
	padding-bottom:0;
	position:relative;
}
.page-about .section-message .message-area p {
	font-size:16px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:calc( 28em / 16 );
	width:100%;
	max-width:650px;
}
.page-about .section-message .message-area p + p {
	margin-top:calc( 28em / 16 );
}
.page-about .section-message .message-area .sign-area {
	width:380px;
	position:absolute;
	bottom:0;
	right:60px;
	display:none;
}
.page-about .section-history {
	padding-bottom:20px;
}
.page-about .section .contents-area {
	width:100%;
	padding:40px 60px 0;
}
.page-about .section .contents-area dl {
	padding:23px 0;
	border-bottom:1px solid #C8C8C8;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:5px 0;
}
.page-about .section .contents-area dl:first-of-type {
	border-top:1px solid #C8C8C8;
}
.page-about .section-history .contents-area dl dt {
	font-size:24px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.050em;
	line-height:30px;
	width:180px;
}
.page-about .section-history .contents-area dl dt span {
	color:#A0A0A0;
	font-size:14px;
	font-family:"Outfit", "Noto Sans JP", sans-serif;
	font-weight:400;
	letter-spacing:0;
	line-height:30px;
	vertical-align:bottom;
	padding-left:40px;
	position:relative;
}
.page-about .section-history .contents-area dl dt span::before {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#A0A0A0;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:20px;
	transform:translate(-50%,-50%);
}
.page-about .section-history .contents-area dl dd {
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:calc( 30em / 16 );
	width:calc( 100% - 180px );
}
.page-about .section-profile {
	padding-bottom:20px;
}
.page-about .section-profile .contents-area dl dt {
	font-size:16px;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:30px;
	width:calc( 100% - 720px );
	width:360px;
	width:calc( 100% / 3 );
}
.page-about .section-profile .contents-area dl dd {
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:30px;
	width:720px;
	width:calc( 100% - 360px );
	width:calc( 100% * 2 / 3 );
}
.page-about .section-profile .contents-area dl dd .p-place {
	font-weight:500;
	width:fit-content;
}
.page-about .section-profile .contents-area dl dd .p-address + .p-place {
	margin-top:1.25em;
}
.page-about .section-profile .contents-area dl dd .p-place a {
	color:#E60012;
	font-size:12px;
	font-weight:400;
	display:inline-block;
	margin-left:10px;
	position:relative;
}
.page-about .section-profile .contents-area dl dd .p-place a::after {
	content:"";
	display:inline-block;
	width:12px;
	height:12px;
	margin-left:5px;
	background-image:url('./assets/img/icon_link_r.svg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
}
.page-about .section-profile .contents-area dl dd .p-address {
	letter-spacing:0.1em;
	margin-top:0.25em;
}
.page-about .section-access {
	padding-bottom:20px;
}
.page-about .section-access .flex-container {
	margin-top:45px;
	gap:40px 20px;
}
.page-about .section-access .flex-container .flex-item {
	width:calc( ( 100% - 20px ) / 2 );
	background-color:#F5F5F5;
	border-radius:6px;
	overflow:hidden;
}
.page-about .section-access .flex-container .flex-item .map-area {
	width:100%;
	aspect-ratio:590 / 340;
}
.page-about .section-access .flex-container .flex-item iframe {
	width:100%;
	height:100%;
	object-fit:contain;
}
.page-about .section-access .flex-container .flex-item .text-area {
	padding:25px 30px 30px;
}
.page-about .section-access .flex-container .flex-item .text-area .p-place {
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:calc( 28em / 18 );
}
.page-about .section-access .flex-container .flex-item .text-area .p-address {
	font-size:16px;
	font-weight:400;
	letter-spacing:0.1em;
	line-height:calc( 28em / 16 );
	margin-top:0.5em;
}
.section-group .flex-container {
	gap:40px 15px;
}
.page-about .section-group .flex-container {
	margin-top:50px;
}
.section-group .flex-container .flex-item {
	display:block;
	width:calc( ( 100% - 30px ) / 3 );
	background-color:#F5F5F5;
	border-radius:6px;
	overflow:hidden;
	position:relative;
}
.section-group .flex-container .flex-item::after {
	content:"";
	display:block;
	width:12px;
	height:12px;
	background-image:url('./assets/img/icon_link_g.svg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	bottom:16px;
	right:16px;
}
.section-group .flex-container .flex-item .image-area {
	width:100%;
	aspect-ratio:390 / 240;
	/* padding:calc( 100% * 60 / 390 ); */
	background-color:#DDDDDD;
	display:flex;
	justify-content:center;
	align-items:center;
	display:none;
}
/* .page-about .section-group .flex-container .flex-item .image-area {
	display:none;
} */
.section-group .flex-container .flex-item .image-area.l-52toys {
	background-color:#FABF00;
}
.section-group .flex-container .flex-item .image-area img {
	width:100%;
	height:100%;
	width:calc( 100% * 270 / 390 );
	height:calc( 100% * 270 / 390 );
	object-fit:contain;
}
.section-group .flex-container .flex-item .text-area {
	padding:25px 30px 30px;
}
.section-group .flex-container .flex-item .text-area .gc-name {
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:calc( 28em / 18 );
}
.section-group .flex-container .flex-item .text-area p {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:2;
	margin-top:0.5em;
}
/* @media screen and (max-width:1350px) {
	.page-about .section-message .message-area {
		padding-bottom:calc( 70px + 110 * ( 1350px - 100vw ) / ( 1350 - 950 ) );
	}
} */
@media screen and (max-width:1000px) {
	.section-group .flex-container {
		gap:40px 20px;
	}
	.section-group .flex-container .flex-item {
		width:calc( ( 100% - 20px ) / 2 );
	}
}
/* @media screen and (max-width:950px) {
	.page-about .section-message .message-area {
		padding-bottom:180px;
	}
} */
@media screen and (max-width:750px) {
	.page-about .section-lead,
	.page-about .section-histoty,
	.page-about .section-profile,
	.page-about .section-access {
		padding-bottom:0;
	}
	.page-about .section-lead .title-area {
		width:100%;
	}
	.page-about .section-lead .image-area {
		width:100%;
		max-width:450px;
		margin-top: 45px;
	}
	.page-about .section-message {
		padding-top:70px;
	}
	.page-about .section-message .image-area {
		height:220px;
		margin-left:-20px;
	}
	.page-about .section-message .profile-area {
		padding-bottom:40px;
	}
	.page-about .section-message .profile-area::before {
		width:100%;
		height:1px;
		bottom:0;
	}
	.page-about .section-message .profile-area .flex-item {
		width:100%;
	}
	.page-about .section-message .message-area {
		padding:40px 0 0;
	}
	/* .page-about .section-message .message-area .sign-area {
		width:268px;
		margin:20px 0 0 auto;
		position:relative;
		right:auto;
	} */
	.page-about .section .contents-area {
		padding:40px 0 0;
	}
	.page-about .section-history .contents-area dl dt {
		font-size:22px;
		width:100%;
	}
	.page-about .section-history .contents-area dl dt span {
		font-size:12px;
		padding-left:26px;
	}
	.page-about .section-history .contents-area dl dt span::before {
		left:13px;
	}
	.page-about .section-history .contents-area dl dd {
		width:100%;
	}
	.page-about .section-profile .contents-area dl dt {
		width:100%;
	}
	.page-about .section-profile .contents-area dl dd {
		line-height:26px;
		width:100%;
	}
	.page-about .section-access .flex-container .flex-item .text-area .p-address {
		font-size:14px;
		line-height:calc( 24em / 14 );
	}
}
@media screen and (max-width:600px) {
	.page-about .section-access .flex-container {
		gap:15px;
	}
	.page-about .section-access .flex-container .flex-item {
		width:100%;
	}
	.section-group .flex-container {
		gap:15px;
	}
	.section-group .flex-container .flex-item {
		width:100%;
	}
}
@media screen and (max-width:400px) {
	.page-about .section-lead .lead-title {
		font-size:calc( 100vw * 32 / 400 );
		margin-right:-10px;
	}
}

/* page-contact */
.page-contact .section01 .flex-container {
	gap:15px 20px;
}
.page-contact .section01 .flex-container .flex-item {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	width:calc( ( 100% - 20px ) / 2 );
	height:280px;
	/* aspect-ratio:590 / 280; */
	background-color:#F5F5F5;
	background-color:#fff;
	border:1px solid #646464;
	border-radius:8px;
	overflow:hidden;
	position:relative;
}
.page-contact .section01 .flex-container .flex-item::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#323232;
	border-radius:50%;
	position:absolute;
	bottom:32px;
	right:32px;
}
.page-contact .section01 .flex-container .flex-item .block-title {
	font-size:54px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
}
.page-contact .section01 .flex-container .flex-item .block-title span {
	color:#A0A0A0;
	font-size:16px;
	font-weight:500;
	letter-spacing:0.3em;
	line-height:1;
	text-align:center;
	display:block;
	margin-top:20px;
	transition:0.5s;
}
.page-contact .section01 .flex-container .flex-item:hover .block-title span {
	color:#E60012;
	transition:0.5s;
}
.page-contact .section01 .flex-container .flex-item p {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:1;
	margin-top:25px;
}
@media screen and (max-width:1000px) {
	.page-contact .section01 .flex-container .flex-item {
		height:230px;
	}
	.page-contact .section01 .flex-container .flex-item::after {
		bottom:26px;
		right:26px;
	}
	.page-contact .section01 .flex-container .flex-item .block-title {
		font-size:50px;
	}
	.page-contact .section01 .flex-container .flex-item .block-title span {
		font-size:15px;
		margin-top:10px;
	}
	.page-contact .section01 .flex-container .flex-item p {
		font-size:12px;
		margin-top:20px;
	}
}
@media screen and (max-width:600px) {
	.page-contact .section01 .flex-container .flex-item {
		width:100%;
		height:185px;
	}
	.page-contact .section01 .flex-container .flex-item::after {
		bottom:21px;
		right:21px;
	}
	.page-contact .section01 .flex-container .flex-item .block-title {
		font-size:45px;
	}
}

.section-contact .lead-text {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 2;
	text-align:center;
	margin:0 auto 80px;
}
.section-contact .lead-text a {
	display:inline;
	color:#E60012;
	/* text-decoration:underline; */
}
.section-contact .menu-area {
	width: calc(100% - 920px);
	max-width:240px;
}
@media screen and (max-width:1250px) {
	.section-contact .menu-area {
		width: 170px;
	}
}
.subpage .section.section-contact .sticky-flex .menu-area .menu-list {
	margin:0;
	display:flex;
	flex-wrap:wrap;
	gap:21px 15px;
}
/* @media screen and (min-width:1001px) {
	.section-contact .menu-list {
		width:240px;
	}
} */
.section-contact .menu-list .list-item {
	font-size:12px;
	font-weight:500;
	letter-spacing:0.24em;
	line-height:1.5;
	text-align:center;
	width:100%;
	padding:14px;
	background-color:#fff;
	border:1px solid #323232;
	border-radius:2px;
	position:relative;
}
.section-contact .menu-list .list-item.active {
	color:#fff;
	background-color:#323232;
}
.subpage .section .sticky-flex .menu-area .menu-list li + li {
	margin-top:21px;
}
.section-contact .menu-list .list-item:not(:first-of-type)::before {
	content:"";
	display:block;
	width:8px;
	height:8px;
	background-image:url('./assets/img/icon_arrow_down.svg');
	background-position:center top;
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	top:-10px;
	left:50%;
	transform:translate(-50%,-50%);
}
.section-contact .form-area {
	display:block;
	width:calc( 100% - 360px );
	width:820px;
	width:100%;
	border-top:1px solid #C8C8C8;
}
.form-area * {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	-o-appearance: none;
}
.form-area .form-block {
	border-bottom:1px solid #C8C8C8;
}
.form-area .form-block .form-header {
	font-size:18px;
	font-weight:bold;
	letter-spacing:0.15em;
	line-height:1;
	width:230px;
	padding:35px 30px;
	background-color:#F5F5F5;
}
.form-area .form-block .form-inner {
	width:calc( 100% - 230px );
	padding:35px 30px 40px;
}
.form-area dl + dl {
	margin-top:24px;
}
.form-area dl dt {
	display:block;
	width:fit-content;
	position:relative;
}
.form-area dl dt p {
	color:#323232;
	font-size:18px;
	font-weight:700;
	letter-spacing:0.150em;
	line-height:26px;
	display:block;
	width:fit-content;
}
.form-area dl dt p.annotation {
	font-size:12px;
	font-weight:500;
	letter-spacing:0.150em;
	margin:0;
}
.form-area dl dt.require::after,
.form-area dl dt.conditionally-require::after,
.form-area dl dt.recommended::after {
	color:#fff;
	font-size:14px;
	font-weight:500;
	letter-spacing:0.15em;
	line-height:26px;
	text-align:center;
	display:block;
	width:46px;
	height:26px;
	margin-left:10px;
	border-radius:2px;
	position:absolute;
	top:calc( 50% - 0.5em );
	top:50%;
	left:calc( 100% + 10px );
	left:100%;
	transform:translateY(-50%);
}
.form-area dl dt.annotation-dt::after {
	top:0;
	transform:none;
}
.form-area dl dt.require::after {
	content:"必須";
	background-color:#E60012;
}
.form-area dl dt.conditionally-require::after {
	content:"条件付き必須";
	width:110px;
	background-color:#A0A0A0;
}
.form-area dl dt.recommended::after {
	content:"推奨";
	background-color:#A0A0A0;
}
.form-area dl dd {
	width:100%;
	margin-top:12px;
}
.form-area dl dd.select-area,
.form-area dl dd.file-area {
	width:100%;
	max-width:390px;
}
.form-area dl dd.w02,
.form-area dl dd.w03,
.form-area dl dd .wpcf7-radio {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.form-area dl dd.w02 > div,
.form-area dl dd .wpcf7-list-item {
	width:calc( ( 100% - 10px ) / 2 );
	margin:0;
}
.form-area dl dd.w02 > div {
	max-width:190px;
}
.form-area dl dd.w03 > div {
	width:calc( ( 100% - 20px ) / 3 );
	margin:0;
}
.form-area dl dd.select-area {
	position:relative;
}
.form-area dl dd.select-area::before,
.form-area dl dd.select-area::after {
	content:"";
	display:block;
	width:7px;
	height:1px;
	background-color:#646464;
	border-radius:1px;
	position:absolute;
	top:52.5%;
	top:32px;
	z-index:1;
}
.form-area dl dd.select-area::before {
	right:25px;
	transform:translateY(-50%) rotate(45deg);
}
.form-area dl dd.select-area::after {
	right:20px;
	transform:translateY(-50%) rotate(-45deg);
}
.form-area dl dd input,
.form-area dl dd select,
.form-area dl dd textarea,
.form-area dl dd .wpcf7-list-item-label {
	color:#000;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.150em;
	line-height:1.5;
	padding:calc( 17em / 16 ) calc( 20em / 16 );
	margin:0;
	width: 100%;
	background-color:#fff;
	border:1px solid #969696;
	border-radius:2px;
	box-sizing:border-box;
	overflow:hidden;
}
.form-area dl dd input[type="radio"] {
	/* position:relative;
	width:18px;
	height:18px;
	padding:0;
	margin:0;
	border:1px solid #969696;
	border-radius:50%;
	cursor:pointer; */
	display:none;
}
.form-area dl dd .wpcf7-list-item-label {
	text-align:right;
	display:block;
	width:100%;
	padding-left:30px;
	position:relative;
}
.form-area dl dd input[type="radio"] + .wpcf7-list-item-label::before {
	content:"";
	display:block;
	width:18px;
	height:18px;
	padding:0;
	margin:0;
	border:1px solid #969696;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:29px;
	transform:translate(-50%,-50%);
}
.form-area dl dd input[type="radio"] + .wpcf7-list-item-label::after {
	content:"";
	display:block;
	width:12px;
	height:12px;
	background-color:#E60012;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:29px;
	transform:translate(-50%,-50%);
	display:none;
}
.form-area dl dd input[type="radio"]:checked + .wpcf7-list-item-label::after {
	display:block;
}
.form-area dl dd.file-area .wpcf7-form-control-wrap {
	display:block;
}
.form-area dl dd.file-area .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
	margin-top:10px;
}
.page .section-contact .form-area dl dd .counter {
	font-size:14px;
	line-height:1;
}



.form-area .policy-agreement {
	font-size:18px;
	font-weight:500;
	letter-spacing:0.15em;
	line-height:1.6;
}
.form-area .policy-agreement a {
	color:#E60012;
	font-size:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	line-height:inherit;
	display:inline;
}
.form-area .acceptance {
	font-size:18px;
	font-weight:500;
	letter-spacing:0.15em;
	line-height:1.6;
	line-height:26px;
	width:fit-content;
	position:relative;
}
.form-area .acceptance .wpcf7-acceptance::after {
	content: "必須";
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 26px;
	text-align: center;
	vertical-align:top;
	display: inline-block;
	width: 46px;
	height: 26px;
	margin-left: 10px;
	background-color: #E60012;
	border-radius: 2px;
	/* position: absolute;
	top: calc(50% - 0.5em);
	top: 50%;
	left: calc(100% + 10px);
	left: 100%;
	transform: translateY(-50%); */
}
.form-area .acceptance .wpcf7-list-item {
	margin:0;
}
.form-area .acceptance .wpcf7-list-item label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}
.form-area .acceptance input {
	width: 26px;
	height: 26px;
	margin:0;
	margin-right: 12px;
	border: 1px solid #707070;
	border-radius:2px;
	position:relative;
}
.form-area .acceptance .wpcf7-list-item-label {
	width:calc( 100% - 36px );
	position:relative;
}
.form-area .acceptance .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background-color:#E60012;
	border-radius:50%;
	position: absolute;
	top: 50%;
	left: -25px;
	transform: translate(-50%,-50%);
}
.form-area .acceptance a {
	color:#E60012;
	font-size:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	line-height:inherit;
	display:inline;
}
.form-area .btn-area {
	margin:60px auto 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:30px;
}
.form-area .btn-area .sendbutton {
	width:calc( ( 100% - 30px ) / 2 );
	width:100%;
	max-width:320px;
	margin:0;
	border:2px solid #E60012;
	background-color:#E60012;
	background-color:#fff;
	border-radius:35px;
	position: relative;
	cursor:pointer;
	overflow:hidden;
}
.form-area .btn-area .sendbutton::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#fff;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:36px;
	transform:translate(50%,-50%);
	z-index:0;
	transition:0.5s;
	cursor:pointer;
	background-color:#E60012;
}
.form-area .btn-area .sendbutton input {
	color:#fff;
	color:#E60012;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.1em;
	line-height:20px;
	text-align:left;
	text-decoration: none;
	outline: none;
	display: inline-block;
	width:100%;
	padding:23px 30px;
	border:none;
	background-color:transparent;
	position: relative;
	z-index:1;
	cursor:pointer;
}
/* .form-area .btn-area .sendbutton:hover {
	background-color:#fff;
} */
/* .form-area .btn-area .sendbutton:hover::after {
	background-color:#E60012;
	transition:0.5s;
} */
/* .form-area .btn-area .sendbutton:hover input {
	color:#E60012;
} */
.form-area .btn-area .sendbutton input:disabled {
	/* opacity: 0.4; */
	color:rgba(255,255,255,0.4);
	background-color:#E60012;
	cursor:initial;
}
.form-area .btn-area .sendbutton .wpcf7-spinner {
	display:none;
}
.form-area .btn-area .sendbutton input::before,
.form-area .btn-area .sendbutton input::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.form-area .btn-area .sendbutton input,
.form-area .btn-area .sendbutton input::before,
.form-area .btn-area .sendbutton input::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.form-area .wpcf7-not-valid-tip {
	color: #E60012;
	font-size:12px;
	margin-top: 5px;
}
.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	text-align:center;
	width: fit-content;
	padding: 0.5em 1em;
	margin: 2em auto 0;
	border-color:#E60012;
	display:none;
}
.page-contact_submit .section-form p {
	font-size:22px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:center;
}
@media screen and (max-width:750px) {
	.section-contact .lead-text {
		text-align:left;
		margin:20px auto 50px;
	}
	/* .form-area dl + dl {
		margin-top:20px;
	}
	.form-area dl dt {
		font-size:15px;
	}
	.form-area dl dt .require {
		font-size:13px;
	} */
	/* .form-area dl dd {
		margin-top:10px;
	} */
	/* .form-area dl dd input,
	.form-area dl dd select,
	.form-area dl dd textarea {
		font-size:14px;
		padding:14px 15px;
	} */
	/* .form-area dl .supplement {
		font-size:14px;
		margin:5.5px 0 -2.5px;
	} */
	/* .form-area .policy-agreement {
		font-size:14px;
		margin-top:20px;
	} */
	/* .form-area .btn-area {
		margin:20px auto 0;
		gap:20px;
	}
	.form-area .btn-area .sendbutton {
		width:260px;
	}
	.page-contact_submit .section-form p {
		font-size:20px;
	} */
}









.form-area .btn-area {
	margin-top:60px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
}
.form-area .btn-area .btn-submit {
	width:100%;
	max-width:330px;
	position:relative;
	cursor:pointer;
	transition:0.5s;
}
.back p input,
.back p::before {
	background-color:#6E6E6E;
	border-color:#6E6E6E;
}
.back p::after {
	background-color:#6E6E6E;
	transform:translate(50%,-50%) rotate(180deg);
}
.form-area .btn-area .wpcf7-spinner {
	display:none;
}
.page .section-contact .form-area dl dd .wpcf7-not-valid-tip {
	color: #E60012;
	margin-top: 5px;
}
.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	text-align:center;
	width: fit-content;
	padding: 0.5em 1em;
	margin: 2em auto 0;
	border-color:#E60012;
}

.page-contact_confirm .form-area dl dd p {
	color:#000;
	font-size:14px;
	font-weight:400;
	letter-spacing:0.150em;
	line-height:calc( 20em / 14 );
	width:fit-content;
	padding:0 calc( 10em / 14 );
}
.page-contact_confirm .form-area dl dd.w02 > div,
.page-contact_confirm .form-area dl dd.w03 > div {
	width:fit-content;
}
.page-contact_confirm .form-area .btn-area {
	justify-content:flex-start;
}
.page-contact_confirm .form-area .btn-area .btn-submit {
	width:calc( ( 100% - 10px ) / 2 );
}
/* @media screen and (max-width:1160px) {
	.section-contact .form-area {
		width:calc( 100% - 260px );
	}
} */
@media screen and (max-width:1000px) {
	.subpage .section.section-contact .sticky-flex .menu-area {
		width:100%;
		max-width:100%;
		border:none;
	}
	.subpage .section.section-contact .sticky-flex .menu-area .menu-list {
		width:100%;
		max-width:630px;
		padding:0;
	}
	.section-contact .menu-list .list-item {
		width:calc( ( 100% - 30px ) / 3 );
	}
	.subpage .section .sticky-flex .menu-area .menu-list li + li {
		margin: 0;
	}
	.section-contact .menu-list .list-item:not(:first-of-type)::before {
		top: 50%;
    left: -7.5px;
		transform:translate(-50%,-50%) rotate(-90deg);
	}
	.form-area dl dd .wpcf7-list-item {
		width:100%;
	}
}
@media screen and (max-width:750px) {
	/* .section-contact .menu-area {
		width:100%;
	} */
	/* .section-contact .menu-area .menu-list {
		position:relative;
		top:0;
	} */
	/* .section-contact .menu-list .list-item {
		font-size:14px;
		line-height:20px;
		width:calc( ( 100% - 40px ) / 3 );
	} */
	/* .section-contact .menu-list .list-item:not(:first-of-type)::before {
		top:50%;
		left:-10px;
		transform:translate(-50%,-50%);
	} */
	/* .section-contact .form-area {
		width:100%;
		padding:0 13px;
		margin-top:30px;
	} */
	.form-area dl dd.w02 > div {
		max-width:230px;
	}
	.form-area dl dd.select-area, .form-area dl dd.file-area {
		max-width:470px;
	}
	.form-area dl dd .wpcf7-list-item {
		width:100%;
	}
	.form-area .form-block .form-header {
		width:100%;
		padding:20px 15px;
	}
	.form-area .form-block .form-inner {
		width:100%;
		padding:24px 0 30px;
	}
	.form-area .btn-area {
		margin-top:40px;
	}
	.form-area .btn-area .sendbutton {
		max-width:390px;
	}
}
@media screen and (max-width:600px) {
	.page-contact_confirm .form-area .btn-area .btn-submit {
		width:100%;
	}
}
@media screen and (max-width:400px) {
	.under400 {
		display:block;
	}
	/* .form-area dl dt.require::after {
		margin:5px 0 0 0;
		position:relative;
		top:auto;
		left:auto;
		transform:none;
	}
	.form-area dl dd textarea, .form-area dl dd .wpcf7-list-item-label {
		font-size:12px;
		line-height:18px;
		padding:12px;
	}
	.form-area dl dd input[type="radio"] + .wpcf7-list-item-label::before,
	.form-area dl dd input[type="radio"] + .wpcf7-list-item-label::after {
		left:21px;
	} */
}



























/* page-privacy-policy */
.page-privacy-policy .menu-window {
	display:none;
}
.page-privacy-policy .section .sticky-flex .menu-area .menu-list {
	margin:0;
}
.page-privacy-policy .contents-area p {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:calc( 26em / 12 );
}
.page-privacy-policy .contents-area p a,
.page-privacy-policy .contents-area li a {
	display:inline;
	text-decoration:underline;
}
.page-privacy-policy .list-title {
	font-size:18px;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:calc( 28em / 18 );
	margin:50px 0 18px;
}
.page-privacy-policy .list_level01 {
	padding-left:21px;
	margin:0;
}
.page-privacy-policy .list_level01 > li {
	font-size:14px;
	font-weight:500;
	letter-spacing:0.05em;
	line-height:calc( 28em / 14 );
	margin-top:24px;
}
.page-privacy-policy .list-sub-title {
	font-size:14px;
	font-weight:500;
	letter-spacing:0.05em;
	line-height:calc( 28em / 14 );
	margin-bottom:4px;
}
.page-privacy-policy .list_level02 {
	padding-left:14px;
	margin:0;
}
.page-privacy-policy ul.list_level02 {
	list-style-type:initial;
}
.page-privacy-policy .list_level02 > li {
	font-size:12px;
	font-weight:500;
	letter-spacing:0;
	line-height:calc( 26em / 12 );
	margin-top:10px;
}
.page-privacy-policy ul.list_level02 > li {
	font-weight:400;
	margin-top:0;
}
.page-privacy-policy .list_level02 > li > p {
	margin-left:-14px;
}
.page-privacy-policy ul.list_level02 + p {
	margin-top:8px;
}
.page-privacy-policy .list-ss-title {
	font-size:12px;
	font-weight:500;
	letter-spacing:0;
	line-height:calc( 26em / 12 );
	margin-bottom:4px;
}
@media screen and (max-width:1340px) {
	.page-privacy-policy .section .sticky-flex .contents-area {
		width:calc( 100% - 300px );
	}
}
@media screen and (max-width:1000px) {
	.page-privacy-policy .menu-window {
		display:block;
	}
}
@media screen and (max-width:750px) {
	.page-privacy-policy .list-title {
		margin:40px 0 10px;
	}
}

/* 404 */
.error404 .section-404 p {
	font-size:16px;
	text-align:center;
	margin-top: 30px;
}
@media screen and (max-width:750px) {
	.error404 .section-404 p {
		font-size:12px;
}
}

/* クッキー使用同意ポップアップ */
.cc-window.cc-banner {
	width:100%;
	left:0;
}


.single-news .title-area .image-area {
	width:100%;
	aspect-ratio:1200 / 580;
	border-radius:8px;
	overflow:hidden;
}
.single-news .title-area .image-area.logo {
	border:1px solid #646464;
}
.single-news .title-area .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.single-news .title-area .single-title {
	font-size:28px;
	font-family: "Zen Old Mincho", serif;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:44px;
	margin-top:52px;
}
.single-news .title-area .info-cat {
	margin-top:16px;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;
	gap:15px 30px;
}
.single-news .title-area .info-cat .cat-name {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.15em;
	line-height:30px;
	padding-left:18px;
	position:relative;
}
.single-news .title-area .info-cat .cat-name::before {
	content:"";
	display:block;
	width:4px;
	height:4px;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
.single-news .title-area .info-date {
	font-size:16px;
	font-weight:200;
	letter-spacing:0;
	line-height:1;
	margin-top:18px;
}
.single-news .text-area {
	margin-top:60px;
}
.single-news .parts_single-pagination {
	width:100%;
	max-width:500px;
	margin:80px auto 0;
	gap:20px;
}
.single-news .parts_single-pagination .flex-item {
	width:70px;
	height:70px;
}
.single-news .parts_single-pagination .flex-item.up {
	width:calc( 100% - 180px );
}
.single-news .parts_single-pagination .flex-item a {
	font-size:16px;
	font-weight:300;
	letter-spacing:0;
	line-height:20px;
	width:100%;
	height:100%;
	padding:25px 30px;
	border:1px solid #646464;
	border-radius:35px;
	position:relative;
}
.single-news .parts_single-pagination .flex-item.prev a::after,
.single-news .parts_single-pagination .flex-item.next a::after {
	content:"";
	display:block;
	width:10px;
	height:10px;
	border-top:1px solid #646464;
	border-left:1px solid #646464;
	position:absolute;
	top:50%;
	left:50%;
}
.single-news .parts_single-pagination .flex-item.prev a::after {
	transform:translate(-38%,-50%) rotate(-45deg);
}
.single-news .parts_single-pagination .flex-item.next a::after {
	transform:translate(-62%,-50%) rotate(135deg);
}
.single-news .parts_single-pagination .flex-item.up a::after {
	content:"";
	display:block;
	width:6px;
	height:6px;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:33px;
	transform:translateY(-50%);
}

.single-news .section-single-news .text-area > *:first-child {
	margin-top:0 !important;
}
.single-news .section-single-news .text-area > *:last-child {
	padding-bottom:0 !important;
}
.single-news .section-single-news .text-area h2,
.single-news .section-single-news .text-area h3,
.single-news .section-single-news .text-area h4,
.single-news .section-single-news .text-area h5,
.single-news .section-single-news .text-area h6,
.single-news .section-single-news .text-area p,
.single-news .section-single-news .text-area figure {
	width:100%;
	max-width:960px;
	margin-left:auto;
	margin-right:auto;
}
.single-news .section-single-news .text-area h2 {
	font-size:18px;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:calc( 32em / 18 );
	margin-top:3em;
	padding-bottom:1.5em;
}
.single-news .section-single-news .text-area h3 {
	font-size:14px;
	font-weight:500;
	letter-spacing:0.050em;
	line-height:calc( 28em / 14 );
}
.single-news .section-single-news .text-area h4 {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:calc( 28em / 14 );
}
.single-news .section-single-news .text-area h5 {
	font-size:12px;
	font-weight:500;
	letter-spacing:0.050em;
	line-height:calc( 26em / 12 );
}
.single-news .section-single-news .text-area h6 {
	font-size:12px;
	font-weight:400;
	letter-spacing:0.050em;
	line-height:calc( 26em / 12 );
}
.single-news .section-single-news .text-area p {
	font-size:12px;
	font-weight:400;
	letter-spacing:0;
	line-height:calc( 26em / 12 );
	padding-bottom:1.8em;
	margin-top:0;
}
.single-news .section-single-news .text-area figure {
	padding-bottom:30px;
	border-radius:8px;
	overflow:hidden;
}
.single-news .wp-block-columns {
	gap:0;
}
@media screen and (max-width:750px) {
	.single-news .title-area .image-area {
		border-radius:6px;
	}
	.single-news .title-area .single-title {
		font-size:22px;
		letter-spacing:0;
		line-height:32px;
		margin-top:30px;
	}
	.single-news .title-area .info-cat {
		margin-top:16px;
		gap:12px 18px;
	}
	.single-news .title-area .info-cat .cat-name {
		font-size:12px;
		line-height:20px;
		padding-left:10px;
	}
	.single-news .title-area .info-date {
		font-size:14px;
	}
	.single-news .text-area {
		margin-top:40px;
	}
	.single-news .parts_single-pagination {
		margin:30px auto 0;
	}
	.single-news .parts_single-pagination .flex-item {
		width:60px;
		height:60px;
	}
	.single-news .parts_single-pagination .flex-item.up {
		width:calc( 100% - 160px );
	}
	.single-news .parts_single-pagination .flex-item a {
		font-size:14px;
		padding:20px;
	}
	.single-news .parts_single-pagination .flex-item.prev a::after,
	.single-news .parts_single-pagination .flex-item.next a::after {
		width:8px;
		height:8px;
	}
	.single-news .parts_single-pagination .flex-item.up a::after {
		right:23px;
	}
	.single-news .section-single-news .text-area h2 {
		margin-top:2em;
	}
	.single-news .section-single-news .text-area figure {
		padding-bottom:10px;
		border-radius:6px;
	}
	.single-news .wp-block-column {
		width:100%;
		flex-basis:100% !important;
	}
}

header .header-menu {
	width:100%;
	max-width:490px;
	height:100dvh;
	padding-left:60px;
	background-color:#323232;
	position:fixed;
	top:0;
	left:0;
	overflow:auto;
	display:none;
}
header .header-menu > .flex-container {
	height:100%;
	flex-direction:column;
	flex-wrap:nowrap;
	justify-content:space-between;
}
header .header-menu .container {
	width:100%;
	max-width:440px;
	height:auto;
	padding:20px 20px 45px;
}
header .header-menu .main-menu {
	flex-direction:column;
	gap:20px;
}
header .header-menu .main-menu li a {
	color:#C8C8C8;
	font-size:40px;
	/* line-height:1; */
	line-height:0.65;
	padding-left:15px;
	position:relative;
}
header .header-menu .main-menu li a span {
	font-size:10px;
	font-weight:500;
	letter-spacing:0.3em;
	line-height:1;
	display:block;
	margin-top: 12px;
}
header .header-menu .main-menu li a::before {
	content:"";
	display:block;
	width:4px;
	height:4px;
	background-color:#C8C8C8;
	border-radius:50%;
	position:absolute;
	top:0;
	left:0;
}
header .header-menu .sub-menu {
	margin-top:40px;
	gap:10px 20px;
}
header .header-menu .sub-menu li {
	position:relative;
}
header .header-menu .sub-menu li:not(:last-of-type)::before {
	content:"/";
	color:#C8C8C8;
	font-size:12px;
	line-height:16px;
	position:absolute;
	top:50%;
	right:-10px;
	transform:translate(50%,-50%);
}
header .header-menu .sub-menu li a {
	color:#C8C8C8;
	font-size:12px;
	letter-spacing:0.1em;
	line-height:16px;
}
header .header-menu small {
	color:#C8C8C8;
	font-size:12px;
	font-weight:200;
	letter-spacing:0;
	line-height:16px;
	display:block;
	width:fit-content;
	margin-top:40px;
}
header .header-menu .fixed-menu {
	display:flex !important;
	flex-direction: column;
	max-width:none;
	gap:8px 15px;
	margin-top:36px;
}
header .header-menu .fixed-menu a {
	color: #C8C8C8;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 18px;
	display: block;
	width:100%;
	max-width:400px;
	height: 60px;
	padding: 20px;
	background-color: transparent;
	border: 1px solid #C8C8C8;
	border-radius: 40px;
	position: relative;
}
header .header-menu  .fixed-menu a::after {
	background-color:#C8C8C8;
	right:34px;
}
header .header-menu .text-area {
	margin-top:30px;
}
header .header-menu .text-area .text-jp {
	color:#C8C8C8;
	font-size:25px;
	font-weight:400;
	font-family: "Zen Old Mincho", serif;
	letter-spacing:0.1em;
	line-height:52px;
	text-align:right;
	margin-right:-0.75em;
}
header .header-menu .text-area .text-en {
	color:#C8C8C8;
	font-size:14px;
	font-weight:200;
	line-height:1;
	text-align:right;
	margin-top:0.75em;
}
header .header-menu .menu-logo-area {
	width:100%;
	max-width:440px;
	padding:20px;
	margin:0 auto;
	border-top:1px solid #C8C8C8;
}
@media screen and (max-width:750px) {
	header .header-menu {
		max-width:100%;
		height:auto;
		max-height:100dvh;
		padding-top:78px;
		padding-left:0;
	}
}

.section-keyvisual .site-menu {
	width:120px;
	position:absolute;
	top:30px;
	left:110px;
	z-index:10;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
}
.section-keyvisual .site-menu li + li {
	margin-top:7px;
}
.section-keyvisual .site-menu li a {
	display:block;
	font-size:16px;
	line-height:calc( 21em / 16 );
	padding-left:1em;
	position:relative;
}
.section-keyvisual .site-menu li a::before {
	content:"";
	display:block;
	width:0.25em;
	height:0.25em;
	background-color:#646464;
	border-radius:50%;
	position:absolute;
	top:50%;
	left:0.25em;
}
.section-keyvisual .site-menu li a:hover::before {
	background-color:#E60012;
}
@media screen and (max-width:750px) {
	.section-keyvisual .site-menu {
		top:78px;
		left:20px;
	}
}
@media screen and (max-width:600px) {
	.section-keyvisual .site-menu {
		display:none;
	}
}