/*
Theme Name:LSS-corp
*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
html.parent {
overflow:hidden;
}
:root {
	--color-white:#ffffff;
	--color-black:#000000;
	--color-dark:#111111;
	--color-gray:#222222;
	--color-deep:#0a0a18;
	--color-main:#a550cd;
	--color-sub:#5b64f2;
	--color-line:#333333;
	--grad:linear-gradient(-45deg, #5b64f2 0%,#a550cd 100%);
	--grad-reverse:linear-gradient(45deg, #5b64f2 0%,#a550cd 100%);
	--font-sp-xxx-large:clamp(2.8rem, 7.3vw, 3.2rem);
	--font-sp-xx-large:clamp(2.4rem, 6.7vw, 2.8rem);
	--font-sp-x-large:clamp(2.0rem, 6vw, 2.4rem);
	--font-sp-large:clamp(1.8rem, 5.33vw, 2.2rem);
	--font-sp-normal:clamp(1.6rem, 4.26vw, 1.8rem);
	--font-sp-small:clamp(1.2rem, 3.73vw, 1.4rem);
	--font-sp-x-small:clamp(1.1rem, 2.8vw, 1.3rem);
	--font-pc-xxx-large:3.6rem;
	--font-pc-xx-large:3.0rem;
	--font-pc-x-large:2.4rem;
	--font-pc-large:2.0rem;
	--font-pc-normal:1.6rem;
	--font-pc-small:1.4rem;
	--font-pc-x-small:1.2rem;
}
body {
	position: relative;
	z-index: 1;
	background-color:var(--color-black);
}
body.drawer-body-on {
	overflow: hidden;
}
body.drawer-body-on:before {
	content:"";
	position: fixed;
	top:0px;
	right:0px;
	z-index: 500;
	background:rgba(0,0,0,0.5);
	width:100%;
	height:100dvh;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
body.top-body:after {
	content:"";
	position: fixed;
	background-image:url(images/mainvisual-top.webp);
	background-repeat: no-repeat;
	background-size:cover;
	width:100vw;
	height:100dvh;
	top:0;
	left:0;
	background-position: center top;
	z-index: -1;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	font-family: 'Noto Sans JP', sans-serif;
	color:var(--color-white);
}
@media (width < 767px) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size:var(--font-sp-normal);
	}
	input[type=text],input[type=tel],input[type=email] ,textarea,select {
	font-size: 1.6rem;
	scale(0.8);
	}
	input {
		appearance: none;
		-webkit-appearance: none;
	}
	h1,h2,h3,h4,h5,h6,p,th,td,dt,dd,li {
		line-height:175%;
	}
	body.top-body:after {
		animation: parallax-bg-anim linear;
		animation-timeline: scroll();
	}
	@keyframes parallax-bg-anim {
		from {
			transform: translateY(0);
			opacity: 1;
		}
		to {
			transform: translateY(-20vw);
			opacity: 0.75;
		}
	}
}
@media (768px <= width) {
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size:var(--font-pc-normal);
	}
	h1,h2,h3,h4,h5,h6,p,th,td,dt,dd,li {
		line-height:200%;
	}
	body.top-body:after {
		animation: parallax-bg-closeup linear;
		animation-iteration-count:infinite;
		animation-duration:30s;
	}
	@keyframes parallax-bg-closeup {
		0% {
			transform: scale(1);
		}
		85% {
			transform: scale(1.5);
			opacity: 1;
		}
		90% {
			transform: scale(1.5);
			opacity: 0;
		}
		95% {
			transform: scale(1);
			opacity: 0;
		}
		100% {
			transform: scale(1);
			opacity: 1;
		}
	}
	/*
	body.top-body:after {
		animation: parallax-bg-anim linear;
		animation-timeline: scroll();
	}
	@keyframes parallax-bg-anim {
		from {
			transform: translateY(0px);
			opacity: 1;
		}
		to {
			transform: translateY(-200px);
			opacity: 0.75;
		}
	}
	*/
}
a,
button {
	outline: none;
	text-decoration:none;
}
a:hover,
button:hover {
	text-decoration:none;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}
button {
	border:none;
}
p {
	padding-bottom:1em;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}
