@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');


/* =================== */
/*       pubulic       */
/* =================== */
html {
	overflow-x:hidden;
	scroll-padding-top:150px !important;
}
html,body {
  font-size:clamp(11.5px, 1.34vw, 27px);
  font-family:游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", sans-serif;
  font-weight:400;
	position:relative;
  /*-webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;*/
  overflow-x:hidden;
}


.en-font {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight:400;
  font-style:normal;
  text-transform:uppercase;
}



img {
  width:100%;
  height:auto;
}
.sp-on { display:none; }
a { transition:0.3s ease all; }


.flex-box {
  display:-webkit-box;
  display:flex;
  -webkit-box-pack:justify;
  justify-content:space-between;
  align-items:center;
}

.in-w75 {
	width:75rem;
	margin:0 auto;
	position:relative;
}
.in-w60 {
	width:60rem;
	margin:0 auto;
	position:relative;
}
.in-w55 {
	width:55rem;
	margin:0 auto;
	position:relative;
}

.fadein {
	opacity:0;
	transform:translate(0, 15%);
	transition:1s;
}
.fadein.is-show {
	transform:translate(0, 0);
	opacity:1;
}
.blur {
	filter:blur(10px);
	transition:1.5s;
}
.blur.is-show {
	filter:blur(0);
	opacity:1;
}
.center-fade {
	transform:scale(1.2);
	opacity:0;
	transition:.8s;
}
.center-fade.is-show {
	opacity:1;
	transform:scale(1);
}
.tl-sankaku {
  opacity:0;
}
.tl-sankaku.is-show { animation:slideIn .7s cubic-bezier(0.25, 1, 0.5, 1) forwards; }

.grecaptcha-badge { visibility:hidden; }





/* =================== */
/*       #header       */
/* =================== */
#header {
	height:4.5rem;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:100;
	background:#fff;
}
#header .head-main-box { height:100%; }
#header #site-logo { width:15.55rem; margin-left:1.5rem; }
#header .main-nav > li {
	font-size:.8rem;
	font-weight:bold;
	margin-right:1.5rem;
}
#header .contact-btn a {
	width:7.75rem;
	height:4.5rem;
	background:#133db8;
	color:#fff;
	font-size:.8rem;
	display:flex;
	justify-content:center;
	align-items:center;
}
#header .contact-btn a span { font-weight:bold; }
#header .contact-btn { order:2; }
#header .recruit-btn { order:3; }
#header .recruit-btn a {
	width:7.75rem;
	height:4.5rem;
	background:#f2a22a;
	color:#fff;
	font-size:.8rem;
	display:flex;
	justify-content:center;
	align-items:center;
}
#header .recruit-btn a span { font-weight:bold; }
#header .recruit-btn a:hover,
#header .contact-btn a:hover,
#header #site-logo a:hover { opacity:.5; }
#header .main-nav li .parent { line-height:4.5rem; }
#header .main-nav li .parent a {
	height:100%;
	display:block;
	transition:none;
}
#header .main-nav li .parent a span {
	padding:.5rem 0;
	font-weight:bold;
}
#header .main-nav li:hover .parent a span { border-bottom:3px solid #3366ff; }
#header .main-nav li .child-box {
	position:absolute;
	width:60rem;
	background:#fff;
	padding:3rem 7rem 3rem 3rem;
	left:0;
	right:0;
	margin:0 auto;
	top:4.5rem;
	align-items:flex-start;
	display:none;
}
#header .main-nav li .child-box.company { padding-bottom:.5rem; }
#header .main-nav li.hav-child:hover .child-box { display:flex; }
#header .main-nav li .child-box .name-box { width:12.5rem; }
#header .main-nav li .child-box .name-box .en-font {
	font-size:1rem;
	color:#3366ff;
	margin-bottom:.5rem;
}
#header .main-nav li .child-box .name-box .jp {
	font-size:1.5rem;
	font-weight:bold;
	position:relative;
	width:5.5em;
}
#header .main-nav li .child-box .child-list {
	width:calc(100% - 12.5rem);
	flex-wrap:wrap;
	justify-content:flex-start;
}
#header .main-nav li .child-box li {
	width:calc((100% - 5rem) / 3);
	font-size:.9rem;
	font-weight:bold;
	margin-right:2.5rem;
}
#header .main-nav li .child-box li:nth-child(3n) { margin-right:0; }
#header .main-nav li .child-box li .child-name {
	font-weight:bold;
	position:relative;
	margin-top:.5rem;
}
#header .main-nav li .child-box.company li a {
	padding-bottom:1rem;
	border-bottom:2px solid #bfbfbf;
	position:relative;
	display:block;
	width:100%;
}
#header .main-nav li .child-box.company li a::before {
	content:"";
	width:2.5rem;
	height:2px;
	background:#3366ff;
	position:absolute;
	bottom:-2px;
	left:0;
	transition: 0.3s ease all;
}
#header .main-nav li .child-box.company li a:hover::before { width:100%; }
#header .main-nav li .child-box.company li { margin-bottom:2.5rem; }
#header .main-nav li .child-box li a .arrow {
  position:relative;
  display:inline-block;
  width:26px;
  height:1px;
  background:#3366ff;
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
#header .main-nav li .child-box li a .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:10px;
  height:1px;
  background:#3366ff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
