/*header*/


div#hearWrapper {
	width:100%;
	min-width:var(--min-width);
	height: 90px;
	background:#fff;
	position: fixed;
	top:0;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
	z-index: 2;
}
div#header{
	width:100%;
	max-width:var(--max-width);
	margin:auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
ul.nav{
	display: flex;
	justify-content: center;
	gap:40px;
	margin-top:50px;
}
ul.nav li{
	position: relative;
}
ul.nav a{
	color:#000;
	display: block;
}
ul.nav a::after{
	content: "";
	width:0%;
	height: 1.5px;
	position: absolute;
	margin:auto;
	left:0;
	right:0;
	bottom:-5px;
	background:var(--blue-color);
	transition: width 0.2s;
}
ul.nav a:hover::after,
ul.nav li.active a::after{
	content: "";
	width:100%;
	transition: width 0.2s;
}
div#header h1{
	margin-left:50px;
}
a.inquiry{
	display: block;
	width:200px;
	height: 43px;
	border-radius: 8px;
	background-color:var(--blue-color);
	text-align: center;
	background-image:url("../images/icon_inquiry.svg");
	background-position: left 20px center;
	background-repeat: no-repeat;
	background-size:18px;
	line-height: 43px;
	color:#fff;
}
a.inquiry:hover{
	background-color:var(--frage-color);
}
/*main visual*/
div.mainVisualWrapper{
	width:100%;
	height: calc(100vh - var(--header-height) - 330px);
	position: relative;
}
div.mainVisualWrapper p.catch{
	position: absolute;
	top:96px;
	left:25px;
	right:0;
	width:100%;
	min-width:var(--min-width);
	max-width:var(--max-width);
	margin:auto;
	font-size:24px;
	font-weight: bold;
	color:var(--frage-color);
	line-height: 3em;
}
div.mainVisual{
	height: calc(100vh - var(--header-height) - 330px);
	width:93%;
	border-top-right-radius: 22px;
	border-bottom-right-radius: 22px;
	overflow: hidden;
}
div.mainVisual img{
	width:100%;
	height: calc(100vh - var(--header-height) - 230px);
	object-fit:cover !important;
	object-position: center !important;
	position: absolute;
}
/*slick*/
button.slick-arrow {
	text-indent: -9999px;
	position: absolute;
	width: 30px;
	height: 30px;
	z-index: 1;
	border: none;
	cursor: pointer;
	background-size: 30px;
	top:calc((100% / 2) - 80px);
	background-repeat: no-repeat;
}
button.slick-prev {
	background-image: url("../images/slick_prev2.svg");
	background-position:center top;
	left: 15px;
}
button.slick-prev:hover {
	background-image: url("../images/slick_prev2.svg");
	background-position:center bottom;
}
button.slick-next {
	background-image: url("../images/slick_next2.svg");
	background-position:center top;
	right: 15px;
}
button.slick-next:hover {
	background-image: url("../images/slick_next2.svg");
	background-position:center bottom ;
}
ul.slick-dots {
	width: 100%;
	height: 20px;
	text-align: center;
	overflow: hidden;
	position: absolute;
	bottom: 0;
}
ul.slick-dots li {
	text-indent: -9999px;
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--gra7-color);
	border-radius: 10px;
	margin: 5px;
}
li.slick-active {
	background-color: var(--gra1-color) !important;
}
.slick-slide img{
	width:320px;
	height: auto;
	object-fit: cover;
}
/*end of slick*/
/*main*/
div.wrapper{
	width:100%;
	min-width:var(--min-width);
	position: relative;
	overflow: hidden;
}
div.wrapper.blue::before{
	content:"";
	width:100%;
	height: calc(100% - 580px);
	background:rgba(225,239,245,0.42);
	position: absolute;
	z-index: 0;
	margin:auto;
	top:380px;
	left:0;
	right:0;
}
div.wrapper.blue2::before{
	content:"";
	width:100%;
	height: calc(100% - 470px);
	background:rgba(225,239,245,0.42);
	position: absolute;
	z-index: 0;
	margin:auto;
	top:335px;
	left:0;
	right:0;
}
div.wrapper.topmargin{
	margin-top:var(--header-height);
}
div.wrapper.works{
	background-image:url("../images/footer_img.jpg");
	background-size:cover;
}
div.wrapper.inquiry{
	padding:145px 0;
	margin-top:210px;
}
div.wrapper.inquiry::before{
	content: "";
	width:calc(93%);
	height: 100%;
	background:var(--blue-color);
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
}
div.secondVisual{
	width:100%;
	height: 20vh;
	min-height: 520px;
}
div.secondVisual::before{
	content: "";
	width:calc(93%);
	height: 100%;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
}
div.secondVisual.company::before{
	background:url("../images/title1.jpg");
}
div.secondVisual.news::before{
	background:url("../images/title2.jpg");
}
div.secondVisual.biz::before{
	background:url("../images/title3.jpg");
}
div.secondVisual.works::before{
	background:url("../images/title4.jpg");
}
div.secondVisual.privacy::before{
	background:url("../images/title5.jpg");
}
div.secondVisual.recruit::before{
	background:url("../images/title6.jpg");
}
div.contents{
	width:100%;
	max-width:var(--max-width);
	margin:auto;
	overflow: hidden;
}
div.contents.min-width{
	max-width: var(--min-width);
}
div.topMessage{
	width:100%;
	height: 230px;
	display: flex;
	align-items: center;
}
div.topMessage h1{
	font-size:40px;
	font-size:24px;
	font-weight: bold;
	color:var(--frage-color);
	margin-left:50px;
}
div.topMessage span{
	font-weight: normal;
	display: block;
}
div.contents h2.general{
	font-size:30px;
	font-size:24px;
	font-weight: bold;
	color:var(--frage-color);
	text-align: center;
	margin-top:143px;
	margin-bottom:84px;
}
div.business{
	width:100%;
	max-width:var(--min-width);
	margin:auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 1;
}
div.business h3{
	font-weight: bold;
	font-size:24px;
	color:var(--frage-color);
	margin:10px;
}
div.business h3.line{
	border-bottom:3px solid var(--blue-color);
	padding-bottom: 15px;
	margin-bottom: 30px;
}
div.business h3.line.short{
	margin-right: 80px;
}
div.business p{
	font-weight: bold;
	color:var(--frage-color);
	margin:10px;
	line-height: 2em;
}
div.business > div{
	width:50%;
}
div.business > div img{
	border-radius: 22px;
}
div.business > div img.w40{
	width:80%;
}
div.business.mt-60{
	margin-top:-60px !important;
}
div.business ul li{
	color:var(--frage-color);
	margin-left:30px;
}
div.business ul li{
	margin-bottom: 30px;
	position: relative;
	padding-left:10px;
	font-weight: bold;
}
div.business ul li::before{
	content: "";
	background:url("../images/arrow_list.svg");
	width:11px;
	height: 12px;
	position: absolute;
	left:-15px;
	top:5px;
}
a.more{
	font-size:20px;
	color:#000;
	display: block;
	line-height: 70px;
	width:256px;
	background:url("../images/arrow_right.svg") right center no-repeat;
	background-size:70px;
	font-weight: bold;
	margin-top:50px;
}
a.more:hover{
	background:url("../images/arrow_right_on.svg") right center no-repeat;
}
a.more.wide{
	width:300px;
}
a.more.center{
	margin:50px auto 0;
}
a.more.right{
	float: right
}
div.tickerWrapper{
	width:100%;
	overflow: hidden;
	margin-top:200px;
}
div.ticker{
	width:3600px;
	margin-top:60px;
	display: flex;
	gap:80px;
	height: 100px;
}
div.ticker img{
	width:1800px;
	height: auto;
	padding:10px;
}
div.ticker img:first-child {
  animation: loop 100s -50s linear infinite;
}

