/*!
Theme Name: sumplant_tmp
Theme URI: http://underscores.me/
Author: Crossroad.Inc
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sumplant_tmp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

sumplant_tmp is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@charset "utf-8";
:root {
  --fontawesome:"Font Awesome 6 Free";
	--bebas:"Bebas Neue", sans-serif;
	--noto:"Noto Sans JP", sans-serif;
	--blue1:#0E2068;
	--blue2:#3D6F8F;
	--blue3:#5496C0;
}
html{
	-webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
}
main{
	display: block;
}
hr{
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre{
	font-family: monospace, monospace;
	font-size: 1em;
}
a{
	transition:all .3s;
	background-color: transparent;
	text-decoration:none;
}
abbr[title]{
	border-bottom:none;
	text-decoration:underline;
	text-decoration:underline dotted;
}
b,strong{
	font-weight: bolder;
}
code,kbd,samp{
	font-family:monospace, monospace;
	font-size:1em;
}
small{
	font-size: 80%;
}
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub{
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img{
	height:auto;
	max-width:100%;
	border-style:none;
}
.imgarea{
	text-align:center;
	margin-bottom:1rem;
}
button,input,optgroup,select,textarea{
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,input{
	overflow: visible;
}
button,select{
	text-transform: none;
}
button,[type="button"],[type="reset"],[type="submit"] {
	-webkit-appearance: button;
	appearance: button;
}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend{
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"]{
	-webkit-appearance: textfield;
	appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details{
	display: block;
}
summary{
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display:none;
}
*,*::before,*::after {
	box-sizing: inherit;
}
html{
	box-sizing:border-box;
}
body,p,a,button,input,select,optgroup,textarea{
	color:#000;
	font-family:var(--noto);
	font-size: 17px;
	line-height: 1.7;
}
h1,h2,h3,h4,h5,h6{
	clear:both;
	margin:0;
}
p{
	margin: 0;
}
dfn,cite,em,i{
	font-style: italic;
}
blockquote{
	margin: 0 1.5em;
}
address{
	margin: 0 0 1.5em;
}
pre{
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code,kbd,tt,var{
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr,acronym{
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark,ins{
	background: #fff9c0;
	text-decoration: none;
}
big{
	font-size: 125%;
}
body {
	background: #fff;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul,ol{
	padding-inline-start:20px;
	margin-bottom:0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {
	font-weight: 700;
}
dd {
	margin-bottom:1.5em;
}
embed,iframe,object {
	max-width: 100%;
}
figure {
	margin: 1em 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
    border-collapse: collapse;
}
/* Links
------------------*/
a {
	text-decoration: none;
	color: #4169e1;
}
a:focus, a:hover {
	text-decoration: none;
}
/* Forms
-------------------*/
button,input[type="button"],input[type="reset"],input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}
select {
	border: 1px solid #ccc;
}
textarea {
	width: 100%;
}