#header .main-nav li .child-box.products li a:hover { opacity:.5; }
#header .main-nav li .child-box .name-box .arrow {
  position:relative;
  display:inline-block;
  width:26px;
  height:1px;
  background:#3366ff;
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
#header .main-nav li .child-box .name-box .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:10px;
  height:1px;
  background:#3366ff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
#header .main-nav li .child-box .name-box a:hover { opacity:.5; }




/* =================== */
/*       #footer       */
/* =================== */
#footer {
	background:#f7f7f7;
	padding:3.5rem 0;
}
#footer .foot-main-box { align-items:flex-start; }
#footer .logo-mark { width:12.6rem; }
#footer .foot-nav-box { align-items:flex-start; }
#footer .foot-nav-box .box { margin-left:2rem; }
#footer .foot-nav-box .parent-page {
	font-size:.85rem;
	font-weight:bold;
	margin-bottom:1.5rem;
}
#footer .foot-nav-box .parent-page span::before {
	content:"";
	width:.5rem;
	height:.5rem;
	transform:rotate(135deg) skew(20deg,20deg);
	display:inline-block;
	background:#3366ff;
	vertical-align:middle;
	margin-right:.7rem;
}
#footer .foot-nav-box .parent-page a { vertical-align:middle; }
#footer .foot-nav-box .child-page { margin-bottom:2rem; }
#footer .foot-nav-box .child-page li {
	font-size:.75rem;
	margin-left:1.2rem;
	margin-bottom:1rem;
}
#footer a:hover { opacity:.5; }
#footer .iso-mark {
	width:6.6rem;
	margin-top:-8rem;
  margin-bottom:4.5rem;
}
#footer small {
	font-size:.65rem;
	display:block;
	margin-top:1.5rem;
}