p a {
	text-decoration: underline;
}
p a:hover {
	color:var(--color-main);
	text-decoration: underline;
}
li {
	list-style-type:none;
}
ol li {
	list-style-type:decimal;
}
ul.dot li,
.single-contents ul li {
	list-style-type:disc;
}
.bg-gray {
	background-color:var(--color-gray);
}
.bg-deep {
	background-color:var(--color-deep);
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?q1bo9e');
  src:  url('fonts/icomoon.eot?q1bo9e#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?q1bo9e') format('truetype'),
    url('fonts/icomoon.woff?q1bo9e') format('woff'),
    url('fonts/icomoon.svg?q1bo9e#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.icon-external:before {
  content: "\e903";
}
.icon-arrow-o1:before {
  content: "\e901";
}
.icon-check-o:before {
  content: "\e908";
}
.icon-arrow-o:before {
  content: "\e90b";
}
.icon-logo-x:before {
  content: "\e900";
}
.icon-facebook:before {
  content: "\e902";
}
.icon-angle-right:before {
  content: "\f105";
}
.icon-linkedin:before {
  content: "\eac9";
}
hr {
	border: none;
	border-bottom:1px solid var(--color-white);
	margin-top:1em;
	margin-bottom:1em;
}
hr.scroll {
	display:block;
	position: relative;
	z-index: 1;
	border:none;
}
hr.scroll:after {
	content : '';
	display : block;
	position : absolute;
	background-color: var(--color-white);
	left : 50%;
	transform : translateX(-50%);
	width : 1px;
	animation: scroll 1.5s infinite;
}
@keyframes scroll {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
@media (width < 767px) {
	ul.dot li,
	.single-contents ul li,
	ol li {
		margin-left:5vw;
		line-height:175%;
	}
	hr.scroll {
		height:8vw;
		margin-top:8vw;
		margin-bottom:8vw;
	}
	hr.scroll:after {
		height:8vw;
		top:0;
	}
}
@media (768px <= width) {
	ul.dot li,
	.single-contents ul li,
	ol li {
		margin-left:16px;
		padding-left:4px;
		line-height:200%;
	}
	hr.scroll {
		height:64px;
		margin-top:60px;
		margin-bottom:60px;
	}
	hr.scroll:after {
		height:64px;
		top:0;
	}
}
/*-----------------------------------------
wordpress-editor-settings
------------------------------------------*/
.editor p {
	display: block;
	margin: 1em 0;
}
.editor em {font-style: italic;}
.editor blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 32px;
	-webkit-margin-end: 32px;
}
/* img */
.aligncenter {display: block;margin: 0 auto;}
.alignright {float: right;}
.alignleft {float: left;}
 
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}
.text-left {text-align:left;}
.text-center {text-align:center;}
.text-right {text-align:right;}
/*-----------------------------------------
master-layout-control
------------------------------------------*/
.container,
.container-pc,
.container-middle {
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.grid {
	display:grid;
}
.normal-contents {
	position: relative;
	z-index: 2;
	background-color:var(--color-black);
}
.single-contents {
	position: relative;
	z-index: 2;
}
.normal-contents.bg-deep {
	background-color:var(--color-deep);
}
@media (width < 767px) {
	.container {
	padding-right: 5vw;
	padding-left: 5vw;
	}
	.maincontents {
		padding-top:8vw;
		padding-bottom:8vw;
	}
	.single-contents {
		padding-top:8vw;
		padding-bottom:1vw;
	}
	.anchor {
		margin-top:-50px;
		padding-top:50px;
	}
	.sp-only {display:block !important;}
	.pc-only {display:none !important;}
	.text-center-sp {
		text-align: center;
	}
}
@media (768px <= width) {
	.container,
	.container-pc {
		max-width:1000px;
		padding-left:20px;
		padding-right:20px;
	}
	.container-middle {
		max-width:720px;
		margin-left:auto;
		margin-right:auto;
	}
	.maincontents {
		padding-top:60px;
		padding-bottom:60px;
	}
	.single-contents {
		padding-top:60px;
		padding-bottom: 10px;
	}
	.anchor {
		margin-top:-150px;
		padding-top:150px;
	}
	.sp-only {display:none !important;}
	.pc-only {display:block !important;}
	.text-center-pc {
		text-align: center;
	}
}

/*-----------------------------------------
header
------------------------------------------*/
header {
	position: fixed;
	width:100%;
	top:0;
	z-index: 100;
}
header.smaller {
	background: linear-gradient(180deg,rgba(0, 0, 0, 1) 20%, rgba(0, 0, 0, 0.01) 100%);
}
@media (width < 767px) {
	header {
		height:14vw;
	}
	.header-inner {
		padding-top:2vw;
		padding-right:11vw;
	}
	.header-logo h1,
	.header-logo a,
	.header-logo img {
		display:block;
		width:auto;
		height:10vw;
	}
	.header-menu {
		display: none;
	}
}
@media (768px <= width) {
	header {
		height:110px;
	}
	.header-inner {
		display:flex;
		justify-content: space-between;
		align-items: center;
		width:100%;
		height:110px;
	}
	.header-logo h1,
	.header-logo a {
		display:block;
		width:150px;
	}
	.header-menu ul {
		display:flex;
		justify-content: flex-end;
		gap:50px;
	}
	.header-menu a {
		position: relative;
		overflow: hidden;
		font-size:var(--font-pc-normal);
		display: block;
	}
	.header-menu a:before {
		content:"";
		background:var(--grad);
		width:100%;
		height:1px;
		position: absolute;
		bottom:0;
		left:0;
		transform: scale(0, 1);
		transform-origin: top left;
		transition: all 0.3s;
	}
	.header-menu a:hover {
		color:var(--color-main);
	}
	.header-menu a:hover:before {
		transform: scale(1, 1);
	}
}
/*-----------------------------------------
drawr
------------------------------------------*/
.drawer-btn {
	position: fixed;
	top:0px;
	right:0px;
	margin-left:auto;
	margin-right:0;
	cursor: pointer;
	z-index: 999;
}
.drawer-btn span {
	position: absolute;
	display:block;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	text-indent:100%;
	white-space:nowrap;
}
.drawer-btn span:before,.drawer-btn span:after {
	content: '';
	display: inline-block;
	border-top: 1px solid var(--color-white);
	position: absolute;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.drawer-btn-peke span:before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.drawer-btn-peke span:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.drawer {
	display: none;
	background:var(--grad);
	position: fixed;
	top: 0px;
	right:0;
	width:90vw;
	height:100dvh;
	overflow-y:auto;
	overflow-x:hidden;
	z-index: 998;
}
.drawer-logo {
	display:block;
	width:30vw;
	height:30vw;
	margin-left:auto;
	margin-right:auto;
	padding-top:30px;
}
.drawer-menu a {
	color:var(--color-white);
	display:block;
	position: relative;
}
@media screen and (max-width :767px){
	.drawer-container {
		padding-left:5vw;
		padding-right:5vw;
	}
	.drawer-btn {
		width:16vw;
		height:16vw;
	}
	.drawer-btn span {
		width: 6vw;
		height:6vw;
		top:14px;
		right:10px;
	}
	.drawer-btn span:before {
		width: 6vw;
		right:0;
		bottom:12px;
	}
	.drawer-btn span:after {
		width: 6vw;
		right:0;
		bottom: 18px;
	}
	.drawer-btn.drawer-btn-peke {
		background-color:transparent;
	}
	.drawer-btn.drawer-btn-peke span:before{
		width:6vw;
		bottom:8px;
	}
	.drawer-btn.drawer-btn-peke span:after {
		width:6vw;
		bottom:8px;
	}
	.drawer-menu {
		width:80vw;
	}
	.drawer-menu>ul {
		border-top:1px solid rgba(255,255,255,0.2);
	}
	.drawer-menu>ul>li {
		border-bottom:1px solid rgba(255,255,255,0.2);
	}
	.drawer-menu a {
		padding-top:4vw;
		padding-bottom:4vw;
		padding-left:2vw;
	}
	.drawer-menu .sub-menu a {
		padding-left:8vw;
	}
}
@media (768px <= width) {
	.drawer-btn,
	.drawer {
		display:none;
	}
}
/*-----------------------------------------
mainvisual
------------------------------------------*/
.mainvisual {
	position: relative;
	z-index: 1;
	top:0;
	width:100%;
}
.mainvisual-normal:before {
	content:"";
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:var(--color-black);
	animation-name:mainvisual-normal-bg;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: both;
	animation-duration:1s;
	backface-visibility: hidden;
}
@keyframes mainvisual-normal-bg {
	0% {opacity: 1}
	100% {opacity: 0}
}
.mainvisual-normal:after {
	content:"";
	position: fixed;
	z-index: 1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-repeat: no-repeat;
	background-size:100% auto;
	background-position: center top;
}
.mainvisual-about:after {
	background-image:url(images/mainvisual-about.webp);
}
.mainvisual-archive:after {
	background-image:url(images/mainvisual-archive.webp);
}
.mainvisual-single:after {
	background-image:url(images/mainvisual-archive.webp);
	opacity: 0.3;
}
.mainvisual-contact:after {
	background-image:url(images/mainvisual-contact.webp);
}
.mainvisual-service:after {
	background-image:url(images/mainvisual-service.webp);
}
.mainvisual-recruit:after {
	background-image:url(images/mainvisual-recruit.webp);
}
.mainvisual-other:after {
	background-image:url(images/mainvisual-other.webp);
}
.mainvisual-top {
	height:100dvh;
}
.mainvisual-top:before {
	content:"";
	position: absolute;
	z-index: 1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:var(--color-black);
	animation-name:mainvisual-top-bg;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: both;
	animation-duration:2s;
	backface-visibility: hidden;
}
@keyframes mainvisual-top-bg {
	0% {opacity: 1}
	70% {opacity: 1}
	100% {opacity: 0}
}
.mainvisual-normal-inner,
.mainvisual-top-inner,
.mainvisual-single-inner {
	position: absolute;
	z-index: 10;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	text-align: center;
}
.mainvisual-normal-inner h1 {
	letter-spacing: 0.2em;
}
.mainvisual-single-inner h1 {
	letter-spacing: 0.2em;
	text-align: left;
}
.mainvisual-top-logo {
	position: relative;
	z-index: 1;
}
.mainvisual-top-word,
.mainvisual-normal-word {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mainvisual-top-word span,
.mainvisual-normal-word span {
	display: block;
	animation-name:mainvisual-put;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: both;
	animation-duration:0.4s;
	backface-visibility: hidden;
}
@keyframes mainvisual-put {
	0% {transform:scale(800%); opacity: 0}
	100% {transform:scale(100%); opacity: 1}
}
.mainvisual-top-word:after {
	content:"";
	height:3px;
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	background: linear-gradient(90deg,rgba(91, 100, 242, 1) 0%, rgba(209, 50, 50, 1) 33%, rgba(57, 209, 50, 1) 66%, rgba(165, 80, 205, 0.01) 100%);
}
.mainvisual-top-spenit {
	text-align: center;
	letter-spacing: 0.4em;
}
.single-date {
	position: absolute;
	bottom:1em;
	left:50%;
	transform: translateX(-50%);
	letter-spacing: 0.1em;
}
@media (width < 767px) {
	.mainvisual-top-logo {
		height:16vw;
		margin-bottom:8vw;
	}
	.mainvisual-top-logo img {
		position: absolute;
		top:calc(50% - 8vw);
		left:calc(50% - 8vw);
		width:16vw;
		height:16vw;
	}
	.mainvisual-top-word {
		gap:1vw;
	}
	.mainvisual-top-word span {
		font-size:8vw;
	}
	.mainvisual-top-word:after {
		width:75vw;
		bottom:-6vw;
	}
	.mainvisual-top-spenit {
		margin-top:12vw;
		line-height: 150%;
	}
	.mainvisual-normal {
		aspect-ratio:16 / 9;
	}
	.mainvisual-normal-inner h1 {
		padding-top:1vw;
	}
	.mainvisual-normal-word {
		gap:1vw;
	}
	.mainvisual-normal-word span {
		font-size:7vw;
	}
	.mainvisual-single-inner {
		width:80vw;
	}
}
@media (768px <= width) {
	.mainvisual-top-logo {
		height:8vw;
		margin-bottom:35px;
	}
	.mainvisual-top-logo img {
		position: absolute;
		top:calc(50% - 4vw);
		left:calc(50% - 4vw);
		width:8vw;
		height:8vw;
	}
	.mainvisual-top-word {
		gap:16px;
	}
	.mainvisual-top-word span {
		font-size:60px;
	}
	.mainvisual-top-word:after {
		width:520px;
		bottom:-24px;
	}
	.mainvisual-top-spenit {
		margin-top:48px;
	}
	.mainvisual-normal {
		aspect-ratio:3 / 1;
	}
	.mainvisual-normal-inner h1 {
		font-size:var(--font-pc-x-large);
		padding-top:1em;
	}
	.mainvisual-single-inner h1 {
		font-size:var(--font-pc-x-large);
	}
	.mainvisual-normal-word {
		gap:8px;
	}
	.mainvisual-normal-word span {
		font-size:72px;
	}
}
/*-----------------------------------------
btn
------------------------------------------*/
.btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn span {
	position: relative;
	z-index: 10;
}
.btn-normal {
	border:1px solid;
	border-image: linear-gradient(to left, #a550cd, #5b64f2) 1;
	margin-left:auto;
	margin-right:auto;
}
.btn-normal:hover {
	border:1px solid;
	border-image: linear-gradient(to right, #a550cd, #5b64f2) 1;
}
.btn-normal:before {
	font-family: 'icomoon';
	content: "\e901";
	position: absolute;
	z-index: 10;
	right:0.75em;
	top:0;
	color:var(--color-main);
	transition: all 0.4s;
}
.btn-normal:hover:before {
	right:0.4em;
	color:var(--color-white);
}
.btn-normal:after {
	content:"";
	position: absolute;
	z-index: 1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--grad);
	opacity: 0;
	transition: all 0.4s;
}
.btn-normal:hover:after {
	opacity: 1;
}
.btn-reverse {
	border:1px solid;
	border-image: linear-gradient(to right, #a550cd, #5b64f2) 1;
	margin-left:auto;
	margin-right:auto;
}
.btn-reverse:hover {
	border:1px solid;
	border-image: linear-gradient(to left, #a550cd, #5b64f2) 1;
}
.btn-reverse:before {
	font-family: 'icomoon';
	content: "\e901";
	position: absolute;
	z-index: 10;
	left:0.75em;
	top:0;
	color:var(--color-main);
	transform: scale(-1, 1);
	transition: all 0.4s;
}
.btn-reverse:hover:before {
	left:0.4em;
	color:var(--color-white);
}
.btn-reverse:after {
	content:"";
	position: absolute;
	z-index: 1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--grad-reverse);
	opacity: 0;
	transition: all 0.4s;
}
.btn-reverse:hover:after {
	opacity: 1;
}
.btn-box {
	position: relative;
	z-index: 1;
	background-color:var(--color-black);
	padding:1px 0;
}
.btn-submit {
	border:none;
	display:block;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	cursor:pointer;
	text-align: center;
	background:var(--grad);
	transition: all 0.8s;
}
.btn-submit:hover {
	filter: brightness(1.5);
}
@media (width < 767px) {
	.btn-normal,
	.btn-reverse,
	.btn-submit {
		max-width:60vw;
		height:12vw;
		line-height: 12vw;
		margin-top:10vw;
		margin-bottom:10vw;
	}
	.btn-normal:before,
	.btn-reverse:before {
		width:6vw;
		height:6vw;
		font-size:6vw;
	}
}
@media (768px <= width) {
	.btn-normal,
	.btn-reverse,
	.btn-submit {
		max-width:300px;
		height:48px;
		line-height: 48px;
		margin-top:60px;
		margin-bottom:60px;
	}
	.btn-normal:before,
	.btn-reverse:before {
		width:20px;
		height:20px;
		font-size:20px;
	}
}
/*-----------------------------------------
title
------------------------------------------*/
.tt-grad {
	display: inline-block;
	background:var(--grad);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
/*-----------------------------------------
newslist
------------------------------------------*/
.newslist {
	position: relative;
	z-index: 10;
	border-top:1px solid var(--color-line);
}
.newslist li {
	border-bottom:1px solid var(--color-line);
}
.newslist-tip {
	display:flex;
	justify-content: flex-start;
	align-items: center;
}
.newslist-tip span {
	display:block;
	width:64px;
	height:16px;
	line-height:16px;
	font-size:12px;
	text-align: center;
}
.newslist-tip span.category-news {
	background-color:var(--color-sub);
}
.newslist-tip span.category-press {
	background-color:#23743e;
}
.newslist-tip span.category-ir {
	background-color:var(--color-line);
}
.newslist li a {
	display:block;
	line-height: 150%;
	position: relative;
}
.newslist li a:hover {
	color:var(--color-main);
}
.newslist li a:after {
	font-family: 'icomoon';
	content: "\e901";
	position: absolute;
	z-index: 10;
	right:0.75em;
	top:50%;
	transform: translateY(-50%);
	transition: all 0.4s;
}
.newslist li a:hover:after {
	right:0.25em;
}
.wp-pagenavi {
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom:1px solid var(--color-gray);
}
.wp-pagenavi a,
.wp-pagenavi span {
	position: relative;
	display:block;
	text-align: center;
}
.wp-pagenavi span {
	color:var(--color-main);
}
.wp-pagenavi span:after {
	content:"";
	position: absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background-color:var(--color-main);
}
@media (width < 767px) {
	.newslist li {
		padding:4vw 0;
	}
	.newslist-tip {
		gap:2vw;
		padding-bottom:4vw;
	}
	.newslist li a {
		padding-right:16vw;
	}
	.newslist li a:after {
		font-size:6vw;
	}
	.pagenavi {
		padding-top:8vw;
		text-align: center;
	}
	.wp-pagenavi {
		gap:4vw;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		width:10vw;
		height:10vw;
		line-height: 10vw;
	}
}
@media (768px <= width) {
	.newslist li {
		padding:20px 0;
	}
	.newslist-tip {
		gap:16px;
		padding-bottom:16px;
	}
	.newslist li a {
		padding-right:60px;
	}
	.newslist li a:after {
		font-size:24px;
	}
	.archive-list {
		padding:80px;
	}
	.pagenavi {
		padding-top:60px;
		text-align: center;
	}
	.wp-pagenavi {
		gap:8px;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		width:48px;
		height:48px;
		line-height: 48px;
	}
}
/*-----------------------------------------
form
------------------------------------------*/
.form input[type=text],
.form input[type=tel],
.form input[type=email],
.form select,
.form textarea {
	border:none;
	background-color:var(--color-gray);
	line-height: 150%;
	padding:0.5em;
	width:100%;
	resize: none;
}
.form .wpcf7-text wpcf7-validates-as-required,
.form input:-webkit-autofill,
.form input:-internal-autofill-selected {
	background-color:var(--color-gray) !important;
}
.form input[type=text]:focus,
.form input[type=tel]:focus,
.form input[type=email]:focus,
.form select:focus,
.form textarea:focus {
	outline:1px solid var(--color-main);
}
.form .wpcf7 input::file-selector-button {
	background:var(--grad);
	border:none;
	color:var(--color-white);
	margin-right:1em;
	cursor:pointer;
}
.form dt,
.form dd {
	position: relative;
	padding-top:0.25em;
}
.hissu:before,
.nini:before {
	position: relative;
	padding:0.25em 1.5em;
	line-height:1.5em;
	margin-right:1em;
}
.hissu:before {
	content:"\5FC5\9808";
	background:var(--color-main);
}
.nini:before {
	content:"\4EFB\610F";
	background:var(--color-gray);
}
.doui-box span {
	display:inline-block;
	width:100%;
	margin:0;
}
.doui-box label span {
	display:inline;
	cursor:pointer;
}
.doui-box label {
	display:block;
	background:var(--color-main);
	padding:0.5em;
}
.form .wpcf7-not-valid-tip {
	color:var(--color-main);
}
@media (width < 767px) {
	.form dl {
		display:grid;
		grid-row-gap: 8vw;
		padding-top:6vw;
		padding-bottom:6vw;
	}
	.hissu:before,
	.nini:before {
		font-size:var(--font-sp-small);
	}
}
@media (768px <= width) {
	.form dl {
		display:grid;
		grid-template-columns: 250px 1fr;
		grid-column-gap: 20px;
		grid-row-gap: 30px;
		padding-top:60px;
		padding-bottom:60px;
	}
	.hissu:before,
	.nini:before {
		font-size:var(--font-pc-small);
	}
}
#autozip,
#zip_close a {
	background-color:var(--color-main) !important;
}
/*-----------------------------------------
top-sec-1
------------------------------------------*/
.top-sec-1 {
	position: relative;
	z-index: 2;
	background-color:var(--color-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 1s;
	opacity: 0.5;
}
.top-sec-1.putactionon {
	opacity: 1;
}
.top-sec-1-logo {
	position: relative;
}
@media (width < 767px) {
	.top-sec-1 {
		padding-top:10vw;
	}
	.top-sec-1-logo {
		padding:10vw 30vw;
	}
}
@media (768px <= width) {
	.top-sec-1 {
		min-height:100dvh;
	}
	.top-sec-1-grid {
		grid-template-columns: 1fr 2fr;
	}
	.top-sec-1-word {
		padding-left:50px;
		padding-right:30px;
	}
}
/*-----------------------------------------
top-sec-2
------------------------------------------*/
.top-sec-2 {
	position: relative;
	z-index: 2;
	overflow: hidden;
	width:100%;
}
.top-sec-2-tt {
	position: relative;
	width:100%;
}
.top-sec-2-tt h2 {
	position: relative;
	z-index: 20;
}
.top-sec-2-tt .tt-grad {
	opacity: 0.3 !important;
	z-index: 10;
}
.slide-pic {
	display: block;
	box-shadow:0 2px 6px 3px rgba(0,0,0,0.5);
}
@media (width < 767px) {
	.top-sec-2 {
		padding:10vw 0;
	}
	.top-sec-2 h2 {
		text-align: center;
		padding:0 8vw 8vw 8vw;
	}
	.top-recent {
		margin-bottom:12vw;
	}
}
@media (768px <= width) {
	.top-sec-2 {
		min-height:680px;
	}
	.top-sec-2-tt {
		height:160px;
	}
	.top-sec-2-tt h2 {
		height:160px;
		line-height: 150px;
		padding-left:12.5vw;
	}
	.top-sec-2-tt .tt-grad {
		position: absolute;
		top:0;
		right:0;
		height:160px;
		width:100%;
		text-align: right;
		font-size:150px;
	}
	.top-recent {
		margin-bottom:100px;
	}
}
/*-----------------------------------------
top-sec-3
------------------------------------------*/
.top-sec-3 {
	position: relative;
	z-index: 3;
	background-color:var(--color-black);
	display: flex;
	align-items: center;
	justify-content: center;
}
.top-sec-3:before {
	content:"";
	position: absolute;
	z-index: 1;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:var(--grad);
	opacity: 0.5;
	transition: all 0.8s;
}
.top-sec-3.show:before {
	opacity: 0;
}
@media (width < 767px) {
	.top-sec-3 {
		padding-top:15vw;
	}
	.top-sec-3-tt {
		position: absolute;
		top:-8vw;
		left:5vw;
		width:90vw;
		height:15vw;
		opacity: 1;
	}
	.top-sec-3-tt .tt-grad {
		font-size:15vw;
		height:15vw;
	}
}
@media (768px <= width) {
	.top-sec-3 {
		padding-top:80px;
		min-height:56.25vw;
	}
	.top-sec-3-tt {
		position: absolute;
		top:160px;
		left:-100px;
		height:150px;
		transform: rotate(90deg);
		opacity: 0.3;
	}
	.top-sec-3-tt .tt-grad {
		font-size:150px;
		height:150px;
	}
	.top-newslist {
		margin-left:12.5vw;
	}
}
/*-----------------------------------------
top-sec-4
------------------------------------------*/
.top-sec-3 {
	position: relative;
	z-index: 2;
}
.top-recruit-word {
	text-align: center;
}
.top-recruit-word .tt-grad {
	padding-bottom:0.5em;
}
@media (width < 767px) {
	.top-recruit-pic {
		padding-bottom:4vw;
	}
	.top-recruit-word .tt-grad {
		font-size:15vw;
	}
}
@media (768px <= width) {
	.top-sec-4 {
		min-height:75dvh;
		display:flex;
		justify-content: center;
	}
	.top-recruit-grid {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-right:auto;
	}
	.top-recruit-pic {
		width:60%;
		max-width:800px;
	}
	.top-recruit-word {
		width:40%;
		padding-top:2vw;
		padding-left:6.8vw;
		padding-right:6.8vw;
	}
	.top-recruit-word .tt-grad {
		font-size:4.7vw;
	}
}
/*-----------------------------------------
about-sec-1 & sec-2
------------------------------------------*/
.about-sec-1-tt {
	position: relative;
	text-align: center;
}
.about-sec-1-tt h2 {
	position: relative;
	font-weight: 500;
}
.about-sec-1-tt h2:after {
	content:"";
	background:var(--grad);
	width:100%;
	height:1px;
	position: absolute;
	bottom:0;
	left:0;
	transform: scale(0, 1);
	transform-origin: top left;
	transition: all 1s 0.5s;
}
.about-sec-1-tt.putactionon h2:after {
	transform: scale(0.95, 1);
}
.about-sec-1-tt p {
	margin-top:2em;
}
.about-sec-1 
.greeting-pic p {
	margin-top:1em;
	font-size:smaller;
}
.about-sec-1-mv h3 {
text-align:center;
font-weight:500;
margin-bottom:1em;
}
.about-sec-1-mv h4 {
margin-bottom:1em;
}
@media (width < 767px) {
	.about-sec-1-tt h2 {
		font-size:var(--font-sp-xxx-large);
	}
	.greeting-txt p {
		padding-bottom:2em;
	}
	.greeting-pic {
		text-align: center;
		padding:5vw 15vw;
	}
}
@media (768px <= width) {
	.about-sec-1-tt h2 {
		font-size:60px;
	}
	.about-sec-1-tt p {
		text-align: center;
		font-size:var(--font-pc-large);
	}
	.greeting-grid {
		grid-template-columns: 2fr 1fr;
	}
	.greeting-txt {
		padding-right:60px;
	}
	.about-sec-1-mv h3 {
		font-size:var(--font-pc-large);
	}
	.about-sec-1-mv h4 {
		font-size:var(--font-pc-large);
	}
}
/*-----------------------------------------
about-sec-3
------------------------------------------*/
.about-sec-3 .tt-grad {
	position: absolute;
	z-index: 10;
	text-align: left;
	transform-origin: left top;
}
.data-grid {
	position: relative;
	z-index: 1;
}
.data-pic {
	background-image:url(images/bg-data.webp);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
.data-box table {
	border-top:1px solid var(--color-white);
}
.data-box tr {
	border-bottom:1px solid var(--color-white);
}
.data-box td {
	vertical-align: top;
	line-height: 175%;
}
.gmap {
	filter: grayscale(100%) invert(100%);
	margin-top:2em;
}
@media (width < 767px) {
	.about-sec-3 .tt-grad {
		font-size:12vw;
		left:5vw;
		transform:translateY(-50%);
		opacity: 1;
	}
	.data-pic {
		aspect-ratio:3 / 1;
	}
	.data-box {
		padding:8vw 5vw;
	}
	.data-box table tbody tr td {
		display: block;
		padding-bottom:4vw;
	}
	.data-box table tbody tr td:first-child {
		padding-top:4vw;
	}
}
@media (768px <= width) {
	.about-sec-3 .tt-grad {
		font-size:120px;
		transform: rotate(90deg) translateY(-1em);
		opacity: 0.3;
	}
	.data-grid {
		grid-template-columns: 1fr 2fr;
		grid-column-gap: 60px;
	}
	.data-box {
		padding:90px 0;
	}
	.data-box td {
		padding-top:1em;
		padding-bottom:1em;
	}
	.data-box table tbody tr td:first-child {
		min-width:150px;
	}

}
/*-----------------------------------------
service
------------------------------------------*/
.service-zu img {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.servicelist-pic {
	position: relative;
}
.servicelist-pic img {
	display: block;
	position: relative;
	z-index: 2;
}
.servicelist h3 {
	line-height: 150%;
	font-weight:700;
}
@media (width < 767px) {
	.service-tt {
		padding-bottom:6vw;
	}
	.service-tt h2 {
		font-size:var(--font-sp-x-large);
	}
	.servicelist {
		display:grid;
		grid-row-gap: 10vw;
		padding-left:3vw;
		padding-right:3vw;
		padding-bottom:10vw;
	}
	.servicelist-txt {
		font-size:var(--font-sp-small);
	}
	.servicelist h3 {
		padding:1em 0;
		margin-bottom:0;
	}
	.servicelist-txt {
		line-height: 150%;
	}
}
@media (768px <= width) {
	.service-zu img {
		max-width:640px;
	}
	.service-tt {
		padding-bottom:40px;
	}
	.service-tt h2 {
		font-size:var(--font-pc-x-large);
	}
	.servicelist {
		display:grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 48px;
		grid-row-gap: 48px;
		padding-bottom:60px;
	}
	.servicelist li {
		display:grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		grid-row-gap: 8px;
	}
	.servicelist a {
		display: inherit;
		grid-template-rows: inherit;
		grid-row: inherit;
	}
	.servicelist-pic:after {
		content:"";
		aspect-ratio: 16 / 9;
		position: absolute;
		z-index: -1;
		top:0;
		left:0;
		width:100%;
		background:var(--grad);
		transition: all 0.3s;
		opacity: 0.1;
	}
	.servicelist-pic:hover:after {
		transform: rotate(-10deg);
		filter: brightness(1.2);
		opacity: 0.5;
	}
	.servicelist h3 {
		padding-top:12px;
		text-align: center;
		margin-bottom:0;
	}
	.servicelist-txt {
		font-size:var(--font-pc-small);
	}
}
/*-----------------------------------------
recruit-sec-1
------------------------------------------*/
.recruit-sec-1-tt {
	position: relative;
	text-align: center;
}
.recruit-sec-1-tt h2 {
	position: relative;
	font-weight: 500;
}
.recruit-sec-1-tt h2:after {
	content:"";
	background:var(--grad);
	width:100%;
	height:1px;
	position: absolute;
	bottom:0;
	left:0;
	transform: scale(0, 1);
	transform-origin: top left;
	transition: all 1s 0.5s;
}
.recruit-sec-1-tt.putactionon h2:after {
	transform: scale(0.95, 1);
}
.recruit-sec-1-tt p {
	margin-top:2em;
}
@media (width < 767px) {
	.recruit-sec-1-tt h2 {
		font-size:var(--font-sp-xxx-large);
	}
	.recruit-sec-1-tt p {
		text-align: left;
		padding-bottom:15vw;
	}
	.recruit-sec-leader-txt {
		padding-bottom: 8vw;
	}
	.recruit-sec-leader-txt,
	.recruit-sec-leader-txt p {
		font-size:var(--font-sp-small);
	}
	.recruit-sec-leader-txt h3 {
		font-size:var(--font-sp-x-large);
		margin:1em auto;
	}
}
@media (768px <= width) {
	.recruit-sec-1-tt h2 {
		font-size:60px;
	}
	.recruit-sec-1-tt p {
		text-align: center;
	}
	.recruit-sec-leader {
		display:grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		margin-top:90px;
	}
	.recruit-sec-leader-1 .recruit-sec-leader-pic,
	.recruit-sec-leader-3 .recruit-sec-leader-pic {
		grid-area: 1 / 2 / 2 / 3;
	}
	.recruit-sec-leader-1 .recruit-sec-leader-txt,
	.recruit-sec-leader-3 .recruit-sec-leader-txt {
		grid-area: 1 / 1 / 2 / 2;
		padding-right:40px;
	}
	.recruit-sec-leader-2 .recruit-sec-leader-txt {
		padding-left:40px;
	}
	.recruit-sec-leader-txt h3 {
		font-size:var(--font-pc-x-large);
		margin-bottom:1em;
	}
}
/*-----------------------------------------
recruit-sec-2
------------------------------------------*/
@media (width < 767px) {
	.recruit-sec-2 .tt-grad {
		padding:8vw 0;
		font-size:var(--font-sp-x-large);
	}
}
@media (768px <= width) {
	.recruit-sec-2 .tt-grad {
		padding:60px 0 30px 0;
		font-size:var(--font-pc-x-large);
	}
}
/*-----------------------------------------
recruit-sec-3
------------------------------------------*/
.recruit-sec-3 .tt-grad {
	position: absolute;
	z-index: 10;
	text-align: left;
	transform-origin: left top;
}
.recruit-sec-3 h3 {
	text-align: center;
	position: relative;
	z-index: 20;
}
.recruit-sec-3 .data-box table {
	width:100%;
}
.recruit-sec-3 .data-box table th,
.recruit-sec-3 .data-box table td {
	text-align: left;
	font-weight: 400;
}
@media (width < 767px) {
	.recruit-sec-3 {
		padding-top:10vw;
	}
	.recruit-sec-3 .tt-grad {
		font-size:12vw;
		left:5vw;
		transform:translateY(-50%);
		opacity: 0.3;
	}
	.data-box table tbody tr th {
		display: block;
		padding-top:4vw;
	}
}
@media (768px <= width) {
	.recruit-sec-3 {
		min-height:540px;
	}
	.recruit-sec-3 .tt-grad {
		font-size:120px;
		transform: rotate(90deg) translateY(-1em);
		opacity: 0.3;
	}
	.recruit-sec-3 h3 {
		font-size:var(--font-pc-x-large);
		padding-top:80px;
	}
	.recruit-sec-3 .data-box {
		padding-top:40px;
	}
	.recruit-sec-3 .data-box th {
		width:160px;
	}
	.recruit-sec-3 .data-box td {
		padding-left:20px;
	}
}
/*-----------------------------------------
recruit-cta
------------------------------------------*/
.recruit-cta {
	background-color:var(--color-dark);
	position: relative;
	z-index: 10;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.recruit-cta .form {
	text-align:left;
}
@media (width < 767px) {
	.recruit-cta {
		min-height:100vw;
		padding-top:8vw;
	}
	.recruit-cta p {
		font-size:var(--font-sp-small);
		padding-left:5vw;
		padding-right:5vw;
	}
}
@media (768px <= width) {
	.recruit-cta {
		min-height:440px;
		padding-top:80px;
	}
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	background-color:var(--color-black);
	position: relative;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height:100dvh;
}
.footer-logo {
	display: block;
	text-align: center;
	margin-left:auto;
	margin-right:auto;
}
.footer-sns {
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer-sns a {
	position: relative;
}
.footer-sns a:before {
	font-family: 'icomoon';
	position: absolute;
	top:0;
	left:0;
	font-weight: 400;
}
.footer-sns-x:before {
	content: "\e900";
}
.footer-sns-fb:before {
	content: "\e902";
}
.footer-sns-in:before {
	content: "\eac9";
}
.footer-menu ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer-submenu {
	margin-top:1.5em;
}
.footer-menu a:hover {
	color:var(--color-main);
}
@media (width < 767px) {
	.footer-logo {
		width:30vw;
		height:30vw;
	}
	.footer-sns {
		gap:8vw;
		margin-bottom:4vw;
	}
	.footer-sns a,
	.footer-sns a:before {
		width:8vw;
		height:8vw;
		font-size:6vw;
	}
	.footer-menu ul {
		gap:4vw;
	}
	.footer-menu a {
		font-size:var(--font-sp-small);
	}
	.credit {
		position: absolute;
		bottom:8vw;
		right:2vw;
		padding-left:2vw;
		font-size:var(--font-sp-x-small);
	}
}
@media (768px <= width) {
	.footer-logo {
		width:200px;
		height:200px;
	}
	.footer-sns {
		gap:40px;
		margin-bottom:40px;
	}
	.footer-sns a,
	.footer-sns a:before {
		width:40px;
		height:40px;
		font-size:32px;
	}
	.footer-menu ul {
		gap:40px;
	}
	.credit {
		position: absolute;
		bottom:1em;
		right:1em;
		font-size:var(--font-pc-x-small);
	}
}
/*-----------------------------------------
visual-editor
------------------------------------------*/
.single-contents h2 {
	position: relative;
	z-index: 2;
	line-height: 150%;
}
.single-contents h2:before {
	content:"";
	position: absolute;
	z-index: 3;
	left:0;
	background-color:var(--color-main);
	width:2.5em;
	height:1px;
}
.single-contents h2:after {
	content:"";
	position: absolute;
	z-index: 2;
	left:0;
	background-color:var(--color-line);
	width:100%;
	height:1px;
}
.single-contents .container-txt>h2 {
	padding-top:0;
}
.single-contents h3 {
	padding:1.5em 0;
	line-height: 150%;
}
.single-contents h4 {
	padding:1em 0;
	line-height: 150%;
	color:var(--color-main);
}
.single-contents ul,
.single-contents ol {
	margin-top:1em;
	margin-bottom:1em;
}
.graybox,
.purplebox,
.bluebox {
	padding:0.5em 0.75em;
	line-height:150%;
	margin:2em auto;
}
.graybox {
	background-color:var(--color-gray);
}
.purplebox {
	background-color:var(--color-main);
}
.bluebox {
	background-color:var(--color-sub);
}
.single-contents table {
	width:100%;
	border-top:1px solid var(--color-line);
	border-left:1px solid var(--color-line);
}
.single-contents table thead tr th,
.single-contents table thead tr td {
	background-color:var(--color-gray);
}
.single-contents table thead tr th,
.single-contents table thead tr td,
.single-contents table tbody tr th,
.single-contents table tbody tr td {
	border-right:1px solid var(--color-line);
	border-bottom:1px solid var(--color-line);
	padding:0.5em 0.75em;
	line-height:150%;
	margin:2em auto;
}
@media (width < 767px) {
	.single-contents h2 {
		font-size:var(--font-sp-large);
		padding:2em 0;
	}
	.single-contents h2:before,
	.single-contents h2:after {
		bottom:1em;
	}
	.single-contents h3 {
		font-size:var(--font-sp-large);
	}
}
@media (768px <= width) {
	.single-contents h2 {
		font-size:var(--font-pc-x-large);
		padding:3em 0;
	}
	.single-contents h2:before,
	.single-contents h2:after {
		bottom:2em;
	}
	.single-contents h3 {
		font-size:var(--font-pc-large);
	}
}