@charset "UTF-8";
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none;}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

:root {
  --cta-color: #38c3ca;
	--bg-color: #eef9fb;
}

/*=======================================================================================================================

デバイス共通

======================================================================================================================= */
body {
	background-color: #f0f0f0;
	font-family: 'Noto Sans JP', sans-serif,"Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.03em;
	font-size: 15px;
	overflow-x: hidden;
	}
/*body {
	background: url("../img/bg_sand.jpg") repeat left center;
	background-size: 500px 500px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}*/
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	}
ul {margin-block-start: 0;margin-block-end: 0;padding-inline-start: 0px;}
ul li {list-style: none;}
section {display: block;}
footer {
	position: relative;
	text-align: center;
	background-color: #000;
	color: #CCC;
	font-size: 11px;
	letter-spacing: 1px;
	padding: 0.5rem 0;
	}

.footer__nav {
	display: flex;
	align-items: center;
	justify-content: right;
	margin-right: 8px;
	margin-bottom: 8px;
	margin-left: 8px;
	padding-top: 4px;
}

.footer__nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.footer__nav__list__item > a {
	color: #999;
	font-size: 12px;
}

.footer__nav__list__item > a:hover {
	text-decoration: underline;
}

footer > p {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

a {
	text-decoration: none;
}

.container {
	position: relative;
	width: 100%;
	max-width: 1536px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}


/*=======================================================================================================================

PC用

======================================================================================================================= */

#wrap {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
}

#main_column {
	width: 83.3333%;
}

#side_column {
	width: 16.6667%;
	height: 100vh;
	position: fixed;
	right: 0;
	overflow-y: auto;
	background-color: #e8e8e8;
	color: #000;
}

.ctaButton {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border: 2px solid var(--cta-color);
	border-radius: 2rem;
	background-color: #fff;
	color: var(--cta-color);
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

.ctaButton span {
	flex: 1 1 0%;
	text-align: center;
}

.ctaButton--request {
	background-color: var(--cta-color);
	color: #fff;
}

/* -------- */
#g_nav {
	transition: all 0.15s;
}

#g_nav.is-transparent {
	background-color: transparent;
	box-shadow: none;
}

.mainNavigation {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 2rem;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

.g_jpx {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.g_jpx_logo {
	width: 40px;
	height: auto;
}

.g_jpx_description {
	color: #e5e5e5;
	font-size: 11px;
	line-height: 1.5;
}

.btn_hamburger {
	display: none;
	width: 30px;
}

.btn_hamburger a {
	position: relative;
	display: block;
	height: 12px;
	transition: all .4s;
	box-sizing: border-box;
}

.btn_hamburger span {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 2px;
	background-color: #161b1d;
	border-radius: 2px;
	transition: all .4s;
	box-sizing: border-box;
}

.btn_hamburger span:nth-of-type(1) {
	top: 0;
}

.btn_hamburger span:nth-of-type(2) {
	bottom: 0;
}

.btn_hamburger .active span:nth-of-type(1) {
	transform: translateY(5px) rotate(-45deg);
}

.btn_hamburger .active span:nth-of-type(2) {
	transform: translateY(-5px) rotate(45deg);
}

.section_demo {
	flex: 1 1 0%;
}

.section_demo_list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

.section_demo_list__item--nta > a {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	color: #000;
	font-weight: 600;
	font-size: 13px;
}

.section_demo_list__item--nta > a > i {
	position: relative;
	top: 2px;
	color: var(--cta-color);
}

.section_demo_list .ctaButton {
	font-size: 13px;
}

@media screen and (max-width: 1280px) {
	.g_jpx {
		gap: 0.25rem;
	}

	.g_jpx_logo {
		width: 36px;
	}
	
	.g_jpx_description {
		font-size: 10px;
	}

	.section_demo_list {
		gap: 0.667rem;
		font-size: 11px;
	}
}

@media screen and (max-width: 1024px) {
  .mainNavigation {
		position: relative;
	}

	.section_demo {
		position: absolute;
		top: 60px;
		width: 100%;
		padding: 1.25rem;
		border-radius: 0.5rem;
		background-color: #fff;
		visibility: hidden;
		opacity: 0;
		transition: all 0.15s;
	}

	.section_demo.is-show {
		visibility: visible;
		opacity: 1;
	}

	.section_demo_list {
		display: block;
	}

	.section_demo_list > * + * {
		margin-top: 0.75rem;
	}

	.section_demo_list__item--nta {
		margin-top: 0;
		padding: 0.5rem;
		border-bottom: 1px solid #c1d7db;
	}

	.section_demo_list__item--nta > a {
		gap: 1rem;
	}
		
	.btn_hamburger {
		display: block;
	}
}

/* -------- */

header {
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: 80dvh;
	background: url("../img/bg_fv.jpg") no-repeat center bottom;
	background-size: cover;
}

header > .container {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	position: relative;
	min-height: 0;
}

.FV_area_wrapper {
	flex: 1;
	display: flex;
	align-items: center;
}

#FV_area {
	flex: 1;
	display: flex;
	overflow: auto;
	justify-content: space-around;
	align-items: center;
	height: 100%;
	gap: 2rem;
	margin: 0 auto;
	padding-bottom: 2rem;
}

header #catch {
	flex: 1 1 0%;
	color: #e5e5e5;
	font-family: YuGothic, "Yu Gothic","Hiragino Kaku Gothic ProN", "Hiragino Sans";
}