/* =================== */
/*        main         */
/* =================== */
main { margin-top:4.5rem; }
.nml-blue-btn a {
	font-size:.9rem;
	color:#3366ff;
	line-height:2.8rem;
	width:16.5rem;
	display:block;
	border:2px solid #3366ff;
	margin:0 auto;
	font-weight:bold;
	position:relative;
	text-align:center;
	box-sizing:border-box;
}
.nml-blue-btn a .arrow {
  position:relative;
  display:inline-block;
  width:1.3rem;
  height:1px;
  background:#3366ff;
  position:absolute;
  right:1.5rem;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
.nml-blue-btn a .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:.5rem;
  height:1px;
  background:#3366ff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
.nml-blue-btn a:hover .arrow { right:1.3rem; background:#fff; }
.nml-blue-btn a:hover .arrow::before { background:#fff; }
.nml-blue-btn a:hover {
	background:#3366ff;
	color:#fff;
}

.nml-wht-btn a {
	font-size:.9rem;
	color:#fff;
	line-height:2.8rem;
	width:16.5rem;
	display:block;
	border:2px solid #fff;
	margin:0 auto;
	font-weight:bold;
	position:relative;
	text-align:center;
	box-sizing:border-box;
}
.nml-wht-btn a .arrow {
  position:relative;
  display:inline-block;
  width:1.3rem;
  height:1px;
  background:#fff;
  position:absolute;
  right:1.5rem;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
.nml-wht-btn a .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:.5rem;
  height:1px;
  background:#fff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
.nml-wht-btn a:hover .arrow { right:1.3rem; background:#3366ff; }
.nml-wht-btn a:hover .arrow::before { background:#3366ff; }
.nml-wht-btn a:hover {
	background:#fff;
	color:#3366ff;
}

.nml-blue-bk-btn a {
	font-size:.9rem;
	color:#fff;
	line-height:2.8rem;
	width:11.5rem;
	display:block;
	border:2px solid #133db8;
	background:#133db8;
	font-weight:bold;
	position:relative;
	text-align:center;
	box-sizing:border-box;
}
.nml-blue-bk-btn a .arrow {
  position:relative;
  display:inline-block;
  width:1.3rem;
  height:1px;
  background:#fff;
  position:absolute;
  right:1.5rem;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
.nml-blue-bk-btn a .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:.5rem;
  height:1px;
  background:#fff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
.nml-blue-bk-btn a:hover .arrow { right:1.3rem; background:#133db8; }
.nml-blue-bk-btn a:hover .arrow::before { background:#133db8; }
.nml-blue-bk-btn a:hover {
	background:#fff;
	color:#133db8;
}


body.index #kv-box {
	width:100%;
	height:34rem;
	position:relative;
}
body.index #kv-box::before {
	content:"";
	clip-path: polygon(0 0, 100% 0, 0 100%);
	width:28rem;
	height:19rem;
	background:rgba(51,102,255,.2);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	animation:slideIn .7s .7s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	opacity:0;
}
@keyframes slideIn {
  0% {
    transform: translate(-28rem,-19rem);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  40%,100% {
    opacity: 1;
  }
}
body.index #kv-box .kv-pic {
	width:100%;
	height:100%;
}
body.index #kv-box .kv-pic .slick-list,
body.index #kv-box .kv-pic .slick-track { height:100%; }
body.index #kv-box .kv-pic img {
	width:100%;
	height:100%;
	object-fit:cover;
}
body.index #kv-box .txt-box {
	position:absolute;
	height:100%;
	left:4.5rem;
	top:0;
	display:flex;
	justify-content:center;
	z-index:2;
}
body.index #kv-box .copy { width:25rem; }
@keyframes zoomUp {
  0% {
    transform:scale(1);
  }
  100% {
    transform:scale(1.15); /* 拡大率 */
  }
}
body.index #kv-box .add-animation {
  animation:zoomUp 10s linear 0s normal both;
}


body.index #strongs-sec {
	background:#eaefff;
	position:relative;
	padding-top:1.5rem;
}
body.index #strongs-sec::before {
	content:"";
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	width:100%;
	height:25rem;
	background:#fff;
	display:block;
	position:absolute;
	top:0;
	left:0;
}
body.index #strongs-sec .txt-anime {
	/*font-size:6rem;
  width:80em;
  overflow: hidden;*/
  display:flex;
  white-space:nowrap;
}
body.index #strongs-sec .txt-anime .en-slide-txt {
	font-size:6rem;
	color:#fff;
	font-weight:bold;
	text-shadow:
    1px 1px 0 #3366ff,
    -1px 1px 0 #3366ff,
    -1px -1px 0 #3366ff,
    1px -1px 0 #3366ff;
  width:20em;
  transform:translateX(0);
  animation:animetxt 50s linear 0s infinite;
  margin-right:.5em;
}
@keyframes animetxt {
100% {
  transform: translateX(-100%);
 }
}
body.index #strongs-sec .pic-slider {
	margin-bottom:-6.5rem;
	position:relative;
	z-index:1;
}
body.index #strongs-sec .pic-slider .pic { margin:0 .25rem; }
body.index #strongs-sec .sec-main-box {
	margin:7.5rem auto 6rem;
	position:relative;
}
body.index #strongs-sec .txt-wrap { justify-content:flex-end; }
body.index #strongs-sec .txt-box { width:24.5rem; }
body.index #strongs-sec .txt-box h2 .en {
	font-size:1rem;
	color:#3366ff;
}
body.index #strongs-sec .txt-box h2 .en::before {
	content:"";
	width:3rem;
	height:1px;
	background:#000;
	display:inline-block;
	margin-right:1rem;
	vertical-align:middle;
}
body.index #strongs-sec .txt-box h2 .jp {
	font-size:1.8rem;
	font-weight:bold;
	display:block;
	margin-top:.8rem;
	line-height:1.44;
}
body.index #strongs-sec .txt-box .txt {
	font-size:.9rem;
	line-height:2;
	margin:1rem 0 2.5rem;
}
body.index #strongs-sec .txt-box .nml-blue-btn a { margin:0; }
body.index #strongs-sec .sec-main-box .pic-box .pic1 {
	width:51.6rem;
	position:absolute;
	left:-12.5rem;
	top:-16.5rem;
}
body.index #strongs-sec .sec-main-box .pic-box .pic2 {
	width:22.5rem;
	position:absolute;
	left:17rem;
	top:14rem;
}
body.index #strongs-sec .sec-main-box .pic-box .pic3 {
	width:22.5rem;
	position:absolute;
	right:-2.5rem;
	top:-12rem;
}


