@charset "utf-8";
/* home
-------------------------------------------------------------------*/
.home section {
  padding-block: 16em;
}
.home .home_ttl_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  font-size: 1.375rem;
  margin-bottom: 1em;
}
.home .home_ttl_box.flex_row {
  align-items: baseline;
  flex-direction: row;
  gap: 0.625em;
}
.home .home_ttl_box [lang="en"] {
  text-transform: uppercase;
  font-size: 2.90909090909em;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1;
}
.home .home_ttl_box [lang="ja"] {
  font-weight: bold;
  color: var(--keycolor);
	margin-bottom:0;
}
.home .mv-wrap .mv-text_wrap {
  position: absolute;
  z-index: 20;
  bottom: 20.5882352941%;
  left: 7.1875%;
}
.home .mv-wrap .mv-text_wrap .mv-text {
  --font_size: min(4.5vw, 3.5rem);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  font-size: var(--font_size);
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--whitecolor);
  margin-bottom: 0;
  line-height: 1.6;
}
.home .mv-wrap .mv-text_wrap .mv-text .txt-en{
	--font_size: min(4.5vw, 3.5rem);
}
.home .mv-wrap .mv-text_wrap .mv-text span:nth-child(2) {
  margin-left: var(--font_size);
}
.home .mv-wrap .mv-text_wrap .mv-text span:nth-child(3) {
  margin-left: calc(var(--font_size) * 2);
}
.home .mv-wrap .mv-bg_wrap {
  position: relative;
  z-index: 5;
}
.home .mv-wrap .mv-bg_wrap::before {
  position: absolute;
  z-index: 10;
  content: "";
  inset: 0 0 -1px;
  background: url(../img/top/bg-mv01.png);
  background-size: cover;
  background-position: center bottom;
  pointer-events: none;
}
.home .mv-wrap .mv-bg_wrap img {
  object-fit: cover;
  object-position: right center;
  max-width: inherit;
  width: 100%;
  min-height: 650px;
}
.home .mv-wrap .mv-deco {
  position: absolute;
  z-index: 10;
}
.home .mv-wrap .mv-deco.deco01 {
  top: -60px;
  left: -91px;
  width: min(40vw, 485px);
}
.home .mv-wrap .mv-deco.deco02 {
  bottom: 0;
  right: 0;
  width: min(40vw, 495px);
}

.home .mv-wrap .mv-deco.deco01 {
         animation:lightning 90s 0s linear;
}
.home .mv-wrap .mv-deco.deco02 {
         animation:lightning2 90s 0s linear;
}
@keyframes lightning {
    0% {
			opacity:1;
			transform:translateY(0);
    }
	50% {
			opacity:0;
			transform:translateY(-100%);
    }
    100% {
			opacity:1;
			transform:translateY(0);
    }
}
@keyframes lightning2 {
    0% {
			opacity:1;
			transform:translateY(0);
    }
	50% {
			opacity:0;
			transform:translateY(100%);
    }
    100% {
			opacity:1;
			transform:translateY(0);
    }
}


