/* Theme Name: dtcd */

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;
}
.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: 120px;
}
body {
	color:#334155;
	font-size:20px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.5;
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	background-color:#F8FAFC;
	/* background-color:#E1E6F0; */
	/* background:url('./assets/img/bg_noise.png'), linear-gradient(#F8FAFC 0%, #F8FAFC 100%); */
	background-image:url('./assets/img/bg_noise.jpg');
	background-position:top center;
	background-repeat:repeat;
	background-size:contain;
}
.body_wrap {
	overflow:hidden;
}
.mont {
	font-family: "Montserrat", sans-serif;
}
.text-blue {
	color:#6987FF;
}
p + p {
	margin-top:1.5em;
}
a, a::before, a::after {
	color:inherit;
	text-decoration: none;
	display: block;
	transition: 0.5s;
}
a:hover, a:hover::before, a:hover::after {
	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;
}
.gr {
	font-feature-settings: 'palt' on;
	background: linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
	background: -webkit-linear-gradient(0deg, #8431FF 0%, #01A1FF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.gr-red {
	font-feature-settings: 'palt' on;
	background: linear-gradient(90deg, #9735ED 0%, #FF0170 100%);
	background: -webkit-linear-gradient(0deg, #9735ED 0%, #FF0170 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.section {
	padding:120px 0;
	margin: 0 auto;
	position: relative;
}
.section.parts_problems {
	padding-bottom:0;
}
.container {
	width: 100%;
	max-width: 1230px;
	padding: 0 60px;
	margin: 0 auto;
}
.section-keyvisual .page-title {
	color:#fff;
	font-size:38px;
	font-weight:700;
	letter-spacing:0.2em;
	line-height:1.3;
	text-align:center;
}
.section-keyvisual .page-title + p {
	color:#fff;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:center;
	margin-top:24px;
}
.section-keyvisual .page-title + p span.large {
	color:#fff;
	font-size:22px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:center;
	display:block;
	margin-bottom:27px;
}
.section-title {
	font-size:28px;
	font-weight:700;
	letter-spacing:0.2em;
	line-height:1.6;
	text-align:center;
}
.section-title .title-en {
	font-size:16px;
	font-weight:400;
	font-family:"Montserrat", sans-serif;
	letter-spacing:0;
	line-height:2;
	text-align:center;
	font-feature-settings: 'palt' on;
	background: linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
	background: -webkit-linear-gradient(0deg, #8431FF 0%, #01A1FF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display:block;
	width:fit-content;
	margin:0 auto 6px;
}
@media screen and (max-width:1000px) {
	.section {
		padding:80px 0;
	}
	.container {
		padding: 0 45px;
	}
}
@media screen and (max-width:750px) {
	body {
		font-size:16px;
	}
	.inline-block-pc {
		display: inline;
	}
	.section {
		padding:50px 0;
	}
	.container {
		padding: 0 30px;
	}
	.section-keyvisual .container {
		padding:0 15px;
	}
	.section-keyvisual .page-title {
		font-size:28px;
		line-height:1.6;
	}
	.section-keyvisual .page-title + p {
		font-size:10px;
		margin-top:12px;
	}
	.section-keyvisual .page-title + p span.large {
		font-size:16px;
		margin-bottom:16px;
	}
	.section-title {
		font-size:24px;
	}
	.section-title .title-en {
		font-size:14px;
		margin-bottom:4px;
	}
}
.flex-container {
	display: flex;
	flex-wrap: wrap;
	/* gap:16px; */
}
.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;
}
/* .flex-container.flex_c2 .flex-item,
.flex-container.flex_c3 .flex-item,
.flex-container.flex_c4 .flex-item {
	width:auto;
	background-color:#fff;
	border-radius:20px 0 20px 0;
	flex-grow:1;
} */
.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;
}
.btn {
	margin-top:45px;
}
.btn a {
	color:#fff;
	font-size:14px;
	font-weight:700;
	letter-spacing:0;
	line-height:21px;
	width:100%;
	max-width:260px;
	padding:14px 22px;
	margin:0 auto;
	border:2px solid #6987FF;
	background-color:#6987FF;
	border-radius:30px;
	position: relative;
	z-index:0;
}
.btn a::before {
	content:"";
	display:block;
	width:24px;
	height:24px;
	background-color:#fff;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	z-index:-1;
}
.btn a::after {
	content:"";
	display:block;
	width:7.8px;
	height:7.8px;
	border-bottom:2px solid #6987FF;
	border-right:2px solid #6987FF;
	position:absolute;
	top:50%;
	right:28.5px;
	transform:translate(50%,-50%) rotate(-45deg);
	z-index:-1;
}
.btn.small a {
	font-size:13px;
	line-height:20px;
	max-width:240px;
	padding:13px 18px;
}
.btn.small a::before {
	width:20px;
	height:20px;
	right:10px;
}
.btn.small a::after {
	width:7.2px;
	height:7.2px;
	right:21.5px;
}
.btn a:hover {
	color:#6987FF;
	background-color:#fff;
}
.btn a:hover::before {
	background-color:#6987FF;
}
.btn a:hover::after {
	border-color:#fff;
}
.image-area {
	/* border-radius:16px; */
	overflow:hidden;
	position:relative;
}
.parts_bc {
	width:100%;
	max-width:1360px;
	padding:30px 30px 0;
	margin:0 auto -44px;
	position:relative;
	z-index:1;
}
.parts_bc ul {
	line-height:0;
}
.parts_bc ul li {
	font-size:12px;
	line-height:14px;
	display:inline;
}
.parts_bc ul li a,
.parts_bc ul li span {
	font-size:12px;
	font-weight:500;
	line-height:14px;
	display:inline;
}
.parts_bc ul li + li {
	padding-left:26px;
	position:relative;
}
.parts_bc ul li + li::before {
	content:"";
	display:block;
	width: 11px;
	height: 6px;
	background-image: url(./assets/img/icon_down.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position:absolute;
	top:8.75px;
	left:calc( 26px / 2 );
	transform:translate(-50%,-50%) rotate(-90deg);
}
@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;
	}
	.parts_bc {
		padding:20px 15px 0;
		margin:0 auto -34px;
	}
	.parts_bc ul li,
	.parts_bc ul li a,
	.parts_bc ul li span {
		font-size:10px;
		line-height:12px;
	}
	.parts_bc ul li + li::before {
		top:7.25px;
	}
}
@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;
	}
}