#btm-contact-sec {
	background:#3366ff;
	padding-bottom:5rem;
	position:relative;
}
#btm-contact-sec::before {
	content:"";
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	width:100%;
	height:25rem;
	background:rgba(255,255,255,.2);
	display:block;
	position:absolute;
	top:0;
	left:0;
}
#btm-contact-sec .sec-ttl {
	text-align:center;
	color:#fff;
}
#btm-contact-sec .sec-ttl::before {
	content:"";
	width:1px;
	height:3rem;
	background:#fff;
	display:block;
	margin:0 auto 1rem;
}
#btm-contact-sec .sec-ttl .en {
	font-size:1rem;
	display:block;
}
#btm-contact-sec .sec-ttl .jp {
	font-size:1.8rem;
	display:block;
	font-weight:bold;
	margin-top:1rem;
}
#btm-contact-sec .txt {
	font-size:1rem;
	line-height:1.7;
	text-align:center;
	color:#fff;
	margin:1.5rem 0 2rem;
}
#btm-contact-sec ul { align-items:inherit; }
#btm-contact-sec li {
	width:calc((100% - 2rem) / 2);
	background:#fff;
	padding:2.5rem 0;
	text-align:center;
}
#btm-contact-sec li .list-ttl {
	font-size:1.3rem;
	font-weight:bold;
	margin-bottom:1.5rem;
}
#btm-contact-sec li .num .mini {
	font-size:1.7rem;
	color:#3366ff;
	margin-right:.5rem;
}
#btm-contact-sec li .num a {
	font-size:2.9rem;
	color:#3366ff;
}
#btm-contact-sec li .num a:hover { opacity:.5; }
#btm-contact-sec li .date {
	font-size:.8rem;
	margin-top:.5rem;
}
#btm-contact-sec .nml-blue-btn a {
	width:19.25rem;
	line-height:3.5rem;
	font-size:1rem;
}

body.index #recruit-sec {
	background:url(../img/recruit_bk.jpg) no-repeat;
	background-size:cover;
}
body.index #recruit-sec .txt-box {
	order:2;
	margin:0 auto;
	width:20rem;
}
body.index #recruit-sec .txt-box h2 .en {
	font-size:1rem;
	color:#3366ff;
}
body.index #recruit-sec .txt-box h2 .en::before {
	content:"";
	width:3rem;
	height:1px;
	background:#000;
	display:inline-block;
	margin-right:1rem;
	vertical-align:middle;
}
body.index #recruit-sec .txt-box h2 .jp {
	font-size:1.8rem;
	font-weight:bold;
	display:block;
	margin-top:1rem;
}
body.index #recruit-sec .pic-box {
	order:1;
	width:36.5rem;
	margin:-2.5rem 0 -2.5rem -4rem;
}
body.index #recruit-sec .pic-box .pic { width:23.4rem; }
body.index #recruit-sec .pic-box .pic2 {
	margin-left:12.5rem;
	margin-top:-7rem;
}
body.index #recruit-sec .pic-box .pic3 { margin-top:-7rem; }
body.index #recruit-sec .pic-box .pic4 {
	margin-left:12.5rem;
	margin-top:-7rem;
	position:relative;
	z-index:1;
}
body.index #recruit-sec .txt-box .copy {
	font-size:2rem;
	line-height:1.4;
	font-weight:bold;
	color:#3366ff;
	margin:2rem 0 1rem;
}
body.index #recruit-sec .txt-box .txt {
	line-height:2;
	font-size:.9rem;
	margin-bottom:2rem;
}
body.index #recruit-sec .txt-box .nml-blue-btn a { margin:0; }