/* Navigation
---------------------------*/
.main-navigation {
	display: block;
	width: 100%;
}
.main-navigation ul{
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation ul ul{
	box-shadow:0 3px 3px hsla(216, 100%, 23%, 0.5);
	float:left;
	position:absolute;
	top:100%;
	left:-999em;
	z-index:100;
	background:var(--blue1);
}
.main-navigation ul li.menu-item-has-children:hover>ul,.main-navigation ul li.focus>ul{
	display:block;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.main-navigation ul ul a {
	width:100%;
	padding:10px 5px;
	white-space:nowrap;
	color:#fff;
}
.main-navigation ul ul a:hover,.main-navigation ul ul a:focus{
	background:#005fcc;
}
.main-navigation li {
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}
.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}
.updated:not(.published) {
	display: none;
}
.page-content,.entry-content,.entry-summary{
	margin:0 auto;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
	display: block;
}
/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}
/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}
/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}
.wp-caption-text {
	text-align: center;
}
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}
.infinity-end.neverending .site-footer {
	display: block;
}
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#primary[tabindex="-1"]:focus {
	outline: 0;
}
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
a.tellink {
    transition: all .3s;
}
.entry-body img {
  display:inline;
}
.wp-block-image img {
	object-fit: contain;
}
.entry-body a {
	transition: all .3s;
}
.entry-body a:hover {
	text-decoration: underline;
	opacity: 0.8;
}
.tb-inline,.tb-block,.tb-flex,.pc-inline,.pc-block,.pc-flex{
  display:none!important;
}
@media(min-width:768px){
	.tb-inline{
		display: inline!important;
	}
	.tb-block {
		display: block!important;
	}
	.tb-flex {
		display: flex!important;
	}
	a.tellink {
		pointer-events: none;
	}
}
@media(min-width:992px){
	.pc-inline {
		display: inline!important;
	}
	.pc-block {
		display: block!important;
	}
	.pc-flex {
		display: flex!important;
	}
}
/* title,font
_____________________________*/
h1{
  font-size:26px;
}
h2{
  font-size:22px;
  margin-bottom:20px;
}
h3,.pri_sec h2{
  font-size:20px;
  margin-bottom:20px;
}
h4{
    font-size:18px;
    margin-bottom:15px;
}
.jp_en_ttl{
  margin-bottom:20px;
}
.jp_en_ttl span{
  font-size:40px;
  display:block;
	font-family:var(--bebas);
  color:var(--blue1);
  font-weight:400;
  letter-spacing:1px;
	line-height:1.3;
}
.jp_en_ttl h2{
  font-size:14px;
  margin:0;
  color:var(--blue1);
}
.jp_en_ttl.white span,.jp_en_ttl.white h2{
  color: #fff;
}
.rech2,.rech3,.pri_sec h2,.h2org,.h3org,.entry-body h2,.entry-body h3{
	color:var(--blue1);
	font-weight:700;
}
.rech2,.h2org,.entry-body h2{
	padding-bottom:5px;
	border-bottom:1px solid var(--blue3);
}
@media(min-width:768px){
	h1{
		font-size:28px;
	}
	h2{
		font-size:24px;
	}
	h3.pri_sec h2{
		font-size:22px;
	}
	h4{
		font-size:20px;
	}
	.jp_en_ttl span{
  	font-size:48px;
	}
	.jp_en_ttl h2{
  	font-size:16px;
	}
}
@media(min-width:992px){
	h1{
		font-size:30px;
	}
	h2{
		font-size:26px;
	}
	h3.pri_sec h2{
		font-size:24px;
	}
	.jp_en_ttl span{
  	font-size:56px;
		line-height:1.2;
	}
	.jp_en_ttl h2{
  	font-size:17px;
	}
}
.entry-header{
	display:flex;
	width:100%;
	height:150px;
	align-items:center;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	background-image:url(./img/head/default_h.jpg);
}
.entry-header:before{
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:-webkit-linear-gradient(top,rgba(0, 213, 255, 0.2),rgba(92, 164, 212, 0.5) 50%,rgba(0, 97, 242, 0.5) 100%);
	background:linear-gradient(to bottom,rgba(0, 213, 255, 0.2),rgba(92, 164, 212, 0.5) 50%,rgba(0, 97, 242, 0.5) 100%);
}
.entry-header .container{
	position:relative;
}
.entry-ttl{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
	line-height:1.6;
	margin:0;
	padding:0;
	border:0;
	margin:0 auto;
	color:#fff;
	text-shadow:0 5px 10px rgba(14, 32, 104, 0.7);
}
.entry-ttl .en{
	font-size:18px;
	letter-spacing:1px;
	font-weight:400;
	font-family:var(--bebas);
}
.entry-ttl .jp{
	font-size:24px;
	letter-spacing:1px;
	margin:0;
	font-weight:700;
	line-height:1.5;
}
.company-pgheader{
	background-image:url(./img/head/cmp_h.jpg);
}
.company-pgheader::before{
	background:-webkit-linear-gradient(top,rgba(0, 213, 255, 0),rgba(92, 164, 212, 0.4) 50%,rgba(0, 97, 242, 0.4) 100%);
	background:linear-gradient(to bottom,rgba(0, 213, 255, 0),rgba(92, 164, 212, 0.4) 50%,rgba(0, 97, 242, 0.4) 100%);
}
.recruit-pgheader{
	background-image:url(./img/head/rec_h.jpg);
}
.contact-pgheader,.our-business-pgheader{
	background-image:url(./img/head/ctt_h.jpg);
}
@media(min-width:768px){
	.entry-header{
		height:200px;
	}
	.entry-ttl .en{
		font-size:26px;
	}
	.entry-ttl .jp{
		font-size:36px;
	}
}
@media(min-width:992px){
	.entry-header{
		height:250px;
	}
	.entry-ttl .jp{
		font-size:42px;
	}
}
/* #404 page */
.notfound-siteContent .site-main p {
	margin-bottom:2rem;
}
/* #header */
.site-description{
	padding:15px 0;
	background:#21759b;
}
.site-description p{
	color:#fff;
}
.site-header,.header-contents{
	height:55px;
}
.header-contents{
	display:flex;
	position:relative;
}
.scrolled .header-contents{
	position:fixed;
	width:100%;
	z-index:2;
	background:#fff;
	top:0;
	left:0;
}
.header-contents .container{
	display:flex;
	justify-content:center;
	align-items:center;
}
.home .site-header{
	position:fixed;
	z-index:1;
	top:0;
	left:0;
	width:100%;
	background:rgba(255,255,255,0.8);
}
.site-title{
	margin:0;
	max-height:100%;
}
.site-title span{
	line-height:1;
	font-size:24px;
	font-weight:700;
	color:var(--blue1);
}
.custom-logo-link img {
	max-width:100%;
	max-height:60px;
	object-fit:contain;
}
#mobile-button{
	border:0;
	position:fixed;
	top:5px;
	right:10px;
	width:45px;
	height:45px;
	z-index:5;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:space-between;
	cursor:pointer;
	background:rgba(255,255,255,0);
}
#mobile-button span{
	display:block;
	width:40px;
	height:3px;
	background:#4584B9;
	transition:all 0.5s;
}
#mobile-button:hover span{
	opacity:0.8;
}
.open #mobile-button span:nth-child(1) {
	-webkit-transform:translateY(10px) rotate(-135deg);
	transform:translateY(12px) rotate(-135deg);
}
.open #mobile-button span:nth-child(2){
	opacity: 0;
}
.open #mobile-button span:nth-child(3) {
	-webkit-transform: translateY(-10px) rotate(135deg);
	transform: translateY(-13px) rotate(135deg);
}
#mobile-menu{
	display:block;
	background:rgba(255,255,255,0.9);
	position:fixed;
	top:0;
	left:-110%;
	width:100%;
	height:100vh;
	transition:all 0.5s;
	padding:60px 20px 40px;
	z-index:3;
}
.open #mobile-menu{
	left:0;
}
.site-mobile-menu{
	padding:0;
	list-style:none;
}
.site-mobile-menu>li>a{
	padding:10px 5px;
	display:block;
	font-size:17px;
	color:#555;
	font-weight:500;
	border-bottom:1px solid #ccc;
}
.site-mobile-menu>li>a:hover,.site-mobile-menu>li>a:focus{
	background:rgba(236, 236, 236, 0.7);
}
.site-mobile-menu>li:first-child>a{
	border-top:1px solid #ccc;
}
.site-mobile-menu .sub-menu{
	display:none;
	margin:0;
	padding:0;
	margin-bottom:10px;
}
.site-mobile-menu .sub-menu>li{
	display:inline-block;
	width:49%;
	margin-top:10px;
}
.site-mobile-menu .sub-menu>li>a{
	display:inline-block;
	font-size:16px;
	color:var(--blue1);
	font-weight:400;
}
.site-mobile-menu .sub-menu>li>a:hover,.site-mobile-menu .sub-menu>li>a:focus{
	opacity:0.7;
}
.site-mobile-menu .menu-item-has-children>a{
	position:relative;
}
.site-mobile-menu>li.menu-item-has-children>a::before,.site-mobile-menu>li.menu-item-has-children>a::after{
  content:'';
  position:absolute;
  top:50%;
  transition:all .3s;
  width:15px;
  height:2px;
  background:#999;
}
.site-mobile-menu>li.menu-item-has-children>a::before{
	right:10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children>a::after{
  right:11px;
  top:calc(50% - 1px);
  -webkit-transform:rotate(90deg) translateY(-50%);
	transform:rotate(90deg) translateY(-50%);
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::before{
	opacity: 0;
}
.site-mobile-menu>li.menu-item-has-children.clicked>a::after{
  -webkit-transform: rotate(0deg) translateY(-50%);
  transform: rotate(0deg) translateY(-50%);
}
#site-navigation{
	display: none;
}
#mobile-menu .btn_blue1{
	margin:10px auto 0;
	max-width:350px;
	text-align:center;
	display:block;
	margin-top:20px;
}
.bsmenu .sub-menu li.menu-item-type-custom{
	display:none;
}
@media(min-width:992px){
	#mobile-menu,#mobile-button{
		display: none;
	}
	.header-contents{
		padding:10px 0;
	}
	.header-contents .container{
		justify-content:space-between;
	}
	.site-title span{
		font-size:28px;
	}
	.custom-logo-link img {
		max-width:350px;
		max-height:70px;
	}
	#site-navigation{
		display: block;
		width:fit-content;
	}
	#pc-nav{
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	#pc-nav>li{
		text-align:center;
		margin-right:15px;
	}
	#pc-nav>li>a{
		display:block;
		padding:5px 10px;
		color:#000;
		position:relative;
	}
	#pc-nav>li::before{
		content:'';
		position:absolute;
		bottom:0;
		left:0;
		width:0;
		height:1px;
		background:#333;
		transition:all .3s;
	}
	#pc-nav>li:hover::before,#pc-nav>li:focus::before{
		width:100%;
	}
	.site-header .btn_blue1.pc-block{
		padding: 10px 20px;
    width: 200px;
    text-align: center;
	}
	#pc-nav>li.menu-item-has-children>a::after{
		display:inline-block;
		content:'+';
		font-size:20px;
		color:#707070;
		margin-left:5px;
	}
}
#breadcrumb {
	padding:10px 0;
	background:#fff;
}
#breadcrumb ul {
	display: flex;
	padding-inline-start: 15px;
	flex-wrap: wrap;
}
#breadcrumb ul li{
	list-style-type: none;
	padding:0 10px;
	position:relative;
	font-size:13px;
}
#breadcrumb ul li:after {
	content:'>';
	position:absolute;
	right:-6px;
	font-size:13px;
	top:0;
}
#breadcrumb ul li:last-child::after {
	display: none;
}
#breadcrumb a {
	color:#404040;
	font-size:13px;
}
.page-section {
	padding:40px 0;
}
@media(min-width:768px){
	#breadcrumb ul {
		padding-inline-start: 40px;
	}
}
.fade-in,.load-in {
	opacity:0;
	transition-duration:0.7s;
	transition-property:opacity, transform;
}
.fade-in.fade-in-up,.load-in.fade-in-up {
    -webkit-transform: translate(0,30px);
    transform: translate(0,30px);
}
.fade-in.fade-in-down,.load-in.fade-in-down{
    -webkit-transform: translate(0,-30px);
    transform: translate(0,-30px);
}
.fade-in.fade-in-left,.load-in.fade-in-left{
    -webkit-transform: translate(30px,0);
    transform: translate(30px,0);
}
.fade-in.fade-in-right,.load-in.fade-in-right{
    -webkit-transform: translate(-30px,0);
    transform: translate(-30px,0);
}
.scroll-in {
	opacity: 1!important;
  -webkit-transform: translate(0,0)!important;
  transform: translate(0,0)!important;
}
.singlehead {
	padding-bottom:2rem;
}
.pagination {
	justify-content: center;
}
.nav-links{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
}
.nav-links span,.nav-links a {
	display: block;
	padding:10px 18px;
	margin:0 5px;
	text-align: center;
	font-weight:bold;
}
.nav-links a {
	transition: all .3s;
	color:#fff;
	background:#777;
	text-decoration: none;
}
.nav-links span,.nav-links a:hover {
	background:#ccc;
	color:#555;
}
.nav-links a.next,.nav-links a.prev {
	background:transparent;
	color:#555;
	padding:0;
}
.nav-links a.next:hover,.nav-links a.prev:hover {
	filter:opacity(0.8);
	color:#555;
}
/* #top page */
.hero_sec {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}
.hero-slider{
	opacity:0;
	transition:opacity .2s;
  position: absolute;
  top: 0;
	left: 0;
  width: 100%;
  height: 100%;
}
.hero-slider.slick-initialized{
	opacity:1;
}
.hero-slider .slick-list,.hero-slider .slick-track{
	height:100%;
}
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-overlay::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background:-webkit-linear-gradient(bottom right, rgba(0, 212, 255, 0.4), rgba(92, 165, 212, 0.4) 50%, rgba(0, 213, 255, 0) 100%);
  background:linear-gradient(to top left, rgba(0, 212, 255, 0.4), rgba(92, 165, 212, 0.4) 50%, rgba(0, 213, 255, 0) 100%);
  pointer-events: none;
}
.hero-content {
  position:relative;
  color:#fff;
  padding-top:20vh;
}
.hero-title,.hero-description p{
	color:#fff;
	text-shadow:3px 4px 20px #000;
}
.hero-title{
  font-size:36px;
  font-weight:800;
  margin-bottom:40px;
  transition-duration:1.4s;
  transition-delay:.5s;
}
.hero-description{
  transition-duration:1.4s;
  transition-delay:.5s;
}
.hero-description p{
	line-height:2;
  font-weight:500;
  font-size:16px;
}
.business_sec{
  position:relative;
	overflow:hidden;
}
.bus_back{
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:auto;
	object-fit:contain;
	opacity:0.2;
}
.business_sec>div{
	position:relative;
}
.business-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.business-list li{
  border-bottom: 1px solid #ccc;
	list-style-type:none;
}
.business-list li a {
  display: flex;
  justify-content:space-between;
  align-items: center;
  padding:1rem 10px 1rem 0;
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}
.business-list li i{
	transition:all .3s;
}
.business-list li a:hover{
	opacity:0.8;
  background:#f5f5f5;
}
.business-list li a:hover i{
	-webkit-transform:translateX(10px);
	transform:translateX(10px);
}
.business-list li span.num{
  font-weight: bold;
	margin-right:20px;
  color: #003366;
}
.business-img-sp img{
  width:100%;
	aspect-ratio:3/2;
	object-fit:cover;
  display:block;
}
.pagenav_box{
  position:relative;
  width:100%;
  height:250px;
  overflow:hidden;
  text-decoration:none;
  display:block;
}
.pagenav_company{
  background:url(./img/top/company.jpg)no-repeat center center/cover;
}
.pagenav_group{
  background:url(./img/top/group.jpg)no-repeat center center/cover;
}
.pagenav_bg{
  position:absolute;
  inset:0;
	background:-webkit-linear-gradient(bottom,rgba(0,47,116,0.7),rgba(66,186,248,0.3));
	background:linear-gradient(to top,rgba(0,47,116,0.7),rgba(66,186,248,0.3));
	transition:all .3s;
}
.pagenav_inner {
  position:relative;
  width:100%;
  height:100%;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.pagenav_inner .jp_en_ttl,.pagenav_inner .link_text{
	text-shadow:0 5px 10px rgba(0,47,116,0.7);
}
.link_text{
	margin-left:auto;
  display:inline-block;
	border-bottom:1px solid #fff;
  font-size:15px;
  color:#fff;
  position:relative;
  transition:all 0.3s ease;
}
.link_text i{
  margin-left:10px;
  transition:transform 0.3s ease;
}
.pagenav_box:hover .link_text i,.pagenav_box:focus .link_text i{
	-webkit-transform:translateX(5px);
  transform:translateX(5px);
}
.pagenav_box:hover .pagenav_bg,.pagenav_box:focus .pagenav_bg{
	opacity:0;
}
.recruit_sec{
  background:-webkit-linear-gradient(top, #f0f6ff 0%, #e0f0ff 100%);
  background:linear-gradient(to bottom, #f0f6ff 0%, #e0f0ff 100%);
}
.recruit_img_sp img{
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  display:block;
  margin-bottom:1rem;
}
.recruit_sec p{
	margin-bottom:1rem;
}
.btn_blue1{
  display:inline-block;
  padding:0.8rem 1.6rem;
  background:var(--blue1);
  color:#fff;
  border-radius:100px;
  font-weight:500;
  font-size:1rem;
  transition:all 0.3s ease;
}
.btn_blue1 i{
  margin-left:10px;
  transition:transform 0.3s ease;
}
.btn_blue1:hover,.btn_blue1:focus{
  background-color:#005fcc;
  color:#fff;
}
.btn_blue1:hover i,.btn_blue1:focus i{
	-webkit-transform:translateX(5px);
  transform:translateX(5px);
}
.recruit_sec .btn_blue1{
	margin-top:1rem;
}
@media(min-width:768px){
  .hero-title{
    font-size:42px;
  }
  .hero-description p{
    font-size:17px;
  }
  .business-wrapper {
    display:flex;
		justify-content:space-between;
  }
  .business-img-pc{
    flex:1;
    max-width:50%;
		position:relative;
  }
  .business-img-pc img{
		position:absolute;
		top:0;
		left:0;
    width:calc(100% - 2rem);
    height:100%;
		object-fit:cover;
  }
  .business-content{
    flex:1;
  }
  .pagenav_wrapper {
    display:flex;
  }
  .pagenav_box{
    width:50%;
  }
  .recruit_sec{
		display:flex;
		padding:0;
  }
	.recruit_container{
  	flex:1;
		padding:40px 2rem;
	}
  .recruit_img_pc{
    flex:1;
  }
  .recruit_img_pc img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}
@media(min-width:992px){
	.hero-title{
    	font-size:55px;
	}
  .hero-description p{
    font-size:18px;
  }
	.business-img-pc img{
    max-width:calc(100% - 50px);
	}
	.link_text{
		font-size:17px;
	}
}
@media(min-width:1320px){
	.hero-description p{
    	font-size:20px;
	}
	.business-img-pc img{
    max-width:calc(100% - 70px);
	}
	.recruit_container{
		padding-left:50px;
	}
}
/* #our-business */
.busttl{
	font-weight:700;
	color:#003366;
}
.workblocks{
	padding-left:0;
	margin-bottom:0;
	list-style:none;
}
.workblocks>li{
	margin-bottom:2rem;
}
.workblocks h3{
	font-size:17px;
	margin-bottom:8px;
	line-height:1.5;
	color:var(--blue3);
	font-weight:700;
}
.wimg{
	margin-bottom:10px;
}
.wimg img{
	aspect-ratio:3/2;
	object-fit:cover;
	width:100%;
	height:100%;
}
.wmeta{
	font-size:15px;
	color:#777;
}
.wdesc{
	font-size:14px;
}
.entry-body .wp-block-list li{
	margin-bottom:5px;
}
@media(min-width:400px){
	.workblocks{
		display:flex;
		flex-wrap:wrap;
	}
	.workblocks>li{
		width:50%;
		padding:0 1%;
	}
}
@media(min-width:768px){
	.workblocks>li{
		width:calc(100% / 3);
	}
}
@media(min-width:992px){
	.workblocks>li{
		width:25%;
	}
	.busttl{
		font-size:34px;
	}
}
/* #company page */
.sidebarttl{
	color:var(--blue2);
	font-size:18px;
	margin-bottom:5px;
}
.cmpnav{
	border-top:1px solid var(--blue3);
	border-bottom:1px solid var(--blue3);
	padding:20px 10px;
}
.cmpnav ul{
	padding-left:0;
	list-style:none;
	margin-bottom:0;
}
.cmpnav ul li{
	margin-bottom:10px;
}
.cmpnav ul a{
	display:flex;
	color:#555;
	align-items:center;
}
.cmpnav ul a:hover,.cmpnav ul a:focus{
	opacity:0.8;
}
.cmpnav ul a::before{
	content:'';
	display:block;
	width:17px;
	height:2px;
	background:var(--blue2);
	margin-right:20px;
	transition:all .3s;
}
.cmpnav ul a:hover::before,.cmpnav ul a:focus::before{
	-webkit-transform:translateX(3px);
	transform:translateX(3px);
}
.msg_vis,.msg_vis>section,.msg_vis>div{
	position:relative;
}
.msg_bg{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:auto;
	opacity:0.15;
	object-fit:contain;
}
.cmp_sec.message .imgarea{
	margin-bottom:20px;
}
.cmp_sec.message .imgarea img{
	width:300px;
	box-shadow:3px 3px 15px rgba(0,0,0,0.2);
	object-fit:contain;
}
.cmp_sec.message p{
	font-size:15px;
	margin-bottom:1rem;
}
.cmp_sec.message p.ceoname{
	margin-bottom:0;
	text-align:right;
}
.p_vis{
	color:var(--blue1);
	line-height:1.8;
	margin-bottom:15px;
}
.p_vis strong{
	font-weight:700;
}
.dl_cmp{
	margin-bottom:0;
}
.dl_cmp dt{
  padding:13px 5px 10px;
	color:var(--blue2);
	font-size:15px;
}
.dl_cmp dd{
	position:relative;
  padding:0 5px 13px;
	font-size:15px;
	margin-bottom:0;
}
.dl_cmp dt:first-of-type{
	position:relative;
}
.dl_cmp dd::before,.dl_cmp dd::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
}
.dl_cmp dt:first-of-type::before,.dl_cmp dt:first-of-type::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
}
.dl_cmp dd::before,.dl_cmp dt:first-of-type::before{
	height:1px;
	background:#999;
	width:100%;
}
.dl_cmp dd::after,.dl_cmp dt:first-of-type::after{
	width:25%;
	height:2px;
	background:var(--blue3);
}
.dl_cmp dd span[class^="dd_"]{
	display:block;
}
.dl_cmp a.tellink{
	color:var(--blue2);
	font-weight:500;
	font-size:15px;
}
.dl_cmp a.tellink:hover,.dl_cmp a.tellink:focus{
	opacity:0.8;
}
.mapname{
	font-size:18px;
	margin-bottom:10px;
	font-weight:700;
}
.gmap-wrap{
  position:relative;
  height:0;
  overflow:hidden;
  padding-bottom:75%;
}
.gmap-wrap iframe,.gmap-wrap object,.gmap-wrap embed{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cmp_sec .gmap-wrap{
	margin-top:20px;
}
.dl_his dt{
	padding:13px 5px 10px;
  color:var(--blue2);
	font-weight:700;
}
.dl_his dd{
	padding:0 5px 13px;
	font-size:15px;
	margin-bottom:0;
	border-bottom:1px solid #999;
}
.dl_his dt:first-child{
	border-top:1px solid #999;
}
.lic_group{
	margin-bottom:50px;
}
.lic_group:last-of-type{
	margin-bottom:0;
}
.lic_group>h3{
	font-size:17px;
	margin-bottom:10px;
	color:var(--blue1);
	font-weight:700;
}
.ul_lic{
	padding-left:0;
	list-style:none;
}
.ul_lic li{
	font-size:16px;
	display:inline-block;
	margin-bottom:10px;
}
.ul_lic li::after{
	display:inline-block;
	content:'/';
	margin:0 5px;
}
.ul_lic li:last-child:after{
	display:none;
}
@media(min-width:768px){
	.cmp_sec .jp_en_ttl{
		display:flex;
		align-items:flex-end;
	}
	.cmp_sec .jp_en_ttl span{
		line-height:1;
		margin-right:16px;
	}
	.cmp_sec .jp_en_ttl h2{
		line-height:1.7;
	}
	.cmp_sec.message p{
		font-size:16px;
	}
	/*.msgFlx{
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		flex-direction:row-reverse;
	}
	.msgFlx .imgarea{
		width:30%;
	}
	.msgFlx .txtarea{
		width:65%;
	}*/
	.p_vis{
		font-size:20px;
	}
  .dl_cmp{
    display:flex;
    flex-wrap:wrap;
  }
  .dl_cmp dt{
    padding:15px 10px;
    width:25%;
    border-bottom:2px solid var(--blue3);
  }
  .dl_cmp dd{
    width:75%;
    padding:15px 10px;
		padding-left:15px;
		border-bottom:1px solid #999;
  }
	.dl_cmp dt:first-of-type{
		border-top:2px solid var(--blue3);
	}
  .dl_cmp dd:first-of-type{
    border-top:1px solid #999;
  }
	.dl_cmp dd::before,.dl_cmp dd::after,.dl_cmp dt:first-of-type::before,.dl_cmp dt:first-of-type::after{
		display:none;
	}
	.dl_cmp a.tellink{
		color:#000;
		font-weight:inherit;
	}
	.dl_cmp.lic dt{
		width:40%;
	}
	.dl_cmp.lic dd{
		width:60%;
	}
	.cmp_sec .gmap-wrap{
		padding-bottom:56.25%;
	}
	.dl_his{
		display:flex;
		flex-wrap:wrap;
	}
	.dl_his dt{
    padding:15px 10px;
    width:25%;
    border-bottom:1px solid #999;
  }
  .dl_his dd{
    width:75%;
    padding:15px 10px;
		padding-left:15px;
  }
	.dl_his dd:first-of-type{
		border-top:1px solid #999;
	}
}
@media(min-width:992px){
	.entry-content.d-lg-flex .sidesection{
		padding-right:20px;
	}
	.sidebar{
		position:sticky;
		top:95px;
		right:20px;
	}
  .dl_cmp dt,.dl_cmp dd{
    padding-top:1rem;
    padding-bottom:1rem;
  }
}
/* #recruit page */
.rec_fst_sec{
	padding-bottom:20px;
}
.rec_fst_sec .container>*{
	opacity:0;
	-webkit-transform:translate(0, 30px);
	transform:translate(0, 30px);
	transition-duration:0.7s;
	transition-delay:.5s;
}
.job_overview span{
	color:var(--blue1);
	font-weight:600;
}
.job_overview{
	margin-bottom:40px;
}
.job_overview p{
	margin-bottom:10px;
}
.jobdesc.entry-body{
	padding-bottom:40px;
}
.jobdesc.entry-body,.jobdesc.entry-body p{
	font-size:16px;
}
@media(min-width:992px){
	.recruit-siteContent .site-main.col-lg-9{
		padding:0 50px;
	}
}
/* #contact page */
.beforeform1{
  margin-bottom:40px;
}
.telWrap{
  padding:1rem;
  background:#e5f1f7;
  margin:0 auto 50px;
  max-width:800px;
}
.telWrap h2{
  color:var(--blue1);
  font-weight:700;
  margin-bottom:10px;
  font-size:20px;
}
.telWrap .tellink{
  color:var(--blue1);
  font-weight:700;
  letter-spacing:1px;
  display:flex;
  align-items:center;
  font-size:30px;
}
.telWrap .tellink i{
  font-size:75%;
  margin-right:7px;
}
.telWrap .tellink:hover{
  color:#005fcc;
}
.aftertel{
  font-size:15px;
  color:#666;
}
.beforeform2{
	font-size:14px;
	color:#666;
  margin-bottom:20px;
}
.form_add{
  max-width:900px;
  margin:0 auto;
	border:1px solid rgba(14, 32, 104, 0.7);
  padding:1rem;
}
.form_add p{
  color:var(--blue1);
	font-size:16px;
}
.dl_cmp.rec p,.dl_cmp.rec a{
	font-size:15px;
}
.ctt_sec .h2org{
	max-width:850px;
	margin-left:auto;
	margin-right:auto;
}
.wpcf7-turnstile{
	display:flex;
	justify-content:center;
}
@media(min-width:500px){
  .ctt_sec h2,.telWrap p{
    text-align:center;
  }
  .telWrap .tellink{
    justify-content:center;
  }
  .telWrap,.form_add{
    padding:20px;
  }
}
@media(min-width:768px){
  .telWrap,.form_add{
    padding:30px;
  }
  .telWrap h2{
    font-size:24px;
  }
  .telWrap .tellink{
    font-size:40px;
  }
  .aftertel{
    font-size:17px;
  }
}
@media(min-width:992px){
  .beforeform1,.beforeform2{
    text-align:center;
  }
  .telWrap h2{
    font-size:26px;
  }
  .aftertel{
    font-size:18px;
  }
}
/* #privacy policy page */
.pri_sec .detail-wrap{
	padding-top:30px;
}
.pri_sec ul{
	padding-left:20px;
}
.pri_sec ul li{
	margin-top:5px;
}
.pri_sec a{
	color:var(--blue3);
	font-weight:500;
	border-bottom:1px solid var(--blue3);
	margin-right:3px;
}
.pri_sec a:focus,.pri_sec a:hover{
	opacity:0.8;
	border-color:rgba(255,255,255,0);
}
/* #footer */
.site-footer{
	background:#3D6F8F;
}
.site-footer>.container{
	padding:40px 15px;
}
.ftrinfo{
	margin-bottom:30px;
}
.ftrinfo p,.ftrinfo a{
	color:#fff;
}
.ftrinfo p{
	margin-bottom:1rem;
}
.ftrttl a{
	font-size:18px;
	font-weight:500;
}
.site-footer-nav{
  color:#fff;
}
.site-footer-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  width:100%;
}
.site-footer-menu>li{
  width:100%;
	margin-bottom:20px;
}
.site-footer-menu>li>a,.site-footer-menu>li.menu-item-has-children.nolink .sub-menu li a{
  font-weight:700;
  color:#fff;
  display:inline-block;
  margin-bottom:0.5em;
	font-size:17px;
}
.site-footer-menu .sub-menu{
	display:flex;
	flex-wrap:wrap;
  list-style:none;
  padding:0;
  margin:0;
}
.site-footer-menu .sub-menu li{
	width:50%;
	padding-right:10px;
}
.site-footer-menu .sub-menu li a{
  color:#fff;
  display:inline-block;
  margin-bottom:10px;
	font-size:16px;
}
.site-footer-menu>li.menu-item-has-children.nolink > a[href="#"]{
  display:none;
}
.site-footer-menu>li.menu-item-has-children.nolink .sub-menu{
	display:block;
}
.site-footer-menu>li.menu-item-has-children.nolink .sub-menu li{
	width:fit-content;
	margin-bottom:5px;
	padding-right:0;
}
.site-footer-menu a:hover,.site-footer-menu a:focus,.ftrinfo a:hover,.ftrinfo a:focus{
	opacity:0.7;
}
.site-footer-menu a[href="#"],.site-footer-menu a:not([href]){
	pointer-events:none;
}
.ftr-copy{
	text-align:center;
	font-size:12px;
	color:#fff;	
}
@media(min-width:768px){
	.site-footer-menu{
		display:flex;
	}
	.site-footer-menu>li{
		width:25%;
		padding-right:10px;
	}
	.site-footer-menu>li.menu-item-home{
		flex-basis:20%;
	}
	.site-footer-menu>li.menu-item-has-children{
		flex-basis:27%;
	}
	.site-footer-menu>li.menu-item-has-children.nolink{
		flex-basis:26%;
	}
	.site-footer-menu>li:last-child{
		padding-right:0;
	}
	.site-footer-menu .sub-menu{
		display:block;
	}
	.site-footer-menu .sub-menu li{
		width:fit-content;
	}
}
@media(min-width:768px) and (max-width:991px){
	.ftrinfo .br1{
		display:none;
	}
}
@media(min-width:992px){
	.site-footer .container{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	.ftrinfo{
		width:220px;
	}
	.site-footer-nav{
		width:calc(100% - 270px);
		max-width:700px;
	}
	.ftr-copy{
		width:100%;
	}
}