/* フロント専用 基本設定
/* 編集画面には適用しなくてよい
/* google font はfunctions.phpで読み込み

/* ========================================================================== */
/*	0. Document Setup
/* ========================================================================== */
/*root setting*/
:root{
	--billboardHeight: 100vh;
	--headerHeight: 55px;
}
@media(min-width: 1000px){
	:root{
		--headerHeight: 95px;
	}
}
/* Basic Setting
----------------------------------------------------------------------------- */

.large{ font-size: 1.2em; }

.small{ font-size: 0.8em; }

b , strong{ font-weight: var(--boldFontWeight); }



/* Functional Setting
----------------------------------------------------------------------------- */

.front-hidden{ display: none;}

/*	CONTENT WIDTH SETTING
/* -------------------------------------------------------------------------- */

.content-width{ max-width: var(--contentWidth); margin: auto; }

.maximum-width{ max-width: var(--maximumWidth); margin: auto; }

.horizontal-margin{ width: calc(100% - 36px); margin-right: auto; margin-left: auto; }

.sidebar-width-setting{ width: calc(100% - 36px); max-width: 136rem; margin-right: auto; margin-left: auto; }

@media ( min-width: 700px ){

	.horizontal-margin{ width: calc(100% - 72px); }

	.sidebar-width-setting{ width: calc(100% - 3em); margin-right: auto; margin-left: auto; }
}

/* admin-bar ---------------------------------------------------------- */

.admin-bar .screen-height{ min-height: calc(100vh - 32px); }

@media (max-width: 782px){
	.admin-bar .screen-height{ min-height: calc(100vh - 46px); }
}



/* ========================================================================== */
/*	THEME SETTING
/* ========================================================================== */

/*body*/

body.single-interview{
	transform: translateX(100%);
	transition: transform 0.5s ease;
}

/*	Site Header
/* -------------------------------------------------------------------------- */
.header-logo-wrapper{
	width: 194px;
	height: 45px;
	margin-left: 18px;
	margin-right: auto;
	position: fixed;
	top: 10px;
	left: 0;
	right: 0;
	display: block;
	z-index: 5;
}

body.fixed .header-logo-wrapper{
	z-index: 4;
}

@media(min-width: 1000px){
	.header-logo-wrapper{
		margin-left: 36px;
		top: 38px;
		width: 194px;
		height: 44px;
	}
}

@media(min-width: 1557px){
	.header-logo-wrapper{ margin-left: calc(50% - 734px);
	}
}

.header-titles{
	width: 100%;
	height: 100%;
}

.nav-toggle-wrapper{
	width: 45px;
	height: 45px;
	margin-right: 18px;
	margin-left: auto;
	position: fixed;
	top: 10px;
	left: 0;
	right: 0;
	display: block;
	z-index: 5;
}

body.fixed .nav-toggle-wrapper{ margin-right: 18px;}

@media(min-width: 1000px){
	.nav-toggle-wrapper{
		margin-right: 36px; top: 30px;
		width: 60px;
		height: 60px;
	}

	body.fixed .nav-toggle-wrapper{ margin-right: 36px;}
}

@media(min-width: 1557px){
	.nav-toggle-wrapper{ margin-right: calc(50% - 734px);}

	body.fixed .nav-toggle-wrapper{ margin-right: calc(50% - 725.5px);}
}



#scroll-down-arrow{ position: absolute; display: block; width: 50px; height: 120px; bottom: 50px; left: 5%; right: auto;}

body:not(.home) #scroll-down-arrow{ display: none; }

#scroll-down-arrow img{ position: absolute; top: 0; left: 0;  }


/* Mobile Nav Toggle
   hamburger menu button
------------------------------------------------------------------- */

body.fixed{
	overflow: hidden;
	margin-right: 17px;
}

#mobile-nav-toggle{
	display : flex;
	width : 100%;
	height:100%;
	flex-wrap: wrap;
	justify-content : center;
	align-content: space-between;
	color: white;
	background-color: #6abcf0;
	cursor: pointer;
	z-index: 100;
	padding: 10px 5px 3px;
	border-radius: 5px;
}

#mobile-nav-toggle svg{
	width : 23px;
	height : 16px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

@media(min-width: 700px){
	#mobile-nav-toggle svg{
		width : 30px;
		height : 22px;
	}
}
.button-text{
	font-size : var(--fontSize14);
	font-weight : var(--midiumFontWeight);
	width : 100%;
	text-align: center;
	white-space : nowrap;
	word-break : break-all;
	transform-origin: bottom center;
}

svg rect#u1, svg rect#l1 ,svg rect#m1,svg rect#m2,.button-text{
	transform-origin: center;
	transition: all 0.3s linear;
}
#mobile-nav-toggle .toggle-icon > svg {
    display: block;
}

#mobile-nav-toggle.active{
	align-content: center;
	padding: 0;
}

#mobile-nav-toggle.active svg{
	width: 50px;
	height: 38px;
}

#mobile-nav-toggle.active rect#m1{
	transform: rotate(30deg);
}
#mobile-nav-toggle.active rect#m2{
	transform: rotate(-30deg);
}
#mobile-nav-toggle.active rect#u1{
	transform: scale(0);
}
#mobile-nav-toggle.active rect#l1{
	transform: scale(0);
}

#mobile-nav-toggle.active .button-text{
	opacity: 0;
	font-size: 0;
}
@media (min-width: 500px){
	#mobile-nav-toggle{
		top : 5px;
		left : calc(100vw - 78px);
	}
}



/*	Menu Modal
/* -------------------------------------------------------------------------- */
body.fixed{
	overflow: hidden;
	margin-right: 17px;
}

.menu-modal{
	position : fixed;
	z-index : 4;
	top : 0;
	right : 100%;
	bottom : 0;
	left : -100%;
	display : none;
	overflow-x : hidden;
	overflow-y : auto;
	transition : opacity 0.05s ease-in, left 0s 0.25s, right 0s 0.25s;
	opacity : 1;
}

.admin-bar .menu-modal{ top : 32px; }

@media (max-width: 782px){
	.admin-bar .menu-modal{ top : 46px; }
}

.menu-modal.show-modal{ display : flex; }

.menu-modal.active{ right : 0; left : 0; transition : opacity 0.05s ease-out; opacity : 1; }

.menu-modal-inner{
	display: block;
	overflow : auto;
	justify-content : stretch;
	width : 100%;
	padding: 100px 1em 50px;
	transition : transform 0.2s ease-in, opacity 0.2s ease-in;
	transform : translateX(150rem);
	opacity : 1;
	background : rgba(198,233,255,0.8);
	box-shadow : 0 0 2rem 0 rgba(0, 0, 0, 0.1);
}

.menu-modal.active .menu-modal-inner{
	transition-timing-function : ease-out;
	transform : translateX(0);
	opacity : 1;
	backdrop-filter: blur(10px);
}

@media ( min-width: 600px ){
	.menu-modal-inner{
		padding: 80px 0 40px;
	}
}

/*
modal-header
*/
.modal-header{
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--themeColor);
	margin-bottom: 1em;
}

.modal-header a{
	display: flex;
	flex-wrap: wrap;
    gap: 0 20px;
    align-items: flex-end;
	justify-content: flex-end;
	flex-basis: calc(var(--fontSize30) * 9);
}

.modal-header a img{ width: 100%; margin: 0;}

.modal-header .modal-title{
	color: var(--bgOrange);
	font-weight: var(--boldFontWeight);
	font-family: var(--englishFont);
	font-size: var(--fontSize18);
	line-height: 1;
}

@media(min-width: 450px){
	.modal-header a{
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
}

@media ( min-width: 600px ){
	.modal-header{ max-width: 100%;}
}

@media(min-width: 1000px){
	.modal-header{
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		padding-bottom: 0.3em;
		border-bottom: 1px solid var(--themeColor);
		margin-bottom: var(--variableSpaceS);
	}
}
/*
modal-menu-upper
*/
.modal-menu-upper{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 6%;
	max-width: 16em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	margin-bottom: var(--variableSpaceS);
}

.modal-menu-upper > li{
	flex-basis: 47%;
}

.modal-menu-upper .menu-title{
	color: var(--themeColor);
	font-size: var(--fontSize18);
	font-weight: var(--boldFontWeight);
	transform: rotate(0.03deg);
	transition: color 0.3s ease;
}


.modal-menu-upper .menu-title:hover{
	color: var(--buttonCyan2);
}
.modal-menu-upper .menu-title-eng{
	font-size: var(--fontSize14);
	color: var(--themeColor);
}

@media(min-width: 600px){
	.modal-menu-upper{
		flex-wrap: nowrap;
		gap: 20px;
		max-width: 35.2em;
	}

	.modal-menu-upper > li{
		flex-basis: auto;
	}

}
/*
modal-menu
*/

.modal-menu{
	width : 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 10px;
	justify-content: space-between;
	margin-bottom: var(--variableSpaceS);
}

@media(min-width: 1000px){
	.modal-menu{
		flex-wrap: nowrap;
	}
}

.modal-menu > li{
	display: block;
	border-width: 0 0 0 0;
	flex-basis: 9em;
	flex-grow: 1;
}

.modal-menu >li > a{
	background-color: var(--themeColor);
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: var(--fontSize20);
	padding: 1em 1em 0.7em;
	margin-bottom: 1em;
	transition: all 0.3s ease;
}
.modal-menu >li > a:not([tabindex="-1"]):hover{
	background-color: var(--buttonCyan2);
}

.modal-menu >li > a .menu-title-eng{
	font-size: var(--fontSize14);
}
@media(min-width: 1000px){
	.modal-menu > li{
		flex-basis: 11em;
	}
	.modal-menu >li > a{
		margin-bottom: 1.5em;
	}
}
/*
modal-menu sub-menu
*/
.modal-menu .sub-menu{
	list-style: none;
	margin-bottom: ;
}

.modal-menu .sub-menu li{
	font-size: var(--fontSize18);
	color: var(--bodyFontColor);
	line-height: 1.1;
	font-weight: var(--regularFontWeight);
	padding: 0 1em;
	margin-bottom:0.51em;
	transform: rotate(0.03deg);
	transition: all 0.3s ease;
}

.modal-menu .sub-menu li:hover a{
	color: var(--themeColor);
}

@media(min-width: 1000px){
	.modal-menu .sub-menu li{
		margin-bottom: 1em;
	}
}

/*
 modal-menu-bottom
*/
.modal-menu-bottom{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
	max-width: 650px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--variableSpaceS);
	justify-content: space-around;
}