body.index #two-link-sec {
	background:#eaefff;
	padding:4rem 0;
}
body.index #two-link-sec .link-item {
	width:calc((100% - 2rem) / 2);
	color:#fff;
	overflow:hidden;
}
body.index #two-link-sec .link-item a {
	padding:2.5rem;
	display:block;
	position:relative;
}
body.index #two-link-sec .link-item a:hover { opacity:.5; }
body.index #two-link-sec .link-item .tl-sankaku {
  clip-path:polygon(0 0, 100% 0, 0 100%);
  width:2.9rem;
  height:2rem;
  background:#3366ff;
  position:absolute;
  top:0;
  left:0;
  z-index:1;
  opacity:0;
}
body.index #two-link-sec .link-item .en {
	font-size:1rem;
	display:block;
}
body.index #two-link-sec .link-item .jp {
	font-size:1.6rem;
	display:block;
	margin-top:.5rem;
	font-weight:bold;
}
body.index #two-link-sec .link-item .txt {
	font-size:.8rem;
	line-height:1.625;
	margin-top:1rem;
}
body.index #two-link-sec .link-item.company a {
	background:url(../img/company_bk.jpg) no-repeat;
	background-size:cover;
}
body.index #two-link-sec .link-item.society a {
	background:url(../img/society_bk.jpg) no-repeat;
	background-size:cover;
}

body.index #case-sec {
	background:url(../img/case_bk.jpg) no-repeat;
	background-size:cover;
	padding-bottom:4.5rem;
	color:#fff;
	position:relative;
}
body.index #case-sec h2 {
	text-align:center;
	color:#fff;
}
body.index #case-sec h2::before {
	content:"";
	width:1px;
	height:3rem;
	background:#fff;
	display:block;
	margin:0 auto 1rem;
}
body.index #case-sec h2 .en {
	font-size:1rem;
	display:block;
}
body.index #case-sec h2 .jp {
	font-size:1.8rem;
	display:block;
	font-weight:bold;
	margin-top:1rem;
}
body.index #case-sec .txt {
	font-size:1rem;
	line-height:1.7;
	text-align:center;
	margin:1.5rem 0 2rem;
}

body.index #products-sec {
	background:#3366ff;
	padding:9rem 0 3.5rem;
	position:relative;
}
body.index #products-sec::before {
  content:"";
  clip-path:polygon(50% 100%, 0 0, 100% 0);
  width:100%;
  height:25rem;
  background:rgba(255, 255, 255, .2);
  display:block;
  position:absolute;
  top:0;
  left:0;
}
body.index #products-sec h2 {
	text-align:center;
	margin-bottom:4rem;
	color:#fff;
}
body.index #products-sec h2::before {
	content:"";
	width:1px;
	height:3rem;
	background:#fff;
	display:block;
	margin:0 auto 1rem;
}
body.index #products-sec h2 .en {
	font-size:1rem;
	display:block;
}
body.index #products-sec h2 .jp {
	font-size:1.8rem;
	display:block;
	font-weight:bold;
	margin-top:1rem;
}
body.index #products-sec li.list2 .pic { order:2; }
body.index #products-sec li.list2 .txt-box { order:1; }
body.index #products-sec li {
	margin-bottom:3rem;
	position:relative;
	align-items:initial;
}
body.index #products-sec li .pic {
	width:30.4rem;
	line-height:0;
}
body.index #products-sec li .txt-box {
	width:calc(100% - 30.4rem);
	background:#fff;
	padding:4.5rem 3.5rem 0;
	position:relative;
	z-index:1;
}
body.index #products-sec li .bk {
	position:absolute;
	bottom:-14rem;
}
body.index #products-sec li.list1 .bk,
body.index #products-sec li.list3 .bk { right:-18rem; }
body.index #products-sec li.list2 .bk { left:-18rem; }
body.index #products-sec li .bk::before {
	content:"";
  width:30rem;
  height:30rem;
  transform:rotate(135deg) skew(20deg, 20deg);
  display:inline-block;
  background:rgba(255,255,255,.2);
  display:block;
}
body.index #products-sec li h3 {
	font-size:1.7rem;
	font-weight:bold;
	border-left:.25rem solid #133db8;
	padding-left:1.2rem;
}
body.index #products-sec li .txt {
	font-size:.9rem;
	line-height:1.55;
	margin:.8rem 0 1.5rem;
}