header .copy_f01 {
	margin-bottom: 1rem;
	color: #FFF;
	font-weight: bold;
	font-size: 2.75rem;
	line-height: 1.375;
	letter-spacing: 0.075em;
}

header .copy_f01-01 {
	font-size: 2rem;
}

header .copy_f02 {
	padding-top: 1rem;
	color: #dfdfdf;
	font-size: 1.1rem;
	line-height: 1.625;
	letter-spacing: .01rem;
}

header .copy_f03 {
	max-width: 640px;
	margin-top: 2em;
	color: #dfdfdf;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.625;
}

.fv_visual__title {
	display: flex;
	align-items: end;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.fv_visual__title > img {
	width: 32px;
	height: 32px;
	max-width: none;
}

.fv_visual__title > p {
	color: #fff;
	text-align: center;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.375;
	vertical-align : bottom;
}

.fv_visual__title > p span {
	background: linear-gradient(
		110deg,
		#ed66ad 0%,
		#bc76c7 35%,
		#aa8fce 65%,
		#7ec8fa 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-size: 1.75rem;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
	text-shadow: none;
}

#video_box {
	position: relative;
	width: 100%;
	aspect-ratio: 1665/952;
	background: url("../img/notepc_0313.png") no-repeat center center;
	background-size: contain;
}

#video_box video {
	position: absolute;
	top: 1.2vw;
	left: 49.7%;
	width: 83%;
	margin: 0;
	transform: translateX(-50%);
}

.honor_box {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	max-width: 560px;
	margin: 1rem auto 0;
}

.honor_box__item {
	max-width: 176px;
	width: 100%;
	margin-inline: auto;
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10% 8% 12%;
	color: #fff;
	background: url("../img/honor-bg.png") center / contain no-repeat;
}

.honor_box__heading {
	font-size: clamp(0.5rem, 1.375vw, 0.667rem);
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 0.35em;
	letter-spacing: 0.02em;
}

.honor_box__value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 0.08em;
	margin: 0;
	line-height: 1;
}

.honor_box__num {
	font-family: Oswald, "Noto Sans JP", sans-serif;
	font-size: clamp(1.25rem, 3.5vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.05em;
}

.honor_box__aux {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(0.9rem, 2.25vw, 1rem);
	font-weight: 700;
}

.honor_box__unit {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(0.62rem, 1.55vw, 0.72rem);
	font-weight: 400;
}

#c00 {background-color: #FFF;text-align: center;}

#c00 h2.c00ttl {
	margin: 0 .2rem;
	padding: 3rem 0 1rem;
	font-weight: normal;
	font-size: 18px;
	letter-spacing: 2px;
}

#c00 h2.c00ttl::before {display: inline-block;content: "−　";}
#c00 h2.c00ttl::after {display: inline-block;content: "　−";}

.logoCarousel {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	opacity: 1;
	transition: all 0.15s;
}

.logoCarousel.is-loading {
	opacity: 0;
}

.logoCarousel .slick-track {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.logoCarousel li {
	max-width: 180px;
}

#c01 {
	padding-top: 6rem;
	padding-bottom: 3rem;
	background-color: var(--bg-color);
}

#c01 h2 {width: 720px;margin: 0 auto;font-weight: normal;text-align: center;}
#c01 h2::after,#c02 h2::after,#c03 h2::after {content: "";display: block;width: 40px;height: 1px;background-color: #333;margin: 2rem auto 2.4rem auto;}
#img_left {float: left;width: 300px;}

#c01 h2 .c01__subHeading {
	display: block;
	font-size: 18px;
  margin-bottom: 20px;
}

#c01 h2 .c01__heading {
	display: block;
	font-weight: bold;
	font-size: 30px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";
}