.modal-menu-bottom li,
.instaBtnWrap{
	height: calc(var(--fontSize20) * 3.5);
	flex-basis: calc(var(--fontSize20) * 15);
	color: white;
	background-color: var(--themeColor);
	transition: all 0.3s ease;display: flex;
    justify-content: center;
    align-items: center;
}

.modal-menu-bottom li:hover,
.instaBtnWrap:hover{
	background-color: var(--buttonCyan2);
}

.modal-menu-bottom li:first-child{
	text-align: center;
}

.modal-menu-bottom li:first-child a{
	flex-direction: column;
}

.modal-menu-bottom li a,
.instaBtnWrap a{
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
	text-align: left;
}

.modal-menu-bottom li:hover a,
.instaBtnWrap:hover a
{
	color: #F4F4B0;
}


/*	Page Header
/* -------------------------------------------------------------------------- */
body.home #page_header{
	position : relative;
	z-index : 1;
	height: var(--billboardHeight);
	background-color: white;
}

body:not(.home) #page_header{
	position : relative;
	z-index: 2;
	display : flex;
	flex-wrap: wrap;
	align-items : center;
	justify-content : center;
	background-color: var(--bodyBgColor);
}

h1.page-title{
	font-size: var(--fontSize50);
	width: 100%;
	padding: 0;
	margin: 0;
	text-align: center;
	color: var(--themeColor);
	position: absolute;
}
h1.page-title .jp{
	font-size: var(--fontSize30);
}

h1.page-title .eng{
	font-size: var(--fontSize80);
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
}

.search h1.page-title{ overflow : hidden; max-width : 95vw; word-break : keep-all; }

/* Featured Media
------------------------------------------------------------------------------*/
.featured-media{
	width: 100%;
	position: relative;
	height: 300px;
}

@media(min-width: 1000px){
	.featured-media{
		height: 0;
		padding-top: calc( 125.2px - 6.52vw + 32.3%);
	}
}

.featured-media::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 65px;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: white;
}

@media(min-width: 1000px){
	.featured-media::before{
		height: 120px;
	}
}

.featured-media-inner{
	position: absolute;
	width: 100%;
	height: 300px;
	top: 0;
	left: 0;
}

.featured-media img{
	object-fit: cover;
	height: 100%;
}

body.about-recruitment .featured-media img{
	object-position: 10%;
}

body.recruitment .featured-media img{
	object-position: 70%;
}

body.about-team .featured-media img{
	object-position: 55%;
}

@media(min-width: 1000px){
	.featured-media-inner{
		top: calc( -6.52vw + 125.2px );
		height: calc((100vw - 17px) * 0.323);
	}

	.featured-media img{
		width: 100%;
		height: auto;
		object-fit: contain;
	}
}
@media(min-width: 1938px){
	.featured-media-inner{
		top: 0;
	}
}

.featured-media .eng-title{
	position: absolute;
	bottom: 0;
	line-height: 1.22;
	font-size: var(--fontSize100);
	font-family: var(--englishFont);
	font-weight: var(--boldFontWeight);
	color: white;
	text-align: center;
	width: 100%;

}

body.contact-us .featured-media img{ object-position: 70%;}

/* billboardMovie
----------------------------------------------------------------------------- */
#billboard{
	position: relative;
	height: 100%;
	background-color: var(=--themeColor);
}
video#movie-header{
	width : 100%;
	max-width : var(--maximumWidth);
	object-fit: cover;
	height: var(--billboardHeight);
	opacity: 0;
}
/*breadcramb
------------------------------------------------------------------------------ */
.breadcramb{
	width: 100%;
	text-align: left;
	font-weight: var(--lightFontWeight);
	margin-top: 5px;
}
/* ========================================================================== */
/*	2．MAIN
/* ========================================================================== */

/* page.php
============================================================================= */

body:not(.home):not(.single-interview) #site_content{ position: relative;}

/*	index.php post_type_archive / blog / monthly_archive
----------------------------------------------------------------------------- */

.two-columns{
	display: flex;
	gap: 3%;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-top: var(--variableSpaceM);
}

.two-columns #main-column{ flex-basis: 100%; }

.two-columns #archive-sidebar{ flex-basis: 100%; }

@media(min-width: 1000px){

	.two-columns #main-column{ flex-basis: 67%; }

	.two-columns #archive-sidebar{ flex-basis: 30%; }
}

/* #main-column
----------------------------------------------------------------------------- */

.entry-unit{ padding: 0 1em; }

/* entry-header
----------------------------------------------------------------------------- */

.entry-header{ padding: 0; background-color: inherit; }

h2.entry-title{
	margin: 0 0 0.5em;
	width: 100%;
	font-size: var(--fontSize30);
	border-bottom: 1px solid #c1cbcb;
}

.entry-title a{ text-decoration: none; color: inherit; }

.post-date{
	font-size: var(--fontSize18);
	font-weight: var(--regularFontWeight);
	margin-bottom: 1em;
}

.post-cat{
	color: var(--themeColor);
}
/* pagenation
----------------------------------------------------------------------------- */

.nav-links{ text-align: center; }

span.page-numbers:not(.prev):not(.next){ background-color: var(--themeColor); color: white; margin: 5px; display: inline-block; width: 1.5em; }

a.page-numbers{ transition: all 0.3s ease;}

a.page-numbers:not(.prev):not(.next){
	border: 1px solid var(--footerBgColor);
	margin: 5px;
	display: inline-block;
	width: 1.5em;
	background-color: #93C1E7;
	color: white;
}

a.page-numbers:not(.prev):not(.next):hover{
	background-color: var(--textOrangeDark);
}

a.page-numbers.next,a.page-numbers.prev{ color: var(--themeColor); transition: all 0.3s ease;}

a.page-numbers.next:hover,a.page-numbers.prev:hover{ color: var(--textOrangeDark); }

a.page-numbers.prev .arrow{ display: inline-block; transform: rotate(30deg);}

a.page-numbers.next .arrow{ display: inline-block; transform: rotate(-30deg);}

.page-numbers.current{ position: relative;}

.page-numbers.current::after{
	content: "▼";
    position: absolute;
    width: 10px;
    height: 10px;
    font-size: 10px;
    color: var(--themeColor);
    top: -10px;
    left: 0;
    right: 0;
    margin: auto;
}

/* #archive-sidebar
----------------------------------------------------------------------------- */
#archive-sidebar h2{
	font-size: var(--fontSize20);
	font-family: inherit;
	font-weight: var(--midiumFontWeight);
	display: block;
	width: 100%;
	max-width: 350px;
	line-height: 1;
	padding: 0.59em 0;
	text-align: left;	;
	color: black;
	background-color: var(--themeColorLight);
	text-align: center;
	margin-bottom: 0.5em;
}
#archive-sidebar ul{
	margin: 0 10px;
	font-weight: var(--regularFontWeight);
	line-height: 1.5;
}

#archive-sidebar ul.cat-list li:last-child{
	margin-top: 1em;
}

#archive-sidebar select{
	font-size: var(--fontSizeS);
	margin: 0 10px;
	padding: 0.5em;
	width: calc(100% - 20px);
	background-color: white;
	border: 1px solid #ccc;
}
.sidebar-block-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 15px;
	max-width: 750px;
	margin: auto;
}
.sidebar-block{ flex-basis: 233px; flex-grow: 1; max-width: 350px; }

@media ( min-width: 700px ){
/* Post: Archive
----------------------------------------------------------------------------- */


}


/*	Single.php
============================================================================= */

/* SINGLE PAGINATION
----------------------------------------------------------------------------- */

.pagination-single{
	font-size: var(--fontSizeM);
	margin-top: 5rem;
}

.pagination-single-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pagination-single hr:first-child{
	margin: 0 0 2.8rem 0;
}

.pagination-single hr:last-child{
	margin: 2.8rem 0 0.8rem 0;
}

.pagination-single-inner > *{
	font-weight: var(--boldFontWeight);
	display: flex;
	align-items: baseline;
	text-decoration: none;
	letter-spacing: -0.0275em;
	width: 7.5em;
	color: var(--themeColor);
	font-size: var(--fontSize18);
	line-height: 30px;
}

.pagination-single a.previous-post .arrow{
	margin-right: 1rem;
}

.pagination-single a.next-post .arrow{
	margin-left: 1rem;
}

.pagination-single a.return-list{
	width: 6em;
	background-color: var(--textblueLight);
	padding: 0.5em;
	font-size: var(--fontSize20);
	color: black;
}

.pagination-single a .dashicons{
	width: 1em;
	height: 1em;
	font-size: 30px;

}

.pagination-single a:focus .title , .pagination-single a:hover .title{
	text-decoration: underline;
}