body.index #news-sec { margin-bottom:4rem; }
body.index #news-sec h2 {
	text-align:center;
	margin-bottom:2.5rem;
}
body.index #news-sec h2::before {
	content:"";
	width:1px;
	height:3rem;
	background:#000;
	display:block;
	margin:0 auto 1rem;
}
body.index #news-sec h2 .en {
	font-size:1rem;
	display:block;
	color:#3366ff;
}
body.index #news-sec h2 .jp {
	font-size:1.8rem;
	display:block;
	font-weight:bold;
	margin-top:1rem;
}
body.index #news-sec ul { margin-bottom:3rem; }
body.index #news-sec ul li { border-bottom:1px solid #bfbfbf; }
body.index #news-sec ul li:first-child { border-top:1px solid #bfbfbf; }
body.index #news-sec ul li a {
	display:flex;
	padding:1.5rem 1rem;
	font-size:.8rem;
	position:relative;
}
body.index #news-sec ul li a:hover { opacity:.5; }
body.index #news-sec ul li time {
	width:7em;
	color:#3366ff;
}
body.index #news-sec ul li .news-ttl {
	color:#404040;
	overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  width:calc(100% - 70px - 7em);
}
body.index #news-sec ul li .arrow {
  display:inline-block;
  width:26px;
  height:1px;
  background:#3366ff;
  position:absolute;
  right:1.5rem;
  top:0;
  bottom:0;
  margin:auto 0;
  transition:0.3s ease all;
}
body.index #news-sec ul li .arrow::before {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  right:0;
  width:10px;
  height:1px;
  background:#3366ff;
  transform:rotate(35deg);
  transform-origin:calc(100% - 1px) 50%;
}
body.index #news-sec ul li a:hover .arrow { right:1.3rem; }


@media screen and (max-width: 960px) {
	.in-w60 { width:90%; max-width:750px; }
}