#c01 ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	max-width: 1080px;
	margin-right: auto;
	margin-left: auto;
}

#c01 ul li {
	display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
	position: relative;
	padding: 1.5rem 1.3rem 1.5rem 1.3rem;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background-color: #f9f9f9;
	text-align: center;
}

#c01 ul li img {
	margin-bottom: 1rem;
}

#c01 ul li h3.work {
	display: flex;
	align-items: center;
	justify-content: center;
}

#c01 ul li p.practical {
	margin-top: 1rem;
	padding: 0.5rem;
	background-color: #e7f2f3;
	font-size: 13px;
}

#c01 ul li p.practical strong {
	display: block;
}

.c01__ctaContainer {
	max-width: 400px;
	margin: 2.5rem auto 0;
	text-align: center;
}

.c01__ctaContainer .ctaButton {
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-size: 1.125rem;
}

#c02 {
	padding-top: 6rem;
	padding-bottom: 3rem;
	background-color: var(--bg-color);
}

#c02 h2,#c03 h2 {width: 500px;margin: 0 auto;text-align: center;font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";}

#c02 h2 span, #c03 h2 span {
	display: block;
	font-size: 36px;
}

#c02 h2 #img_left {padding-top: 5px;}
#c02 ul.anc {display: flex;justify-content: space-around;flex-wrap: wrap;font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";}
#c02 ul li.feature_anc {display: inline-block; width: 50%;}
#c02 ul li.feature_anc:first-child {background: url(../img/nav_arrow_02.png)no-repeat 97% center,url(../img/bg_feature01.jpg)no-repeat center top;background-size: 3%,cover;}
#c02 ul li.feature_anc:nth-child(2) {background: url(../img/nav_arrow_02.png)no-repeat 97% center,url(../img/bg_feature02.jpg)no-repeat center top;background-size: 3%, cover;}
#c02 ul li.feature_anc:nth-child(3) {background: url(../img/nav_arrow_02.png)no-repeat 97% center,url(../img/bg_feature03.jpg)no-repeat center top;background-size: 3%, cover;}
#c02 ul li.feature_anc:last-child {background: url(../img/nav_arrow_02.png)no-repeat 97% center,url(../img/bg_feature04.jpg)no-repeat center top;background-size: 3%, cover;}
#c02 ul li.feature_anc a {display: block; color: #CCC;padding: 1rem;}
#c02 ul li.feature_anc a div {display: flex;justify-content: flex-start;align-items: center;}
#c02 ul li.feature_anc a div p:first-child {opacity: .5;font-size: 7vw;line-height: 1em;margin-right: 1.2rem;padding: 0 0 0.7rem 0.7rem;font-family: 'Oswald', sans-serif;}
#c02 ul li.feature_anc a div p:last-child {font-size: 1.1vw;width: auto;} 
#c02 ul li.feature_anc a div p .feature_servise {font-size: 1.75vw; color: #F88E34;font-feature-settings: "palt";line-height: 1.2em;padding: 0.5rem 0 0 0;display: block;}
#c02 ul li.feature_anc:hover {opacity: .85;}