@media ( min-width: 700px ){

	.pagination-single{
		font-size: var(--fontSizeL);
		margin-top: 8rem;
	}

	.pagination-single.only-next .pagination-single-inner{
		justify-content: flex-end;
	}

	.pagination-single hr:first-child{
		margin: 0 0 4rem 0;
	}

	.pagination-single hr:last-child{
		margin: 4rem 0 0.8rem 0;
	}

	.pagination-single .next-post{
		text-align: right;
	}
}


/*	search.php
============================================================================= */

/* Search Results
----------------------------------------------------------------------------- */

.no-search-results-form{
	padding-top: 5rem;
}

@media ( min-width: 700px ){

	.no-search-results-form{
		padding-top: 8rem;
	}
}

/* Search Form
----------------------------------------------------------------------------- */

.search-form{ display: flex; align-items: stretch; flex-wrap: nowrap; margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field , .search-form .search-submit{ margin: 0 0 0.8rem 0.8rem; }

.search-form label{ font-size: inherit; display: flex; align-items: stretch; width: 100%; max-width: 300px; margin: 0; }

.search-form .search-field{ width: 100%; }

.search-form .search-submit{ flex-shrink: 0; }

.search-form .search-submit:focus , .search-form .search-submit:hover{ text-decoration: none; }

/*	Error 404
============================================================================= */


.error404 #site_content{
	padding-top: 4rem;
}

.error404-content{
	text-align: center;
}

.error404 #site_content .search-form{
	justify-content: center;
	margin-top: 3rem;
}
@media (min-width: 700px){

	.error404 #site_content{
		padding-top: 8rem;
	}
}


/*  Site Map
============================================================================= */

/* ========================================================================== */
/*	3．FOOTER
/* ========================================================================== */


/*	Site Footer
----------------------------------------------------------------------------- */

#site_footer{
	padding : var(--variableSpaceS) 0;
	position : relative;
	background-color : rgba(0,137,206,0.9);
	color: var(--footerTextColor);
	font-size : var(--fontSize20);
	z-index: 2;
}
@media ( min-width: 700px ){

	#site_footer{
		padding-bottom: 2rem;
	}
}

.footer-widgets{ margin-bottom: 50px;}

@media(min-width: 1200px){
	.footer-widgets{ margin-bottom: 250px;}
}

.footer-flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 5%;
	font-weight: var(--midiumFontWeight);
}

.footer-flex > *{
	flex-grow: 1;
}

.footer-flex .logo-wrap{
	flex-basis: 260px;
}

.footer-flex .logo-wrap figure{
	margin-bottom: 1em;
}

.footer-flex .logo-wrap a{
	display: block;
	text-align: center;
	color: white;
}

.footer-flex .menu-wrap{
	flex-basis: 17.5em;
	display: flex;
	gap: 20px 5%;
}

.footer-flex .btns-wrap{
	flex-basis: 15em;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 20px calc(100% - 600px);
}


#footer_menu{
	list-style-type: none;
	color: white;
	font-size: var(--fontSize18);
	display: flex;
	flex-wrap: wrap;
	gap: 1em 2%;
	max-width: 17.5em;
	margin: auto;
}

#footer_menu li{
	flex-basis: 49%;
}

#footer_menu li a{
	display: inline-block;
	position: relative;
	padding-bottom: 3px;
}

#footer_menu li a::after{
	content: "";
	width: 0;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: currentColor;
	transition: width 0.2s linear;
}

#footer_menu li a:hover::after{
	width: 100%;
}

.btns-wrap a{
	display: flex;
	flex-basis: 15em;
	justify-content: center;
	align-items: center;
	height: 3.5em;
	font-size: var(--fontSize20);
}

/* ページトップに戻る
----------------------------------------------------------------------------- */

a.to-the-top{
	position : fixed;
	right : 10px;
	bottom : 1rem;
	transform : translateX(135%);
	transition: transform 0.3s ease;
	color: var(--themeColorLight);
}

a.to-the-top svg{
	width: 40px;
	height: 30px;
}
a.to-the-top > *{
	pointer-events : none;
}

.to-the-top-long{
	display : none;
}

/* COPYRIGHTS
----------------------------------------------------------------------------- */
#copyrights{
	text-align: center;
	letter-spacing: 0.3em;
	color: white;
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
}


svg#svg_library + div{
	position: relative;
	z-index: 5;
}
/* google reCAPTCHA
----------------------------------------------------------------------------- */

.grecaptcha-badge{
	visibility: hidden;
	z-index: 0;
}

.grecaptcha-badge{
	bottom: 60px!important;
}

.gbadge{
	display: flex;
	width: 256px;
	height: 70px;
	border: 1px solid #1a73e8;
	border-radius: 5px;
	margin: 20px auto;
	box-shadow: 0 0 5px #aaa;
}

.gbadge figure{
	padding: 13px 11px;
	width: 70px;
}

.gbadge div{
	background-color: #1a73e8;
	color: white;
	font-size: 10px;
	flex-basis: 186px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5px;
}

.gbadge p{ margin: 0;}

.dbadge a{ display: block; }

/* POSTS LIST    embed-recent-post.php
============================================================================= */
.posts-list{
	margin: auto;
	padding: 20px 10px;
	position: relative;
	background-color: white;
	max-width: 1240px;
	min-height: 300px;
}

@media(min-width: 500px){
	.posts-list{ padding: 2em; }
}

.posts-list .item-wrap{
	text-align: left;
	margin-bottom: 1em;
}

.posts-list .item {
	padding: 16px 10px 21px;
	font-size: 16px;
	border-bottom: 1px solid var(--themeColor);
}

.posts-list .cat-mark{ color: var(--themeColor);}

.posts-list .title-block { display: inline-block; }

.posts-list .title-block a { text-decoration: none; }


.more-read{
	text-align: center;
	bottom: 2em;
	left: 0;
	right: 0;
}

.more-read button{
	border-radius: 1.5em;
	padding: 1.5rem 1.5rem 1.2rem;
	line-height: 1;
	background-color: var(--themeColor);
	color: white;
	cursor: pointer;
	transition: all 0.3s ease-out;
}

.more-read button:hover{
	background-color: var(--bgOrange);
}


/*=========================================================================== */
/* Google Map embed
============================================================================= */

.ggmap{
	position: relative;	overflow: hidden; max-width: 100%; height: 300px;text-align: center; }

.ggmap iframe , .ggmap object , .ggmap embed{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/*=========================================================================== */
/* Contents Setting
============================================================================= */
/*common setting
-----------------------------------------------------------------------------*/
.bg-white{
	position: relative;
	z-index: 1;
	background-color: white;
	overflow: hidden;
}

.bg-blue{
	background-color: var(--themeColor);
}

.bg-cyan{
	background-color: #E3F6FF;
}

.bg-cream{
	background-color: #FAF2D0;
}

.rounded{
	border-radius: 5vw;
}

@media(min-width: 1000px){
	.rounded{
		border-radius: 50px;
	}
}

/* right margined
----------------------------------------------------------------------------*/
.right-margined{
	padding-left: 18px;
	padding-right: 18px;
	width: auto;
}

@media(min-width: 700px){
	.right-margined{
		padding-left: 36px;
		padding-right: 36px;
	}
}

@media(min-width: 1417px){
	.right-margined{
		margin-right: calc(50% - 700px);
		padding-right: 80px;
		padding-left: calc(50% - 620px);
	}
}
/* history list
----------------------------------------------------------------------------*/

.history-list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	font-family: var(--gothicFont);
}

.history-list .separator{
	flex-basis: 100%;
	height: 1px;
	border-bottom: 1px solid #CCCCCC;
	margin: 0.2em 0;
}

.history-list .left{
	flex-basis: 100%;
	padding-left: 1em;
}

.history-list .right{
	flex-basis: 100%;
	padding-left: 1em;
	padding-right: 1em;
}

.history-list figure{
	display: inline-block;
}

@media(min-width: 600px){
	.history-list .left{
		flex-basis: 8em;
	}

	.history-list .right{
		flex-basis: calc(100% - 9em );
		padding-left: 0;
	}
}

/* pourin
-----------------------------------------------------------------------------*/
[class^="flex-pourin"]{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	gap: 20px 0;
}

[class^="flex-pourin"] figure{ max-width: 100%; margin: 0 auto 20px;}

[class^="flex-pourin"]::after{ content: "";clear: both;display: block;}

@media(min-width: 600px){

	[class^="flex-pourin"]{	display: block;}

	.flex-pourin-right figure{ float: left; max-width: 49%; margin: 0 6% 20px 0!important;}

	.flex-pourin-left figure{ float: right; max-width: 30%; margin: 0 0 20px 6%!important;}
}