@media screen and (max-width: 750px) {
	html { scroll-padding-top:80px !important; }
	.pc-on { display:none; }
	.sp-on { display:initial; }

	tbody { -webkit-text-size-adjust:100%;　}

	body.open { height:100svh; overflow:hidden; }

	.in-w75 { width:80%; }
	.in-w60 { width:80%; }
	.in-w55 { width:80%; }

	main { margin-top:60px; }
	#header { height:60px; }
	#header #site-logo { width:200px; margin-left:13px; }
	#header #hamburger {
		display:block;
		width:60px;
		height:60px;
		cursor:pointer;
		z-index:10000;
		position:fixed;
		right:0;
		top:0;
		background:#133db8;
	}
	#header #hamburger .inner_line {
		display:block;
		margin:0 auto;
		width:35px;
		height:2px;
		transition:1s;
		background:#fff;
		position:absolute;
		left:12.5px;
	}
	#header #hamburger .inner_line span { transition:all .4s; }
	#header #hamburger #line1 { top:19px; }
	#header #hamburger #line2 { top:28px; }
	#header #hamburger #line3 { top:38px; }
	#header #hamburger.open #line1 { transform:translateY(9px) rotate(-45deg); background:#fff; }
	#header #hamburger.open #line2 { transform:translateY(1px) rotate(45deg); background:#fff; }
	#header #hamburger.open #line3 { display:none; }
	#header .head-main-box nav { display:none; }
	#header.open .head-main-box nav {
		background:#eaefff;
		width:100%;
		height:100vh;
		padding-bottom:60px;
		position:fixed;
		top:0;
		left:0;
		display:block;
		overflow-y:auto;
	}
	#header.open .head-main-box nav .main-nav {
		display:block;
		width:85%;
		margin:85px auto 0;
	}
	#header .main-nav > li { font-size:17px; border-bottom:1px solid #bfbfbf; margin-right:0; }
	#header .main-nav li .parent { line-height:1; position:relative; }
	#header .main-nav li .parent a { padding:17px 15px; }
	#header .main-nav li.hav-child .parent a { width:calc(100% - 80px); }
	#header.open nav .recruit-btn { width:80%; margin:35px auto 15px; }
	#header.open nav .contact-btn { width:80%; margin:0 auto 0; }
	#header.open nav .recruit-btn a {
		height:50px;
		width:100%;
		font-size:16px;
		position:relative;
		justify-content:space-between;
		padding-left:25px;
		box-sizing:border-box;
	}
	#header.open nav .recruit-btn a span::before {
		content:"\f0c0";
		font-family: "Font Awesome 7 Free";
		font-weight: 900;
		font-size:20px;
		margin-right:15px;
	}
	#header.open nav .contact-btn a span::before {
		content:"\f0e0";
		font-family: "Font Awesome 7 Free";
		font-weight: 900;
		font-size:20px;
		margin-right:15px;
	}
	#header.open nav .contact-btn a {
		height:50px;
		width:100%;
		font-size:16px;
		position:relative;
		justify-content:space-between;
		padding-left:25px;
		box-sizing:border-box;
	}
	#header.open nav .contact-btn a::before,
	#header.open nav .recruit-btn a::before {
		content:"";
		display:inline-block;
    width:18px;
    height:1px;
    background:#fff;
    position:absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto 0;
	}
	#header.open nav .contact-btn a::after,
	#header.open nav .recruit-btn a::after {
		content: "";
    position:absolute;
    top:calc(50% - 1px);
    right:15px;
    width:7px;
    height:1px;
    background:#fff;
    transform:rotate(35deg);
    transform-origin:calc(100% - 1px) 50%;
  }
	#header.open nav .sp-list-menu { display:flex; order:4; font-size:13px; justify-content:center; margin-top:35px; width:100%; }
	#header.open nav .sp-list-menu li { font-weight:bold; margin:0 1rem; }
	#header .main-nav li .parent::before {
		content:"";
		display:inline-block;
    width:18px;
    height:1px;
    background:#3366ff;
    position:absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto 0;
	}
	#header .main-nav li .parent::after {
		content: "";
    position:absolute;
    top:calc(50% - 1px);
    right:15px;
    width:7px;
    height:1px;
    background:#3366ff;
    transform:rotate(35deg);
    transform-origin:calc(100% - 1px) 50%;
  }
  #header .main-nav li.hav-child .parent::after { display:none; }
  #header .main-nav li.hav-child .parent::before {
  	content:"+";
  	color:#3366ff;
  	background:none;
  	height:1em;
  	width:auto;
  	font-size:25px;
  }
  #header .main-nav li.hav-child.open .parent::before { content:"-"; transform:scale(2, .8); }
  #header .main-nav li .child-box { position:initial; width:100%; background:none; padding:0 15px; display:none; }
  #header .main-nav li .child-box .name-box { display:none; }
  #header .main-nav li .child-box .child-list { display:block; width:100%; margin:5px 0; }
  #header .main-nav li .child-box li { font-size:13px; width:100%; margin-right:0; margin-bottom:20px; }
  #header .main-nav li .child-box li img { display:none; }
  #header .main-nav li .child-box li a .arrow { display:none; }
  #header .main-nav li:hover .parent a span { border-bottom:0; }
  #header .main-nav li.hav-child:hover .child-box { display:none; }
  #header .main-nav li.hav-child.open .child-box { display:block; }
  #header .main-nav li .child-box.company li a { padding-bottom:0; border-bottom:0; }
  #header .main-nav li .child-box.company li a::before { display:none; }
  #header .main-nav li .child-box.company li { margin-bottom:20px; }

  .nml-blue-btn a { width:250px; line-height:45px; font-size:15px; }
  .nml-wht-btn a { width:250px; line-height:45px; font-size:15px; }
  .nml-blue-bk-btn a { width:250px; line-height:45px; font-size:15px; }

  body.index #kv-box { height:47.5rem; }
  body.index #kv-box::before { width:180px; height:125px; }
  body.index #kv-box .txt-box { left:25px; height:auto; top:65px; }
  body.index #strongs-sec .sec-main-box .pic-box { position:relative; height:440px; max-width:400px; margin:0 auto; }
  body.index #strongs-sec .sec-main-box .pic-box .pic1 { width:428px; left:-105px; top:50px; }
  body.index #strongs-sec .sec-main-box .pic-box .pic2 { width:220px; bottom:0; right:15px; top:initial; left:initial; }
  body.index #strongs-sec .sec-main-box .pic-box .pic3 { top:0; right:-50px; width:220px; }
  body.index #strongs-sec .txt-anime .en-slide-txt { font-size:70px; }
  body.index #strongs-sec .sec-main-box { margin-top:-40px; margin-bottom:45px; }
  body.index #strongs-sec::before { width:735px; height:250px; left:-50%; right:-50%; margin:0 auto; }
  body.index #strongs-sec .txt-box { width:100%; }
  body.index #strongs-sec .txt-box h2 .en { font-size:15px; }
  body.index #strongs-sec .txt-box h2 .jp { font-size:27px; }
  body.index #strongs-sec .txt-box .txt { font-size:15px; }
  body.index #strongs-sec .txt-box .nml-blue-btn a { margin:0 auto; }
  body.index #products-sec::before { width:735px; height:250px; left:-50%; right:-50%; margin:0 auto; }
  body.index #products-sec { padding-top:75px; padding-bottom:165px; }
  body.index #products-sec h2 { margin-bottom:35px; }
  body.index #products-sec h2 .en { font-size:15px; }
  body.index #products-sec h2 .jp { font-size:27px; }
  body.index #products-sec li { display:block; margin-bottom:40px; }
  body.index #products-sec li .pic { width:100%; }
  body.index #products-sec li .txt-box { width:100%; padding:30px; }
  body.index #products-sec li h3 { font-size:24px; border-left:3px solid #133db8; }
  body.index #products-sec li .txt { font-size:15px; margin-top:20px; }
  body.index #products-sec li .nml-blue-bk-btn a { margin:0 auto; width:100%; max-width:250px; }
  body.index #products-sec li .bk::before { width:25rem; height:25rem; bottom:-10rem; }
  body.index #products-sec li.list1 .bk, body.index #products-sec li.list3 .bk { right:-14rem; }
  body.index #products-sec li.list2 .bk { left:-14rem; }
  body.index #case-sec { width:86.6%; margin:-157px auto; position:relative; }
  body.index #case-sec h2 .en { font-size:15px; }
  body.index #case-sec h2 .jp { font-size:23px; }
  body.index #case-sec .txt { font-size:14px; }
  body.index #two-link-sec { padding-top:175px; }
  body.index #two-link-sec .link-wrap { display:block; width:86.6%; }
  body.index #two-link-sec .link-item { width:100%; margin-bottom:18px; }
  body.index #two-link-sec .link-item a { height:150px; }
  body.index #two-link-sec .link-item .en { font-size:15px; }
  body.index #two-link-sec .link-item .jp { font-size:25px; margin-top:7px; }
  body.index #two-link-sec .link-item .txt { font-size:14px; }
  body.index #recruit-sec { padding-bottom:60px; }
  body.index #recruit-sec .in-w60 { flex-wrap:wrap; width:100%; }
  body.index #recruit-sec .pic-box { margin:-2.5rem auto; }
  body.index #recruit-sec .pic-box .pic { margin-left:-2rem; }
  body.index #recruit-sec .pic-box .pic2,
  body.index #recruit-sec .pic-box .pic4 { margin-left:10.5rem; }
  body.index #recruit-sec .txt-box { width:80%; }
  body.index #recruit-sec .txt-box h2 .en { font-size:15px; }
  body.index #recruit-sec .txt-box h2 .jp { font-size:23px; }
  body.index #recruit-sec .txt-box .copy { font-size:28px; }
  body.index #recruit-sec .txt-box .txt { font-size:15px; }
  body.index #recruit-sec .txt-box .nml-blue-btn a { margin:0 auto; }
  
  #btm-contact-sec { padding-bottom:25px; }
  #btm-contact-sec .sec-ttl .en { font-size:15px; }
  #btm-contact-sec .sec-ttl .jp { font-size:23px; }
  #btm-contact-sec .txt { font-size:15px; margin:25px 0 30px; }
  #btm-contact-sec ul { display:block; }
  #btm-contact-sec li { width:100%; margin-bottom:15px; }
  #btm-contact-sec li .list-ttl { font-size:18px; margin-bottom:20px; }
  #btm-contact-sec li .date { font-size:13px; }
  #btm-contact-sec li .num .mini { font-size:25px; }
  #btm-contact-sec li .num a { font-size:38px; }
  #btm-contact-sec .nml-blue-btn a { font-size:15px; width:250px; line-height:45px; }
  #btm-contact-sec::before { width:735px; height:250px; left:-50%; right:-50%; margin:0 auto; }
  
  body.index #news-sec h2 .jp { font-size:23px; }
  body.index #news-sec h2 .en { font-size:15px; }
  body.index #news-sec ul li a { display:block; font-size:15px; }
  body.index #news-sec ul li .news-ttl { width:calc(100% - 50px); margin-top:7px; line-height:1.5; -webkit-line-clamp:2; }

  #footer { padding:45px 0 35px; }
  #footer .foot-nav-box { display:none; }
  #footer .logo-mark { width:233px; margin:0 auto; }
  #footer .iso-mark { margin:35px auto 25px; width:107px; }
  #footer small { font-size:10px; text-align:center; }


}
