#c02 .feature {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.detail_txt {width: 45%;}
.detail_txt p {margin: 2rem 0 1rem 0;}
.detail_txt:nth-child(odd) {padding-right: 3rem;}
.detail_txt:nth-child(even) {margin-left: auto;}
.detail_img {width: 50%;position: relative;}
.detail_txt h3 {display: flex;justify-content: flex-start;align-items: center;}
.detail_txt h3 .number {display: inline-block; font-size: 6vw;font-weight: normal;font-family: 'Oswald', sans-serif;}
.detail_txt h3 .ttl {display: inline-block;font-size: 2.25vw;text-indent: -0.2rem;padding-left: 0.7em;font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";line-height: 1.2em;}
.feature_list {padding: 1rem 2rem 1rem 1rem;font-family: YuGothic, "Yu Gothic","Hiragino Kaku Gothic ProN", "Hiragino Sans";}
.feature_list li {margin-bottom: 1rem;list-style-type: disc;font-size: 16px;color: #333;}
#feature_04 .feature_list li {margin-bottom: 0;}
.feature_list li .mint_1 {padding: 0 5px;color: #41d1d7;font-size: 22px;letter-spacing: -1px;font-weight: bold;}
.feature_list li .small_kome {color: #888;vertical-align: text-top;}
.feature_list li .small {display:inline-block;font-size: 11px;color: #888;}
.feature_list li .ico_new {color: #FFF;font-size: 11px;font-weight: bold;background-color: #ff7d10;border-radius: 3px;padding: 3px 3px 2px 4px;vertical-align: text-bottom;}

#c03 {
	padding-top: 6rem;
	padding-bottom: 6rem;
	background-color: var(--bg-color);
}

#c03 .case_box {position: relative;display: flex;justify-content: space-between;flex-wrap: wrap;background-color: #FFF;padding: 2rem;margin: 0 3rem;}
#c03 .case_box .case_logo {position: absolute;display: block;top: 25px;right: 2rem;height: 30px;}
#c03 .case_box .case_logo img {height: 100%;}
#c03 .case_box .case_img {position: relative;width: 30%;}
#c03 .case_box .case_img img {position: absolute;top: 0;left: 0;}

#c03 .case_box .case_img h3 {
	margin-top: 114%;
	color: #333;
	font-weight: normal;
	font-size: 13px;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	font-style: italic;
	line-height: 1.5em;
}

#c03 .case_box .case_img .case_img_s {font-size: 21px;margin-top: 1rem;margin-right: .35rem; display: inline-block;}
#c03 .case_box .case_img .case_img_ss {font-size: 14px;margin-top: 1rem;display: inline-block;}
#c03 .case_box .case_contents {position: relative;width: 64%;text-align: left;margin-top: 10px;padding-left: 10px;}
#c03 .case_box .case_contents h3 {font-family: YuGothic, "Yu Gothic","Hiragino Kaku Gothic ProN", "Hiragino Sans";font-size: 1.8vw;font-weight: bold;padding: 50px 0;}
#c03 .case_box .case_contents h3::before {content: "";background: url("../img/quotation01.png")no-repeat center top;background-size: 100%;position: absolute;width: 55px;height: 39px;left: 0;top: 0;}
#c03 .case_box .case_contents h3::after {content: "";background: url("../img/quotation02.png")no-repeat center top;background-size: 100%;position: absolute;width: 55px;height: 39px;right: 0;top: 140px;}
#c03 .case_box .case_contents ul {margin: 10px 0 0 0;color: #444;}
#c03 .case_box .case_contents ul li {list-style-type: disc;list-style-position: inside;text-indent: -1.4em;padding-left: 1.4em;margin-bottom: 20px;}
#c03 .case_box .case_contents .case_link a {display: block;position: relative; color: #000;text-align: center;border: solid 1px #ddd;border-radius: 5px;font-weight: bold;padding: .8rem .8rem .9rem .8rem;margin-top: 3rem;font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";}
#c03 .case_box .case_contents .case_link a::before {position: absolute;top: 48%;right: 1.3rem;content: "";display: block;width: 10px;height: 10px;border-top: solid 3px #666;border-right: solid 3px #666;-webkit-transform: rotate(45deg) translateY(-50%);transform: rotate(45deg) translateY(-50%);}
#c03 .case_box .case_contents .case_link a:hover {color: #FFF;background-color: #333; border: solid 1px #333;}
#c03 .case_box .case_contents .case_link a:hover::before {content: "";border-top: solid 3px #EEE;border-right: solid 3px #EEE;}

#c04 {padding: 60px 0 25px 0;text-align: center;color: #FFF;}
#c04 h2 {font-family: YuGothic, "Yu Gothic","Hiragino Kaku Gothic ProN", "Hiragino Sans";font-size: 40px;font-weight: bold;letter-spacing: 2px;margin-bottom: 2rem;}
#c04 h3::after {content: "";display: block;width: 40px;height: 1px;background-color: #CCC;margin: 1.5rem auto 1.4rem auto;}
#c04 h2 .tb_h2_m {font-size:30px;}
#c04 h3 {margin: 10px 0 30px 0;font-size: 22px;font-weight: normal;}
#c04 h3 a {color: #41D1D1;}
#c04 h3 a:hover {text-decoration: underline;}
#c04 h3 p {font-size: 15px;margin-top: 1rem;line-height: 2em;}
#c04 #techblitz {display: flex;justify-content: center;align-items: center;max-width: 1300px;margin: 0 auto;}
#c04 #techblitz #techblitz_pc {width: 25%;}
#c04 #techblitz #techblitz_pc a {display: block;margin: -40px auto 0 auto;}
#c04 #techblitz #techblitz_pc a:hover {opacity: .7;}
#c04 #techblitz #techblitz_txt {width: 65%;padding: 0 20px 30px 3rem;text-align: left;line-height: 2em;font-size: 14px;color:rgba(255,255,255,.8);}
#c04 #techblitz #techblitz_txt a {color:rgba(255,255,255,.8);text-decoration: underline;}
#c04 #techblitz #techblitz_txt a:hover {color:rgba(255,255,255,.8);text-decoration: none;}
#c04 #techblitz #techblitz_txt p {margin-bottom: 1.5rem;}

#side_column form {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

#side_column form h2 {font-weight: normal;font-size: 1.6rem;text-align: center;}
#side_column .must {color: #f09e6a;}
#side_column form p.must_p {text-align: right;font-size: 11px;padding-top: 1rem;}

.field-label {
	display: block;
	margin-bottom: 2px;
	font-size: 13px;
}

.form-field {margin-bottom: 12px;}

.form-text {
	display: block;
	margin-top: 2px;
	color: #666;
	font-size: 0.675rem;
	line-height: 1.25;
}

.formFieldContainer {
	display: flex;
	gap: 1rem;
}

.formFieldContainer .form-field {
	flex: 1 1 0%;
}

.yourname-inner {margin-bottom: 7px;}

#side_column .yourname-inner span.error {
	margin-top: 0;
}

#side_column input, #side_column select, #side_column textarea {
	width: 100%;
	padding: 4px 6px;
	border: 1px solid #f8fbff;
	background-color: #f8fbff;
	border-radius: 0.25rem;
	font-size: 0.875rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#side_column input.error,
#side_column select.error,
#side_column textarea.error {
	border: 1px solid #e50000;
}

#side_column span.error {
	display: block;
	margin-top: 0.25rem;
	color: #e50000;
	font-size: 0.675rem;
}

#side_column #agree {
	margin-top: 1.25rem;;
	margin-bottom: 1rem;
	font-size: 13px;
	background-color: #ddd;
	color: #000;
}

