@charset"utf-8";

/*base--------------------------------*/

*{
	font-family: 'Noto Sans JP', sans-serif, 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	font-size: 100%;
	}
.container figcaption {
	font-size: 0.75em;
}

html, body {
	height: 100%;
}

body{
	width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: clip;
}

/* よく登場する要素のリセット */

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form, div {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 1.6rem;
	text-align: left;
	list-style-type: none;
	font-family: 'Noto Sans JP', 'Meiryo', 'メイリオ', 'ヒラギノ 角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'MS PGothic', 'ＭＳ Ｐゴシック';
	color: #333;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}

.cf:after {
	content: ".";	/* 新しい要素を作る */
	display: block;	/* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.cf {
	min-height: 1px;
}

* html .cf {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

ruby rt {
	font-size: 50%;
}
@-moz-document url-prefix() {
	ruby rt {
		font-size: 50%;
	}
}

:root {
	font-size: 10px;
	--main-color: #0880c5;
	--lightblue: #3999d1;
	--orange: #fe8c05;
	--white: #fff;
  	--black: #333;
	--gray: #666;
	--lightgray: #999;

}

.jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.fa-external-link-alt {
	padding-left: .5em;
}


/*common--------------------------------*/

#wrap {
	overflow-x: clip;
}

a:link,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
}

a:focus {
	outline:none;
	text-decoration: none;
}

a.underline {
	text-decoration: underline;
}

.hover {
	transition: .3s ease-out;
}

.hover:hover {
	opacity:0.6;
	zoom:1;
	transition: .3s ease-out;
}

.disabled {
	pointer-events: none;
}

.pc {
	display: block;
}

.sp,
.tab {
	display: none;
}

.red {
	color: #cc0000;
}

.fit {
	width: 100%;
}

.zoom {
	transition-duration: 0.3s;
}

.zoom:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

.fade_up{
    animation-name:fadeUpAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
    0% {
      opacity: 0;
      transform: translateY(0);
    }
    50% {
      opacity: 0;
      transform: translateY(0);
    }
    100% {
      opacity: 1;
      transform: translateY(-40px);
    }
}

section {
	padding: 80px 0;
	position: relative;
}

.lower section:nth-of-type(even) {
	background-color: rgba(8, 128, 197, 0.1);
}

.main_container {
	width: 90vw;
	max-width: 1440px;
	margin: 0 auto;
}

.content_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.flex_container {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.ttl_container {
	width: 90vw;
	max-width: 1440px;
	margin: 0 auto;
	padding-bottom: 40px;
	display: flex;
	justify-content: space-between;
}

.sec_ttl {
	padding-bottom: clamp(3rem, 4.17vw, 6rem);
}

.sec_ttl strong {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size:  clamp(3.6rem, 5vw, 7.2rem);
	color: var(--black);
	line-height: 1em;
	letter-spacing: .05em;
	white-space: nowrap;
}

.sec_ttl em {
	font-style: normal;
	color: var(--main-color);
}

.sec_ttl b {
	font-style: normal;
	color: var(--orange);
}

/* 共通：最初は非表示 */
.sec_ttl .char{
  opacity: 0;
  display: inline-block;
  transform: translateY(6px);
}

/* ★共通：ふわっと表示（em先出しで使う） */
.sec_ttl .char.show-soft{
  opacity: 1;
  transform: translateY(0);
  transition: opacity .35s ease, transform .35s ease;
}

/* company_wrapだけ “もっと軽く/速く” したいなら上書き（任意） */
.company_wrap .sec_ttl .char.show-soft{
  transition-duration: .3s;
}

/* その他：ポコッ（バウンス） */
@keyframes popBounce {
  0%   { opacity: 0; transform: translateY(10px) scale(0.8); }
  60%  { opacity: 1; transform: translateY(-6px) scale(1.2); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.sec_ttl .char.show-pop{
  animation: popBounce .55s ease forwards;
}

.lead_txt {
	font-size: clamp(1.8rem, 1.67vw, 2.4rem);
	font-weight: 500;
	font-style: normal;
	color: var(--black);
	line-height: 2em;
	letter-spacing: .05em;
}

.plain_txt {
	font-size: clamp(1.4rem, 1.32vw, 1.9rem);
	font-weight: 500;
	font-style: normal;
	color: var(--black);
	line-height: 2em;
	letter-spacing: .05em;
}

.left_container,
.right_container {
	width: 50%;
}

.btn_container a {
	width: 400px;
	height: 90px;
	padding-left: 30px;
	box-sizing: border-box;
	background-color: var(--white);
	border: 4px solid var(--main-color);
	border-radius: 8px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 2.4rem;
	color: var(--main-color);
	letter-spacing: .05em;
	position: relative;
	transition-duration: 0.3s;
}

.btn_container a::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	top: 50%;
	right: 30px;
	transition-duration: 0.3s;
}

.btn_container a::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	top: 50%;
	right: 18px;
	transform: rotate(45deg) translate(-49%);
	transition-duration: 0.3s;
}

.btn_container a:hover {
	background-color: var(--main-color);
	color: var(--white);
	transition-duration: 0.3s;
}

.btn_container a:hover::before {
	background-color: var(--white);
	transition-duration: 0.3s;
}

.btn_container a:hover::after {
	background-color: var(--white);
	transition-duration: 0.3s;
}

.btn_container.center a  {
	width: 500px;
	margin: 60px auto 0;
	padding-left: 0;
	justify-content: center;
}

.accordion_trigger {
	cursor: pointer;
}

.accordion_target {
	display: none;
}

.anchor {
	padding-top: 100px;
	margin-top: -100px;
}


/*--------------------------------------*/

/*header*/

/*--------------------------------------*/

header {
	width: 100%;
	padding: 20px 30px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	z-index: 99999;
	transition: .3s ease-out;
}

header .logo_container a {
	transition: .3s ease-out;
	display: flex;
	align-items: center;
}

header .logo_ico_obj {
	width: 234px;
	margin-right: 16px;
}

header .logo_container a strong {
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 500;
	color: var(--white);
}

header .nav_wrap {
	display: flex;
}

header .entry_btn_container {
	margin-right: 20px;
	width: 180px;
	height: 60px;
	background-color: var(--white);
	border-radius: 100vh;
}

header .entry_btn_container a {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 100vh;
	background-color: var(--orange);
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size:  1.8rem;
	color: var(--white);
	line-height: 1em;
	letter-spacing: .1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*menu_trigger--------------------------------*/
	
.menu_trigger {
	width: 180px;
	height: 60px;
	border-radius: 100vh;
	background-color: var(--main-color);
	display: block;
	z-index: 99999;
	position: relative;
	transition: .2s ease-out;
	cursor: pointer;
}

.menu_trigger::before {
	content: 'MENU';
	display: block;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size:  1.8rem;
	color: var(--white);
	line-height: 1em;
	letter-spacing: .1em;
	position: absolute;
	top: 50%;
	left: 40px;
	transform: translateY(-50%);
	z-index: 1;
}

.menu_trigger::after {
	content: '';
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 100vh;
	background-color: rgba(255,255,255,.2);
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 1;
	transition: .2s ease-out;
}

.menu_trigger:hover {
	background-color: var(--lightblue);
	transition: .2s ease-out;
}

.menu_trigger:hover::after {
	content: '';
	background-color: var(--main-color);
	transition: .2s ease-out;
}

.menu_trigger,
.menu_trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu_trigger span {
	position: absolute;
	right: 14px;
	width: 30px;
	height: 4px;
	background-color: var(--white);
	border-radius: 100vh;
	z-index: 4;
	-webkit-transition: .2s ease-out;
	transition: .2s ease-out;
}

.menu_trigger span:nth-of-type(1) {
	top: 18px;
}
.menu_trigger span:nth-of-type(2) {
	top: 28px;
}
.menu_trigger span:nth-of-type(3) {
	bottom: 18px;
}
.menu_trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}

.menu_trigger.active span:nth-of-type(2) {
	left: 100%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}

.menu_trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

.menu_target {
	height: 100vh;
	padding: 100px 50px;
	box-sizing: border-box;
	background-color: var(--white);
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	position: fixed;
	top: 0;
	right: 0;
	transform: translateX(120%);
	transition: .4s ease-out;
}

.menu_target.active {
	transform: translateX(0);
	transition: .4s ease-out;
}

.menu_target .nav_list_item {
	display: block;
	padding-bottom: 1.5em;
}

.menu_target .nav_list_item a {
	font-size: 2.4em;
	font-weight: 700;
	letter-spacing: .1em;
}

.menu_target .nav_list_item a span {
	color: var(--main-color);
	font-weight: 900;
}

.underline-sweep {
	position: relative;
	display: inline-block;
	text-decoration: none; /* aタグのデフォ下線を消す */
}

/* 下線本体 */
.underline-sweep::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.15em;      /* 文字からの距離（好みで調整） */
	width: 100%;
	height: 4px;          /* 線の太さ */
	background: var(--main-color);

	transform: scaleX(0);
	transform-origin: right; /* 通常時は右を起点 → 右へ抜ける(out) */
	transition: transform 0.25s ease;
}