div.ticker img:last-child {
  animation: loop2 100s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
div.worksWrapper{
	width:955px;
	box-sizing: border-box;
	border-radius: 18px;
	background:rgba(255,255,255,0.78);
	padding:44px 132px;
	margin:70px auto;
}
div.dummy{
	width:100%;
	height: 540px;
}
div.worksWrapper h2{
	font-size:30px;
	font-size:24px;
	font-weight: bold;
	text-align: center;
	margin-bottom:54px;
}
div.worksWrapper p{
	font-weight: bold;
	font-size:16px;
	line-height: 2em;
}
h2.arrow{
	margin-top:118px;
	margin-left:50px;
	font-size:30px;
	font-size:24px;
	font-weight: bold;
	background:url("../images/arrow_h2.svg") bottom center no-repeat;
	display: inline-block;
	padding-bottom:50px;
	margin-bottom:50px;
}
h2.arrow.center{
	margin-left:auto;
	margin-right: auto;
	text-align: center;
	display: block;
}

ul.news{
	margin-left:50px;
}
ul.news li{
	border-bottom:0.5px solid #707070;
	padding-bottom:20px;
	margin-bottom:20px;
}
ul.news span{
	font-size:14px;
}
ul.news a{
	color:#000;
	margin-top:0.5em;
}
ul.news li span + a{
	display: block;
}
ul.news a:hover{
	color:var(--blue-color);
}
ul.news span.date{
	padding:2px 0;
}
ul.news span.category{
	background:red;
	padding:2px 12px;
	border-radius: 20px;
	color:#fff;
	margin-left:20px;
}
ul.news span.category.news{
	background:#34D9DB;
}
ul.news span.category.topics{
	background:#3570D9;
}
ul.news span.category.event{
	background:#005A86;
}

div.wrapper.inquiry div.contents{
	position: relative;
	width:var(--min-width);
	overflow: hidden;
}
div.inquiry h2{
	width:320px;
	float: right;
	margin-right: 45px;
	font-size:30px;
	text-align: center;
	color:#fff;
}
div.inquiry h2 span{
	display: block;
	font-size:16px;
	font-weight: bold;
	margin-top:10px;
}
a.toInquiry{
	clear: both;
	width:320px;
	height: 50px;
	display: block;
	text-align: center;
	border:2px solid #fff;
	color:#fff;
	font-size:20px;
	line-height: 50px;
	border-radius: 50px;
	float: right;
	margin-top:42px;
	margin-right: 45px;
	background:url("../images/arrow_inquiry.svg") right 20px center no-repeat;
}
a.toInquiry:hover{
	background-color:var(--frage-color);
}
a#totop{
	width:70px;
	height: 70px;
	position: fixed;
	bottom:100px;
	right:50px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-image:url("../images/totop.svg");
	background-repeat: no-repeat;
	background-size:70px;
	background-position: center top;
	z-index: 10;
	display: none;
}
a#totop:hover{
	background-position: center bottom;
}