#side_column #agree label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	padding: 0.5rem;
}

#side_column #agree label input {
	width: auto;
}

#side_column #agree label:hover {
	cursor: pointer;
	background-color: #e1e1e1;
}

#side_column a {color: #386699;font-weight: bold;text-decoration: underline;}
#side_column a:hover {text-decoration: none;}
#btn_entry button {display: block;width: 100%;color: #FFF;margin: 0 auto;padding: 10px 0 13px 0;text-align: center;background-color: #ed6c00;font-size: 16px;letter-spacing: 1px;border: none;border-radius: 6px;transition: all 0.2s ease 0s;cursor: pointer;}
#btn_entry button:hover {background-color: #fb7708;}
.recaptcha-policy {padding-top: 1rem;color: #999;font-size: 0.75em;text-align: center;}
#side_column .recaptcha-policy a {color: #7e98af!important;text-decoration: underline;font-weight: normal;}

/*---------------- ▼ modal（PC） ▼ ----------------*/
.modal{display: none;height: 100vh;position: fixed;top: 0;left: 0;width: 100%;z-index: 20;}
.modal_bg{background: rgba(0,0,0,0.7);height: 100vh;position: absolute;width: 100%;cursor: pointer;}
.modal_content{background: #fff;left: 50%;padding: 70px;position: absolute;top: 50%;transform: translate(-50%,-50%);width: 85%;height: 80vh;max-width: 1000px;overflow: scroll;}
.modal_bg::before {position: absolute;display: block;content: '';width: 1px;top: 2vh;right: 5vw;height: 50px;background-color: #FFF;-ms-transform: rotate(-45deg);-webkit-transform: rotate(-45deg);transform: rotate(-45deg);}
.modal_bg::after {position: absolute;display: block;content: '';width: 1px;top: 2vh;right: 5vw;height: 50px;background-color: #FFF;-ms-transform: rotate(45deg);-webkit-transform: rotate(45deg);transform: rotate(45deg);}
#privacy_inner {color: #444;}
#privacy_inner h3{text-align: center;font-size: 40px;margin-bottom: 20px;font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";}
#privacy_inner dl {display: block;overflow: hidden;}
#privacy_inner dl dt {float: left;width: 4%;text-align: right;margin-right: 0;font-weight: bold;}
#privacy_inner dl dd {float: left;width: 96%;margin-bottom: 25px;padding-left: 10px;}
#privacy_inner .privacy_write {text-align: right;margin: 20px 0 40px 0;}
#privacy_inner .privacy_company {margin-top: 45px;}

@media screen and (min-width: 1400px) {
	#side_column form h2 {font-size: 1.6rem;}
}
@media screen and (min-width: 992px) {
	#popup_dl {display: none;}
}
@media screen and (max-width: 1200px) {
	header nav li a {margin: 0 20px;}
}


/*---------------- ▼ thankyouページ（PC） ▼ ----------------*/
#contact_header {text-align: center;padding: 90px 0 50px 0;}
#contact_header a {display: inline-block;transition: all 0.2s ease 0s;}
#contact_header a:hover {opacity: .7;}
#contact_header a img {width: 350px;}
#contact {
	width: 900px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 100px 0;
	letter-spacing: 1px;
	}
#contact h2 {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";
    font-size: 39px;
    font-weight: normal;
	}
#contact h3 {
	font-size: 20px;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	padding: 50px 0 30px 0;
	}
#contact p {line-height: 1.9em;}


/*=======================================================================================================================

タブレット用　（991px以下）

======================================================================================================================= */
@media screen and (max-width: 1536px) {
	#main_column {
		width: 80%;
	}

	#side_column {
		width: 20%;
	}
}