/* parts */
header {
	width:100%;
	max-width:1400px;
	/* height: 110px; */
	padding:20px;
	position:fixed;
	top:0;
	left:50%;
	transform:translateX(-50%);
	z-index:10000;
}
header .container {
	width:100%;
	max-width:none;
	padding:15px 20px;
	background-color:#fff;
	border-radius:10px;
	position:relative;
}
header .header-nav {
	width: 100%;
	justify-content:space-between;
	align-items: center;
}
header .header-nav .logo {
	width: 160px;
	height:40px;
}
header .header-nav .logo img {
	width:100%;
	height:100%;
	object-fit:contain;
}
header .header-nav .btn_menu,
header .header-nav .sp-wrap {
	display: none;
}
/* header .header-nav nav {
	width:calc( 100% - 237px );
	max-width:874px;
	max-width:820px;
} */
header .nav-ul {
	align-items: center;
}
header .nav-ul li + li {
	margin-left:30px;
}
.nav-ul li a {
	color:#334155;
	font-size: 14px;
	font-weight: 500;
	letter-spacing:0.010em;
	line-height: 20px;
	position: relative;
}
.nav-ul li a:hover {
	color:#6987FF;
}
.nav-ul li.current a {
	color:#6987FF;
	pointer-events:none;
}
.nav-ul li.header-btn a {
	color:#6987FF;
	font-size:13px;
	font-weight:700;
	text-align:center;
	width:130px;
	padding:8px;
	background-color:#fff;
	border:2px solid #6987FF;
	border-radius:7px;
}
.nav-ul li.header-btn a:hover {
	color:#fff;
	background-color:#6987FF;
}
.nav-ul li.header-btn.btn_contact {
	margin-left:15px;
	/* for-release */
	margin-left:30px;
}
.nav-ul li.header-btn.btn_contact a {
	color:#fff;
	background-color:#6987FF;
}
.nav-ul li.header-btn.btn_contact a:hover {
	color:#6987FF;
	background-color:#fff;
}
.nav-ul li.level-list {
	cursor: pointer;
	/* position: relative; */
}
.nav-ul li.level-list>a {
	padding-right:15px;
	pointer-events: none;
	position: relative;
}
.nav-ul li.level-list>a::after {
	content: "";
	display: inline-block;
	text-align: center;
	width: 10px;
	height: 10px;
	background-image: url('./assets/img/icon_down.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: 0.5s;
	position:absolute;
	top:52.5%;
	right:0;
	transform:translateY(-50%);
}
.nav-ul li.level-list.opened > a::after {
	transform:translateY(-50%) rotate3d(1, 0, 0, 180deg);
}
header .nav-ul .sub-menu {
	display: none;
	width:100%;
	/* width:calc( 100vw - 40px ); */
	padding:25px 0 15px;
	background-color:#fff;
	border-radius: 0 0 10px 10px;
	overflow: hidden;
	position: absolute;
	top:100%;
	left:0;
	transform:translateY(-10px);
}
header .nav-ul .sub-menu::before {
	content:"";
	display:block;
	width:calc( 100% - 40px );
	height:1px;
	background-color:#E2E8F0;
	position:absolute;
	top:10px;
	left:20px;
}
header .nav-ul .sub-menu-header {
	font-size:18px;
	font-weight:700;
	letter-spacing:0.2em;
	line-height:1;
	padding:10px 25px;
	width:calc( 100% - 370px * 3 );
}
header .nav-ul .sub-menu-header span {
	font-size:14px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	display:block;
	width:fit-content;
	margin-top:10px;
}
header .nav-ul .sub-menu li {
	width:370px;
	margin:0;
	border-left:1px solid #E2E8F0;
}
header .nav-ul .sub-menu li a {
	width:100%;
	padding:10px 25px;
}
header .nav-ul .sub-menu li a .image-area {
	width:100%;
	height:160px;
	padding:30px 20px;
	background-color:#F0F3F7;
	border-radius:10px;
}
header .nav-ul .sub-menu li a .logo-area {
	width:100px;
	height:100px;
	padding:8px;
	margin:0 auto;
	background-color:#fff;
	border-radius:10px;
}
header .nav-ul .sub-menu li a .logo-area img {
	width:100%;
	/* max-width:80px; */
	height:100%;
	/* max-width:80px; */
	object-fit:contain;
}
header .nav-ul .sub-menu li:first-of-type a .logo-area {
	padding:6px;
	background-color:transparent;
}
header .nav-ul .sub-menu li a span {
	display:block;
	font-size:16px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.3;
	text-align:center;
	margin-top:20px;
}
/* .nav-ul li > a:not(.gr)::before {
	content:"";
	display:none;
	width:100%;
	height:2px;
	background:linear-gradient(87.51deg, #007AFF 11.69%, #6437EC 94.24%);
	position:absolute;
	bottom:-2px;
	left:0;
	z-index:1;
	transition:0.5s;
}
.nav-ul li:hover > a:not(.gr)::before {
	display:block;
	transition:0.5s;
}
.nav-ul li.btn_contact a.gr {
	padding:8px 16px;
}
.nav-ul li.btn_lang .active {
	display:none;
}
.nav-ul li.btn_lang a,
.nav-ul li.btn_lang .sub-menu li a {
	padding-left:24px;
	position:relative;
}
.nav-ul li.btn_lang a::before {
	content:"";
	display:block;
	width:16px;
	height:12px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
.nav-ul li.btn_lang a.en::before {
	background-image:url('./assets/img/flag_eng.png');
}
.nav-ul li.btn_lang a.ja::before {
	background-image:url('./assets/img/flag_jpn.png');
} */
.section-contact {
	width:100%;
	padding-bottom:145px;
	background-color:#3C4B78;
	border-radius:0 0 50px 50px;
}
.section-contact::before,
.section-contact::after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-color:#E1E6F0;
	background-position:center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius:0 0 50px 50px;
	position:absolute;
	top:0;
	left:0;
	z-index:0;
}
.section-contact::before {
	/* background-color:#3C4B78; */
	background-image:url('./assets/img/bg_contact.png');
	/* background-image:url('./assets/img/bg_noise.png'), url('./assets/img/bg_contact.png');
	background-image:url('./assets/img/bg_contact.png'), url('./assets/img/bg_noise.png'); */
	mix-blend-mode:multiply;
}
.section-contact::after {
	/* background-image:url('./assets/img/bg_contact.png'); */
	background-image:url('./assets/img/bg_noise.png');
	/* background-image:url('./assets/img/bg_contact.png'), url('./assets/img/bg_noise.png'); */
	mix-blend-mode:multiply;
}
.section-contact * {
	color:#fff;
	-webkit-text-fill-color:unset !important;
}
.section-contact .container {
	position:relative;
	z-index:1;
}
.section-contact .flex-container.flex_c2 {
	width:100%;
	margin:30px auto 0;
	border-radius:20px 0 20px 0;
	flex-direction:row;
	gap:0;
	overflow:hidden;
	position:relative;
	/* for-release */
	max-width:555px;
}
.section-contact .flex-container::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url('./assets/img/bg_noise.png');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	opacity:0.1;
}
.section-contact .flex-container.flex_c2 .flex-item {
	width:50%;
	border-radius:0;
	position:relative;
	/* for-release */
	width:100%;
}
.section-contact .flex-container.flex_c2 .flex-item::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url('./assets/img/bg_noise.png');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	mix-blend-mode:multiply;
}
.section-contact .flex-item:nth-of-type(1) {
	/* background-image:url('./assets/img/image_contact.png'); */
	background:url('./assets/img/image_contact.png'), linear-gradient(#45628D 0%, #45628D 100%);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.section-contact .flex-item:nth-of-type(2) {
	/* background-image:url('./assets/img/image_document.png'); */
	background:url('./assets/img/image_document.png'), linear-gradient(#45628D 0%, #45628D 100%);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.section-contact .flex-item a {
	font-size:24px;
	font-weight:700;
	letter-spacing:0.010em;
	line-height:30px;
	width:100%;
	padding:115px 45px;
	position:relative;
}
footer {
	padding-top:50px;
	margin-top:-50px;
	background-color:#E1E6F0;
}
footer .container {
	max-width:1400px;
	padding:60px 30px;
}
footer .nav-ul {
	gap:20px;
}
footer .nav-ul li a {
	font-size:16px;
	font-weight:500;
	letter-spacing:0;
	line-height:22px;
}
footer .sub-nav {
	width:100%;
}
footer .sub-nav li a {
	font-size:14px;
}
footer .logo-area {
	margin-top:70px;
}
footer .logo-area a {
	width:fit-content;
	align-items:center;
	gap:20px 35px;
}
footer .logo-area a img {
	width:185px;
}
footer .logo-area a p {
	font-size:14px;
	font-weight:500;
	letter-spacing:0.010em;
	line-height:1;
}
footer .logo-area a p span {
	text-decoration:underline;
}
footer .copyright {
	font-size:11px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	margin-top:1em;
}
@media screen and (max-width:1300px) {
	header .nav-ul .sub-menu-header {
		width:150px;
	}
	header .nav-ul .sub-menu ul {
		width:calc( 100% - 150px );
	}
	header .nav-ul .sub-menu li {
		width:calc( 100% / 3 );
	}
}
@media screen and (max-width:1000px) {
	.section-contact {
		padding-bottom:100px;
	}
	.section-contact .flex-item a {
		padding:80px 40px;
	}
}
@media screen and (max-width:750px) {
	/* header.opened .container {
		border-radius:10px 10px 30px 30px;
	} */
	header .header-nav .btn_menu {
		display: block;
		width: 30px;
		height: 30px;
		cursor: pointer;
		position:relative;
	}
	header .header-nav .btn_menu span {
		display: block;
		width: 100%;
		height: 2px;
		background-color:#6987FF;
		position:absolute;
		left:50%;
		transform:translate(-50%,-50%);
	}
	header .header-nav .btn_menu span:nth-of-type(1) {
		top:calc( 50% - 5px );
	}
	header .header-nav .btn_menu span:nth-of-type(2) {
		top:calc( 50% + 5px );
	}
	header .header-nav nav {
		display:none;
		width:100%;
		height:auto;
		max-height:calc( 100dvh - 125px );
		padding-bottom:25px;
		margin-top:15px;
		overflow: auto;
		-ms-overflow-style: none;
	}
	header .header-nav nav::-webkit-scrollbar {
		display: none;
	}
	header.opened .header-nav .sp-wrap {
		display: block;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.3);
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}
	header .nav-ul {
		border-top:1px solid #E2E8F0;
		flex-direction:column;
		align-items:flex-start;
	}
	header .nav-ul > li:not(.header-btn) {
		width:100%;
		margin:0;
    border-bottom:1px solid #E2E8F0;
	}
	header .nav-ul li a {
    font-size: 16px;
		line-height:19px;
		width:fit-content;
		padding:20px 15px;
	}
	header .nav-ul .sub-menu {
		padding: 0;
		padding:15px 0;
		border-top:1px solid #E2E8F0;
		position: static;
		transform:none;
	}
	header .nav-ul .sub-menu::before {
		display:none;
	}
	header .nav-ul .sub-menu-header {
		display:none;
	}
	header .nav-ul .sub-menu ul {
		width:100%;
	}
	header .nav-ul .sub-menu li {
		width:calc( 100% / 3 );
	}
	header .nav-ul .sub-menu li:first-of-type {
		border:none;
	}
	header .nav-ul .sub-menu li a {
		padding:10px 15px;
	}
	header .nav-ul .sub-menu li a .image-area {
		height:120px;
		padding:15px;
	}
	header .nav-ul .sub-menu li a .logo-area {
		width:90px;
		height:90px;
	}
	header .nav-ul .sub-menu li a span {
		margin-top: 10px;
	}
	header .nav-ul li.header-btn {
		font-size:14px;
		line-height:1;
		width:100%;
		margin:30px 0 0;
	}
	header .nav-ul li.header-btn.btn_contact {
		margin:10px 0 0;
	}
	header .nav-ul li.header-btn a {
		width:100%;
		max-width:320px;
		padding:16px;
	}
}
@media screen and (max-width:750px) {
	header,
	header .container {
		padding:15px;
	}
	header .header-nav .logo {
		width:125px;
		height:auto;
	}
	header .header-nav .btn_menu {
		height:26px;
	}
	header .header-nav nav {
		max-height:calc( 100dvh - 101px );
	}
	.section-contact {
		padding-bottom:60px;
	}
	.section-contact .flex-container.flex_c2 {
		margin-top:24px;
	}
	.section-contact .flex-item a {
		font-size:20px;
		padding:60px 35px;
	}
	.section-contact .btn {
		margin-top:30px;
	}
	footer .container {
		padding:44px 40px 47px;
	}
	footer nav {
		display:none;
	}
	footer .logo-area {
		margin:0;
	}
	footer .logo-area a {
		flex-direction:column;
	}
	footer .copyright {
		margin-top:50px;
	}
}
@media screen and (max-width:560px) {
	header .nav-ul .sub-menu {
		padding:0;
	}
	header .nav-ul .sub-menu li {
		width:100%;
		padding:15px 17px;
		border-left:none;
		border-top:1px solid #E2E8F0;
	}
	header .nav-ul .sub-menu li a {
		padding:0;
		display:flex;
		align-items:center;
	}
	header .nav-ul .sub-menu li a .image-area {
		width:80px;
		height:80px;
		padding:12px;
	}
	header .nav-ul .sub-menu li a .logo-area {
		width:56px;
		height:56px;
		padding:5px;
	}
	header .nav-ul .sub-menu li a span {
		/* color:#707070; */
		text-align:left;
		margin-top:0;
		margin-left:25px;
	}
	.section-contact .flex-container.flex_c2 .flex-item {
		width:100%;
	}
	.section-contact .flex-item a {
		width:100%;
		padding:40px 30px;
	}
}


/* FRONT PAGE */
.section-keyvisual {
	width:100%;
	height:700px;
	/* padding:230px 0 160px; */
	padding:70px 0 0;
	/* background-image:url('./assets/img/preimage-kv_image.png'); */
	/* background:url('./assets/img/preimage-kv_image.png'), linear-gradient(90deg, #8431FF 0%, #01A1FF 100%); */
	background:url('./assets/img/kv_image.png'), url('./assets/img/kv_gradient.png'), linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
	background-position:calc( 50% + 300px ) center;
	background-position:center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius:0 0 50px 50px;
	display:flex;
	align-items:center;
	position:relative;
	overflow:hidden;
}
.section-keyvisual::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(./assets/img/bg_noise.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	/* z-index: 0; */
	mix-blend-mode: multiply;
}
.section-keyvisual .container {
	position:relative;
}
.page-top .section-keyvisual .container {
	max-width:1180px;
	gap:70px;
	position:relative;
}
.page-top .section-keyvisual .container .logo-area {
	width:310px;
	height:310px;
	background-color:#fff;
	border-radius:50%;
}
.page-top .section-keyvisual .container .logo-area img {
	width:100%;
	height:100%;
	padding:25%;
	object-fit:contain;
}
.page-top .section-keyvisual .container .text-area {
	width:calc( 100% - 380px );
}
.page-top .section-keyvisual .page-title {
	font-size:43px;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:left;
}
.page-top .section-keyvisual .container .text-area p {
	text-align:left;
	margin-top:17px;
}
.page-top .section-keyvisual .container .text-area .btn {
	margin-top:40px;
}
.page-top .section-keyvisual .container .text-area .btn a {
	color:#334155;
	background-color:#fff;
	border-color:#fff;
	margin:0;
}
.page-top .section-keyvisual .container .text-area .btn a::before {
	background-color:#D9D9D9;
}
.page-top .section-keyvisual .container .text-area .btn a::after {
	border-color:#fff;
}
.page-top .section-keyvisual .container .text-area .btn a:hover {
	color:#fff;
	background-color:#6987FF;
	border-color:#fff;
}
.page-top .section-keyvisual .container .text-area .btn a:hover::before {
	background-color:#fff;
}
.page-top .section-keyvisual .container .text-area .btn a:hover::after {
	border-color:#6987FF;
}
.page-top .section-keyvisual + .section::before,
.page .parts_bc + .section::before {
	content: "";
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	z-index: -1;
	mix-blend-mode: multiply;
	opacity: 0.5;
}
.page-top .section-keyvisual + .section::before {
	width:calc( 1076px - 701 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1076px;
	aspect-ratio:1000 / 1200;
	background-image: url('./assets/img/bg_image_top_section.png');
	top:calc( -40px - 20 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	/* left:calc( 50% - 323px + 323 * ( 1400px - 100vw ) / ( 1400 - 375 ) ); */
	left:calc( -161px + 161 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
}
.page-product .parts_bc + .section::before {
	width:calc( 1076px - 701 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1076px;
	aspect-ratio:1000 / 1200;
	background-image: url('./assets/img/bg_image_top_section.png');
	top:calc( -107px + 57 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	left:calc( -161px + 161 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
}
@media screen and (max-width:375px) {
	.page-top .section-keyvisual + .section::before,
	.page-product .parts_bc + .section::before {
		width:100%;
		left:0;
	}
}
.page-about .parts_bc + .section::before {
	width:calc( 1400px - 968 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1400px;
	aspect-ratio:1400 / 933;
	background-image: url('./assets/img/bg_image_top_section_about.png');
	top:calc( -235px + 185 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	left:0;
}
.page-faq .parts_bc + .section::before {
	width:calc( 1400px - 750 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1400px;
	aspect-ratio:1400 / 823;
	background-image: url('./assets/img/bg_image_top_section_faq.png');
	top:calc( -345px + 171 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	left:0;
}
.page-contact .parts_bc + .section::before {
	width:calc( 1191px - 721 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1191px;
	aspect-ratio:1191 / 794;
	background-image: url('./assets/img/bg_image_top_section_contact.png');
	top:calc( -60px + 3 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	left:calc( -211px + 116 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	opacity:0.4;
}
.page-privacy-policy .parts_bc + .section::before {
	width:calc( 1000px - 630 * ( 1400px - 100% ) / ( 1400 - 375 ) );
	max-width: 1000px;
	aspect-ratio:1 / 1;
	background-image: url('./assets/img/bg_image_top_section_pp.png');
	top:calc( -296px + 180 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	left:calc( -360px + 258 * ( 1400px - 100vw ) / ( 1400 - 375 ) );
	opacity:0.4;
}
@media screen and (min-width:1400px) {
	.page-top .section-keyvisual + .section::before {
		top:-40px;
		left:-161px;
	}
	.page-product .parts_bc + .section::before {
		top:-107px;
		left:-161px;
	}
	.page-about .parts_bc + .section::before {
		top:-235px;
		left:0;
	}
	.page-faq .parts_bc + .section::before {
		top:-345px;
		left:0;
	}
	.page-contact .parts_bc + .section::before {
		top:-60px;
		left:-211px;
	}
	.page-privacy-policy .parts_bc + .section::before {
		top:-296px;
		left:-360px;
	}
}
.page-top .section-title {
	font-size:32px;
}
.section-service .container {
	max-width:1320px;
}
.page-top .section-service .flex-container {
	margin-top:30px;
}
.section-service .flex-container .flex-item {
	padding:50px 30px 75px;
	position:relative;
}
.section-service .flex-container .flex-item::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(90deg, rgba(132, 49, 255, 0.3) 0%, rgba(1, 161, 255, 0.3) 100% );
	filter: blur(60px);
}
.section-service .flex-container .flex-item .image-area {
	width:100%;
	max-width:150px;
	aspect-ratio:150 / 180;
	margin:0 auto;
}
.section-service .flex-container .flex-item .image-area img {
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:bottom center;
}
.section-service .flex-container .flex-item .service-title {
	color:#64748B;
	font-size:22px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.4;
	text-align:center;
	margin-top:30px;
}
.section-service .flex-container .flex-item ul {
	width:fit-content;
	margin:10px auto 0;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.5;
}
.section-service .flex-container .flex-item ul li {
	font-size:16px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.5;
	width:fit-content;
	max-width:230px;
	padding-left:1em;
	position:relative;
}
.section-service .flex-container .flex-item ul li::before {
	content:"";
	display:block;
	width:3px;
	height:3px;
	border-radius:50%;
	background-color:#334155;
	position:absolute;
	top:0.75em;
	left:0.5em;
	transform:translate(-50%,-50%);
}
.section-service .flex-container .flex-item ul li + li {
	margin-top:5px;
}
.section-service .flex-container .flex-item p {
	color:#64748B;
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
	text-align:center;
	margin:10px auto 0;
}
.section-service .flex-container .flex-item .btn {
	margin:30px auto 0;
}
.parts_partner .container {
	padding-top:45px;
	padding-bottom:60px;
}
.page-top .parts_partner .container {
	margin-top:-60px;
}
.parts_partner .container .lead-text {
	font-size:24px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.6;
	text-align:center;
}
.parts_partner .container .flex-container {
	justify-content:space-between;
	margin-top:40px;
}
.parts_partner .container .flex-container .flex-item {
	width:calc( ( 100% - 135px ) / 5 );
	width:195px;
	height:75px;
	background-color:#D5D5D5;
	border-radius:10px;
	overflow:hidden;
}
.parts_partner .container .flex-container .flex-item a {
	width:100%;
	height:100%;
	padding:10px;
}
.parts_partner .container .flex-container .flex-item a img {
	width:100%;
	height:100%;
	object-fit:contain;
}
.parts_problems .container {
	max-width:1040px;
	padding-top:60px;
	padding-bottom:60px;
}
.section.parts_problems .container {
	padding-top:0;
}
.parts_problems .container .lead-text {
	font-size:32px;
	font-weight:700;
	letter-spacing:0.2em;
	line-height:1.6;
	text-align:center;
}
.parts_problems .container .flex-container {
	margin-top:30px;
	gap:25px;
}
.parts_problems .container .flex-container .flex-item {
	width:calc( ( 100% - 50px ) / 3 );
	/* padding:40px 30px; */
	padding:15px;
	position:relative;
}
.parts_problems .container .flex-container .flex-item::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:#CAD5FF;
	filter: blur(30px);
}
.parts_problems .container .flex-container .flex-item .image-area {
	width:100%;
	/* max-width:120px; */
	aspect-ratio:310 / 200;
	margin:0 auto;
	border-radius:10px 0 10px 0;
	overflow:hidden;
}
.page-top .parts_problems .container .flex-container .flex-item .image-area {
	max-width:120px;
	max-height:120px;
	aspect-ratio:unset;
}
.parts_problems .container .flex-container .flex-item .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.parts_problems .container .flex-container .flex-item .text-area {
	padding:24px 15px 15px;
}
.parts_problems .container .flex-container .flex-item .text-area p.problem-text {
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
	text-align:center;
	margin:0;
}
.parts_problems .container .flex-container .flex-item .text-area p {
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	text-align:center;
	margin-top:10px;
}
.section-case-study {
	overflow:hidden;
}
/* for-release */
/* .section.back-block {
	padding-bottom:0;
} */.page-top .section.back-block {
	padding-bottom:0;
}
.section.back-block .container {
	padding-top:75px;
	padding-bottom:75px;
	position:relative;
}
.section.back-block .container::before {
	content:"";
	display:block;
	width:calc( 50vw + 50% - 155px );
	height:100%;
	background-color:#E1E6F0;
	border-radius:0 50px 50px 0;
	position:absolute;
	top:0;
	left:calc( 50% - 50vw );
	z-index:-1;
}
.section-case-study.back-block .container::before {
	background-image:url('./assets/img/preimage-bg_image_case-study.jpg');
	background-image:url('./assets/img/pre.png');
	background-image:url('./assets/img/pre.jpg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.page-product .section-feature.back-block .container::after {
	content:"";
	display:block;
	width:calc( 50vw - 210px );
	width:490px;
	height:100%;
	background-image:url('./assets/img/bg_back-block.png');
	background-position:top center;
	background-repeat:no-repeat;
	background-size:cover;
	mix-blend-mode:multiply;
	opacity:0.5;
	position:absolute;
	top:0;
	left:calc( 50% - 50vw );
	left:-85px;
	z-index:-1;
}
@media screen and (max-width:1400px) {
	.page-product .section-feature.back-block .container::after {
		width:calc( 50vw - 210px );
		left:calc( 50% - 50vw );
	}
}
@media screen and (max-width:1230px) {
	.page-product .section-feature.back-block .container::after {
		width:calc( 100% - 825px );
		left:0;
	}
}
@media screen and (max-width:1120px) {
	.page-product .section-feature.back-block .container::after {
		width:295px;
	}
}
@media screen and (max-width:1000px) {
	.page-product .section-feature.back-block .container::after {
		width:280px;
	}
}
@media screen and (max-width:750px) {
	.page-product .section-feature.back-block .container::after {
		width:calc( 100% - 75px );
		background-image:url('./assets/img/bg_back-block_sp.png');
		border-radius:0 50px 50px 0;
		opacity:0.8;
	}
}
.section-case-study .flex-container {
	margin-top:50px;
	flex-wrap:nowrap;
	gap:45px;
}
.section-case-study .flex-container .flex-item {
	width:calc( ( 100% - 50px ) / 3 );
	position:relative;
}
.section-case-study .flex-container .flex-item::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:#CAD5FF;
	filter: blur(40px);
}
.section-case-study .flex-container .flex-item a {
	padding:15px;
}
.section-case-study .flex-container .flex-item a .image-area {
	width:100%;
	aspect-ratio:310 / 185;
	border-radius:10px 0 10px 0;
}
.section-case-study .flex-container .flex-item a .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.section-case-study .flex-container .flex-item a .logo-area {
	width:128px;
	height:50px;
	padding:5px;
	margin-top:-20px;
	background-color:#D5D5D5;
	position:relative;
}
.section-case-study .flex-container .flex-item a .logo-area img {
	width:100%;
	height:100%;
	object-fit:contain;
}
.section-case-study .flex-container .flex-item a .text-area {
	padding:15px 15px 30px;
}
.section-case-study .flex-container .flex-item a .text-area .cs-title {
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
}
.section-case-study .flex-container .flex-item a .text-area .cs-appeal {
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	margin-top:0.5em;
}
.section-case-study .flex-container .flex-item a .text-area .cs-company {
	color:#000;
	font-size:16px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.6;
	margin-top:10px;
}
.section-case-study .flex-container .flex-item a .text-area table {
	margin-top:14px;
}
.section-case-study .flex-container .flex-item a .text-area table tr + tr {
	margin-top:8px;
}
.section-case-study .flex-container .flex-item a .text-area table tr th {
	color:#000;
	font-size:12px;
	font-weight:300;
	letter-spacing:0;
	line-height:1;
	text-align:left;
	width:68px;
}
.section-case-study .flex-container .flex-item a .text-area table tr td {
	color:#000;
	font-size:12px;
	font-weight:700;
	letter-spacing:0;
	line-height:1;
	text-align:left;
	width:calc( 100% - 68px );
}
.section-case-study .annotation {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:center;
	margin-top:50px;
}
.section-case-study .end-text {
	font-size:14px;
	font-weight:400;
	letter-spacing:0.010em;
	line-height:1.6;
	text-align:center;
	margin-top:1.6em;
}
.page-top .section-about .flex-container {
	align-items:flex-start;
	gap:75px;
}
.page-top .section-about .flex-container .flex-item {
	width:calc( ( 100% - 75px ) / 2 );
	flex-grow:unset;
}
.page-top .section-about .flex-container .text-area {
	background-color:unset;
}
.page-top .section-about .flex-container .text-area .section-title {
	text-align:left;
}
.page-top .section-about .flex-container .text-area .section-title .title-en {
	margin-left:0;
}
.page-top .section-about .flex-container .text-area p {
	font-size:16px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
	margin-top:30px;
}
.page-top .section-about .flex-container .text-area .logo_ntt {
	width:160px;
	margin-top:30px;
}
.page-top .section-about .flex-container .image-area {
	padding:42px;
	padding:calc( ( 100% - 75px ) / 2 * 7.5 / 100 );
}
/* .page-top .section-about .flex-container .image-area img {
	width:100%;
	height:100%;
	object-fit:contain;
} */
.page-top .section-faq {
	background-color:#fff;
	background-image:url('./assets/img/bg_noise_w.jpg');
	background-position:top center;
	background-repeat:repeat;
	background-size:contain;
}
.section-faq .container {
	max-width:1040px;
}
.section-faq .container dl {
	border-bottom:1px solid #64748B;
}
.section-faq .container dl:first-of-type {
	border-top:1px solid #64748B;
	margin-top:30px;
}
.section-faq .container dl dt {
	color:#000;
	font-size:18px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
	padding:24px 85px;
	position:relative;
	cursor:pointer;
}
.section-faq .container dl dt::before {
	content:"Q.";
	display:block;
	position:absolute;
	top:calc( 0.8em + 24px );
	left:15px;
	transform:translateY(-50%);
	font-feature-settings: 'palt' on;
	background: linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
	background: -webkit-linear-gradient(0deg, #8431FF 0%, #01A1FF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.section-faq .container dl dt span {
	width:18px;
	height:18px;
	position:absolute;
	top:calc( 0.8em + 24px );
	right:18px;
	transform:translateY(-50%);
}
.section-faq .container dl dt span::before,
.section-faq .container dl dt span::after {
	content:"";
	display:block;
	width:100%;
	height:2px;
	background-color:#6987FF;
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
}
.section-faq .container dl dt span::before {
	transform:translateY(-50%);
}
.section-faq .container dl dt span::after {
	transform:translateY(-50%) rotate(90deg);
	display:block;
}
.section-faq .container dl dd {
	color:#000;
	font-size:16px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	padding:24px 85px;
	border-top:2px solid #6987FF;
	display:none;
}
.section-faq .container dl.opened dt span::after {
	display:none;
}
@media screen and (max-width:1215px) {
	.parts_partner .container .flex-container {
		width:100%;
		max-width:650px;
		margin:40px auto 0;
		justify-content:center;
		gap:30px;
	}
}
@media screen and (max-width:1000px) {
	.page-top .section-keyvisual {
		height:600px;
		/* padding:180px 0 110px; */
	}
	.page-top .section-keyvisual .container {
		gap:40px;
	}
	.page-top .section-keyvisual .container .logo-area {
		width:260px;
		height:260px;
	}
	.page-top .section-keyvisual .container .text-area {
		width:calc( 100% - 300px );
	}
	.page-top .section-keyvisual .page-title {
		font-size:35px;
	}
	/* .page-top .section-keyvisual .container .text-area p {
		font-size:19px;
	} */
	.page-top .section-keyvisual .container .text-area .btn {
		margin-top:32px;
	}
	.section-service .flex-container {
		gap:24px;
	}
	.section-service .flex-container .flex-item {
		width:calc( ( 100% - 48px ) / 3 );
		padding:35px 25px;
		position:relative;
	}
	.section-service .flex-container .flex-item::before {
		filter:blur(50px);
	}
	.section-service .flex-container .flex-item .image-area {
		max-width:120px;
	}
	.section-service .flex-container .flex-item .service-title {
		font-size:20px;
		line-height:1.3;
		margin-top:20px;
	}
	.section-service .flex-container .flex-item ul li + li {
		margin-top:0;
	}
	.section-service .flex-container .flex-item .btn {
		margin:20px auto 0;
	}
	.parts_problems .container {
		padding-top:45px;
		padding-bottom:45px;
	}
	.parts_problems .container .lead-text {
		font-size:24px;
	}
	.parts_problems .container .flex-container {
		margin:24px auto 0;
		gap:24px;
	}
	.parts_problems .container .flex-container .flex-item {
		width:calc( ( 100% - 48px ) / 3 );
		/* padding:30px; */
	}
	.parts_problems .container .flex-container .flex-item .image-area {
		/* max-width:100px; */
	}
	.parts_problems .container .flex-container .flex-item .text-area {
		padding:15px 0 7px;
	}
	.parts_problems .container .flex-container .flex-item .text-area p.problem-text {
		font-size:16px;
	}
	.parts_problems .container .flex-container .flex-item .text-area p {
		font-size:14px;
		margin-top: 5px;
	}
	.section.back-block .container {
		padding-top:60px;
		padding-bottom:60px;
	}
	.section.back-block .container::before {
		width:calc( 100% - 80px );
		left:0;
	}
	/* .section-case-study .flex-container {
		margin-top:40px;
		gap:25px;
	}
	.section-case-study .flex-container .flex-item a .image-area {
		aspect-ratio:310 / 185;
	}
	.section-case-study .flex-container .flex-item a .text-area {
		padding:15px 0 5px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-title {
		font-size:16px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-appeal {
		font-size:14px;
		margin-top:5px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-company {
		margin-top:8px;
	}
	.section-case-study .annotation {
		margin-top:40px;
	} */
	 .section-case-study .flex-container {
		display:block;
		padding-bottom:55px;
		margin-top:40px;
		margin-bottom:0;
	}
	.section-case-study .flex-container .slick-list {
		overflow:visible;
	}
	.section .sp-slider .slick-arrow {
		width:30px;
		height:30px;
		border-radius:50%;
		background-color:#6987FF;
		top:auto;
		bottom:0;
		transform:none;
		z-index:1;
	}
	.section .sp-slider .slick-prev {
		left: calc(50% - 80px);
		transform: translateX(-50%);
	}
	.section .sp-slider .slick-next {
		right:auto;
		left: calc(50% + 80px);
		transform: translateX(-50%);
	}
	.section .sp-slider .slick-arrow.slick-disabled {
		opacity:0.5;
	}
	.section .sp-slider .slick-arrow.slick-disabled::before {
		opacity:0.5;
	}
	.section .sp-slider .slick-arrow::before {
		content:"";
		display:block;
		width:7.5px;
		height:7.5px;
		border-bottom:2px solid #fff;
		border-right:2px solid #fff;
		position:absolute;
		top:50%;
		opacity:1;
	}
	.section .sp-slider .slick-prev::before {
		left:16px;
		transform:translate(-50%,-50%) rotate(135deg);
	}
	.section .sp-slider .slick-next::before {
		right:16px;
		transform:translate(50%,-50%) rotate(-45deg);
	}
	.section .sp-slider .slick-dots {
		font-size:0;
		bottom:15px;
		transform:translateY(50%);
	}
	.section .sp-slider .slick-dots li {
		width:9px;
		height:9px;
		margin:0 9px;
	}
	.section .sp-slider .slick-dots li button {
		width:100%;
		height:100%;
		padding: 0;
	}
	.section .sp-slider .slick-dots li button:before {
		content:"";
		width:100%;
		height:100%;
		border:1.5px solid #6987FF;
		border-radius:50%;
		opacity:1;
	}
	.section .sp-slider .slick-dots li.slick-active button:before {
		background-color:#6987FF;
	}
	.section-case-study .flex-container .flex-item {
		width:260px;
		margin:0 15px;
	}
	/* .section-case-study .flex-container .flex-item + .flex-item {
		margin-left:25px;
	} */
	.section-case-study .flex-container .flex-item a .image-area {
		aspect-ratio:310 / 185;
	}
	.section-case-study .flex-container .flex-item a .text-area {
		padding:15px 0 5px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-title {
		font-size:16px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-appeal {
		font-size:14px;
		margin-top:5px;
	}
	.section-case-study .flex-container .flex-item a .text-area .cs-company {
		margin-top:8px;
	}
	.section-case-study .annotation {
		margin-top:40px;
	}
	.page-top .section-about .flex-container {
		gap:45px;
	}
	.page-top .section-about .flex-container .flex-item {
		width:calc( ( 100% - 45px ) / 2 );
	}
	.page-top .section-about .flex-container .text-area .section-title {
		text-align:left;
	}
	.page-top .section-about .flex-container .text-area .section-title .title-en {
		margin-left:0;
	}
	.page-top .section-about .flex-container .text-area p {
		margin-top:15px;
	}
	.page-top .section-about .flex-container .text-area .logo_ntt {
		width:150px;
		margin-top:14px;
	}
	.section-faq .container dl:first-of-type {
		margin-top:24px;
	}
	.section-faq .container dl dt {
		font-size:16px;
		padding:24px 70px;
	}
	.section-faq .container dl dt span {
		width:15px;
		height:15px;
		right:15px;
	}
	.section-faq .container dl dd {
		padding:24px 70px;
	}
}
/* @media screen and (max-width:920px) {
	.section-case-study .flex-container {
		width:calc( 100% + 45px );
		padding-bottom:50px;
	}
	.section-case-study .flex-container .slick-list {
		overflow:visible;
	}
	.section-case-study .flex-container .flex-item {
		width:260px;
	}
	.section-case-study .flex-container .flex-item + .flex-item {
		margin-left:25px;
	}
	.section .sp-slider .slick-arrow {
		width:30px;
		height:30px;
		border-radius:50%;
		background-color:#6987FF;
		top:auto;
		bottom:0;
		transform:none;
	}
	.section .sp-slider .slick-prev {
		left:0;
	}
	.section .sp-slider .slick-next {
		right:auto;
		left:50px;
	}
	.section .sp-slider .slick-arrow.slick-disabled {
		opacity:0.5;
	}
	.section .sp-slider .slick-arrow.slick-disabled::before {
		opacity:0.5;
	}
	.section .sp-slider .slick-arrow::before {
		content:"";
		display:block;
		width:7.5px;
		height:7.5px;
		border-bottom:2px solid #fff;
		border-right:2px solid #fff;
		position:absolute;
		top:50%;
		opacity:1;
	}
	.section .sp-slider .slick-prev::before {
		left:16px;
		transform:translate(-50%,-50%) rotate(135deg);
	}
	.section .sp-slider .slick-next::before {
		right:16px;
		transform:translate(50%,-50%) rotate(-45deg);
	}
} */
@media screen and (max-width:900px) {
	.section-service .flex-container {
		flex-direction:column;
	}
	.section-service .flex-container .flex-item {
		width:100%;
	}
}
@media screen and (max-width:750px) {
	.page-top .section-keyvisual {
		height:auto;
		padding:127px 0 60px;
		background:url('./assets/img/kv_image_sp_top.png'), url('./assets/img/kv_gradient.png'), linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
		background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	}
	.page-top .section-keyvisual .container {
		flex-direction:column;
		align-items:center;
		gap:20px;
	}
	.page-top .section-keyvisual .container .logo-area {
		width:210px;
		height:210px;
	}
	.page-top .section-keyvisual .container .text-area {
		width:100%;
	}
	.page-top .section-keyvisual .page-title {
		font-size:28px;
		text-align:center;
	}
	.page-top .section-keyvisual .container .text-area p {
		/* font-size:17px; */
		text-align:center;
	}
	.page-top .section-keyvisual .container .text-area .btn {
		margin-top:25px;
	}
	.page-top .section-keyvisual .container .text-area .btn a {
		margin:0 auto;
	}
	.page-top .section-title {
		font-size:24px;
	}
	.section-service .flex-container .flex-item::before {
		filter:blur(40px);
	}
	.parts_partner .container {
		padding-top:30px;
		padding-bottom:30px;
	}
	.page-top .parts_partner .container {
		margin-top:-10px;
	}
	.parts_partner .container .lead-text {
		font-size:20px;
	}
	.parts_partner .container .flex-container {
		max-width:500px;
		margin-top:24px;
		gap:22px 15px;
	}
	.parts_partner .container .flex-container .flex-item {
		width:calc( ( 100% - 15px ) / 2 );
		max-width:150px;
		height:58px;
	}
	.parts_problems .container {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.parts_problems .container .flex-container {
		width:100%;
		max-width:450px;
		padding:0 22px;
		flex-direction:column;
	}
	.parts_problems .container .flex-container .flex-item {
		width:100%;
	}
	.section.back-block .container {
		padding-top:50px;
		padding-bottom:50px;
	}
	.section.back-block .container::before {
		width:calc( 100% - 75px );
	}
	.section-case-study .flex-container {
		/* width:calc( 100% + 30px ); */
		padding-bottom:50px;
		margin-top:30px;
	}
	/* .section-case-study .flex-container .flex-item {
		margin:20px;
	} */
	/* .section-case-study .flex-container .flex-item + .flex-item {
		margin-left:20px;
	} */
	.section-case-study .flex-container .flex-item a .image-area {
		aspect-ratio:310 / 185;
	}
	.section-case-study .annotation {
		margin-top:30px;
	}
	.page-top .section-about .flex-container {
		gap:24px;
	}
	.page-top .section-about .flex-container .flex-item {
		width:100%;
	}
	.page-top .section-about .flex-container .text-area .section-title,
	.page-top .section-about .flex-container .text-area p {
		text-align:center;
	}
	.page-top .section-about .flex-container .text-area .section-title .title-en {
		margin-left:auto;
	}
	.page-top .section-about .flex-container .text-area .logo_ntt {
		margin:30px auto 0;
	}
	.page-top .section-about .flex-container .image-area {
		padding:6.5%;
		/* aspect-ratio:315 / 190; */
	}
	.section-faq .container dl dt {
		padding:26px 45px 26px 52px;
	}
	.section-faq .container dl dd {
		padding:24px 30px 24px 52px;
	}
}

.page .section-keyvisual {
	height:410px;
	background-position:center top;
}
.page .section-title {
	margin-bottom:30px;
}
@media screen and (max-width:750px) {
	.page .section-keyvisual {
		height:400px;
		background:url('./assets/img/kv_image_sp.png'), url('./assets/img/kv_gradient_sp.png'), linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
		background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	}
	.page .parts_bc + .section {
		padding-top:75px;
	}
}

/* page-about */
.page-about .section-about .container {
	max-width:1040px;
}
.page-about .section-about .container table {
	width:fit-content;
	margin:0 auto;
}
.page-about .section-about .container table tr {
	display:flex;
	padding:37px 0;
	border-top:1px solid #E2E8F0;
}
.page-about .section-about .container table tr:last-of-type {
	border-bottom:1px solid #E2E8F0;
}
.page-about .section-about .container table tr th,
.page-about .section-about .container table tr td {
	font-size:16px;
	font-weight:500;
	letter-spacing:0;
	line-height:1.6;
	text-align:left;
	display:block;
	width:165px;
}
.page-about .section-about .container table tr td {
	font-weight:400;
	width:calc( 100% - 165px );
}
@media screen and (max-width:1000px) {
	.page-about .section-about .container table tr {
		padding:30px 0;
	}
	.page-about .section-about .container table tr th,
	.page-about .section-about .container table tr td {
		font-size:15px;
		width:120px;
	}
	.page-about .section-about .container table tr td {
		width:calc( 100% - 120px );
	}
}
@media screen and (max-width:750px) {
	.page-about .section-about .container table tr {
		flex-direction:column;
	}
	.page-about .section-about .container table tr th,
	.page-about .section-about .container table tr td {
		width:100%;
	}
	.page-about .section-about .container table tr td {
		margin-top:10px;
	}
}

/* page-faq */
.page-faq .section-faq .faq-block + .faq-block {
	padding-top:90px;
}
@media screen and (max-width:750px) {
	.page-faq .section-faq .faq-block + .faq-block {
		padding-top:75px;
	}
}

/* page-product */
.page-product .section-case-study {
	padding-bottom:40px;
}
.page-product .section-service {
	padding:60px 0;
	background-color:#E3E8F1;
}
.page-product .section-service .container {
	max-width:1230px;
}
.page-product .section-service .flex-container {
	gap:45px;
}
.page-product .section-service .flex-container .flex-item {
	width: calc((100% - 90px) / 3);
	/* padding:50px 30px 35px; */
	padding:15px;
}
.page-product .section-service .flex-container .flex-item .image-area {
	width:100%;
	max-width:none;
	aspect-ratio:310 / 200;
	border-radius:10px 0 10px 0;
	overflow:hidden;
}
.page-product .section-service .flex-container .flex-item .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.page-product .section-service .flex-container .flex-item p {
	padding:24px 15px 20px;
}
.page .section .container.flex-container {
	max-width:1230px;
	gap:0 45px;
}
.page .section .container.flex-container .section-title {
	text-align:left;
	width:calc( 100% - 810px );
}
.page .section .container.flex-container .section-title .title-en {
	margin-left:0;
}
.page .section .container.flex-container > div {
	width:765px;
}
.page-product .section-step .step-item {
	width:100%;
	height:104px;
	padding:0 45px;
	/* padding:40px 45px; */
	background-color:#fff;
	border-radius:52px;
	justify-content:space-between;
	align-items:center;
}
.page-product .section-step .step-item + .step-item {
	margin-top:30px;
	position:relative;
}
.page-product .section-step .step-item + .step-item::before {
	content:"";
	display:block;
	width:14px;
	height:14px;
	border-bottom:3px solid #64748B;
	border-right:3px solid #64748B;
	position:absolute;
	top:-18px;
	left:50%;
	transform:translate(-50%,-50%) rotate(45deg);
}
.page-product .section-step .step-item .step-no {
	color:#6987FF;
	font-size:18px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	width:60px;
}
.page-product .section-step .step-item .step-title {
	color:#6987FF;
	font-size:18px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.6;
	width:110px;
}
.page-product .section-step .step-item .step-text {
	font-size:14px;
	font-weight:400;
	letter-spacing:0;
	line-height:1;
	width:calc( 100% - 352px );
	width:calc( 100% - 352px );
}
.page-product .section-step .step-item.no-span .step-text {
	width:calc( 100% - 222px );
}
.page-product .section-step .step-item .step-span {
	color:#fff;
	font-size:16px;
	font-weight:700;
	letter-spacing:0;
	line-height:2;
	text-align:center;
	width:104px;
	background-color:#6987FF;
	border-radius:16px;
}
.page-product .section-step .step-item .step-span.no-span {
	background-color:transparent;
}
.page-product .section-feature {
	padding-top:0;
}
.page-product .section-feature .feature-item + .feature-item {
	margin-top:50px;
}
.page-product .section-feature .feature-item .image-area {
	width:100%;
	aspect-ratio:765 / 450;
	background-color:#fff;
	border-radius:20px 0 20px 0;
	overflow:visible;
	position:relative;
						display:flex;
						justify-content:center;
						align-items:center;
}
.page-product .section-feature .feature-item .image-area::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #C5CCE5;
	filter: blur(30px);
}
.page-product .section-feature .feature-item .image-area img {
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:20px 0 20px 0;
}
.page-product .section-feature .feature-item .feature-no {
	color:#64748B;
	font-size:19px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	margin-top:27px;
}
.page-product .section-feature .feature-item .feature-title {
	font-size:18px;
	font-weight:700;
	letter-spacing:0;
	line-height:1.6;
	margin-top:16px;
}
.page-product .section-feature .feature-item .feature-text {
	font-size:18px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
	margin-top:16px;
}
.page-product.page-hucast .banner-area {
	padding:100px 0 0;
}
.page-product.page-hucast .banner-area .container {
	max-width:1040px;
}
.page-product.page-hucast .banner-area .container a {
	position:relative;
}
.page-product.page-hucast .banner-area .container a::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(90deg, rgba(132, 49, 255, 0.3) 0%, rgba(1, 161, 255, 0.3) 100% );
	filter: blur(20px);
}
.page-product.page-hucast .banner-area .container a:hover {
	opacity:0.5;
}
.page-product.page-hucast .section-case-study {
	padding-top:40px;
}
@media screen and (max-width:1120px) {
	.page .section .container.flex-container .section-title {
		width:190px;
	}
	.page .section .container.flex-container > div {
		width:calc( 100% - 235px );
	}
}
@media screen and (max-width:1000px) {
	.page-product .section-case-study {
		padding-bottom:28px;
	}
	.page-product .section-service .flex-container {
		gap:24px;
	}
	.page-product .section-service .flex-container .flex-item {
		width: calc( (100% - 48px) / 3 );
		/* padding:35px 30px; */
	}
	.page-product .section-step .container.flex-container {
		flex-direction:column;
		align-items:center;
	}
	.page-product .section-step .container.flex-container .section-title {
		width:100%;
		text-align:center;
	}
	.page-product .section-step .container.flex-container .section-title .title-en {
		margin-left:auto;
	}
	.page-product .section-step .container.flex-container > div {
		width:100%;
	}
	.page-product .section-step .step-item {
		padding:0 30px;
	}
	.page-product .section-step .step-item .step-no {
		font-size:14px;
		width:46px;
	}
	.page-product .section-step .step-item .step-title {
		font-size:16px;
		width:96px;
	}
	.page-product .section-step .step-item .step-text {
		font-size:14px;
		line-height:1.6;
		width:calc( 100% - 306px );
		width:calc( 100% - 320px );
		width:calc( 100% - 324px );
	}
	.page-product .section-step .step-item.no-span .step-text {
		width:calc( 100% - 194px );
	}
	.page-product .section-feature .feature-item .feature-no {
		font-size:16px;
		margin-top:19px;
	}
	.page-product .section-feature .feature-item .feature-title {
		font-size:16px;
		margin-top:8.5px;
	}
	.page-product .section-feature .feature-item .feature-text {
		font-size:16px;
		margin-top:9px;
	}
	.page-product.page-hucast .banner-area {
		padding-top:80px;
	}
	.page-product.page-hucast .section-case-study {
		padding-top:35px;
	}
}
@media screen and (max-width:900px) {
	.page-product .section-service .flex-container {
		flex-direction:row;
	}
}
@media screen and (max-width:750px) {
	.page-product .section-case-study {
		padding-bottom:15px;
	}
	.page .section .container.flex-container {
		flex-direction:column;
		align-items:center;
	}
	.page .section .container.flex-container .section-title {
		width:100%;
		text-align:center;
	}
	.page .section .container.flex-container .section-title .title-en {
		margin-left:auto;
	}
	.page .section .container.flex-container > div {
		width:100%;
	}
	.page-product .section-service .flex-container {
		flex-direction:column;
		width:100%;
		max-width:450px;
		margin:0 auto;
	}
	.page-product .section-service .flex-container .flex-item {
		width: 100%;
	}
	.page-product .section-step .step-item {
		height:auto;
		padding:20px 23px 23px;
		border-radius:20px;
		flex-direction:column;
		gap:8px;
	}
	.page-product .section-step .step-item .step-no,
	.page-product .section-step .step-item .step-title,
	.page-product .section-step .step-item .step-text {
		text-align:center;
		width:100% !important;
	}
	.page-product .section-step .step-item .step-span {
		margin-top:5px;
	}
	.page-product .section-feature .feature-item .image-area {
		aspect-ratio:315 / 155;
	}
	.page-product.page-hucast .banner-area .container {
		max-width:460px;
	}
}

/* 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:#6987FF;
	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-top:10px; */
	margin:5.5px 0 -2.5px;
}
.form-area .policy-agreement {
	font-size:15px;
	font-weight:300;
	letter-spacing:0;
	line-height:1.6;
	text-align:center;
	margin-top:30px;
}
.form-area .policy-agreement a {
	color:#6987FF;
	font-size:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	line-height:inherit;
	display:inline;
}
.form-area .btn-area {
	margin:30px auto 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:30px;
}
.form-area .sendbutton {
	width:calc( ( 100% - 30px ) / 2 );
	max-width:260px;
	/* padding:14px 22px; */
	margin:0;
	border:2px solid #6987FF;
	background-color:#6987FF;
	border-radius:30px;
	position: relative;
	cursor:pointer;
	overflow:hidden;
}
.form-area .sendbutton::before {
	content:"";
	display:block;
	width:24px;
	height:24px;
	background-color:#fff;
	border-radius:50%;
	position:absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	z-index:0;
	transition:0.5s;
	cursor:pointer;
}
.form-area .sendbutton::after {
	content:"";
	display:block;
	width:7.8px;
	height:7.8px;
	border-bottom:2px solid #6987FF;
	border-right:2px solid #6987FF;
	position:absolute;
	top:50%;
	right:28.5px;
	transform:translate(50%,-50%) rotate(-45deg);
	z-index:0;
	transition:0.5s;
	cursor:pointer;
}
.form-area .sendbutton input {
	color:#fff;
	font-size:14px;
	font-weight:700;
	letter-spacing:0;
	line-height:21px;
	text-align:left;
	text-decoration: none;
	outline: none;
	display: inline-block;
	width:100%;
	padding:14px 22px;
	border:none;
	background-color:transparent;
	position: relative;
	z-index:1;
	cursor:pointer;
}
.form-area .sendbutton:hover {
	background-color:#fff;
}
.form-area .sendbutton:hover::before {
	background-color:#6987FF;
	transition:0.5s;
}
.form-area .sendbutton:hover::after {
	border-color:#fff;
	transition:0.5s;
}
.form-area .sendbutton:hover input {
	color:#6987FF;
}
.form-area .sendbutton input:disabled {
	opacity: 0.4;
}
.form-area .sendbutton .wpcf7-spinner {
	display:none;
}
.form-area .sendbutton input::before,
.form-area .sendbutton input::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.form-area .sendbutton input,
.form-area .sendbutton input::before,
.form-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 .sendbutton input:hover {
	background-color: #121212;
	border-color: #121212;
	color: #fff;
} */
.form-area .wpcf7-not-valid-tip {
	color: #6987FF;
	font-size:14px;
	margin-top: 8px;
}
.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:#6987FF;
	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) {
	.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 .sendbutton {
		width:260px;
	}
	.page-contact_submit .section-form p {
		font-size:20px;
	}
}

/* page-privacy-policy */
.page-privacy-policy .section-pp .container {
	max-width:1040px;
}
.page-privacy-policy .section-pp .container > ul > li + li {
	margin-top:37px;
}
.page-privacy-policy .section-pp .container > ul > li h2 {
	font-size:32px;
	font-weight:700;
	letter-spacing:0.2em;
	line-height:1.6;
	padding-left:40px;
	position:relative;
}
.page-privacy-policy .section-pp .container > ul > li:first-of-type h2 {
	padding-left:0;
}
.page-privacy-policy .section-pp .container > ul > li h2 .pp-no {
	font-size:28px;
	font-weight:700;
	font-family: "Montserrat", sans-serif;
	letter-spacing:0.1em;
	line-height:1.6;
	font-feature-settings: 'palt' on;
	background: linear-gradient(90deg, #8431FF 0%, #01A1FF 100%);
	background: -webkit-linear-gradient(0deg, #8431FF 0%, #01A1FF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: block;
	width: 40px;
	padding-top:6.4px;
	position:absolute;
	top:0;
	left:0;
}
.page-privacy-policy .section-pp .container > ul > li p,
.page-privacy-policy .section-pp .container > ul > li li {
	font-size:18px;
	font-weight:400;
	letter-spacing:0;
	line-height:1.6;
}
.page-privacy-policy .section-pp .container > ul > li h2 + p {
	margin-top:14px;
}
.page-privacy-policy .section-pp .container > ul > li a {
	text-decoration:underline;
	display:inline;
}
.page-privacy-policy .section-pp .container > ul > li ul li {
	padding-left:1em;
	position:relative;
}
.page-privacy-policy .section-pp .container > ul > li ul li::before {
	content:"";
	display:block;
	width:3px;
	height:3px;
	background-color:#334155;
	border-radius:50%;
	position:absolute;
	top:0.8em;
	left:0.5em;
	transform:translate(-50%,-50%);
}
.page-privacy-policy .section-pp .container > ul > li ol {
	padding-left:1em;
}
.page-privacy-policy .section-pp .container ul li p .annotation {
	font-size:calc( 2em / 3 );
	display:inline-block;
}

@media screen and (max-width:750px) {
	.page-privacy-policy .section-pp .container {
		padding:0 35px;
	}
	.page-privacy-policy .section-pp .container > ul > li + li {
		margin-top:45px;
	}
	.page-privacy-policy .section-pp .container > ul > li h2 {
		font-size:22px;
		padding-left:30px;
	}
	.page-privacy-policy .section-pp .container > ul > li h2 .pp-no {
		font-size:22px;
		width: 30px;
		padding-top:2px;
	}
	.page-privacy-policy .section-pp .container > ul > li p,
	.page-privacy-policy .section-pp .container > ul > li li {
		font-size:16px;
	}
	.page-privacy-policy .section-pp .container > ul > li h2 + p {
		margin-top:15px;
	}
}

/* 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;
}