/* gradation button
----------------------------------------------------------------------------*/
.gradation-button{
	background: linear-gradient(to bottom ,#F7DBB0 ,#FF8900);
	display: flex;
	flex-direction: column;
	padding: 15px;
	border-radius: 30px;
	text-align: center;
	transition: all 0.3s ease;
}

.gradation-button:hover{
	background: linear-gradient(to bottom, #BFCCF2,#BFCCF2);
}

.gradation-button .jp{
	font-size: var(--fontSize36);
	color: white;
	font-weight: var(--extraFontWeight);
}

.gradation-button .eng{
	font-size: var(--fontSize26);
	color: #FFFF46;
	font-family: var(--englishFont);
	font-weight: var(--boldFontWeight);
	letter-spacing: 0.5em;
	margin-left: 0.5em;
	line-height: 1;
}

/* headline
/*section-title-combo
-------------------------------------------------------------------------*/
.section-title-combo{
	text-align: center;
	color: var(--themeColor);
}

.section-title-combo .jp{
	font-size: var(--fontSize30);
	font-weight: var(--boldFontWeight);
	display: inline-flex;
	align-items: center;
}

body.home .section-title-combo .jp{
	font-size: var(--fontSize50);
}

.section-title-combo .jp::before,
.section-title-combo .jp::after{
	content: "";
	display: block;
	width: 0.5em;
	height: 0.72em;
	background-repeat: no-repeat;
	background-size: contain;
}

.section-title-combo .jp::before{
	background-image: url(/images/common/mark_left.svg);
	margin-right: 0.4em;
}

.section-title-combo .jp::after{
	background-image: url(/images/common/mark_right.svg);
	margin-left: 0.4em;
}

.section-title-combo .eng{
	font-size: var(--fontSize20);
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.4em;
}

body.home .section-title-combo .eng{
	font-size: var(--fontSize30);
}

.section-title-combo.both-side{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.section-title-combo.both-side::before,
.section-title-combo.both-side::after{
	content: "";
	display: block;
	width: calc(var(--fontSize50) * 2.6);
	height: calc(var(--fontSize50) * 3.6);
	background-repeat: no-repeat;
	background-size: contain;
}

.section-title-combo.both-side::before{
	background-image: url(/images/about-recruitment/ideal_profile_left.svg);
}
.section-title-combo.both-side::after{
	background-image: url(/images/about-recruitment/ideal_profile_right.svg);
}
/* rounded rectangle
-------------------------------------------------------------------*/
.rounded-rectangle{
	display: flex;
	width: 100%;
	height: 2.67em;
	justify-content: center;
	align-items: center;
	line-height: 1;
	border-radius: 1.4em;
	margin-bottom: 1em;
}

.rounded-rectangle.blue{
	color: var(--themeColor);
	background-color: var(--themeColorLight);
}

.rounded-rectangle.orange{
	color: var(--textOrangeDark);
	background-color: #FFE6BE;
}

/*flex-setting
-----------------------------------------------------------------*/
.nowrap3cols{
	display: flex;
	gap: 3.84%;
}

.flex3to2to1{
	display: flex;
	gap: 30px 3.8%;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex3to2to1 .cell{
	flex-basis: 400px;
	flex-grow: 0;
	max-width: 400px;
	margin: auto;
}

.flex3to2to1 .cell.blank{
	display: none;
}
@media(min-width: 600px){
	.flex3to2to1 .cell{
		flex-basis: 48.1%;
	}
}
@media(min-width: 900px){
	.flex3to2to1 .cell{
		flex-basis: 30.8%;
	}

	.flex3to2to1 .cell.blank{
		display: block;
	}
}

.flex3to2{
	display: flex;
	gap: 30px 3.8%;
	flex-wrap: wrap;
	justify-content: space-around;
}

.flex3to2 .cell{
	flex-basis: 48.1%;
	justify-content: center;
}

@media(min-width: 700px){
	.flex3to2 .cell{
		flex-basis: 30.8%;
	}
}

.flex2to1{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 4%;
}

.flex2to1 .cell{
	flex-basis: 100%;
}

@media(min-width: 700px){
	.flex2to1 .cell{
		flex-basis: 48%;
	}
}

/* section launcher
----------------------------------------------------------------------------- */
.section-launcher{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-around;
}
.section-launcher > *{
	font-size: var(--fontSize20);
	flex-basis: 16em;
	height: 3.5em;
	flex-shrink: 1;
	color: white;
	background-color: var(--themeColor);
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	transition: all 0.3s ease;
}

.section-launcher > *:hover{
	background-color: var(--buttonCyan2);
}

.section-launcher .jp{
	width: 100%;
	text-align: center;
}

.section-launcher .eng{
	width: 100%;
	text-align: center;
	font-size: 10px;
	font-family: var(--englishFont);
}

/* Tilted Blue Back
----------------------------------------------------------------------------- */
.tilted-blue-back{ position: relative; padding: 4.37vw 0;}

.tilted-blue-back > *{position: relative;}

.tilted-blue-back::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--themeColor);
	clip-path: polygon(0 4.37vw , 0 100% , 100% calc(100% - 4.37vw), 100% 0);
	z-index: 0;
}


/*=========================================================================== */
/* top page
============================================================================= */

#parallax_bg{
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	background-image: url("/images/common/sticky_bg.jpg");
	background-position: center;
	background-size: cover;
	z-index: 0;
}

body.home #parallax_bg{
	background-image: url("/images/top/sticky_bg.jpg");
}

body.about-recruitment #parallax_bg{
	background-image: url("/images/about-recruitment/sticky_bg.jpg");
	background-position: 10% 0;
}

body.about-work #parallax_bg{
	background-image: url("/images/about-work/sticky_bg.jpg");
	background-position: 60% 0;
}

body.about-team #parallax_bg{
	background-image: url("/images/about-team/sticky_bg.jpg");
	background-position: 60% 0;
}

body.career-up-support #parallax_bg{
	background-image: url("/images/career-up-support/sticky_bg.jpg");
}

body.recruitment #parallax_bg{
	background-image: url("/images/recruitment/sticky_bg.jpg");
	background-position: 70% 0;
}

body.contact-us #parallax_bg{
	background-image: url("/images/contact-us/sticky_bg.jpg");
	background-position: 60% 0;
}





.parallax-window{
	width: 100%;
	height: 80vh;
	max-height: 780px;
}

.parallax-window figure{
	position: sticky;
	z-index: 1;
	top: 0;
	height: 100%;
}

.parallax-window figure img{
	width: 100%;
	height: 100%;
}

.page-content > *{
	position: relative;
}

#eyecatch{
	width: 100%;
	overflow: hidden;
	padding-bottom: 8.74vw;
}



#eyecatch .inner-screen{
	position: relative;
	width: 100%;
	max-width: 1920px;
	height: 460px;
	padding-top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
@media(min-width: 1017px){
	#eyecatch .inner-screen{
		height: 0;
		padding-top: 46.875%;
	}
}

@media(min-width: 1937px){
	#eyecatch .inner-screen{
		height: 91vh;
		padding-top: 0;
	}
}

#eyecatch .top-line{
	position: absolute;
	top: calc(10% + 65px);
	width: 100%;
	height: 70px;
	padding-top: 0;
}

@media(min-width: 400px){
	#eyecatch .top-line{
		height: 92px;
	}

}

@media(min-width: 1017px){
	#eyecatch .top-line{
		height: 0;
		padding-top: 9.375%;
	}
}

@media(min-width: 1937px){
	#eyecatch .top-line{
		height: 180px;
	}
}
#eyecatch .top-line::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -15%;
	height: 27%;
	width: 86.4%;
	background-color: var(--buttonYellowHover);
	clip-path: polygon(0 0, 100% 0, 94% 100% ,0 100%);
}
@media(min-width: 1937px){
	#eyecatch .top-line::before{
		left: calc((1937px - 100vw) / 2);
		width: calc(86.4% + (100vw - 1937px) / 2);
	}
}
#eyecatch .center-wrap{
	position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    text-align: center;
}

#eyecatch figure{
	height: 100%;
	display: inline-block;
}

#eyecatch img{
	height: 100%;
}

#eyecatch .mid-line{
	position: absolute;
	top: 46%;
	width: 100%;
	height: 25px;
	padding-top: 0;
}

@media(min-width: 400px){
	#eyecatch .mid-line{
		height: 33px;
	}
}

@media(min-width: 1017px){
	#eyecatch .mid-line{
		height: 0;
		padding-top: 3.3333%;
	}
}

@media(min-width: 1937px){
	#eyecatch .mid-line{
		height: 64px;
		padding-top: 0;
	}
}

#eyecatch .bottom-line{
	position: absolute;
	top: 65%;
	width: 100%;
	height: 57px;
	padding-top:0;
}

@media(min-width: 400px){
	#eyecatch .bottom-line{
		height: 75px;
	}
}

@media(min-width: 1017px){
	#eyecatch .bottom-line{
		height: 0;
		padding-top: 7.604%
	}
}

@media(min-width: 1937px){
	#eyecatch .bottom-line{
		height: 146px;
		padding-top: 0;
	}
}
#eyecatch .bottom-line::before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: -15%;
	height: 34.24%;
	width: 86.4%;
	background-color: var(--buttonYellowHover);
	clip-path: polygon(0 0, 100% 0, 100% 100% ,6% 100%);
}

@media(min-width: 1932px){
	#eyecatch .bottom-line::before{
		right:calc((1937px - 100vw) / 2);
		width: calc(86.4% + (100vw - 1937px) / 2);
	}
}

#eyecatch .bottom-text{
	font-size: var(--fontSize50);
	font-weight: var(--boldFontWeight);
	color: var(--themeColor);
	text-align: center;
	line-height: 1.2;
	margin-bottom: var(--fontSize20);
}

/*eyecatch animation setting
---------------------------------------------------------------*/
#eyecatch figure{ transition: all 1s cubic-bezier(0, 0.55, 0.45, 1); }

#maeno{ transform: translateX(-50%); opacity: 0;}

.done #maeno{ transform: none; opacity: 1;}

#maehe{ transform: translateX(-350%); opacity: 0;}

.done #maehe{ transform: none; opacity: 1;}

.top-line::before{ transform: scaleX(0); transition: all 1s cubic-bezier(0, 0.55, 0.45, 1); transform-origin: left;}

.done .top-line::before{ transform: none;}


#mirai{ transform: translateX(-50%); opacity: 0;}

.done #mirai{ transform: none; opacity: 1;}

#energy{ transform: translateX(-350%); opacity: 0;}

.done #energy{ transform: none; opacity: 1;}

#kimida{ transform: translateX(350%); opacity: 0;}