@media screen and (max-width: 1280px) {
	#wrap {
		display: block;
	}

	#main_column {
		width: 100%;
	}

	#side_column {
		position: relative;
		width: 100%;
		max-width: none;
		height: auto;
		right: auto;
		background-color: #e8e8e8;
		color: #000;
	}

	header {
		min-height: 66dvh;
		height: auto;
	}
}

@media screen and (max-width: 991px) {
	header nav li a {margin: 0 15px;font-size: 1.7vw;}
	
	#FV_area {
		display: block;
		height: auto;
	}

	header #catch {
		width: 100%;
		padding: 0;
	}

	header .copy_f01 {
		margin-bottom: 0.5rem;
		font-size: 3rem;
	}

	header .copy_f01-01 {
		font-size: 1.8rem;
	}

	header .copy_f01-br {
		display: none;
	}

	header .copy_f02 {
		margin-bottom: 0.5rem;
		padding-left: 0;
		font-size: 1.1rem;
		text-indent: 0;
	}
	header .copy_f03 {
		margin-top: 1rem;
		margin-bottom: 2rem;
		color: #dfdfdf;
		font-size: 1.1rem;
	}

	header .copy_f04 {
		color: #ed6c00;
		font-size: 1rem;
	}

	#video_box {
		max-width: 480px;
		margin: 0 auto;
	}

	/* popup */
	#popup_dl,
	#popup_dl.is-show.is-hide {width: 100%;background-color: rgba(40, 40, 40, .9);padding: .8rem 1rem 1.1rem 1.3rem;position: fixed;bottom: -250px;z-index: 2;transition: all .5s ease;}
	#popup_dl.is-show {bottom: 0;right: 0;}	
	#popup_dl h4 {color: #eee;font-weight: bold;}
	#popup_dl p {color: #cfcfcf;font-size: 1rem;font-size: 12px;margin: .5rem 0 .6rem 0;}
	#popup_dl a {background: #ed6c00;color: #FFF;font-weight: bold;width: 100%;display: block;text-align: center;text-indent: 1em;padding: .4rem 0 .5rem 0;border-radius: 4px;}
	#popup_dl a:hover {background: #f37d2f;}
	.one_minute {font-size: 12px;}
	.popup_dl_close {width: 20px;height: 20px;position: absolute;top: .6rem;right: .6rem;}
	.popup_dl_close:hover {opacity: .7;cursor: pointer;}
	.popup_dl_close span {display: inline-block;width: 100%;height: 2px;background-color: #eee;border-radius: 2px;position: absolute;top: .7rem;right: 0;}
	.popup_dl_close span:first-child {transform: rotate(45deg);}
	.popup_dl_close span:last-child {transform: rotate(-45deg);}

	#c01 {
		padding-top: 4rem;
		padding-bottom: 2rem;
	}
	
	#c01 ul {
		max-width: 640px;
		grid-template-columns: repeat(2, 1fr);
	}

	#c02 .feature {
		justify-content:space-between;
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	#c02 ul.anc {
		margin-right: -1.5rem;
		margin-left: -1.5rem;
	}

	#c02 ul li.feature_anc a div p:first-child {opacity: .5;font-size: 80px;line-height: 1em;margin-right: 0.8rem;padding: 0 0 0.7rem 0.4rem;}
	#c02 ul li.feature_anc a div p:nth-child(2) {font-size: 2.2vw;}
	#c02 ul li.feature_anc a div p:last-child {font-size: 1.5vw;}
	#c02 ul li.feature_anc a div p .feature_servise {font-size: 2.3vw;}
	.feature_list {padding: 1rem;}
	.feature_list li {font-size: 1.55vw;}
	.feature_list li .mint_1 {font-size: 2vw;}
	.detail_txt h3 .number {font-size: 9vw;}
	.detail_txt h3 .ttl {font-size: 3vw;}
	.detail_img {height: calc(100vw / 2.87);}

	#c03 .case_box .case_contents {padding-left: 10px;}
	#c03 .case_box .case_contents h3 {font-size: 2vw;}
	#c03 .case_box .case_contents h3::after {top: 22%;}
	#c03 .case_box {padding: 2rem 0;margin: 0 2rem;}

	#side_column form h2 {font-size: 3.5rem;}
	#side_column #agree {font-size: 14px;}
	#btn_entry button {padding: 0.9rem 0 1.1rem 0;}
}