div.footerContents {
	width:var(--min-width);
	display: flex;
	justify-content: space-between;
	margin:auto;
	margin-top:130px;
	align-items: center;
}
div.footerContents ul{
	margin-top:0;
}
a.privacy{
	text-align: right;
	color:#707070;
	font-size:16px;
	display: block;
	width:100%;
	max-width:var(--max-width);
	margin:auto;
	margin-top:64px
}
a.privacy:hover{
	color:var(--blue-color);
}
p.copy{
	font-size:16px;
	color:#707070;
	text-align: center;
	margin-bottom:25px;
}
dl.company{
	width:900px;
	margin:auto;
	overflow: hidden;
	margin-bottom: 300px !important;
}
dl.company dt,
dl.company dd{
	padding:30px;
	box-sizing: border-box;
	color:var(--frage-color);
	font-weight: bold;
}
dl.company dt{
	width:300px;
	float: left;
	clear: both;
	border-bottom:3px solid var(--blue-color);
}
dl.company dd{
	width:600px;
	float: right;
	border-bottom:3px solid #ccc;
}
div.contact{
	width:944px;
	margin:auto;
}
p.contact{
	background-color:#F2F8FB;
	padding:56px 56px 56px 374px;
	color:var(--frage-color);
	border-radius: 16px;
	background-repeat:no-repeat;
	background-image: url("../images/mail.png");
	background-position: left 140px center;
}
p.contact strong{
	font-weight: bold;
	font-size:24px;
}
p.contact2{
	margin:52px 67px;
	color:var(--frage-color);
}
p.contact2.double{
	line-height: 2em;
}
p.norecruit{
	margin:52px 130px;
	color:var(--frage-color);
}
p.contact2 strong{
	display: block;
	margin-bottom:1em;
}
dl.inquiry{
	width:760px;
	margin:62px auto;
	overflow: hidden;
}
dl.inquiry dt,
dl.inquiry dd{
	padding:15px;
	border-top:1px solid #C8C0C0;
	box-sizing: border-box;
}
dl.inquiry dt{
	width:38%;
	float: left;
	clear: both;
	font-weight: bold;
	color:var(--frage-color);
}
dl.inquiry dd div.two{
	display: flex;
	justify-content: space-between;
	gap:15px;
}
dl.inquiry dd{
	width:62%;
	float: right;
}
dl.inquiry input,
dl.inquiry textarea{
	border:1px solid #BCBCBC;
	border-radius: 8px;
	background:#F2F8FB;
	padding:10px 10px;
	box-sizing: border-box;
	width:100%;
}
dl.inquiry input:focus::placeholder{
	color:#F2F8FB;
}
dl.inquiry textarea{
	height: 318px;
}
dl.inquiry dt.must::after{
	content: "必須";
	font-size:14px;
	background:red;
	color:#fff;
	padding:3px 10px;
	margin-left:10px;
}
input[type=submit]{
	width:343px;
	height: 60px;
	text-align: center;
	color:#fff;
	background:var(--blue-color);
	cursor: pointer;
	border-radius: 8px;
}
input[type=submit]:hover{
	background:var(--frage-color);
}
div.submit{
	margin:50px auto;
	display: flex;
	justify-content: center;
	gap:25px;
}
h3.mail{
	color:var(--frage-color);
	font-size:20px;
	font-weight: bold;
	margin-bottom:10px;
}
ul.mail{
	color:var(--frage-color);
	line-height: 2em;
}
ul.mail a{
	color:var(--blue-color);
}
div.privacy{
	width:980px;
	margin:auto;
}
div.privacy h3{
	border-bottom:3px solid var(--blue-color);
	width:390px;
	margin-bottom:30px;
	padding-bottom:10px;
	color:var(--frage-color);
	font-weight: bold;
}
div.privacy p{
	text-align: justify;
	margin-bottom:50px;
	color:var(--frage-color);
	line-height: 2em;
}
div.privacy p a{
	color:var(--blue-color);
}
ul.switch{
	display: flex;
	justify-content: center;
	gap:20px;
	margin:94px auto 155px;
}
ul.switch li{
}
ul.switch a{
	display: block;
	color:#707070;
	width:316px;
	height: 68px;
	line-height: 68px;
	text-align: center;
	border-radius: 68px;
	border:2px solid var(--frage-color);
	background:#F7F8FA;
	font-size:22px;
	font-weight: bold;
}
ul.switch li.active a,
ul.switch a:hover{
	background:#9CD7F1;
	color:var(--frage-color);
}
dl.recruit{
	width:920px;
	margin:72px auto;
}
dl.recruit dt,
dl.recruit dd{
	box-sizing: border-box;
	padding:20px 0;
}
dl.recruit dt{
	width:34%;
	float: left;
	clear: both;
	border-top:1px solid #C8C0C0;
	color:var(--frage-color);
}
dl.recruit dd{
	width:66%;
	float: right;
	border-top:1px solid #C8C0C0;
	line-height: 2em;
}
dl.recruit dt span{
	border-left:4px solid var(--blue-color);
	line-height: 29px;
	font-weight: bold;
	padding-left:40px;
}
a.entry{
	display: block;
	width:320px;
	height: 50px;
	line-height: 50px;
	background-color:var(--blue-color);
	text-align: center;
	border-radius: 50px;
	color:#fff;
	background-image:url("../images/arrow_inquiry.svg");
	background-repeat:no-repeat;
	background-position: right 20px center;
	margin-top:30px;
}
h3.recruit{
	width:920px;
	margin:auto;
	font-size:24px;
	font-weight: bold;
	color:var(--frage-color);
}
h3.works{
	font-size:24px;
	font-weight: bold;
	color:var(--frage-color);
	padding-bottom:10px;
	border-bottom:3px solid var(--blue-color);
	margin-bottom:20px;
	margin-top:50px;
}
h3.works:last-child{
	margin-top:50px;
}
dl.worksContents{
	overflow: hidden;
	padding:24px 0;
	border-bottom:1px solid #707070;
	color:var(--frage-color);
	font-weight: bold;
}
dl.worksContents:last-child{
	margin-bottom:100px;
}
dl.worksContents dt{
	background:url("../images/arrow_list.svg") left center no-repeat;
	width:100px;
	float: left;
	padding-left:20px;
}
dl.worksContents dd.title{
	width:250px;
	float: left ;
}
dl.worksContents dd.contents{
	width:calc(100% - 440px);
	float: left;
	padding:10px 30px;
	background:#F2F8FB;
	margin-top:-10px;
}
.anime{
	opacity:0;
	transition: all 0.5s;
}
.isActv{
	opacity: 1 !important;
	transition:all 0.5s;
}
h3.news{
	color:var(--frage-color);
	font-size:32px;
	font-weight: bold;
	border-bottom:3px solid var(--frage-color);
	margin-bottom:50px;
}
div.entryBody h1,
div.entryBody h2,
div.entryBody h3,
div.entryBody h4,
div.entryBody h5,
div.entryBody h6{
	font-weight: bold;
	margin-bottom:1em;
}
div.entryBody h1{
	font-size:32px;
}
div.entryBody h2{
	font-size:28px;
}
div.entryBody h3{
	font-size:24px;
}
div.entryBody h4{
	font-size:22px;
}
div.entryBody h5{
	font-size:20px;
}
div.entryBody h6{
	font-size:18px;
}
div.entryBody p{
	margin:1em;
}
div.entryBody ul,
div.entryBody ol{
	margin:1em 1em 1em 3em;
}
div.entryBody ul li{
	list-style: disc;
}
blockquote{
	padding:1em;
	background:#efefef;
}