.done #kimida{ transform: none; opacity: 1;}

.bottom-line::before{ transform: scaleX(1); transition: all 1s cubic-bezier(0, 0.55, 0.45, 1); transform-origin: right;}

.done .bottom-line::before{ transform: none;}

/*採用についてショートカット About Recruitment Launcher
---------------------------------------------------------------------*/

#about_recruitment_launcher{
	position: relative;
	z-index: 1;
	padding-bottom: var(--variableSpaceS);
	overflow-X: clip;
}

#about_recruitment_launcher.tilted-blue-back{
	margin-top: -4.37vw;
}

#about_recruitment_launcher .inner-wrap{
	position: relative;
}


.about-recruitment-launcher .image{
	overflow: hidden;
	height: 100%;
}

.about-recruitment-launcher figure{
	position: relative;
	overflow: hidden;
	height: 100%;
}
.about-recruitment-launcher figure{
	transition: all 0.5s ease;
}
.about-recruitment-launcher figure::before{
	transition: all 0.5s ease;
}

.about-recruitment-launcher figure::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 95%;
	height: 95%;
	margin: 2.5%;
	background-color: rgba(157,222,255,1);
	mix-blend-mode: multiply;
}
@media(hover: hover){
	.about-recruitment-launcher:hover figure::before{
		background-color: rgba(157,222,255,0);
	}

	.about-recruitment-launcher:hover figure{
		transform: scale(1.1);
	}
}
.about-recruitment-launcher{
	position: relative;
}

.about-recruitment-launcher .text{
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	position: relative;
}

.about-recruitment-launcher .text{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 1;
}

.about-recruitment-launcher .text> div{
	flex-basis: 100%;
	color: white;
	text-align: center;
	position: relative;
	transition: all 0.5s ease;
}

.about-recruitment-launcher .text .jp{
	font-size: clamp(18px,calc( 3.14vw - 7.1px ),40px);
	margin-top: 3em;
	font-weight: var(--midiumFontWeight);
}

.about-recruitment-launcher.separated .text .jp{
	font-weight: var(--boldFontWeight);
}

.about-recruitment-launcher .text .eng{
	font-family: var(--englishFont);
	font-size: clamp(14px,calc( 0.51vw + 12.4px ),20px);
	font-weight: var(--lightFontWeight);
	margin-top: 1em;
}

@media(hover: hover){
	.about-recruitment-launcher:hover .jp{
		font-size: clamp(16px,calc( 1.19vw + 12.2px ),30px);
		transform: translateY(150%);
	}
	.about-recruitment-launcher:hover .eng{
		font-size: clamp(18px,calc( 3.14vw - 7.1px ),40px);
		transform: translateY(-180%);
	}
}

.about-recruitment-launcher.separated{
	position: relative;
	flex-basis: 48.1%;
	height: 0;
	padding-top: 48.1%;
}

.about-recruitment-launcher.separated .image{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.about-recruitment-launcher.separated img{
	object-fit: cover;
	height: 100%;
}

@media(min-width: 700px){
	.about-recruitment-launcher.separated{
		flex-basis: 100%;
		display: flex;
		padding-top: 0;
		height: auto;
	}

	.about-recruitment-launcher.separated > div{
		width: 50%;
	}

	.about-recruitment-launcher.separated .image{
		position: relative;
		width: 50%;
		height: auto;
	}

	.about-recruitment-launcher.separated figure::before{
		width: 100%;
		height: 100%;
		margin: 0;
	}
	.about-recruitment-launcher.separated .text{
		position: relative;
		width: auto;
		flex-grow: 1;
		line-height: 1.3;
	}

	.about-recruitment-launcher.separated .text::before{
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--themeColorLight);
		mix-blend-mode: multiply;
	}
	.about-recruitment-launcher .text .jp{
		margin-top: 0;
	}
}
/* Mid Window
-----------------------------------------------------------------------*/
#mid-window{
	height: 6em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

#mid-window::after{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	width: 100%;
	height: calc(100% + 4.37vw);
	background-color: rgba(157,222,255,0.7);
	margin-top: -4.37vw;

}

#mid-window > div{
	position: relative;
	text-align: center;
	z-index: 1;
	font-family: var(--englishFont);
	font-weight: var(--regularFontWeight);
	letter-spacing: 0.56em;
	color: white;
}

/*採用最新情報 Recent Posts
---------------------------------------------------------------*/

#recent_posts{
	text-align: center;
	overflow: visible;
	z-index: 1;
}

#recent_posts .right-margined{
	position: relative;
}

#recent_posts .right-margined::before{
	content: "";
	position: absolute;
	bottom: 100%;
	right: 3.125%;
	display: block;
	width: 9.75%;
	height: 0;
	padding-top: 13.75%;
	background-image: url(/images/top/illustration_recent_posts.svg);
	background-size: contain;
}

#recent_posts .hoverButton-1{
	width: calc(100% - 36px);
	margin: 20px auto 0;
	max-width: 400px;
	height: 4.5em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: var(--midiumFontWeight);
}

/* 前野石油の仕事ショートカット Our Work Launcher
----------------------------------------------------------------*/
#our_works{

}

#our_works .content-width{
	position: relative;
}

#our_works .content-width::before{
	content: "";
	position: absolute;
	bottom: 100%;
	left: 3.846%;
	display: block;
	width: 12.3%;
	height: 0;
	padding-top: 16.9%;
	background-image: url(/images/top/illustration_our_works.svg);
	background-size: contain;
}

.our-works-launcher{
	position: relative;
}

.our-works-launcher .image{
	overflow: hidden;
}

.our-works-launcher figure{
	position: relative;
	transition: all 0.7s ease;
}

.our-works-launcher figure::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,137,206,1);
	mix-blend-mode: multiply;
	transition: all 0.7s ease;
}

.our-works-launcher .text{
	position: absolute;
	width: 72.8%;
	height: 58%;
	border: 1px solid white;
	top: 21%;
	left: 13.6%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}

.our-works-launcher .text > div{
	flex-basis: 100%;
	color: white;
	text-align: center;
	font-size: clamp(17px,calc( 1.86vw + 4.0px ),30px);
	transition: all 0.7s ease;
}

.our-works-launcher .text > div.jp{
	font-weight: var(--midiumFontWeight);
}

.our-works-launcher .text > div.eng{
	font-weight: var(--lightFontWeight);
	font-family: var(--englishFont);
	letter-spacing: 0.3em;
}

@media(min-width: 700px){
	.our-works-launcher .text > div{
		font-size: clamp(18px,calc( 1.71vw + 6.1px ),30px);
	}
}
@media(hover: hover){
	.our-works-launcher:hover figure::after{
		background-color: rgba(0,137,206,0.5);
	}

	.our-works-launcher:hover figure{
		transform: scale(1.1);
	}

	.our-works-launcher:hover .jp{
		transform: translateY(110%);
	}

	.our-works-launcher:hover .eng{
		transform: translateY(-110%) scale(1.66);
	}
}

/* 先輩たちの声 Staff Interview
----------------------------------------------------------------*/
#staff_interview{

}

.interview-flex{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 2px 0;
}

.home .interview-flex::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: translateY(-100%);
	width:calc(100% - 36px);
	height: 12vw;
	max-width: 1300px;
	background-repeat: no-repeat;
	background-image: url(/images/top/interview-flex.svg);
	background-position: right bottom;
	background-size: contain;
}
@media(min-width: 700px){
	.interview-flex::before{
		width: calc(100% - 72px);
		max-width: 1228px;
	}
}
@media(min-width: 1317px){
	.interview-flex::before{
		width: 1228px;
		height: 158px;
	}
}

.interview-flex > .ignition{
	flex-basis: 100%;
	height: 30vh;
	min-height: 180px;
	position: relative;
	display: flex;
	cursor: pointer;
}

.interview-flex .image{
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.interview-flex figure{
	width: 100%;
	height: 100%;
	position: relative;
	transition: all 0.7s ease;
}

.interview-flex figure::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--themeColorLight);
	transition: all 0.7s ease;
	mix-blend-mode: multiply;
}

.interview-flex img{
	object-fit: cover;
	object-position: 0 20%;
	height: 100%;
	width: 100%;
}

.interview-flex > .ignition:nth-child(odd) img{
	object-position: 100% 20%;
}
.interview-flex .text{
	padding: clamp(10px,calc(1.63vw - 6.3px),25px) 4.5%;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 100%;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: clamp(16px,calc( 0.44vw + 14.6px ),19px);
}

.interview-flex > .ignition:nth-child(odd) .text{
	left: 0;
	right: auto;
}

.interview-flex .text::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,137,206,1);
	mix-blend-mode: multiply;
}

.interview-flex .text > div{
	position: relative;
}

.interview-flex .title{
	word-break: keep-all;
}

.interview-flex .entry{
	margin-bottom: 0.5em;
}

.interview-flex .name{ font-size: clamp(20px,calc( 1.03vw + 16.7px ),27px);}

@media(hover: hover){

	.interview-flex .ignition:hover figure{
		transform: scale(1.1);
	}

	.interview-flex .ignition:hover figure::before{
		opacity: 0;
	}
}
@media(min-width:1000px){
	.interview-flex > .ignition{
		flex-basis: 25%;
		height: calc(35.72vw - 6.1px);
	}

	.interview-flex .image{
		width: 100%;
	}

	.interview-flex figure{
		width: 100%;
	}

	.interview-flex .text{
		top: auto;
		right: auto;
		left: 0;
		bottom: 0;
		width: 100%;
		height: clamp(158px,calc(5vw + 108px),204px);
		justify-content: flex-start;
		font-size: clamp(16px,calc( 0.33vw + 12.7px ),19px);
	}

	.interview-flex .name{ font-size: clamp(20px,calc(0.76vw + 12.4px),27px);}
}