/*=======================================================================================================================

スマホ用 (max-width: 767px)

======================================================================================================================= */
@media screen and (max-width: 767px) {
	#g_logo {
		flex: 1;
	}

	.g_jpx {
		flex-flow: column;
	}

	.g_jpx_description {
		font-size: 6px;
	}

	/*---------------- ▼ g_nav（PC） ▼ ----------------*/

	#g_nav.pc_nav {margin-top: 0;}
	
	#content_wrap {width: 100%;height: 100vh;/*background: rgba(0,0,0,0.8);*/position: fixed;z-index: 10;}
	#g_nav nav {display: flex;margin: 9px 0 0 auto;align-items: center;z-index: 10;float: right;font-family: 'Noto Sans JP', sans-serif;}
	#g_nav nav li {list-style: none;margin:0 12px;}
	#g_nav nav li.g_nav-list-item a {color: #666;text-shadow: none;background: url("../img/nav_arrow_02.png") no-repeat left 9px;background-size: 12px 7px;padding-left: 20px;}
	#g_nav nav li.g_nav-list-item a:hover {color: #333;background: url("../img/nav_arrow_03.png") no-repeat left 9px;background-size: 12px 7px;}
	#g_nav nav li.g_nav-list-item-material {margin: -2px 12px 0 12px;}
	#g_nav nav li.g_nav-list-item-material a {color: #FFF;font-size: 14px;background-color: #ed6c00;padding: 5px 15px 8px 15px;border-radius: 4px;transition: all 0.2s ease 0s;}
	#g_nav nav li.g_nav-list-item-material a:hover {opacity: .85;}
	#g_nav nav .login-button {color: rgba(255,255,255.7);font-size: 14px;background-color: #ed6c00;padding: 5px 15px 8px 15px;border: none;border-radius: 4px;transition: all 0.2s ease 0s;cursor: pointer;}
	#g_nav nav .login-button:hover {opacity: .85;}

	#g_logo {
		transition: all 0.2s ease 0s;
	}

	#g_logo:hover {opacity: .6;}

	header #catch {
		width: 100%;
		padding: 0;
	}

	header .copy_f01 {
		font-size: 5.6vw;
	}

	header .copy_f01-01 {
		font-size: 4vw;
	}

	header .copy_f02 {
		font-size: 2.4vw;
	}

	header .copy_f03 {
		font-size: 2.4vw;
	}

	header .copy_f04 {
		font-size: 2.1vw;
	}

  .fv_visual {
		width: 100%;
		margin: 0 auto;
	}

	.fv_visual__title {
		align-items: center;
		gap: 0.5rem;
	}

	.fv_visual__title > p {
		font-size: 1rem;
	}

  .fv_visual__title > p span {
		font-size: 1.25rem;
	}

	#video_box {
		max-width: 480px;
	}

	.honor_box {
		/* grid-template-columns: repeat(2, minmax(0, 1fr)); */
		gap: 0.5rem;
	}

	#c01 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	#c01 h2 {width: 100%;}
	#c01 h2::after, #c02 h2::after, #c03 h2::after {margin: 1rem auto 1.9rem auto;}

	#c01 h2 .c01__subHeading {
		font-size: 3.5vw;
	}
	
	#c01 h2 .c01__heading {
		font-size: 5vw;
	}

	#img_left {float: left;width: 100%;padding: 0 3rem 0.5rem 3rem;}
	#c01 ul li {padding: 1.5rem 1rem;}
	#c01 ul li p {font-size: 3.3vw;}

	#c02 {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	
	#c02 ul li.feature_anc {width: 100%;}
	#c02 ul li.feature_anc:first-child,#c02 ul li.feature_anc:nth-child(2),#c02 ul li.feature_anc:nth-child(3),#c02 ul li.feature_anc:last-child {background-size: 4%,cover;}
	#c02 ul li.feature_anc a {padding: 0.5rem 1rem 0.5rem .5rem;}
	#c02 ul li.feature_anc a div p:first-child {opacity: .5;font-size: 10vw;line-height: 1em;margin-right: 0.8rem;padding: 0 0 0.3rem 0.4rem;}
	#c02 ul li.feature_anc a div p:nth-child(2) {font-size: 3.7vw;}
	#c02 ul li.feature_anc a div p:last-child {font-size: 2.9vw;}
	#c02 ul li.feature_anc a div p .feature_servise {font-size: 3.9vw;}
	#c02 h2, #c03 h2 {width: 100%;}

	#c02 h2 span, #c03 h2 span {
		font-size: 6vw;
	}

	#c02 .feature {
		display: flex;
		flex-wrap: wrap;
		padding-top: 2rem;
		padding-bottom: 1rem;
	}

	.detail_txt,.detail_img {width: 100%;}
	.detail_img {order: 2;}
	.feature_list {padding: 1rem 0 0 1rem;}
	.feature_list li {font-size: 3.55vw;}
	.feature_list li .mint_1 {font-size: 5vw;font-feature-settings: "palt";letter-spacing: .05rem;}
	.feature_list li .small {font-size:2vw;}
	.detail_txt, .detail_img {height: auto;}
	.detail_txt h3 .ttl {font-size: 5vw;padding: 0.4rem 0 0 0.9rem;}

	#c03 {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	#c03 .case_box {margin: 0;display: block;padding: 2rem 1rem;}
	#c03 .case_box .case_logo {top: 1rem;right: 1rem;}
	#c03 .case_box .case_logo img {height: 80%;}
	#c03 .case_box .case_img {width: 100%;}
	#c03 .case_box .case_img img {left: 0;top: 36px;width: 28%;}
	
	#c03 .case_box .case_img h3 {
		position: absolute;
		top: 34px;
		left: 33%;
		width: 70%;
		margin-top: 0;
		font-size: 3vw;
	}

	#c03 .case_box .case_contents {width: 100%;margin-top: 50%;}
	#c03 .case_box .case_contents h3 {font-size: 4.5vw;padding: 2rem 0 1rem 0;}
	#c03 .case_box .case_contents ul li {list-style-type: disc;list-style-position: inside;text-indent: -1.4em;padding-left: 0.7em;margin-bottom: 20px;font-size: 3.5vw;}
	#c03 .case_box .case_img .case_img_s {font-size: 4.5vw;}
	#c03 .case_box .case_img .case_img_ss {font-size: 3vw;}
	#c03 .case_box .case_contents h3::before {width: 35px;}
	#c03 .case_box .case_contents h3::after {display: none;}
	#c03 .case_box .case_contents .case_link a {padding: 0.6rem 0.8rem 0.6rem 0.8rem;margin-top: 1rem;}


	#c04 {padding: 4rem 0;}
	#c04 #techblitz {display: block;}
	#c04 h2 {font-size: 9vw;}
	#c04 h3 {font-size: 4vw;margin: 1rem 1rem 2rem 1rem;}
	#c04 h3::after {margin: 1.5rem auto 1.4rem auto;}
	#c04 h2 .tb_h2_m {font-size: 5vw;}
	#c04 #techblitz #techblitz_pc {width: 100%;}
	#c04 #techblitz #techblitz_txt {width: 100%;padding: 2rem 1rem 30px 1rem;text-align: left;line-height: 1.7em;font-size: 14px;color: rgba(255,255,255,.8);}
}


/*=======================================================================================================================

スマホ用 (max-width: 540px)

======================================================================================================================= */
@media screen and (max-width: 540px) {
	#side_column form h2 {font-size: 1.5rem;}

	#c01 ul li br {
		display: none !important;
	}
	/*---------------- ▼ （モーダル） ▼ -------------*/
	.modal_content {padding: 7%;}
	#privacy_inner h3 {font-size: 7vw;}
	#privacy_inner .privacy_write {text-align: right;margin: 5% 0 13% 0;font-size: 3.5vw;}
	#privacy_inner dl dt {width: 4%;font-size: 4vw;}
	#privacy_inner dl dd {width: 93%;font-size: 3.8vw;}
	#privacy_inner .privacy_company {margin-top: 7%;font-size: 3.5vw;}
	.modal_bg::before,.modal_bg::after {right: 12vw;}
}
/*=======================================================================================================================

スマホ用 (max-width: 480px)

======================================================================================================================= */
@media screen and (max-width: 480px) {
	header #catch {margin: 0;padding: 0;}
	#c04 h3 p {font-size: 3.5vw;}
}
/*=======================================================================================================================