/* hover時：左を起点にして伸びる(in) */
.underline-sweep:hover::after,
.underline-sweep:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}



/*fixed--------------------------------*/

header.fixed .logo_container a strong {
	color: var(--black);
}


/*--------------------------------------*/

/*footer*/

/*--------------------------------------*/

footer {
	background-color: var(--main-color);
	padding: 80px 3vw 40px;
}

footer .btn_list_container {
	width: 90vw;
	max-width: 1440px;
	margin: 0 auto;
	padding-bottom: 60px;
}

footer .btn_list_item {
	padding-bottom: 10px;
}

footer .btn_list_item a {
	font-size:  clamp(7rem, 6.94vw, 10rem);
	font-weight: 700;
	color: var(--white);
	padding-right: clamp(61px, 12.64vw, 182px);
	position: relative;
}

footer .btn_list_item a::before {
	content: '';
	display: block;
	width: clamp(46px, 6.39vw, 92px);
	height: clamp(46px, 6.39vw, 92px);
	border-top: clamp(4px, .625vw, 9px) solid var(--white);
	border-right: clamp(4px, .625vw, 9px) solid var(--white);
	position: absolute;
	top: 55%;
	right: 0;
	transform: translateY(-50%);
	transition: .3s ease-out;
}

footer .btn_list_item a::after {
	content: '';
	display: block;
	width: clamp(65px, 9.03vw, 130px);
	height: clamp(4px, .625vw, 9px);
	background-color: var(--white);
	position: absolute;
	top: 55%;
	right: 0;
	transform: translate(clamp(7px, .903vw, 14px),-50%) rotate(-45deg);
	transition: .3s ease-out;
}

footer .btn_list_item a:hover::before {
	top: 50%;
	right: -10px;
	transition: .2s ease-out;
}

footer .btn_list_item a:hover::after {
	top: 50%;
	right: -10px;
	transition: .2s ease-out;
}

.footer_wrap {
	width: 90vw;
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footer_wrap nav {
	width: calc( 100% - 464px);
	max-width: 780px;
}

.footer_wrap .nav_list_container {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.footer_wrap .nav_list_item a {
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
}

.footer_wrap .subnav_list_item {
	padding-top: 1em;
}

.footer_wrap .nav_list_item:not(:last-child) .subnav_list_item a {
	font-size: 1.6rem;
	font-weight: 400;
}

.footer_wrap .add_wrap {
	width: 384px;
}

.footer_wrap .logo_container {
	width: 100%;
	margin: 0 auto;
	padding-bottom: 20px;
}

.footer_wrap .add_txt {
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--white);
	letter-spacing: .1em;
	text-align: right;
	padding-bottom: 60px;
}

.copy_wrap {
	text-align: right;
}

.copy_wrap small {
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--white);
	letter-spacing: .1em;
}

/*--------------------------------------*/

/*top*/

/*--------------------------------------*/

.top section:nth-child(odd) {
	background-color: rgba(8,128,197,.1);
}

.top section:nth-child(even) {
	background-color: var(--white);
}

.top .content_container {
	max-width: 1440px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}

.top .content_container .left_container {
	width: 45%;
	position: relative;
}

.top .content_container .left_container .floating_container {
	position: sticky;
	top: 80px;
}


/*mv_wrap--------------------------------*/