/* 成長支援のショートカット Careee Up Support
----------------------------------------------------------------*/
#career_up{
	position: relative;
}

#career_up::before{
	position: absolute;
	bottom: -1px;
	left: 0;
	content: "";
	width: 100%;
	height: 4.37vw;
	background-color: var(--themeColor);
	clip-path:  polygon(0 100%, 100% 0, 100% 100% ,0 100%);
}

.career-up-flex{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2.5%;
	justify-content: space-evenly;
}

.career-up-flex > a{
	flex-basis: 48.75%;
	position: relative;
	max-width: 300px;
}
@media(min-width: 1000px){
	.career-up-flex > a{
		flex-basis: 23.125%;
	}
}

.career-up-flex > a .image{
	overflow: hidden;
}
.career-up-flex > a figure{
	position: relative;
	transition: all 0.7s ease;
}

.career-up-flex > a figure::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #ff7F00;
	mix-blend-mode: multiply;
	transition: all 0.7s ease;
}

.career-up-flex .text{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: var(--fontSize30);
}

.career-up-flex .text > div{
	transition: all 0.7s ease;
	text-align: center;
	color: white;
}

.career-up-flex .text .eng{
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.05em;
}

@media(hover: hover){
	.career-up-flex > a:hover figure{ transform: scale(1.1);}

	.career-up-flex > a:hover figure::before{opacity: 0;}

	.career-up-flex > a:hover .jp{ transform: translateY(100%);	}

	.career-up-flex > a:hover .eng{ transform: translateY(-100%) scale(1.33);}

}

@media(min-width: 1000px){
	.career-up-flex .text{ font-size: clamp(24px,calc(1.61vw + 7.6px),30px)};
}

/* 募集要項 Recruitment
----------------------------------------------------------------*/
#recruitment{
	position: relative;
	padding-bottom: var(--variableSpaceS);
	overflow-x: clip;
	overflow-y: visible;
	z-index: 0;
}

#recruitment::before{
	content: "";
    position: absolute;
    top: -4.37vw;
    left: 50%;
    transform: translateX(-50%) rotate(-5deg);
    width: 120%;
    height: calc(100% - var(--fontSize30) * 5);
    background-color: var(--themeColor);
}

#recruitment .horizontal-margin{ position: relative;}

#recruitment .section-title-combo{
	color: white;
}

.recruitment-launcher{ position: relative;}

.recruitment-launcher figure{ position: relative;}

.recruitment-launcher figure::before{
	position: absolute;
	content: "";
	width: 87.2%;
	height: 80%;
	top: 10%;
	left: 6.4%;
	background-color: var(--themeColor);
	mix-blend-mode: multiply;
	transition: all 0.7s ease;
}

.recruitment-launcher .text{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.recruitment-launcher .text .frame{
	width: 72.8%;
	height: 57.5%;
	border: 1px solid white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	transition: all 0.7s ease;
}

.recruitment-launcher .text .frame > div{
	color: white;
	font-size: clamp(17px,calc( 1.86vw + 4.0px ),30px);
	transition: all 0.7s ease;
}

@media(min-width: 700px){
	.recruitment-launcher .text .frame > div{
		font-size: clamp(18px,calc( 1.71vw + 6.1px ),30px);
	}
}
.recruitment-launcher .eng{
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.05em;
}

@media(hover: hover){
	.recruitment-launcher:hover figure::before{
		width: 100%;
		left: 0;
		height: 100%;
		top: 0;
		opacity: 0.5;
	}

	.recruitment-launcher:hover .frame{
		width: 88.8%;
		height: 82.5%;
	}

	.recruitment-launcher:hover .jp{
		transform: translateY(110%);
	}

	.recruitment-launcher:hover .eng{
		transform: translateY(-110%) scale(1.66);
	}
}

[id^="contact_link"].hoverButton-2{
	display: flex;
	flex-wrap: wrap;
	height: 5em;
	font-size: var(--fontSize30);
	justify-content: center;
	align-content: center;
}

[id^="contact_link"].hoverButton-2 .eng{
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.3em;
}

[id^="contact_link"].hoverButton-2 > div{
	flex-basis: 100%;
	text-align: center;
	transition: all 0.7s ease;
}

[id^="contact_link"].hoverButton-2:hover .jp{
	transform: translateY(100%);
}

[id^="contact_link"].hoverButton-2:hover .eng{
	transform: translateY(-100%) scale(1.33);
	letter-spacing: 0.2em;
}

[id^="form_link"]{
	background-color: var(--themeColor);
	overflow: hidden;
	position: relative;
	transition: all 0.5s ease;
	transform-origin: center;
	width: 100%;
}

[id^="form_link"]::after{
	width: 100%;
	height: 139%;
	position: absolute;
	top: 100%;
	content: "";
	background-image: url(/images/common/form_link.png);
	background-repeat: no-repeat;
	background-size: contain;
	transition: all 0.5s ease;
}

[id^="form_link"] a{
	display: flex;
	width: 100%;
	height: 5em;
	font-size: var(--fontSize30);
	flex-direction: column;
	justify-content: center;
	color: white;
	border: 1px solid white;
	position: relative;
	transition: all 0.7s ease;
	transform-origin: center center;
}

[id^="form_link"] a::after{
	content: "";
	position: absolute;
	width: 1.2em;
	height: 2em;
	display: block;
	clip-path: polygon(0 0 , 100% 50% , 0 100% , 0 0 );
	background-color: white;
	position: absolute;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
}

[id^="form_link"] a > div{
	transition: all 0.7s ease;
	text-align: center;
}

[id^="form_link"] .eng{
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.3em;
}

[id^="form_link"]:hover{
	transform: scale(1.143);
}

[id^="form_link"]:hover::after{
	top: -139%;
}

[id^="form_link"]:hover a{
	height: 6.66em;
}

[id^="form_link"]:hover .jp{
	transform: translateY(120%) scale(1.33);
}

[id^="form_link"]:hover .eng{
	transform: translateY(-120%) scale(1.66);
}

/* OCIALで行こう #ocial
----------------------------------------------------------------*/
#ocial{ padding-bottom: 4.37vw;}

#ocial h2{
	text-align: center;
	font-size: clamp(30px,calc( 8.33vw + 3.4px ),70px);
	color: var(--themeColor);
	text-align: center;
	line-height: 1;
	position: relative;
}

#ocial h2 > div{
	display: inline-block;
}

#ocial h2 > div > div:first-child{
	font-size: var(--fontSize20);
	width: calc(clamp(30px,calc( 8.33vw + 3.4px ),70px) * 4);
	text-align: center;
}

#ocial_logo{
	position: relative;
	padding: 4.37vw 0;
}

#ocial_logo img{
	position: relative;
	width: 60%;
	max-width: 540px;
}

body.home #ocial_logo img{
	max-width: 300px;
}

#ocial .catch{
	text-align: center;
	color: var(--themeColor);
	font-size: clamp(16px,5vw,30px);
	font-weight: var(--boldFontWeight);
}

body.about-team #ocial .catch{
	font-size: clamp(16px,5vw,50px);
}

#ocial_text{
	max-width: 850px;
	margin: auto;
}

/*bottom window
----------------------------------------------------------------*/
#bottom_window{
	padding: 15vw var(--variableSpaceS) var(--variableSpaceS);
	position: relative;
	z-index: auto;
}

#bottom_window::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--themeColorLight);
	mix-blend-mode: multiply;
	transform: translate3d(0,0,0);
}

#bottom_window > *{
	position: relative;
}
/*=====================================================
    採用について Page:About Recruitment
=====================================================*/

#CEO_message .catch{ margin-bottom: var(--fontSize24);}

#CEO_message .catch p{
	font-size: var(--fontSize50);
	font-weight: var(--boldFontWeight);
	line-height: 1.3;
	color: var(--themeColor);
	margin: 0;
}

#CEO_message .sign img{
	width: 12.25em;
	margin: 1em 0 0.5em 0;
}

#CEO_message .rome{
	width: 12.25em;
	text-align: center;
	color: var(--themeColor);
	letter-spacing: 0.4em;
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
}

#CEO_message .message{ margin-top: var(--variableSpaceS); color: white;}

#CEO_message .message span{
	color: var(--buttonYellowHover);
	font-weight: var(--boldFontWeight);
}

#recruiter_message{ counter-reset: number 0;}

#recruiter_message .section-title-combo .jp::before,
#recruiter_message .section-title-combo .jp::after{
	transform: translateY(-0.625em);
}


#recruiter_message .catch p{
	color: var(--themeColor);
	font-size: var(--fontSize30);
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
}

#recruiter_message h3{
	display: flex;
	gap: 0.5em;
	align-items: center;
	font-size: var(--fontSize24);
	font-weight: var(--boldFontWeight);
	color: var(--themeColor);
	margin-bottom: 0.8em;
}

#recruiter_message h3::before{
	counter-increment: number 1;
	content: counter(number) " ";
	width: 1em;
	height: 1em;
	color: var(--themeColor);
	border: 1px solid currentColor;
	border-radius: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

#recruiter_message section{
	background-color: #FFFEE5;
	padding: 1.2em;
}

#ideal_profile.tilted-blue-back{
	margin-top: -4.37vw;
	padding-top: 0;
	z-index: 1;
}

#ideal_profile.tilted-blue-back::before{ height: calc(100% - 4.37vw); }

#ideal_profile .section-title-combo{ color: white;}

#ideal_profile h3{
	font-size: var(--fontSize30);
	font-weight: var(--boldFontWeight);
	color: var(--buttonYellowHover);
}