.home :is(.company-inner, .products-inner) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6%;
}
.home .company-wrap .company-inner {
  flex-direction: row-reverse;
}
.home :is(.company-image_wrap, .products-image_wrap) {
  width: 49.8333333333%;
}
.home .company-wrap .company-image_wrap .company-image {
  position: relative;
  border-radius: 1.25em;
  overflow: hidden;
}
.home .company-wrap .company-image_wrap .company-image.image01 {
  z-index: 10;
  width: 81.9397993311%;
  margin-left: auto;
}
.home .company-wrap .company-image_wrap .company-image.image02 {
  z-index: 5;
  width: 60.2006688963%;
  margin-top: -19%;
}
.home :is(.company-text_wrap, .products-text_wrap) {
  width: 44.75%;
}
.home :is(.company-text_wrap, .products-text_wrap)>p {
  margin-bottom: 2.5em;
}
.home .products-wrap {
  background: var(--accent01);
}
.home .products-wrap .products-image_wrap.slide-in.once::before,
.home .products-wrap .products-text_wrap .home_ttl_box .home_ttl_en.slide-in.once::before,
.home .products-wrap .products-text_wrap .home_ttl_box .home_ttl.slide-in.once::before{
	animation-delay: 1.25s;
}
.home .products-wrap .products-image_wrap.slide-in.once>*,
.home .products-wrap .products-text_wrap .home_ttl_box .home_ttl_en.slide-in.once>*,
.home .products-wrap .products-text_wrap .home_ttl_box .home_ttl.slide-in.once>*{
	animation-delay: 1.85s;
}
.home .news-wrap::before {
  position: absolute;
  z-index: -10;
  inset: 0 auto auto 0;
  display: inline-block;
  content: "";
  width: 480px;
  height: 100%;
  background: var(--keycolor);
}
.home .news-wrap .news-bg_box {
  background: var(--whitecolor);
  border-radius: 1.25em;
  padding-block: 4em;
  padding-inline: 1.25em;
  filter: drop-shadow(2px 4px 13px rgba(29, 124, 155, 0.1));
  will-change: filter;
}
.home .news-wrap .news-inner_box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3.75em 1.75em;
  width: min(100%, 1000px);
  margin-inline: auto;
}
.home .news-wrap .home_ttl_box {
  margin: 0;
}
.home .news-wrap .tab_change {
  align-content: flex-end;
}
.home .news-wrap .tab_table {
  width: 100%;
}
.home .news-wrap .btn {
  margin: 3em auto 0;
}
.home .news-wrap .news-text {
  position: absolute;
  z-index: -5;
  right: -0.1em;
  bottom: -0.2em;
  text-align: right;
  font-size: 6.25rem;
  font-weight: bold;
  line-height: 1.1;
  color: transparent;
  background-color: #90e2df;
  background-image: url(../img/top/bg-text.png);
  background-clip: text;
  -webkit-background-clip: text;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.home .recruit-wrap .recruit-bg_box {
  background: var(--accent01);
  border-radius: 1.25em;
  padding-block: 4.25em;
  padding-inline: 1.25em;
}
.home .recruit-wrap .recruit-inner_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3.75em 2em;
  width: min(100%, 1100px);
  margin-inline: auto;
}
.home .recruit-wrap .recruit-inner_box>* {
  width: min(50%, 502px);
}
.home .recruit-wrap .btn {
  margin-top: 2em;
}
.home .recruit-wrap .recruit-bg_image {
  position: absolute;
  z-index: -10;
  left: -295px;
  bottom: -125px;
}
:root .contact-wrap {
  background: url(../img/top/bg-contact.jpg);
  background-size: cover;
  background-position: center;
  padding-block: 6.25em;
}
body:not(.home) .contact-wrap{
	padding-block:6.25em;
}
:root .contact-wrap::after {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: inline-block;
  content: "";
  background: var(--key_color);
  background: #1A9FB3;
  background: linear-gradient(-30deg, #1a9fb3 0%, #1ab3ae 74%);
  opacity: 0.8;
}
:root .contact-wrap .contact-inner {
  position: relative;
  z-index: 10;
  color: var(--whitecolor);
}
:root .contact-wrap .contact-ttl {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
}
:root .contact-wrap .contact-lead {
  text-align: center;
  margin-block: 1em 3em;
}
:root .contact-wrap .cotact-flex {
  display: flex;
  justify-content: center;
  gap: 1.5em;
}
:root .contact-wrap .btn {
  min-height: 4.375em;
}
@media screen and (max-width:1462px) {
  :root .contact-wrap .news-text {
    width: 770px;
  }
}
@media screen and (max-width:767px) {
  .home section {
    padding-block: 7em;
  }
	body:not(.home) .contact-wrap,
	:root .contact-wrap{
		padding-block:3em;
	}
  .home .home_ttl_box {
    font-size: 1.25rem;
  }
  .home .home_ttl_box.flex_row {
    flex-direction: column;
    gap: 0;
  }
  .home .home_ttl_box [lang="en"] {
    font-size: 2.5em;
  }
  .home .mv-wrap .mv-text_wrap {
    inset:6% 0 auto;
  }
  .home .mv-wrap .mv-text_wrap .mv-text {
    --font_size: 1.64285714286rem;
    display:inline-flex;
    line-height:1.6;
  }
	.home .mv-wrap .mv-text_wrap .txt-en{
		--font_size: 1.29rem;
	}
  .home .mv-wrap .mv-bg_wrap::before {
    background-image: url(../img/top/bg-mv01_sp.png);
  }
  .home .mv-wrap .mv-bg_wrap img {
    min-height: 0;
  }
  .home .mv-wrap .mv-deco.deco01 {
    top: -19%;
    left: -21%;
    width: 54%;
  }
  .home .mv-wrap .mv-deco.deco02 {
    right: -13%;
    width: 71.3333333333%;
  }
  .home :is(.company-inner, .products-inner) {
    flex-direction:column;
    gap: 2em;
  }
  .home .company-wrap .company-inner {
    flex-direction: column;
  }
  .home :is(.company-image_wrap, .products-image_wrap) {
    width: 100%;
  }
  .home .company-wrap .company-image_wrap .company-image {
    border-radius: 1em;
  }
  .home .company-wrap .company-image_wrap .company-image.image01 {
    width: 80%;
  }
  .home .company-wrap .company-image_wrap .company-image.image02 {
    width: 60%;
    margin-top: -13%;
  }
  .home :is(.company-text_wrap, .products-text_wrap) {
    width: 100%;
  }
  .home .news-wrap::before {
    width: 100%;
    height: 30%;
  }
  .home .news-wrap .news-bg_box {
    border-radius: 1em;
    padding-block: 2em;
  }
  .home .news-wrap .news-inner_box {
    gap: 1.5em;
    margin-inline: auto;
  }
  .home .news-wrap .tab_table {
    width: 100%;
  }
  .home .news-wrap .btn {
    margin: 2em auto 0;
  }
  .home .news-wrap .news-text {
    font-size: 12vw;
    width:100%;
  }
  .home .recruit-wrap .recruit-bg_box {
    border-radius: 1em;
    padding-block: 2em;
  }
  .home .recruit-wrap .recruit-inner_box {
    flex-direction:column;
    gap: 2em;
  }
  .home .recruit-wrap .recruit-inner_box>* {
    width: 100%;
  }
  .home .recruit-wrap .recruit-bg_image {
    width:150%;
    left:auto;
    right:0;
    bottom:-10%;
  }
  :root .contact-wrap .contact-ttl {
    font-size: 2.5rem;
  }
  :root .contact-wrap .contact-lead {
    margin-block: 1em 2em;
  }
  :root .contact-wrap .cotact-flex {
    flex-wrap:wrap;
  }
  :root .contact-wrap .btn {
    min-height: 3.75em;
  }
}


/*news*/
:root .news_category_list{
	display: flex;
	margin: 0 auto 2em;
	flex-wrap: wrap;
	gap: 0.875em;
}
:root .news_category_list .news_category_item{
	position:relative;
}
:root .news_category_list .news_category_item .cat-btn,
:root .entry-header .post-categories a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	min-width: 7.14285714286em;
	min-height: 2.14285714286em;
	font-size: 0.875rem;
	font-weight: bold;
	background: #e6eded;
	border-radius: 3em;
	padding: 0.25em 1.75em;
	transition: var(--hover);
	text-decoration:none;
}
:root .entry-header .post-categories a{
	border:1px solid var(--keycolor);
}
body.blog .news_category_list .news_category_item:first-child .cat-btn,
:root .news_category_list .news_category_item.current-item .cat-btn,
:root .entry-header .post-categories a{
	color: var(--whitecolor);
	background: var(--keycolor);
}
:root .entry-header {
    display:flex;
    flex-wrap:wrap;
    gap:1em 2em;
    align-items:center;
}
:root .entry-header time{
    color:#6a6a6a;
}
:root .entry-header .post-categories{
    display:flex;
    align-items:center;
    gap:1em;
    margin:0;
    padding:0;
    font-size:0.75rem;
}
:root .entry-header .post-categories li{
    margin:0;
}
:root .entry-header .entry-title{
    width:100%;
}
body.wp-singular:not(.page,.single-products) .site-body .main-section{
	box-shadow:0 0 10px rgba(29,124,155,0.1);
	border-radius:20px;
	padding: 75px 100px;
}
:root .back-btn{
	max-width: 100px;
	margin:1em auto 0;
	display:block;
}
:root .back-btn a{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: bold;
	padding-block: 1em;
	border-bottom:1px solid;
	transition:var(--hover);
}