.mv_wrap,
.mv_container {
	width: 100vw;
	height: 100vh;
}

.mv_container {
	background-image: url('../img/top/mv_obj.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.mv_container .catch_container {
	font-size: clamp(7rem, 9.72vw, 14rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
	text-shadow: 4px 4px 2px rgba(0,0,0,.8);
	position: absolute;
	top: 50%;
	left: 3vw;
	transform: translateY(-50%);
}

/*sec01--------------------------------*/

.top .latest_news_wrap {
	background-color: var(--main-color)!important;
	padding: 20px 0;
}

.top .latest_news_wrap .content_container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.top .latestnews_ttl {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-size:  4.8rem;
	font-style: normal;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .05em;
}

.top .latest_news_container {
	padding-left: 8.33%;
}

.top .latest_news_container a {
	display: flex;
}

.top .latest_news_container a em {
	font-size: 1.8rem;
	font-weight: 500;
	font-style: normal;
	color: var(--white);
	line-height: 1.64em;
	letter-spacing: .05em;
	padding-right: 4em;
}

.top .latest_news_container a strong {
	font-size: 1.8rem;
	font-weight: 500;
	font-style: normal;
	color: var(--white);
	line-height: 1.64em;
	letter-spacing: .05em;
}


/*sec02--------------------------------*/

.top .company_wrap .btn_container a {
	width:  clamp(300px, 27.78vw, 400px);
}

.top .bnr_list_item {
	width: unset;
	margin: 0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 480px;
}

.top .bnr_list_item .img_container {
	border-radius: 10px;
	overflow: hidden;
}

.top .bnr_list_item .bnr_list_obj {
	max-width: 480px;
	max-height: 480px;
	object-fit: cover;
}



/*sec03--------------------------------*/

.top .works_wrap {
	padding: 0;
}

.top .works_wrap .content_container {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	justify-content: flex-end;
	margin: 0;

}

.top .works_wrap .left_container {
	padding: 80px 0 40px 6.94%;
	width: clamp(36rem, 50vw, 72rem);
}

.top .works_wrap .btn_list_container {
	padding-top: 40px;
}

.top .works_wrap .btn_list_item  {
	width: clamp(300px,  61.73%,  61.73%);
	padding-bottom: 20px;
}

.top .works_wrap .btn_list_item a {
	width: 100%;
	height: 80px;
	background-color: #ccc;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 30px;
	box-sizing: border-box;
	position: relative;
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a i {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.2rem;
	color: var(--gray);
	letter-spacing: .05em;
	line-height: 1em;
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a strong {
	font-size: 2.4rem;
	font-weight: 700;
	font-style: normal;
	color: var(--black);
	letter-spacing: .1em;
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--lightgray);
	position: absolute;
	top: 50%;
	right: 30px;
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--lightgray);
	position: absolute;
	top: 50%;
	right: 18px;
	transform: rotate(45deg) translate(-49%);
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a:hover {
	background-color: var(--gray);
	color: var(--white);
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a:hover i {
	color: var(--white);
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a:hover strong {
	color: var(--white);
	transition-duration: 0.3s;
}

.top .works_wrap .btn_list_item a:hover::before {
	background-color: var(--white);
}

.top .works_wrap .btn_list_item a:hover::after {
	background-color: var(--white);
}

.top .works_wrap .works_list_container {
	width: 100%;
	min-height: 1200px;
}

.top .works_wrap .works_list_item {
	display: block;
	width: 100%;
	height: calc(100% / 3);
	min-height: 400px;
}

.top .works_wrap .works_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}


/*sec04--------------------------------*/

.top .people_list_container {
	width: 100%;
}

.top .people_list_item {
	position: relative;
}

.top .people_list_item + .people_list_item {
	margin-top: 30px;
}

.top .people_list_item .img_container {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
}

.top .people_list_item .people_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top .people_list_item .txt_container {
	width: 100%;
	padding: 20px 10px;
	position: relative;
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--black);
	letter-spacing: .05;
	line-height: 1.5em;
}

.top .people_list_item a .txt_container::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 30px;
	transition-duration: 0.3s;
}

.top .people_list_item a .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 18px;
	transform: rotate(45deg) translate(-48%);
	transition-duration: 0.3s;
}

.top .people_list_item a:hover .txt_container::before {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.top .people_list_item a:hover .txt_container::after {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.top .people_list_item .people_ttl {
	font-size: clamp(2.4rem, 2.5vw, 3.6rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .05em;
	transition-duration: 0.3s;
	text-align: right;
	position: absolute;
	top: 30px;
	right: 0;
	transform: translateX(1.5em);
}

.top .people_list_item .people_ttl span {
	background: var(--main-color);
	padding: 0.1em 0.4em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	transition-duration: 0.3s;
}

.top .people_list_item a:hover .people_ttl {
	color: var(--white);
	transition-duration: 0.3s;
}

.top .people_list_item a:hover .people_ttl span {
	background: var(--orange);
	transition-duration: 0.3s;
}


/*sec05--------------------------------*/

.top .environment_list_container {
	width: 100%;
}

.top .environment_list_item + .environment_list_item {
	padding-top: 30px;
}

.top .environment_list_item .img_container {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.top .environment_list_item .environment_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top .environment_list_item:nth-child(2) .img_container {
	border: 4px solid var(--main-color);
}

.top .environment_list_item:nth-child(2) .environment_list_obj {
	background-position: center 30%;
}

.top .environment_list_item .txt_container {
	width: 100%;
	padding: 20px 10px;
	position: relative;
}

.top .environment_list_item a .txt_container::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 30px;
	transition-duration: 0.3s;
}

.top .environment_list_item a .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 18px;
	transform: rotate(45deg) translate(-48%);
	transition-duration: 0.3s;
}

.top .environment_list_item a:hover .txt_container::before {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.top .environment_list_item a:hover .txt_container::after {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.top .environment_list_item .environment_ttl {
	font-size: 3.6rem;
	font-weight: 500;
	color: var(--black);
	letter-spacing: .05em;
	transition-duration: 0.3s;
}


/*sec06--------------------------------*/

.top .faq_wrap .sec_ttl {
	width: 90vw;
	max-width: 1440px;
	margin: 0 auto;
}

.top .faq_wrap .sec_ttl em {
	color: var(--orange);
}

.top .faq_list_container {
	width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
}

.top dt.faq_list_item {
	width: 100%;
	padding: 30px 80px;
	margin-bottom: 20px;
	box-sizing: border-box;
	background-color: var(--main-color);
	border-radius: 8px;
	font-size: 1.8rem;
	font-weight: 500;
	font-style: normal;
	color: var(--white);
	letter-spacing: .05em;
	line-height: 1.33em;
	position: relative;
}

.top dt.faq_list_item::before {
	content: 'Q';
	display: block;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size:  4.8rem;
	color: var(--orange);
	line-height: 1em;
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
}

.top dt.faq_list_item::after {
	content: '＋';
	display: block;
	font-weight: 700;
	font-style: normal;
	font-size:  4.8rem;
	color: var(--white);
	line-height: 1em;
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	transition-duration: 0.3s;
}

.top dt.faq_list_item:hover::after {
	transform: translateY(-50%) rotate(-360deg);
	transition-duration: 0.3s;
}

.top dt.faq_list_item.current::after {
	content: '－';
	transform: translateY(-50%) rotate(360deg);
	transition-duration: 0.3s;
}

.top .answer_container {
	padding: 10px 10px 30px 80px;
	position: relative;
}

.top .answer_container::before {
	content: 'A';
	display: block;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size:  4.8rem;
	color: var(--main-color);
	line-height: 1em;
	position: absolute;
	top: 0;
	left: 12px;
	cursor: pointer;
}



/*--------------------------------------*/

/*lower*/

/*--------------------------------------*/

.lower .mv_wrap,
.lower .mv_container {
	width: 100vw;
	height: 350px;
}

.lower .mv_container {
	background-position: center 82%;
}

.lower .mv_container .catch_container {
	font-size: 7.2rem;
	top: 55%;
}

.lower .mv_container .catch_container strong {
	color: var(--main-color);
}



/*--------------------------------------*/

/*company*/

/*--------------------------------------*/

.company .lead_txt {
	padding-bottom: 1.2em;
}

/*sec01--------------------------------*/

.company .philosophy_wrap .sec_ttl strong {
	line-height: 1.5em;
}

.company .philosophy_wrap .flex_container {
	align-items: flex-end;
}

.company .philosophy_wrap .left_container,
.company .philosophy_wrap .right_container {
	width: unset;
}

.company .philosophy_obj {
	width: clamp(216px, 30.07vw, 433px);
}

.company .philosophy_wrap .left_container .philosophy_obj {
	margin-right: 20px;
}

.company .philosophy_wrap .right_container .philosophy_obj {
	margin-left: 20px;
}

/*sec02--------------------------------*/

.company .message_wrap .flex_container {
	justify-content: flex-start;
}

.company .message_wrap .left_container,
.company .message_wrap .right_container {
	width: unset;
}

.company .message_wrap .left_container {
	padding-right: clamp(10px, 3.47vw, 50px);
}

.company .message_wrap .president_obj {
	width: 100%;
}

.company .message_wrap .president_txt {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: right;
	padding: 15px .5em 0 0;
}

.company .message_wrap .president_txt strong {
  	font-family: "Noto Serif JP", serif;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding-left: 1em;
}

.company .message_wrap .message_ttl {
	font-size: clamp(2.4rem, 3.33vw, 4.8rem);
	font-weight: 500;
	letter-spacing: .1em;
	padding-bottom: 40px;
}


/*sec03--------------------------------*/

.data_list_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

.data_list_container .data_list_item {
	background-color: var(--main-color);
	border-radius: 20px;
	padding: clamp(10px, 1.39vw, 20px);
	box-sizing: border-box;
	margin-bottom: 2%;
}

.data_list_container .data_list_item.row1 {
	width: 100%;
}

.data_list_container .data_list_item.row2 {
	width: 49%;
}

.data_list_container .data_list_item.row3 {
	width: 32%;
}

.data_list_item .data_list_ttl {
	padding-bottom: 30px;
	flex: 1;
}

.data_list_item .data_list_ttl strong {
	font-size: clamp(2.4rem, 12.8vw, 4.8rem);
	font-style: normal;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
}

.data_list_item .data_list_ttl strong em {
	font-size: clamp(2.4rem, 12.8vw, 4.8rem);
	font-style: normal;
	color: var(--orange);
}

.data_list_item .img_container {
	flex: 1;
}

.data_list_item:not(.row1) .data_obj {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.data_list_item {
  	display: flex;
  	flex-direction: column;
}

.data_list_item.row1 {
  	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}

.data_list_item.row1 .data_list_ttl {
	display: block;
	width: 100%;
	flex: unset;
}

.data_list_item.row1 .data_obj {
	width:  clamp(350px, 36.53vw, 526px);
	margin: 0;
}

.bomb.show-pop{
  animation: popBounce .55s ease forwards;
}

.data_list_item .txt_container {
	text-align: center;
}

.data_list_item .txt_container strong {
	font-size: clamp(6rem, 8.33vw, 12rem);
	font-weight: 700;
	color: var(--orange);
	letter-spacing: 0;
	text-shadow:
	-2px 0 0 var(--white),
	2px 0 0 var(--white),
	0 -2px 0 var(--white),
	0  2px 0 var(--white),
	-2px -2px 0 var(--white),
	2px -2px 0 var(--white),
	-2px  2px 0 var(--white),
	2px  2px 0 var(--white);
}

.data_list_item .txt_container i {
	font-size: clamp(2.1rem, 4.17vw, 4.2rem);
	font-weight: 700;
	font-style: normal;
	color: var(--white);
	letter-spacing: .1em;
}


/*sec04--------------------------------*/

.info_list_container {
	display: flex;
	justify-content: space-between;
	padding-bottom: 40px;
}

.info_list_item {
	width: 49%;
}

.info_list_item a {
	display: block;
	width: 100%;
	aspect-ratio: 133 / 59;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	transition-duration: 0.3s;
}

.info_list_item .img_container {
	width: 100%;
	aspect-ratio: 206 / 135;
}

.info_list_item:first-child a {
	background: url('../img/company/mv_obj01.jpg') center center / cover no-repeat;
}

.info_list_item:last-child a {
	background: url('../img/company/mv_obj02.jpg') center center / cover no-repeat;
}

.info_list_item a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	transition-duration: 0.3s;
}

.info_list_item a .info_list_ttl {
	font-size: 3.6rem;
	font-weight: 700;
	color: var(--white);
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transition-duration: 0.3s;
}

.info_list_item a:hover::before {
	display: none;
	transition-duration: 0.3s;
}

.info_list_item a:hover .info_list_ttl {
	color: var(--main-color);
	text-shadow: 2px 2px 2px var(--white);
	transition-duration: 0.3s;
}

.contents_list_container {
	display: flex;
	justify-content: space-between;
}

.contents_list_item {
	width: 32%;
}

.contents_list_item .img_container {
	overflow: hidden;
}

.contents_list_item .img_container,
.contents_list_item .contents_list_obj {
	width: 100%;
}

.contents_list_item .img_container {
	width: 100%;
	aspect-ratio: 206 / 135;
	border-radius: 10px;
	overflow: hidden;
}

.contents_list_item .txt_container {
	width: 100%;
	padding: 10px 5px;
	position: relative;
}

.contents_list_item a .txt_container::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 30px;
	transition-duration: 0.3s;
}

.contents_list_item a .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 18px;
	transform: rotate(45deg) translate(-48%);
	transition-duration: 0.3s;
}

.contents_list_item a:hover .txt_container::before {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.contents_list_item a:hover .txt_container::after {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.contents_list_item .contents_list_ttl {
	font-size: clamp(1.8rem, 2.5vw, 3.6rem);
	font-weight: 500;
	color: var(--black);
	letter-spacing: .05em;
}



/*--------------------------------------*/

/*interview*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.interview article {
	padding-top: 40px;
}

.interview .lead_wrap {
	padding-bottom: 0;
}

.interview .lead_wrap .flex_container {
	flex-direction: row-reverse;
}

.interview .lead_wrap .flex_container .left_container {
	width: 40%;
}

.interview .lead_wrap .flex_container .right_container {
	width: 56%;
}

.interview .sec_ttl {
	padding-bottom: 30px;
}

.interview .sec_ttl strong {
	line-height: 1.3em;
}

.interview .lead_txt {
	font-size: clamp(2.4rem, 3.33vw, 4.8rem);
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.5em;
	padding-bottom: .5em;
}

.interview .plain_txt {
	width: 94%;
	font-size: clamp(1.6rem, 1.32vw, 1.8rem);
}


/*sec02--------------------------------*/

.interview .interview_wrap {
	background-color: var(--white)!important;
	padding: 0;
}

.interview .interview_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(6rem, 8.33vw, 12rem) 6.94% 6rem;
	border: 5px solid #111;
	box-sizing: border-box;
}

.interview .interview_list_container {
	position: relative;
}

.interview .interview_list_container + .interview_list_container {
	padding-top: clamp(11.8rem, 16.39vw, 23.6rem);
}

.interview .img_container + .interview_list_container {
	padding-top: clamp(6.8rem, 9.44vw, 13.6rem);
}

.interview .interview_container .img_container {
	padding-top: 50px;
}

.interview .interview_list_container::before {
	content: 'Q.01';
	display: block;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size:  clamp(10rem, 13.89vw, 20rem);
	color: var(--main-color);
	line-height: 1em;
	letter-spacing: -.05em;
	position: absolute;
	top: clamp(1.15rem, 1.6vw, 2.3rem);
	left: calc(clamp(7rem, 9.72vw, 14rem) * -1);
}

.interview .img_container + .interview_list_container::before {
	top: calc(clamp(3.5rem, 4.86vw, 7rem) * -1);
}

.interview .interview_list_container:nth-of-type(1):before {
	top: calc(clamp(9.5rem, 13.19vw, 19rem) * -1);
}

.interview .interview_list_container:nth-of-type(2):before {
	content: 'Q.02';
}

.interview .interview_list_container:nth-of-type(3):before {
	content: 'Q.03';
}

.interview .interview_list_container:nth-of-type(4):before {
	content: 'Q.04';
}

.interview .interview_list_container:nth-of-type(5):before {
	content: 'Q.05';
}

.interview .interview_list_container:nth-of-type(6):before {
	content: 'Q.06';
}

.interview .interview_list_container:nth-of-type(7):before {
	content: 'Q.07';
}

.interview .interview_list_container:nth-of-type(8):before {
	content: 'Q.08';
}

.interview .interview_list_container:nth-of-type(9):before {
	content: 'Q.09';
}

.interview .interview_list_container:nth-of-type(10):before {
	content: 'Q.10';
}

.interview .interview_list_container:nth-of-type(11):before {
	content: 'Q.11';
}

.interview .interview_list_container:nth-of-type(12):before {
	content: 'Q.12';
}

.interview .interview_list_container:nth-of-type(13):before {
	content: 'Q.13';
}

.interview .interview_list_container:nth-of-type(14):before {
	content: 'Q.14';
}

.interview .interview_list_container:nth-of-type(15):before {
	content: 'Q.15';
}

.interview .interview_list_container dt {
	font-size: clamp(2rem, 2.08vw, 3rem);
	font-weight: 500;
	color: var(--white);
	letter-spacing: .1em;
	padding: 20px 30px;
	margin-bottom: 55px;
	background-color: var(--orange);
	border-radius: 20px;
	position: relative;
}

.interview .interview_list_container dt::before {
	content: '';
	display: block;
	border-top: 30px solid transparent;
	border-right: 30px solid var(--orange);
	border-bottom: 30px solid transparent;
	position: absolute;
	top: 100%;
	left: 50px;
	transform: translateY(-50%);
}

.interview .interview_list_container dd {
	font-size: clamp(1.6rem, 1.32vw, 1.8rem);
	font-weight: 500;
	font-style: normal;
	color: var(--black);
	line-height: 2em;
	letter-spacing: .05em;
}

.interview .interview_list_container dd strong {
	font-weight: 900;
	font-style: normal;
}

.interview .comment_list_container {
	padding-top: 50px;
}

.interview .comment_list_container dt {
	display: inline-block;
	font-size: clamp(2rem, 2.08vw, 3rem);
	font-weight: 500;
	color: var(--white);
	letter-spacing: .1em;
	padding: 20px 30px;
	margin-bottom: 55px;
	background-color: var(--main-color);
	border-radius: 20px;
	position: relative;
}

.interview .comment_list_container dt::before {
	content: '';
	display: block;
	border-top: 30px solid transparent;
	border-right: 30px solid var(--main-color);
	border-bottom: 30px solid transparent;
	position: absolute;
	top: 100%;
	left: 50px;
	transform: translateY(-50%);
}

.interview .comment_list_container .comment_ttl {
	font-size: clamp( 1.8rem ,2.5vw , 3.6rem);
	font-weight: 500;
	letter-spacing: .1em;
	padding-bottom: 20px;
}

.interview .comment_list_container dd .plain_txt {
	font-size: clamp(1.6rem, 1.32vw, 1.8rem);
	padding-bottom: 1em;
}

.interview .comment_list_container dd .plain_txt strong {
	font-weight: 900;
	font-style: normal;
}



/*sec03--------------------------------*/

.interview .people_list_container {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.interview .people_list_item {
	width: 370px;
	padding: 0 7px 14px;
	position: relative;
}

.interview .people_list_item .img_container {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	overflow: hidden;
}

.interview .people_list_item .people_list_obj {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.interview .people_list_item .txt_container {
	width: 100%;
	padding: 20px 10px;
	position: relative;
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--black);
	letter-spacing: .05;
	line-height: 1.5em;
}

.interview .people_list_item a .txt_container::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 30px;
	transition-duration: 0.3s;
}

.interview .people_list_item a .txt_container::after {
	content: '';
	display: block;
	width: 20px;
	height: 4px;
	background-color: var(--main-color);
	position: absolute;
	bottom: 20px;
	right: 18px;
	transform: rotate(45deg) translate(-48%);
	transition-duration: 0.3s;
}

.interview .people_list_item a:hover .txt_container::before {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.interview .people_list_item a:hover .txt_container::after {
	background-color: var(--orange);
	transition-duration: 0.3s;
}

.interview .people_list_item .people_ttl {
	font-size: clamp(1.8rem, 1.6vw, 2.4rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .05em;
	transition-duration: 0.3s;
	text-align: right;
	position: absolute;
	top: 20px;
	right: 0;
	transform: translateX(1.5em);
}

.interview .people_list_item .people_ttl span {
	background: var(--main-color);
	padding: 0.1em 0.4em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	transition-duration: 0.3s;
}

.interview .people_list_item a:hover .people_ttl {
	color: var(--white);
	transition-duration: 0.3s;
}

.interview .people_list_item a:hover .people_ttl span {
	background: var(--orange);
	transition-duration: 0.3s;
}



/*--------------------------------------*/

/*works*/

/*--------------------------------------*/

.works .sec_ttl strong {
	line-height: 1.3em;
}

/*sec01--------------------------------*/

.lower .jobtype_wrap .jobtype_list_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.lower .jobtype_wrap .jobtype_list_container dt {
	width: 100%;
	height: 80px;
	background-color: #ccc;
	margin-bottom: 40px;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 30px;
	box-sizing: border-box;
	position: relative;
	transition-duration: 0.3s;
	cursor: pointer;
}

.lower .jobtype_wrap .jobtype_list_container dt i {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.2rem;
	color: var(--gray);
	letter-spacing: .05em;
	line-height: 1em;
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt strong {
	font-size: 2.4rem;
	font-weight: 700;
	font-style: normal;
	color: var(--black);
	letter-spacing: .1em;
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt::after {
	content: '＋';
	display: block;
	font-size: 4.8rem;
	font-weight: 700;
	color: var(--white);
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt.current::after {
	content: '－';
	transform: translateY(-50%) rotate(360deg);
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt:hover {
	background-color: var(--gray);
	color: var(--white);
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt:hover i {
	color: var(--white);
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dt:hover strong {
	color: var(--white);
	transition-duration: 0.3s;
}

.lower .jobtype_wrap .jobtype_list_container dd {
	display: none;
}

.lower .jobtype_wrap .jobtype_list_container dd .btn_container {
	padding-bottom: 40px;
}

.lower .jobtype_wrap .jobtype_list_container dd .btn_container a {
	margin-top: 0;
}

.lower .jobtype_wrap .jobtype_list_ttl {
	font-size: clamp(2.4rem, 3.33vw, 4.8rem);
	font-weight: 500;
	letter-spacing: .1em;
	padding-bottom: 30px;
}

.lower .jobtype_wrap .job_list_container {
	padding-top: 30px;
}

.lower .jobtype_wrap .job_list_item {
	display: flex;
	justify-content: space-between;
	padding-bottom: 40px;
}

.lower .jobtype_wrap .job_list_item .img_container {
	width: 48%;
}

.lower .jobtype_wrap .job_list_item .img_container .job_list_obj {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 10px;
	overflow: hidden;
}

.lower .jobtype_wrap .job_list_item .txt_container {
	width: 50%;
}

.lower .jobtype_wrap .job_list_item .job_list_ttl {
	font-size: clamp(2rem, 2.5vw, 3.6rem);
	font-weight: 500;
	letter-spacing: .1em;
	padding-bottom: 20px;
}

.lower .jobtype_wrap .job_list_item .plain_txt + .plain_txt {
	padding-top: 1em;
}



/*sec02--------------------------------*/

.works .workflow_wrap .flex_container {
	width: 90%;
	margin: 0 auto;
}

.works .workflow_wrap .left_container {
	width: 36%;
}

.works .workflow_wrap .right_container {
	width: 60%;
}

.works .workflow_wrap .workflow_obj_txt {
	font-size: clamp(1.4rem, 1.25w, 1.8rem);
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;
	padding-top: 20px;
}

.works .workflow_wrap .workflow_ttl {
	font-size: clamp(2.4rem, 3vw, 4.8rem);
	font-weight: 700;
	letter-spacing: .1em;
	padding-bottom: 20px;
}

.works .workflow_wrap .schedule_list_container {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.works .workflow_wrap .schedule_list_container dt {
	width: clamp(18rem, 18.75vw, 27rem);
	position: relative;
}

.works .workflow_wrap .schedule_list_container dd {
	width: calc(100% - clamp(18rem, 18.75vw, 27rem));
	box-sizing: border-box;
	padding: clamp(.8rem, .83vw, 1.2rem) 0 30px 20px;
}

.works .workflow_wrap .schedule_list_container dd:last-of-type {
	padding-bottom: 0;
}

.works .workflow_wrap .schedule_list_container dt:not(:last-of-type)::after {
	content: '';
	display: block;
	width: 10px;
	height: 100%;
	background-color: #ccc;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}

.works .workflow_wrap .schedule_list_container dt strong {
	width: 100%;
	height: clamp(4rem, 4.17vw, 6rem);
	background-color: var(--orange);
	border-radius: 100vh;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-size: clamp(2.13rem, 2.22vw, 3.2rem);
	font-weight: 900;
	font-style: normal;
	color: var(--white);
	letter-spacing: .05em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}

.works .workflow_wrap .schedule_list_container dt:nth-of-type(even) strong {
	background-color: var(--main-color);
}

.works .workflow_wrap .schedule_list_container dd strong {
	display: block;
	font-size: clamp(1.8rem, 1.67vw, 2.4rem);
	font-weight: 700;
	font-style: normal;
	letter-spacing: .05em;
	padding-bottom: .2em;
}

.works .workflow_wrap .schedule_list_container dd em {
	display: block;
	font-size: clamp(1.4rem, 1.25vw, 1.8rem);
	font-weight: 500;
	font-style: normal;
	letter-spacing: .05em;
}



/*sec03--------------------------------*/


.lower .reason_list_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 6.94% 6rem;
	border: 5px solid #111;
	box-sizing: border-box;
}

.lower .reason_list_container dt {
	position: relative;
	font-size: clamp(4.8rem, 5vw, 7.2rem);
	font-weight: 700;
	font-style: normal;
	letter-spacing: .1em;
	padding: clamp(2rem, 2.08vw, 3rem) 0 20px clamp(10.67rem, 11.11vw, 16rem) ;
}

.lower .reason_list_container dt:first-child {
	padding-left:clamp(8.67rem, 9.03vw, 13rem) ;
}

.lower .reason_list_container dt::before {
	content: '01';
	display: block;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size: clamp(10rem, 13.89vw, 20rem);
	color: var(--main-color);
	line-height: 1em;
	letter-spacing: -.05em;
	position: absolute;
	top: calc(clamp(3.33rem, 3.47vw, 5rem) * -1);
	left: calc(clamp(7rem, 9.72vw, 14rem) * -1);
}

.lower .reason_list_container dt:nth-of-type(2):before {
	content: '02';
}

.lower .reason_list_container dt:nth-of-type(3):before {
	content: '03';
}

.lower .reason_list_container dt:nth-of-type(4):before {
	content: '04';
}

.lower .reason_list_container dt:nth-of-type(5):before {
	content: '05';
}

.lower .reason_list_container .lead_txt {
	font-size: clamp( 1.8rem ,2.5vw , 3.6rem);
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.64em;
	padding-bottom: 20px;
}

.lower .reason_list_container .img_container {
	padding-top: 30px;
	width: 100%;
}

.lower .reason_list_container .reason_obj {
	width: 100%;
}



/*--------------------------------------*/

/*environment*/

/*--------------------------------------*/

/*sec01--------------------------------*/

.environment .wlb_wrap .lead_txt {
	font-size: 4.8rem;
}

.environment .wlb_list_container {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding-top: 30px;
}

.environment .wlb_list_item {
	width: clamp( 225px ,28.5vw , 435px);
	padding: clamp( 15px ,2.08vw , 30px);
	box-sizing: border-box;
	background-color: var(--main-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	 gap: 1.2rem; 
}

.environment .wlb_list_item .wlb_list_ttl {
	font-size: clamp(2.4rem, 3vw, 4.8rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
}

.environment .wlb_list_item .wlb_list_ttl strong {
	font-style: normal;
	color: var(--orange);
}

.environment .wlb_list_item .img_container {
	width: clamp( 141px ,19.58vw , 282px);
	min-height: clamp( 120px ,16.67vw , 240px);
	padding: 1em 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
}

.environment .wlb_list_item .wlb_obj {
	max-width: 75%;
}

.environment .wlb_list_item .wlb_detail_list_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	flex: 0 0 auto; 
}

.environment .wlb_list_item .wlb_detail_list_item {
	width: calc(50% - 1em);
	margin-left: 1em;
	box-sizing: border-box;
	font-size: clamp(1.2rem, 1.53vw, 2.4rem);
	font-weight: 500;
	color: var(--white);
	letter-spacing: .1em;
	list-style-type: disc;
	flex:none;
}

/*sec02--------------------------------*/

.environment .career_wrap .lead_txt {
	font-size: 4.8rem;
}

.environment .career_wrap .flex_container {
	padding-top: 30px;
}

.environment .career_wrap .flex_container .right_container {
	padding-left: 2em;
	box-sizing: border-box;
}

.environment .career_wrap .career_table thead th {
	width: 100%;
	padding: 10px;
	border: 2px solid var(--main-color);
	box-sizing: border-box;
	background-color: var(--white);
	font-size: clamp(1.8rem, 1.66vw, 2.4rem);
	font-weight: 700;
	color: var(--main-color);
	letter-spacing: .1em;
	text-align: center;
}

.environment .career_wrap .career_table:nth-of-type(3) thead th {
	border-color: var(--orange);
	color: var(--orange);
}

.environment .career_wrap .career_table tbody th {
	width: 35%;
	padding: 10px;
	box-sizing: border-box;
	background-color: var(--main-color);
	font-size: clamp(1.4rem, 1.25vw, 1.8rem);
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
	text-align: center;
}

.environment .career_wrap .career_table:nth-of-type(1) tbody th {
	background-color: #438309;
}

.environment .career_wrap .career_table:nth-of-type(1) tbody th.first {
	background-color: #b1d690;
}

.environment .career_wrap .career_table:nth-of-type(2) tbody th.first {
	background-color: #6bb3dc;
}

.environment .career_wrap .career_table:nth-of-type(3) tbody th {
	background-color: var(--orange);
}

.environment .career_wrap .career_table:nth-of-type(3) tbody th.first {
	background-color: #feba69;
}

.environment .career_wrap .career_table tbody td {
	padding: 10px 15px;
	background-color: var(--white);
	font-size: clamp(1.2rem, 1.11vw, 1.6rem);
	font-weight: 500;
	letter-spacing: .05em;
}


/*sec03--------------------------------*/

.environment .character_list_container {
	padding-left: 1.5em;
}

.environment .character_list_item {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.4em;
	padding: 0 0 .5em 1.5em;
	position: relative;
}

.environment .character_list_item::before {
	content: 'ー';
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.4em;
	position: absolute;
	top: 0;
	left: 0;
}

.lower.environment .reason_list_container dt:first-child {
	padding-left:clamp(8.67rem, 47.22vw, 68rem) ;
	white-space: nowrap;
}

.lower.environment .reason_list_container dt:nth-of-type(2) {
	padding-left:clamp(8.67rem, 7.64vw, 11rem) ;
}

.lower.environment .reason_list_container dt::before {
	content: 'Wranted';
}

.lower.environment .reason_list_container dt:nth-of-type(2):before {
	content: 'Fit';
}


/*sec04--------------------------------*/

.requirements_table {
	width: 90%;
	margin: 0 auto;
}

.requirements_table th {
	padding: 20px 30px;
	background-color: var(--main-color);
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .1em;
}

.requirements_table td {
	padding: 20px 30px;
	background-color: var(--white);
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
}

.requirements_table td .requirements_list_container {
	padding-left: 1em;
}

.requirements_table td .requirements_list_item {
	list-style-type:disc;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
}

.requirements_table + .btn_container {
	padding-top: 40px;
}



/*--------------------------------------*/

/*entry*/

/*--------------------------------------*/

.entry_wrap .btn_container a {
	font-weight: 700;
}

/*input--------------------------------*/

.entry_wrap .inquiry_list_container {
	width: 90vw;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.entry_wrap .inquiry_list_container dt {
	width: 30%;
	background-color: var(--main-color);
	padding: 20px 10px;
	box-sizing: border-box;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--white);
	letter-spacing: .05em;
	margin-bottom: 3px;
}

.entry_wrap .inquiry_list_container dd {
	width: calc(70% - 3px);
	background-color: var(--white);
	padding: 10px 30px;
	box-sizing: border-box;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .05em;
	margin: 0 0 3px 3px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.entry_wrap .inquiry_list_container.comfirm dd {
	background-color: #eee;
}

input[type="text"],
input[type="password"] {
	width: 100%;
	height: 50px;
	font-size: 1.8rem;
	background-color: #eee;
	border-radius: 5px;
	border: none;
	box-sizing: border-box;
	padding: 10px;
}

input:focus,
textarea:focus {
	outline: 5px solid var(--lightblue);
}

textarea {
	width: 100%;
	height: 10em;
	font-size: 1.8rem;
	background-color: #eee;
	border-radius: 5px;
	border: none;
	box-sizing: border-box;
	padding: 10px;
}


.formErrorContent {
	color: #cc0000;
	padding-top: 5px;
}

.req {
	background-color: #cc0000;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: .2em;
	padding: 2px 5px;
	margin-left: 10px;
    border-radius: 5px;
}

.submit_container {
	text-align: center;
	padding-top: 40px;
}

.checkbox_list_container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: left;
	align-items: center;
}

.checkbox_list_item {
	width: 50%;
}

label {
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: 500;
}

input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px;
	width: 20px;
	vertical-align: -0.8rem;
	transition:all .15s ease-out 0s;
	color: #ddd;
	cursor: pointer;
	display: inline-block;
	margin: .4rem;
	outline: none;
	border-radius: 10%;
}

input[type="checkbox"]:before,input[type="checkbox"]:after {
	position: absolute;
	content: "";
	background: #fff;
	transition: all .2s ease-in-out;
}

input[type="checkbox"]:before {
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}

input[type="checkbox"]:after {
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	transition-delay: .2s;
}

input[type="checkbox"]:checked:before {
	left: 1px;
	top: 10px;
	width: 6px;
	height: 2px;
}

input[type="checkbox"]:checked:after {
	right: 5px;
	bottom: 1px;
	width: 2px;
	height: 14px;
}

input[type="checkbox"]:indeterminate:before,input[type="checkbox"]:indeterminate:after {
	width: 7px;
	height: 2px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}

input[type="checkbox"]:indeterminate:before {
	left: 1px;
	top: 7px;
}

input[type="checkbox"]:indeterminate:after {
	right: 1px;
	bottom: 7px;
}

input[type="checkbox"] {
	border: 2px solid #ccc;
	background-color: #fff;
}

input[type="checkbox"]:checked,input[type="checkbox"]:indeterminate {
	background: var(--orange);
	border: 2px solid var(--orange);
}

input[type="submit"] {
	display: block;
	margin: 0 auto;
	width: 400px;
	height: 60px;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	line-height: 50px;
	text-align: center;
    background-color: var(--orange);
    border-radius: 10px;
	border: none;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	position: relative;
}

input[type="submit"].back,
.btn_container.back a {
	background-color: #999;
	color: #eee;
}

input[type="submit"]:focus,
input[type="submit"].back:focus{
	outline: none;
}


.entry_wrap .btn_container.back {
	padding-top: 60px;
}

.error {
	color: #cc0000;
	font-size: 1.4rem;
}

.entry_wrap .center {
	text-align: center;
}

.entry_wrap .center.mail {
	padding: 40px 0 80px;
}

.entry_wrap .plain_txt,
.section ul {
	padding-bottom: 20px;
}

.inquiry.confirm .plain_txt,
.inquiry.finish .plain_txt {
	color: #333;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5em;
}

.inquiry_txt {
	display: block;
	width: 100%;
	margin: 0 auto;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2em;
	padding-bottom: 2em;
	text-align: center;
}

body .ui-datepicker {
  width: 24rem;
}


@media screen and (min-width: 768px) and (max-width: 1180px) {

	.footer_wrap {
		display: block;
	}

	.footer_wrap nav {
		width: 700px;
		margin: 0 auto;
		padding-bottom: 80px;
	}

	.footer_wrap .add_wrap {
		margin: 0 auto;
	}

	.footer_wrap .add_txt {
		text-align: center;
	}

	.copy_wrap {
		text-align: center;
	}
}

@media screen and (min-width: 768px) and (max-width: 980px) {
}