#ideal_profile p{
	color: white;
}

#ideal_profile .catch{
	color: var(--buttonYellowHover);
	font-size: var(--fontSize30);
	font-weight: var(--boldFontWeight);
	padding-bottom: calc(var(--variableSpaceL) + 4.37vw);
}

#ideal_profile .nowrap3cols{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateY(4.37vw);
}

#flow .small-section-title{
	color: white;
	text-align: center;
	font-size: var(--fontSize30);
	padding: var(--fontSize30) 0;
	height: 5.5em;
}

#flow #new_graduate .small-section-title{ background-color: var(--themeColor);}

#flow #mid_career .small-section-title{ background-color: #D0AA0F;}

#flow h3 > div{
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid white;
	max-width: 890px;
	height: 100%;
}

#flow h3 .eng{
	font-family: var(--englishFont);
	font-weight: var(--lightFontWeight);
	letter-spacing: 0.2em;
}

.flow-block{
	display: flex;
	justify-content: center;
	margin-bottom: 3em;
	position: relative;
	min-height: 7.2em;
}

.flow-block:not(:last-child)::after{
	content: "";
	width: 3.5em;
	height: 1em;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background-color: var(--themeColorLight);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2em;
	margin: auto;
}

#flow_wrap2 .flow-block:not(:last-child)::after{ background-color:#EBDA8E;}

.flow-block .left{
	flex-basis: 33.3%;
	font-size: var(--fontSize30);
	display: flex;
	flex-direction: column;
	justify-content: center;

}

[id^="flow_wrap"]{ counter-reset: number 0;}

#flow_wrap .left{background-color: #E3F6FF;}

#flow_wrap2 .left{background-color: #FAF2D0;}

#flow_wrap .step{
	color: var(--themeColor);
	text-align: center;
	font-weight: var(--midiumFontWeight);
}

#flow_wrap2 .step{
	color: #D0AA0F;
	text-align: center;
	font-weight: var(--midiumFontWeight);
}

[id^="flow_wrap"] .step::before{
	counter-increment: number 1;
	content: counter(number) " ";
	width: 1.66em;
	height: 1.66em;
	color: white;
	border-radius: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 0.2em ;
}

#flow_wrap .step::before{
	background-color: var(--themeColor);
}

#flow_wrap2 .step::before{
	background-color: #D0AA0F;
}

.flow-block .right{
	flex-basis: 66.6%;
	padding: 1em 1.5em;
	border: 1px solid var(--themeColor);
}

#flow_wrap2 .flow-block .right{
	border: 1px solid #D0AA0F;
}

.flow-block .right p{ margin: 0;}

.flow-block .right a{ display: block; color: var(--themeColor); text-decoration: underline;}

#flow_wrap2 .flow-block .right a{ color: #D0AA0F;}

/*=====================================================
    仕事を知る Page:About Work
=====================================================*/
#future .catch{
	color: var(--themeColor);
	font-weight: var(--boldFontWeight);
}

#carlife .tilted-blue-back{
	padding-top: 2.16vw;
}
.carlife-flex-wrap{
	position: relative;
	overflow: hidden;
}

.carlife-flex{
	display: flex;
	gap:0 3.8%;
	justify-content: space-between;
}

.carlife-flex.top{
	margin-bottom: 3.6vw;
}

@media(min-width: 1389px){
	.carlife-flex.top{
		margin-bottom: 50px;
	}
}

.carlife-flex > div{
	position: relative;
	flex-basis: 47%;
	background-color: white;
	border: 1px solid var(--themeColor);
}

.carlife-flex > div > div{
	width: 100%;
	height: 100%;
	display: flex;
	gap: 3.6vw;
	flex-direction: column;
	justify-content: space-between;
	padding: 1em;
}

.carlife-flex-wrap h3{
	color: var(--themeColor);
	text-align: center;
}

@media(min-width: 956px){
	.carlife-flex.top{
		margin-top: 0;
		margin-bottom: 3.8vw;
	}

	.carlife-flex > div{
		flex-basis: 30.7%;
	}
}

.carlife-flex-wrap .center{
	width: 100%;
	margin-bottom: 3.6vw;
}

.carlife-flex-wrap .center > div{
	width: 100%;
	height: 100%;
}

.carlife-flex-wrap .center > div > div{
	width: 100%;
	height: 80%;
	border: 1px solid var(--themeColor);
	padding: 1em;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: white;
	gap: 3.8vw;
}

.carlife-flex-wrap .center img{
	width: 100%;
	max-width: 300px;
}

@media(min-width: 956px){

	.carlife-flex-wrap .center{
		width: 38.6%;
		height: 100%;
		padding-top: 0;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		position: absolute;
	}

	.carlife-flex-wrap .center > div{
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		margin: auto;
	}

	.carlife-flex-wrap .center > div > div{
		width: 80%;
		height: 100%;
		margin: auto;
	}

	.carlife-flex-wrap .center figure{
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		width: 100%;
		transform: translateY(-50%);
	}

	.carlife-flex-wrap .center img{
		max-width: 500px;
	}

}

/* ホームエネルギー事業*/

#home_energy .tilted-blue-back{
	padding-top: 2.1vw;
}

.flex2{
	display: flex;
	gap: 3.6vw 3.8%;
	flex-wrap: wrap;
}

@media(min-width: 1389px){
	.flex2{ gap: 50px 50px;}
}

#home_energy .flex2 > div{
	flex-basis: 48%;
	border: 1px solid var(--themeColor);
	background-color: white;
	display: flex;
	gap: 2vw;
	flex-direction: column;
	justify-content: space-around;
	padding: 1.5em 1em;
	text-align: center;
}

@media(min-width: 1389px){
	#home_energy .flex2 > div{
		gap: 28px;
	}
}

#home_energy .flex2 h3{
	color: var(--themeColor);
}

#home_energy .flex2 p{
	text-align: left;
	max-width: 18em;
	margin: auto;
	font-weight: var(--regularFontWeight);
}

#company_culture .catch{
	color: var(--themeColor);
	font-size: calc(var(--fontSize30) - 2px);
	font-weight: var(--boldFontWeight);
	margin-bottom: 0.8em;
}

/*会社概要*/

#about_us .section-title-combo{
	color: white;
}

#about_us .content-width > div{
	padding: var(--variableSpaceS) 3.8%;
}

.history-list-outer-flex{
	display: flex;
	flex-direction: column-reverse;
	gap: 3.6vw 3.8%;
	font-size: var(--regularFontWeight);
}

.history-list-outer-flex .history-list{
	gap: 1em;
}

@media(min-width: 1000px){
	.history-list-outer-flex{
		flex-direction: row;
	}


}
.history-list-outer-flex > .left{
	flex-basis: 33.33%;
	display: flex;
	flex-wrap: wrap;
	gap: 1.8vw 3.8%;
}
.history-list-outer-flex > .left figure{
	flex-basis: 48%;
}

@media(min-width: 1000px){
	.history-list-outer-flex > .left{
		justify-content: space-between;
	}

	.history-list-outer-flex > .left figure{
		flex-basis: 100%;
	}
}

.history-list-outer-flex > .right{
	flex-basis: 62.8%;
}

.history-list-outer-flex figcaption{
	font-size: var(--fontSize16);
	text-align: center;
	margin-top: 0.2em;
}

.history-list-outer-flex.low .right .left{
	flex-basis: 100%;
	text-align: left;
	margin: 0.2em 0 0.3em;
}

.history-list-outer-flex.low .right .right{ margin: 0 0 1em;}

@media(min-width: 600px){
	.history-list-outer-flex.low .right .left{
		flex-basis: 7.5em;
		text-align: right;
	}

	.history-list-outer-flex.low .right .left span{
		display: none;
	}

	.history-list-outer-flex.low .right .right{ margin: 0.3em 0;}
}



#about_us h3{
	color: var(--themeColor);
	font-size: var(--fontSize24);
	font-weight: var(--boldFontWeight);
	padding: 0 0 0.5em 1em;
	border-bottom: 1px solid #ccc;
	margin-bottom: 0.3em;
}

body:not(.home) .about-recruitment-launcher.separated .text{
	background-color: var(--themeColor);
}
/*=====================================================
    人を知る Page:About Team
=====================================================*/

#interview_launcher.tilted-blue-back::before{
	height: 110%;
	top: 50%;
	transform: translateY(-50%);
}

.interview-launcher{
	display: flex;
	gap: 0;
	flex-wrap: wrap;
}

@media(min-width: 500px){
	.interview-launcher{
		gap: 3.6vw 5.6%;
	}
}

.interview-launcher > *{
	flex-basis: 100%;
	height: 30vh;
	min-height: 180px;
	position: relative;
	display: flex;
	cursor: pointer;
}

.interview-launcher .ignition *{
	height: 100%;
}

@media(min-width: 500px){
	.interview-launcher > *{
		flex-basis: 47.2%;
		height: clamp(239px,calc( 77.27vw - 8.3px ),725px);
	}
}

@media(min-width: 950px){
	.interview-launcher > *{
		flex-basis: 29.5%;
		height: clamp(453px,calc( 54.98vw - 68.3px ),686px);

	}
}

@media(min-width: 1389px){
	.interview-launcher > *{
		height: 686px;
	}
}


.interview-launcher .image{
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.interview-launcher .ignition figure{
	position: relative;
	width: 100%;
	transition: all 0.7s ease;
}

.interview-launcher .ignition figure::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--themeColorLight);
	transition: all 0.7s ease;
	mix-blend-mode: multiply;
	transition: all 0.7s ease;
}