@media (any-hover: hover) {
	:root .news_category_list .news_category_item .cat-btn:hover{
		color: var(--whitecolor);
		background: var(--keycolor);
		text-decoration:none;
	}
	:root .entry-header .post-categories a:hover{
		color: var(--keycolor);
		background: var(--whitecolor);
	}
	:root .back-btn a:hover{
		color: var(--whitecolor);
		background: var(--fontcolor);
	}
}
@media screen and (max-width: 768px) {
	body.wp-singular:not(.page,.single-products) .site-body .main-section{
		border-radius:10px;
		padding:2em 1em;
		max-width: calc(100% - 30px);
		margin: 0 auto;
	}
	:root .entry-header {
	    gap:0.5em 1em;
	}
	:root .news_category_list{
		gap: 0.5em 0.25em;
	}
	:root .news_category_list .news_category_item .cat-btn,
	:root .entry-header .post-categories a{
		min-width: 6em;
		padding: 0.25em 1.5em;
	}
}


/*products*/
body.post-name-products  .products-area{
	padding-block:0 5em;
	position: relative;
}
body.post-type-archive-products .site-body{
	padding-bottom:0;
}



body.post-name-products  .products-list{
	
}
body.post-name-products  .products-list li{
    margin:0;
}
body.post-name-products .wp-block-post-featured-image{
	max-width: 278px;
    border-radius:10px;
    aspect-ratio:278 / 186;
    padding:0;
    box-shadow: 0 0 5px rgb(24 54 114 / 20%);
    margin-bottom: 0.75em;
}
body.post-name-products .products-list img{
	width:100%;
	height:100%;
	border-radius: 10px;
}
body.post-name-products .site-body .entry-body .products-list h4{
    text-align:left;
    font-size:1.125rem;
    text-shadow:none;
	color:var(--fontcolor);
	border-bottom:none;
	margin-top:0;
}
body.post-name-products  .products-list h4:before{
	display:none;
}
@media (any-hover: hover) {
	body.post-name-products  .products-list li:hover a{
		text-decoration-color: var(--fontcolor);
	}
}
@media screen and (max-width: 768px) {
	body.post-name-products  .products-strong{
		margin-bottom:3em;
	}
	body.post-name-products  .products-strong ol{
		gap: 1em 2%;
	}
	body.post-name-products  .products-strong ol li{
		width:48%;
		padding: 35px 10px 20px;
		border-radius:5px;
	}
	body.post-name-products  .products-strong ol li .point-area em{
		padding: 0.375em 1em 0.5em;
		font-size:1em;
	}
	body.post-name-products  .products-strong ol li p{
		font-size: 1rem;
		margin: 0;
	}
	body.post-name-products  .products-area{
		padding-block:3em;
	}
	body.post-name-products  .products-list{
		gap: 2em 8%;
		justify-content:space-between;
	}
	body.post-name-products  .products-list li{
	    width: 46%;
	}
	body.post-name-products  .products-list li a{
		margin:0;
	}
	body.post-name-products  .products-list-item .products-image{
	    border-radius:5px;
	}
	body.post-name-products  .products-whole + .products-whole{
		margin-top:3em;
	}
	body.post-name-products  .products-wrap + .products-wrap{
		margin-top:2em;
	}
	body.post-name-products  .products-list-item p{
	    font-size: 0.86rem;
	}
}