.interview-launcher img{
	object-fit: cover;
	object-position: 0 20%;
	height: 100%;
	width: 100%;
}

.interview-launcher > .ignition:nth-child(odd) img{
	object-position: 90% 20%;
}

@media(min-width: 500px){
	.interview-launcher .ignition img{
		object-position: left;
	}

	.interview-launcher .ignition:nth-child(odd) img{
		object-position: 90%;
	}
}
.interview-launcher .text{
	padding: clamp(10px,calc(1.63vw - 6.3px),25px) 4.5%;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 100%;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: clamp(14px,calc( 2.23vw + 6.9px ),18px);
}


.interview-launcher > .ignition:nth-child(odd) .text{
	left: 0;
	right: auto;
}

@media(min-width: 500px){
	.interview-launcher .ignition .text{
		padding: clamp(10px,calc(1.63vw - 6.3px),25px) 4.5%;
		position: absolute;
		top: auto;
		right: auto;
		left: 0;
		bottom: 0;
		width: 100%;
		color: white;
		display: flex;
		flex-direction: column;
		height: clamp(158px,calc(5vw + 108px),204px);
		justify-content: flex-start;
		font-size: clamp(16px,calc( 0.33vw + 12.7px ),19px);
	}
}
@media(min-width: 500px){
	.interview-launcher .ignition .text{
		font-size: clamp(14px,calc( 1.11vw + 8.5px ),19px);
	}
}

@media(min-width: 950px){
	.interview-launcher .ignition .text{
		font-size: clamp(16px,calc( 0.33vw + 12.7px ),19px);
	}
}

.interview-launcher .ignition .text > div{
	position: relative;
}

.interview-launcher .ignition .text::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,137,206,1);
	mix-blend-mode: multiply;
}

.interview-launcher .title{
	word-break: keep-all;
}

.interview-launcher .entry{
	margin-bottom: 0.5em;
}

.interview-launcher .name{ font-size: clamp(20px,calc( 1.03vw + 16.7px ),27px);}

@media(hover: hover){

	.interview-launcher .ignition:hover figure{
		transform: scale(1.1);
	}

	.interview-launcher .ignition:hover figure::before{
		opacity: 0;
	}
}

.interview-launcher a{
	position: relative;
	border: 1px solid var(--themeColor);
	color: var(--themeColor);
	background-color: white;
	text-align: center;
	font-weight: bold;
	display: flex;
    flex-direction: column;
    justify-content: space-around;
	padding: 1em 1%;
	transition: all 0.7s ease;
	height: auto;
}
@media(hover: hover){
	.interview-launcher a:hover{
		background-color: var(--themeColor);
		color: white;
		border-color: white;
	}
}
.interview-launcher a figure{
	height: 100%;
	max-height: 230px;
}

.interview-launcher .ocial-logo{
	width: 100%;
	height: 100%;
	max-width: 260px;
	max-height: 230px;
}

.interview-launcher a p{
	font-size: clamp(18px,calc( 1.12vw + 14.4px ),20px);
}

@media(min-width: 500px){
	.interview-launcher a p{
		font-size: clamp(13px,calc( 2.01vw + 2.9px ),20px);
	}
}
@media(min-width: 850px){
	.interview-launcher a p{
		font-size: clamp(15px,calc( 0.93vw + 7.1px ),20px);
	}
}

body.about-team #ocial h2{
	font-size: var(--fontSize100);
	font-weight: bold;
	margin-bottom: var(--variableSpaceM);
}
/*=====================================================
    成長支援 Page:Career Up Support
=====================================================*/
#career_up_support .flex-pourin-right figure{
	margin-bottom: var(--variableSpaceS)!important;
}

#qualification_support{
	color: white;
}

#qualification_support .section-title-combo{
	color: white;
}

#qualification_support.tilted-blue-back::before{
	height: calc(100% - 4.37vw);
}

#benefits{
	color: white;
}

#benefits.tilted-blue-back::before{
	height: calc(100% - 4.37vw);
}

#benefits .section-title-combo{
	color: white;
}

#free_trial .catch{
	color: var(--themeColor);
	margin-bottom: 1em;
	font-weight: bold;
}

#free_trial .catch.vfs24{
	line-height: 1.5;
}
/*=====================================================
    募集要項 Page:Recruitment
=====================================================*/

#new_graduate .section-title-combo{
	color: var(--themeColor);
}

#new_graduate .notice{
	color: var(--themeColor);
	font-weight: bold;
}

#mid_career .section-title-combo{
	color: #D0AA0F;
}

#mid_career .section-title-combo .jp::before{
	background-image: url(/images/common/mark_left_ocher.svg);
	margin-right: 0.4em;
}

#mid_career .section-title-combo .jp::after{
	background-image: url(/images/common/mark_right_ocher.svg);
	margin-left: 0.4em;
}

#mid_career .notice{
	color: #D0AA0F;
	font-weight: bold;
}
/*=====================================================
    採用お問い合わせ Page:Contact
=====================================================*/
body.contact-us h2{
	font-size: var(--fontSize30);
	color: var(--themeColor);
	text-align: center;
}

#contact_tel a{
	font-size: var(--fontSize30);
	font-weight: var(--boldFontWeight);
	color: var(--themeColor);
}

#contact_tel div.cell{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1em;
}
/*=====================================================
    エントリーフォーム Page:Entry Form
=====================================================*/
body.entry-form h2{
	font-size: var(--fontSize30);
	color: var(--themeColor);
	text-align: center;
}
/*=====================================================
    プライバシーポリシー
=====================================================*/

#privacy_policy{ counter-reset: number 0;}

#privacy_policy h2{
	display: flex;
	gap: 0.5em;
	align-items: center;
	margin-bottom: 0.8em;
}

#privacy_policy h2::before{
	counter-increment: number 1;
	content: counter(number)".";
	width: 1em;
	height: 1em;
	display: block;
}
/*=====================================================
    Contact Form Form:WPCF7
=====================================================*/

.wpcf7 {
	width: 100%!important;
	font-family: var(--gothicFont);
}

.wpcf7-form{ position: relative;}

.wpcf7 dl {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 1rem 4rem 1rem;
}
.wpcf7 dt {
	flex-basis: 100%;
	font-weight: var(--regularFontWeight);
}
.wpcf7 dd{
	flex-basis: 100%;
	margin: 0;
	font-weight: var(--regularFontWeight);
}

.wpcf7 select{
	padding: 0.5em;
	font-size: var(--fontSizeR);
	width: 100%;
}

.wpcf7 input:not([type='checkbox']),.wpcf7 textarea {
	padding: 1rem 1rem;
	box-sizing: border-box;
	width: 100%;
	font-size: var(--fontSizeR);
	font-family: var(--gothicFont);
	font-weight: var(--regularFontWeight);
}
.wpcf7 input[type="radio"]{display: inline-block; width: 1em;}

.wpcf7 input.p-postal-code{ width: 13em;}

.wpcf7 input[type="submit"]{
	border: none;
	color: white;
	font-size: var(--fontSize24);
	width: 100%;
	max-width: 22em;
	height: 4.2em;
	background-color: var(--themeColor);
	cursor: pointer;
	border: 1px solid var(--themeColor);
	transition: all 0.3s ease-in-out;
}

.wpcf7 input[type="submit"]:disabled{
	pointer-events: none
}

.wpcf7 input[type="submit"]:hover{
	background-color: white;
	color: var(--themeColor);
}

.wpcf7 input[type="number"] {
	display: inline-block;
	width: 9rem;
	padding: 1rem 0.3rem 1rem 1.8rem;
}
.wpcf7 .required {
	width: 1em;
	height: 1.66em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: var(--themeColorLight);
	font-size: 1em;
	border-radius: 5px;
    transform: scale(0.8);
}
.wpcf7 .error {
	display: inline-block;
	        animation: blink 1s ease 5;

	-webkit-animation: blink 1s ease 5;
}
.wpcf7 textarea{
	box-sizing: border-box;
}

@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.wpcf7 .left-top > div,
.wpcf7 .right-bottom > div {
	padding-right: 1em;
}
.wpcf7 .left-top > div {
	width: 100%;
	padding: 0.5rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}

.wpcf7 .left-top .item-name{ line-height: 1; width: auto;}

.wpcf7-spinner{
	display: block;
	margin: auto;
}

@media (min-width: 750px){
	.wpcf7 dt {
		flex-basis: 11em;
	}
	.wpcf7 dd{
		flex-basis: calc(100% - 11em);
	}
}


/*=====================================================
    プライバシーポリシー Page:Privacy Policy
=====================================================*/
body.privacy-policy h2{
	margin: 1em 0;
	font-size: var(--fontSize24);
}

body.privacy-policy p{
	font-weight: var(--regularFontWeight);
}

body.privacy-policy .hoverType-2{
	margin: 0;
}

/*=====================================================
    サイトマップ Page:sitemap
=====================================================*/
#sitemap{ padding-bottom: var(--variableSpaceM);}

#sitemap .parent{
	color: #0C3388;
	font-size: var(--fontSize30);
	width: 100%;
	height: 2.66em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: var(--variableSpaceS);
}

#sitemap a.parent{
	background-color: #C6E9FF;
	transition: all 0.3s ease;
}

#sitemap a.parent:hover{
	background-color: #FFE6BE;
}

#sitemap .parent.outer-link{
	border: 1px solid #047FCC;
}

#sitemap .children{
	display: block;
	font-size: var(--fontSize24);
	color: #0C3388;
	text-align: center;
	line-height: 1;
	margin-bottom: var(--variableSpaceS);
	transition: all 0.3s ease;
}

#sitemap .children:hover{
	color: #FF8900;
}