:root .cta-contact{
	position:relative;
    padding-block:4em;
	margin-top:3em;
}
:root .cta-contact:before{
	content:"";
	background-color: #f6f6f6;
	position:absolute;
	inset:0 -50vw 0 -50vw;
}
:root .cta-contact .cta-contact-col{
	max-width: var(--vk-width-full);
	position:relative;
	z-index:10;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:10%;
}
:root .cta-contact .cta-contact-col .cta-contact-left{
	width:45%;
}
:root .cta-contact .cta-contact-col .cta-contact-left em{
	display:block;
	font-size:2rem;
	font-weight:bold;
	border-bottom:1px solid #dbdbdb;
	padding-bottom:0.5em;
	position:relative;
	margin-bottom:1em;
}
:root .cta-contact .cta-contact-col .cta-contact-left em:before{
	content:"";
	width:80px;
	height:2px;
	background:var(--keycolor);
	inset: auto auto -1px 0;
	margin:auto;
	position: absolute;
}
:root .cta-contact .cta-contact-col .cta-contact-left p{
	font-size:1.125rem;
	line-height:1.75;
}
:root .cta-contact .cta-contact-col .cta-contact-right{
	width:40%;
}
:root .cta-contact .cta-contact-col .cta-contact-right .cta-contact-btn + .cta-contact-btn{
	margin-top:2em;
}

