/*
Theme Name: RICC
Author: cachiport
Version: 1.0
Description:RICC theme
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/* ===================================================================
// 基本スタイル
// ===================================================================*/

html {
  font-size: 62.5%;
  font-family: noto-sans-cjk-jp, sans-serif;
  -webkit-font-feature-settings: "pkna" 1;
          font-feature-settings: "pkna" 1;
  height: 100%;
}
@media screen and (min-width: 1367px) {
	html {
		font-size: calc(100vw / 137);
	}
}
body {
	/*メインカラー*/
	--main-color:#EF8001;
	--main-color2:#FFEFDD;
	--main-color3:#FF5610 ;
	/*フォントカラー*/
	--font-color:#181B39;
	/*ボタン*/
	--btn1font-color:#FFFFFF;/*通常時文字色＆ホバー時背景色*/
	--btn1back-color:#EF8001;/*ホバー文字色&通常時背景色*/

	/*フォント体*/
	--main-font: noto-sans-cjk-jp, sans-serif;
	--sub-font: 'Futura' , sans-serif;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.96px;
  line-height: 1;
  color: var(--font-color);
  font-weight: 400;
  overflow-x: hidden;
  height: 100%;
  max-width: 100%;
}

main{
	max-width: 100%;
	overflow-x: hidden;
}
/*wrapper*/
body{
	--wrapper: 14.2rem;
	
}
@media screen and (max-width: 1020px) {
	body{
		--wrapper: 10rem;
	}
}
@media screen and (max-width: 767px) {
	body{
		--wrapper: 4.65rem;
	}

}
.wrapper{
	padding: 0 var(--wrapper);
}

/* ボックスサイズ */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 行間 */

	p{
			line-height: 1.875;
			  font-size: 1.6rem ;
			  margin: 1rem 0;
			  font-family: var(--main-font);
			  font-weight: 400;
			  font-style: normal;
			  color: var(--font-color);
			  -webkit-font-smoothing: antialiased;
	  }

@media screen and (max-width: 767px) {
	p{
		line-height: 1.6;
			  font-size: 1.6rem ;
			  margin: 1rem 0;
			  font-family: var(--main-font);
			  font-weight: 400;
			  font-style: normal;
			  color: var(--font-color);
	  }
  }
div, h1, h2, h3, h4, h5, li {
  line-height: 1.2;
  font-family: var(--main-font);
  font-weight: 600;
  font-style: normal;
  color: var(--font-color);
  -webkit-font-smoothing: antialiased;
}
/* リンク */

	a {
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
		font-family: var(--main-font);
		font-weight: 700;
		font-style: normal;
		color: var(--font-color);
		font-size: 1.6rem;
		-webkit-font-smoothing: antialiased;
	  }
	  a:hover{
		opacity: .7;
	  }
@media screen and (max-width: 767px) {
}



/*  パンくずリスト　*/
.breadcrumbs{
	display: flex;
	padding-top: 2.7rem;
	padding-left: var(--wrapper);
	gap: 0.5rem;
}
.breadcrumbs  span{
	font-weight: 700;
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
	.breadcrumbs  span{
		font-size: 1.4rem;
	}
}
/* img */
img {
  max-width: 100%;
  height: auto;
}

.object_fit_img {
  -o-object-fit: cover;
     object-fit: cover;
 font-family: 'Noto Sans JP', sans-serif;
}
/* flex */
.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 1020px) {
  .flex_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
/* pc & sp */
.pc {
  display: inline-block;
}

.sp {
  display: none;
}
.sp_br{
	display: none;
}
.pc_br{
	display: initial;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
  .sp_br{
	display: initial;
}
.pc_br{
	display: none;
}

}



  /*fadein*/
  
  .fadein {
	opacity: 0;
	transition-duration: 1000ms;
	transition-property: opacity, transform;
	transform: translate(0, 3rem);
  }
  .scroll-in {
	opacity: 1;
	transform: translate(0, 0);
  }
/* ===================================================================
// ヘッダー
// ===================================================================*/


/*ナビゲーション*/
.header{
	background-color: #FCF5ED;
	position: fixed;
	top: 0;
	z-index: 999;
	width: 100%;
	border-bottom: 0.1rem solid var(--main-color);
	padding: 1.3rem 0;
	height: 9.1rem;

}
.header nav{
	align-items: center;
	position: relative;
}
.header .logo{ 
	width: 16.5rem;
	margin-left: 3.4rem;
}
.header_ul{
	margin-right: 1.5rem;
    padding-left: 1rem;
	align-items: center;
}

.header_ul li a{
	padding: 0 1.7vw 0 ;
	display: block;
	margin: 0;
	font-weight: 700;
	position: relative;
	display: flex;
	gap: .4rem;
	align-items: center;
}
.header_ul li.nav_folder a::after{
	content: "";
    display: block;
    width: 1.3rem;
    height: .56em;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: var(--main-color);
}
.header_ul li.nav_folder a:hover{
	color: var(--main-color);
	opacity: 1;
}
.header_ul li.nav_folder a::before{
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(15deg);
    width: 0.1rem;
    height: 1.21em;
    background-color: #181B39;
    display: block;
}
.header_ul li:nth-last-of-type(1) a::after, .header_ul li:nth-last-of-type(2) a::after{
	content: '';
	display: none;
}
.header_ul li.entry{
	margin-left: 0.45rem;
}
.header_ul li.entry a{
	background-color: var(--main-color);
	display: flex;
	align-items: center;
	border-radius: 3.8rem;
	gap: 1.3rem;
	padding: 1.4rem 1.7rem 1.4rem 2.7rem;
	border: 0.1rem solid var(--main-color);
}
.header_ul li.entry p{
	color: #fff;
	margin: 0;
	line-height: 0;
	font-weight: 700;
}
.header_ul li.entry img{
	height: 2.1rem;
}
.header_ul li.entry a:hover{
	background-color: #fff;
}
.header_ul li.entry a:hover p{
	color: var(--main-color);
}
.header_ul li.entry a img.hover{
	display: none;
}
.header_ul li.entry a:hover img.hover{
	display: block;
}
.header_ul li.entry a:hover img.normal{
	display: none;
}
.header_ul .nav_folder .folder_child{
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:8rem;
    right: 0;
	width: 100%;
	padding: 2rem 13.8rem 2.4rem;
	gap: 4%;
	background: var(--main-color);
}
.header_ul .nav_folder:hover .folder_child{
	visibility: visible;
	opacity: 1;

  }
  .header_ul .nav_folder .folder_child ul{
	display: flex;
	flex-wrap: wrap;	
	gap: 1.4rem 2.7rem;
	justify-content: space-between;
  }
  .header_ul .nav_folder .folder_child h2{
	font-size: 3.1rem;
	font-weight: 900;
	color: #fff;
	margin-bottom: 1rem;
}
  .header_ul .nav_folder .folder_child ul li{
    padding: 0;
	width: 31.5%;
  }
  .header_ul .nav_folder .folder_child ul li .btn{
	display: flex;
	padding: 0;
	border-radius: 1rem;
	gap: 0;
  }
  .header_ul .nav_folder .folder_child ul li .btn:hover{
	opacity: .7;
	color: var(--font-color);
  }

  .header_ul .nav_folder .folder_child ul li .btn div{
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 1rem 0.9rem ;
	border-right: 0.1rem solid #000;
	width: calc( 100% - 3.7rem);
  }
  .header_ul .nav_folder .folder_child ul li .btn div p{
	padding: 0;
	font-size: 2rem;
	border: none;
	font-weight: 700;
	text-align: left;
  }
  .header_ul .nav_folder .folder_child ul li .btn div p span{
	font-size: 1.4rem;
	padding: 0;
  }
  .header_ul .nav_folder .folder_child ul li .btn div img{
	width: 10.6rem;
	height: 6.7rem;
	object-fit: cover;
	border-radius: 0.5rem;
  }
  .header_ul .nav_folder .folder_child ul li a::after,  .header_ul .nav_folder .folder_child ul li a::before{
	display: none;
  }
  @media screen and (max-width: 1257px){
	.header_ul .nav_folder .folder_child ul li {
		padding: 0;
		width: 47.5%;
	}
  }
  @media screen and (max-width: 1257px){
	.header_ul .nav_folder .folder_child ul li {
		padding: 0;
		width: 46.5%;
	}
  }
  @media screen and (max-width: 1037px){
	.header .logo {
		width: 9.4rem;
		margin-left: 1.4rem;
	}
	.header_ul {
		margin-right: 0rem;
	}	
    .header_ul li a {
        padding: 0 .5vw 0;
    }
	.header_ul .nav_folder .folder_child {
		padding: 2rem 3.8rem 2.4rem;
	}
	.header_ul li.entry a {
		gap: 0.5rem;
		padding: 1.4rem 0.7rem 1.4rem 1.7rem;
	}
}

  @media screen and (max-width: 767px){
	.header_ul{
		display: none;
	}
	.header{
		padding: 1rem 1.8rem 1rem 2rem;
		height: 5.745rem;
	}
	.header .logo {
		width: 9.4rem;
		padding: 0;
		margin: 0;
	}
  }
  /*========= ボタンのためのCSS ===============*/

  .openbtn {
    position: absolute;
    z-index: 9999;
    top: 1rem;
    right: 1.8rem;
    cursor: pointer;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--main-color);
    border-radius: 100px;
	display: none;
}
.openbtn span{
	display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 50%;
	transform: translate(-50%);
    height: .1rem;
    border-radius: 2px;
    background-color: #fff;
    width: 50%;
  }

.openbtn span:nth-of-type(1) {
	top: 35%;	
}
.openbtn span:nth-of-type(2) {
	top: 50%;
}
.openbtn span:nth-of-type(3) {
	top: 65%;
}
.openbtn.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    width: 50%;
    left: 25%;
    top: 50%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
	transform: rotate(45deg);
    width: 50%;
    left: 25%;
    top: 50%;
}
@media screen and (max-width: 1020px){

}
@media screen and (max-width: 767px){
	.openbtn{
		display: inline-block;
	}
}
/* 
ハンバーガーメニュー　
*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: 5.745rem;
    right: -120%;
	width: 57%;
    height: calc(100vh - 5.745rem);/*ナビの高さ*/
	background:var(--main-color);
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
	padding: 1.8rem 1.5rem;
	position: relative;
    z-index: 999;
    width: 100%;
    height: 100%;
    overflow: auto;
	-webkit-overflow-scrolling: touch;
}




/*リストのレイアウト設定*/
  #g-nav .nav_folder{
	margin-bottom: 1rem;
  }
  #g-nav .folder_child{
	display: none;
	margin-top: 1.2rem;
  }

  #g-nav .folder_parent{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	background-color: var(--main-color2);
	border-radius: .5rem;
	padding: .7rem .9rem .7rem 1.3rem;
  }
  #g-nav .folder_parent a{
	font-size: 1.8rem;
	font-weight: 700;
	padding: 0;
  }
  #g-nav .folder_parent span{
	width: 1.3rem;
	height: 0.9rem;
	background-color: var(--main-color);
	clip-path: polygon(0 0,50% 100%,100% 0);
	transition: .3s;
  }
  #g-nav .nav_folder.active .folder_parent span{
	transform: rotate(180deg);
  }
  #g-nav .folder_child li{
	margin-bottom: 1.4rem;
  }
  #g-nav .folder_child li a{
	align-items: center;
	display: flex;
	justify-content: space-between;
  } 
  #g-nav .folder_child p{
	margin: 0;
	color: #fff;
	padding: 0rem .9rem;
	font-weight: 500;
  }
  #g-nav .folder_child span{
	color: #fff;
	margin-right: 2.4rem;
	height: fit-content;
	font-size: 1.6rem;
  }
  #g-nav .nav_environment .folder_parent p{
	font-size: 1.8rem;
	font-weight: 700;
	padding: 0;
	margin: 0;
  }
  #g-nav li:nth-last-of-type(2) .folder_parent a{
	width: 100%;
  }
  #g-nav li.entry{
	margin-top: 1.7rem;
  }
  #g-nav li.entry a{
	background-color: #00937F;
	display: flex;
	align-items: center;
	border-radius: 1.9rem;
	gap: 1.3rem;
	padding: .7rem 0;
	border: 0.2rem solid #fff;
	justify-content: center;
	position: relative;
  }
  #g-nav li.entry p{
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 .4rem 0 0;
	line-height: 1.333;
  }
  #g-nav li.entry span{
	position: absolute;
    right: 2rem;
    font-size: 1.6rem;
    color: #00937F;
    background-color: #fff;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
@media screen and (max-width: 767px){

	#g-nav ul.g_nav_pc{
		display: none;
	}
	
}

/*固定追従ボタン*/
.fixed_btn{
	position: fixed;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%;
	visibility:hidden;
	opacity: 0;
	transition: .3s;
	z-index: 9999;
}
.fixed_btn a{
	width: 50%;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 900;
	padding: 1.7rem 0;
	text-align: center;

}
.fixed_btn a:nth-of-type(1){
	background-color: var(--main-color3);
}
.fixed_btn a:nth-of-type(2){
	background-color: #00937F;
}
.fixed_btn.is-hidden{
	visibility:hidden;
	opacity: 0;
}
@media screen and (max-width: 767px){
	.fixed_btn{
		visibility: visible;
		opacity: 1;
	}
}
/* ===================================================================
// TOPページ
// ===================================================================*/
/*共通要素*/
.subttl span.subttl_sub{
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
	display: inline-block;
	padding: 1.1rem 2.85rem;
}
.subttl .subttl_main{
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.24rem;
	line-height: 1.4;

}

.subttl .subttl_main span{
	font-size: 6.5rem;
	position: relative;

}
.subttl .subttl_main span.line{
	white-space: nowrap;
}
.subttl .subttl_main span.line::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    background-color: #fff;
    height: 1.5rem;
    bottom: 0;
	right: 0;
    z-index: 0;
}
.btn_area {
	z-index: 1;
	position: relative;
  }
  .btn {
	display: inline-flex;
	background-color: #fff;
	border: 0.1rem solid #000000;
	width: 100%;
	max-width: 43.2rem;
  }
  
  
.btn p{
	font-size: 1.8rem;
	padding: 2.35rem 0;
	width: calc( 100% - 3.7rem);
	text-align: center;
	margin: 0;
	border-right: 0.1rem solid #000000;
	font-weight: 700;
	line-height: unset;
}
.btn span{
	display: block;
	padding: 2.1rem 0.9rem 2.6rem;
	height: auto;
	align-self: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.back_txt{
    font-weight: 700;
    position: absolute;
    color: transparent;
}
@media screen and (max-width: 767px) {
	.subttl span.subttl_sub {
		font-size: 1.8rem;
		margin-bottom: 1rem;
		padding: 1rem 2rem;
	}
	.subttl .subttl_main {
		font-size: 2.7rem;
	}
	.subttl .subttl_main span {
		font-size: 4rem;
	}
	.subttl .subttl_main span.line::after {
		height: .6rem;
	}	
	.subttl span.subttl_sub {
		margin-bottom: 0rem;
	}
	.btn p {
		padding: 1.35rem 0;
		font-size: 1.6rem;
	}
	.btn span {
		padding: 1.1rem 0.9rem;
		font-size: 1.6rem;
		padding: 1.1rem 0.9rem 1.6rem;
	}
}
/*fv*/
.fv{
	margin-top: 5rem;
    height: 100vh;
	position: relative;
}
.fv .mainimg{
	position: relative;
	height: 100%;
}
.fv .mainimg .fv_img{
	width: 100%;
    height: 100%;
}

.fv .fv_full{
	position: absolute;
    bottom: 3.34rem;
    right: 2.53rem;
	display: flex;
	background-color: #fff;
	border: 0.1rem solid #000000;
}
.fv .fv_full p{
	font-size: 2.6rem;
	padding: 1.8rem 3.8rem;
	color: #fff;
	margin: 0;
	background-color: #00937F;
	border-right: 0.1rem solid #000000;
	font-weight: 700;
}
.fv .fv_full span{
	display: block;
	color: #00937F;
	padding: 2.1rem 0.9rem 2.6rem;
	height: auto;
	align-self: center;
	font-size: 1.8rem;
	font-weight: 700;
}


@media screen and (max-width: 767px) {
	.fv {
		margin-top: 5.745rem;
		height: 40vh;
	}
	.fv .fv_full p {
		font-size: 1.8rem;
		padding: 1.8rem 1.8rem;
	}
}


/*top_about*/
.top_about{
	background-color: var(--main-color);
	padding-top: 9.9rem;
	padding-bottom: 7.84rem;
}
.top_about .top_about_main{
	gap: 2rem;
	justify-content: space-between;
}
.top_about .top_about_main .top_about_img{
	width: 42.7%;
	height: 35.7rem;
	position: relative;
}
.top_about .top_about_main .top_about_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0px 3rem 3rem 0px;
    z-index: 1;
	position: relative;
}
.top_about .top_about_main .top_about_img::after{
    content: "";
    position: absolute;
    display: block;
    width: calc(100% + 1.5rem);
    height: 100%;
    background-color: #fff;
    top: 1.5rem;
    left: 0;
    z-index: 0;
    border-radius: 0px 3rem 3rem 0px;
}
.top_about .top_about_main .top_about_img span.back_txt{
	font-size: 11.5vw;
    bottom: -1em;
    left: -1.4vw;
	-webkit-text-stroke: 0.1rem #FFFFFF;
	letter-spacing: 0.942rem;
}

.top_about .top_about_main .top_about_txt{
	margin-right: var(--wrapper);
    width: 42.4%;
}
.top_about .top_about_main .top_about_txt .subttl span.subttl_sub{
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	background-color: #fff;
}
.top_about .top_about_main .top_about_txt .subttl h2.subttl_main{
	color: #fff;
}

.top_about .top_about_main .top_about_txt p{
	color: #fff;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.75;
}
.top_about_link{
	padding-top: 3rem;
}
.top_about_link ul{
	display: flex;
	flex-wrap: wrap;
    gap: 8rem 1rem;
	justify-content: space-between;
}
.top_about_link ul li{
	width: 27.8%;
	position: relative;

}
.top_about_link ul a::after{
	content: "";
    position: absolute;
    display: block;
    width: calc(100% + 0.8rem);
    height: 100%;
    background-color: #fff;
    top: 0.8rem;
    left: 0;
    z-index: 0;
    border-radius: 1.6rem;
}
.top_about_link ul li img{
	width: 100%;
	object-fit: cover;
	border-radius: 1.6rem;
	position: relative;
	z-index: 1;
}
.top_about_link ul li span{
	font-size: 2rem;
	font-weight: 700;
	padding: 1rem 1.57rem;
	text-align: center;
	position: absolute;
	left: -1.57rem;
	bottom: -2rem;
	z-index: 1;
	background-color: #fff;
}
.top_about_link .btn_area{
	text-align: center;
}
.top_about_link .btn{
	margin: 6.5rem auto 0;
}

@media screen and (max-width: 1020px) {
	.top_about {
		padding-top: 5.9rem;
	}
	.top_about_link ul li {
		width: 45%;
	}
	.top_about .top_about_main .top_about_img {
		width: 80%;
		height: auto;
	}
	.top_about .top_about_main .top_about_txt {
		margin-right: var(--wrapper);
		width: 100%;
		margin-left: var(--wrapper);
        margin-top: 9vw;
	}
	.top_about_link .btn, .top_work_txt .btn, .top_environment_txt .btn, .top_interview .btn{
		width: 100%;
		max-width: 38rem;
	}
	.top_interview .btn_area {
		margin: 0 var(--wrapper);
	}
}

@media screen and (max-width: 767px) {
	.top_about .top_about_main .top_about_txt .subttl h2.subttl_main{
		font-size: 1.9rem;
	}
	.top_about .top_about_main .top_about_txt{
		margin-top: 15vw;
	}

	.top_about .top_about_main .top_about_txt p {
		font-size: 1.6rem;
	}
	.top_about_link ul li {
		width: 80%;
		margin: 0 auto;
	}
	.top_about .top_about_main .top_about_img span.back_txt {
		font-size: 18.5vw;
		bottom: -1.1em;
		
	}
	.top_about_link ul {
		gap: 4rem;
	}


}

/*top_work*/
.top_work{
	background-color: var(--main-color2);
	padding-top: 7.1rem;
	padding-bottom: 6.6rem;
	position: relative;
	gap: 1rem;
}
.top_work .top_work_txt{
	margin-left: var(--wrapper);
	padding-top: 2rem;
    width: 41.4%;
}
.top_work .top_work_txt .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	padding: 1.1rem 3.45rem;
}
.top_work .top_work_txt .subttl .subttl_main span{
	color: var(--main-color3);
}

.top_work .top_work_txt .btn{
	margin-top: 5.3rem;
}
.top_work span.back_txt{
	font-size: 14.64vw;
    bottom: 0;
    left: 0;
	-webkit-text-stroke: 0.1rem var(--main-color3);
	line-height: 0.86;
	letter-spacing: 1.2rem;
}
.top_work ul.top_work_link{
	display: flex;
	flex-direction: column;
	gap: 4.2rem;
    width: 41.2%;

}
.top_work ul.top_work_link li{
	width: 100%;
	position: relative;
}
.top_work ul li a::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 1.2rem;
    right: 0;
    z-index: 0;
	border-radius: 3rem 0px 0px 3rem;
}
.top_work ul li img{
	width: 100%;
	object-fit: cover;
	border-radius: 3rem 0px 0px 3rem;
	position: relative;
	z-index: 1;
}
.top_work ul li .btn, .top_environment ul.top_environment_link li .btn{
	font-weight: 700;
	text-align: left;
	position: absolute;
	left: -2.3rem;
	bottom: -2rem;
	width: 100%;
    max-width: 25rem;
	z-index: 1;
	background-color: #fff;

}
.top_work ul li .btn p,.top_environment ul.top_environment_link li .btn p{
    font-size: 2rem;
    padding: 1.4rem 2.3rem 1.4rem;
    line-height: unset;
    width: calc(100% - 3.7rem);
	text-align: left;
}
.top_work ul li .btn span, .top_environment ul.top_environment_link li .btn span{
	padding: 1.5rem 0.9rem;
}
@media screen and (max-width: 1020px) {
	.top_work .top_work_txt {
		margin-left: var(--wrapper);
		padding-top: 0rem;
		width: 100%;
		margin-right: var(--wrapper);
	}
	.top_work ul.top_work_link {
		display: flex;
		flex-direction: column;
		gap: 4.2rem;
		width: 100%;
		margin: 3rem 0 4rem var(--wrapper);
	}
}
@media screen and (max-width: 767px) {
	.top_work {
		background-color: var(--main-color2);
		padding-top: 5.1rem;
	}	
	.top_work .subttl .subttl_main{
		font-size: 2.2rem;
	}

	.top_work .top_work_txt .btn {
		margin-top: 1rem;
	}
	.top_work span.back_txt {
		font-size: 23.64vw;
	}
	.top_work ul li .btn ,.top_environment ul.top_environment_link li .btn {
		max-width: 20rem;
	}
	.top_work ul li .btn span ,.top_environment ul.top_environment_link li .btn span {
		padding: 1rem 0.9rem;
	}
	.top_work ul li .btn p, .top_environment ul.top_environment_link li .btn p {
		font-size: 1.6rem;
		padding: 1rem 2.3rem 1rem;
		width: calc(100% - 3.7rem);
	}

}
/*top_environment*/
.top_environment{
	background-color: var(--main-color);
	position: relative;
	padding-top: 6.9rem;
	padding-bottom: 8.3rem;
}
.top_environment ul.top_environment_link{
	display: flex;
	flex-direction: column;
	gap: 4.2rem;
    width: 42.2%;
}
.top_environment ul.top_environment_link li{
	width: 100%;
	position: relative;
}
.top_environment ul.top_environment_link li a::after{
	content: "";
    position: absolute;
    display: block;
    width: calc(100% + 1rem);
    height: 100%;
    background-color: #fff;
    top: 1rem;
    left: 0;
    z-index: 0;
	border-radius: 3rem;
}
.top_environment ul.top_environment_link li img{
	width: 100%;
	object-fit: cover;
	border-radius: 3rem;
	position: relative;
	z-index: 1;
}
.top_environment .top_environment_txt{
    width: 54.5%;
}
.top_environment .top_environment_txt .subttl .subttl_sub{
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	background-color: #fff;
}
.top_environment .top_environment_txt .subttl .subttl_main{
	color: #fff;
}
.top_environment .top_environment_txt .top_environment_txt_p{
	margin: 2.25rem 0 2.45rem;
	color: #fff;
}
.top_environment .back_txt{
    font-size: 11.48vw;
	bottom: 0;
    right: -0.7vw;
	-webkit-text-stroke: 0.1rem #fff;
	line-height: 0.86;
	letter-spacing: 0.942rem;
}
@media screen and (max-width: 1020px) {
	.top_environment {
		flex-direction: column-reverse;
	}
	.top_environment .top_environment_txt {
		width: 100%;
	}
	.top_environment ul.top_environment_link {
		width: 100%;
		margin-top: 3rem;
	}
}
@media screen and (max-width: 767px) {
	.top_environment .back_txt {
		font-size: 10.3vw;
		right: 0;
	}
	.top_environment{
		padding-bottom: 5.3rem;
	}
	.top_environment .subttl .subttl_main{
		font-size: 1.9rem;
	}
	.top_environment .subttl .subttl_main span{
		font-size: 2.4rem;
	}
	

}
/*top_interview*/
.top_interview{
	background-color: var(--main-color2);
	padding-top: 9.6rem;
	padding-bottom: 8.6rem;
	position: relative;
	overflow: hidden;
}
.top_interview .top_interview_txt{
	text-align: center;
}
.top_interview .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}
.top_interview .subttl .subttl_main span{
	color: var(--main-color3);
}
.top_interview .slider .slick-track li{
	position: relative;
    margin: 0 4.7rem;
    left: -8.8%;
}
.top_interview .slider li img{
	position: relative;
	border-radius: 3.2rem;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top_interview .slider li a{
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}
.top_interview .slider li a::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 0;
	border-radius: 3.2rem;
}
.top_interview .slider li span{
	position: absolute;
	color: #00937F;
	font-size: 8rem;
	top: -0.55em;
	right: -1.5rem;
	z-index: 2;
}
.top_interview .slider li .name{
	position: absolute;
	background-color: var(--main-color3);
	z-index: 1;
	bottom: 1.5rem;
	left: -3.6rem;
	padding: 0.5rem 1.8rem;
}
.top_interview .slider li .name p, .top_interview .slider li .name h3{
	color: #fff;
	margin: 0;
}
.top_interview .slider li .name p{
	font-size: 1.8rem;
	border-bottom: 0.1rem solid #fff;
}
.top_interview .slider  li .name h3{
	font-size: 3.7rem;
}
.top_interview .slick-slider{
	margin-bottom: 0;
	z-index: 1;
	position: relative;
}
.top_interview .slick-slider .slick-track{
	padding-bottom: 5.45rem;
	padding-top: 5.65rem;
}
.top_interview .btn_area{
	text-align: center;
	padding-top: 3rem;
}
.slide-dots{
	text-align: center;
}
.slide-dots li {
	display: inline-block;
	margin: 0 .75rem;
    width: 4.1rem;
  }
  .slide-dots li button {
	position: relative;
	text-indent: -9999px;
  }
  .slide-dots li button::before {
	content: "";
    cursor: pointer;
    height: 0.5rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 4.1rem;
    background-color: #FFB79A;
  }
  .slide-dots li.slick-active button::before {
	background-color: var(--main-color3);
	
  }
  button {
	background: none;
	border: none;
	outline: none;
	padding: 0 0.7rem;
  }
  .top_interview .back_txt{
	transform: rotate(270deg);
    right: -38.5%;
    bottom: 42%;
    -webkit-text-stroke: 0.1rem var(--main-color3);
    font-size: 14.6vw;
    letter-spacing: 1.2rem;
    z-index: 0;
  }
  @media screen and (max-width: 1020px) {
	.top_interview .slider li .name p {
		font-size: 1.4rem;
	}
	.top_interview .slider li .name h3 {
		font-size: 2.7rem;
	}

  }
  @media screen and (max-width: 767px) {
	.top_interview {
		padding-top: 4.6rem;
		padding-bottom: 5.6rem;
	}
	.top_interview .subttl .subttl_main {
        font-size: 2.2rem;
    }
	.top_interview .subttl .subttl_main span {
        font-size: 2.7rem;
    }
	.top_interview .back_txt {
		right: -47.5%;
		bottom: 67%;
		font-size: 14.6vw;
	}
	.top_interview .slider .slick-track li {
		position: relative;
		margin: 0 4rem;
		left: 0%;
	}

	.slide-dots li {
		display: inline-block;
		margin: 0 1rem;
		width: 3rem;
	}
	.slide-dots li button::before {
		width: 3rem;
	}
	.slick-list {
		height: fit-content !important;
	}
	
}
  /*top_recruit*/
  .top_recruit{
	background-color: var(--main-color);
	padding-top: 8.1rem;
	padding-bottom: 31.7vw;
	position: relative;
  }
  .top_recruit .top_recruit_txt{
	text-align: center;
	padding-bottom: 8.16rem;
  }
  .top_recruit .top_recruit_txt .subttl .subttl_main{
	color: #fff;
  }
  .top_recruit .top_recruit_txt .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
  }
  .top_recruit .top_recruit_txt p{
	color: #fff;
  }
  .top_recruit .top_recruit_btn{
	display: flex;
	justify-content: center;
	gap: 8rem;
	z-index: 2;
	position: relative;
  }
  .top_recruit .top_recruit_btn .btn div{
	padding: 2.25rem 1rem 2.85rem 3.6rem;
	border-right: 0.1rem solid #000;
	width: 33.9rem;
  }
  .top_recruit .top_recruit_btn .btn h4{
	color: #009FE8;
	font-size: 5.1rem;
  }
  .top_recruit .top_recruit_btn .btn p{
	padding: 0;
	border: none;
	text-align: left;
  }
  .top_recruit .top_recruit_btn .btn span{
	font-size: 3.2rem;
	padding: 0 1.2rem;
  }
  .top_recruit img{
	width: 100%;
	object-fit: cover;
	border-radius: 10rem 10rem 0px 0px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
  }
  .top_recruit .back_txt{
	font-size: 11.5vw;
    -webkit-text-stroke: 0.1rem #fff;
    position: absolute;
    bottom: 36vw;
    right: 50%;
    transform: translateX(50%);
	letter-spacing: 0.9rem;
  }
  @media screen and (max-width: 1020px) {
	.top_recruit .top_recruit_txt {
		padding-bottom: 6.16rem;
	}
	.top_recruit .top_recruit_btn {
		flex-wrap: wrap;
		gap: 4rem;
		align-items: center;
	}
  }
  @media screen and (max-width: 767px) {
	.top_recruit {
		padding-top: 7.1rem;
		padding-bottom: 22rem;
	}
	.top_recruit .subttl .subttl_main span {
        font-size: 2.7rem;
    }
	.top_recruit .top_recruit_txt {
		padding-bottom: 6.16rem;
	}
	.top_recruit .top_recruit_btn {
		flex-direction: column;
	}
	.top_recruit .top_recruit_btn .btn div {
		padding: 1.25rem 1rem 1.85rem 2.6rem;
		border-right: 0.1rem solid #000;
		width: 29rem;
	}
	.top_recruit .top_recruit_btn .btn h4 {
		font-size: 4rem;
	}
	.top_recruit .top_recruit_btn .btn span {
		font-size: 2.2rem;
	}
	.top_recruit img {
		width: 100%;
		object-fit: cover;
		border-radius: 3rem 3rem 0px 0px;
	}
	.top_recruit .back_txt {
		font-size: 9.5vw;
	}	
  }
  /*common_entry*/
  .common_entry {
	position: relative;
    padding-top: 5.97rem;
    padding-bottom: 7.55rem;
    text-align: center;
    height: 100%;
  }
  .common_entry img{
	width: 100%;
	height: 100%;
	position: absolute;
	object-fit: cover;
	z-index: -1;
	top: 0;
	left: 0;
  }
  .common_entry::after{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(239, 128, 1, .81);
	z-index: -1;
  }
  .common_entry .common_entry_txt {
	margin-bottom: 3.18rem;
  }
  .common_entry .common_entry_txt h2{
	color: #fff;
	font-size: 11.2rem;
  }
  .common_entry .common_entry_txt p{
	color: #fff;
  }
  @media screen and (max-width: 767px) {
	.common_entry {
		height: initial;
		padding-top: 2.97rem;
		padding-bottom: 2.97rem;
	}
	.common_entry .common_entry_txt h2 {
		font-size: 5rem;
	}
	.common_entry img {
		height: 100%;
		object-fit: cover;
	}
  }
/* ===================================================================
//　固定ページ
// ===================================================================*/
/*-----------------共通要素-------------------*/
.mainttl{
	background-color: var(--main-color);
	display: flex;
	margin-top: 9.1rem;
	justify-content: space-between;
	align-items: center;
	height: 11.4rem;
	overflow: hidden;
}

.mainttl h1{
	font-size: 5.3rem;
	letter-spacing: 0.318rem;
	color: #fff;
	margin-left: var(--wrapper);
}
.mainttl h2{
	font-size: 15.7rem;
	letter-spacing: 0.942rem;
	-webkit-text-stroke: 0.1rem #fff;
	color: transparent;
	margin-top: -2rem;
	position: absolute;
    right: -1.4rem;
}

@media screen and (max-width: 767px) {
	.mainttl {
        margin-bottom: 0;
        margin-top: 5.745rem;
        height: 6rem;
	}
.mainttl h2 {
        font-size: 4rem;
        letter-spacing: 0.5rem;
        margin-top: 0;
        position: absolute;
        right: -0.5rem;
    }
	.mainttl h1 {
		font-size: 3rem;
		letter-spacing: 0.318rem;
		color: #fff;
		margin-left: 2rem;
	}
}
/*-----------------about_page-------------------*/
.about_page .breadcrumbs{
	background-color: var(--main-color2);
}
/*about_video*/
.about_video{
	background-color: var(--main-color2);
	width: 100%;
	padding: 5% 10%;
}
.about_video video{
	background-color: var(--main-color2);
	width: 60%;
	margin: auto 20%;
}
@media screen and (max-width: 767px) {
.about_video video{
	background-color: var(--main-color2);
	width: 100%;
	margin: auto 0%;
}
}
/*about_greeting*/
.about_greeting{
	background-color: var(--main-color2);
	padding-bottom: 17.2rem;
	position: relative;
	padding-top: 3.7rem;
}
.about_greeting_img{
	width: 38.6%;
	position: relative;
}
.about_greeting_img img{
	width: 100%;
	height: 93%;
	object-fit: cover;
	border-radius: 0px 3rem 3rem 0px;
	z-index: 1;
	position: relative;
	object-position: 10% 50%;
}
.about_greeting_img::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 93%;
    background-color: #fff;
    top: 1rem;
    left: 0;
    z-index: 0;
    border-radius: 0px 3rem 3rem 0px;
}
.about_greeting .about_greeting_txt{
    width: 46.2%;
	margin-right: var(--wrapper);
}
.about_greeting .about_greeting_txt .subttl_sub{
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	background-color: #fff;
}
.about_greeting .about_greeting_txt .subttl_main span{
	color: var(--main-color3);
}
.about_greeting .about_greeting_txt .name{
	font-size: 1.6rem;
	font-weight: 700;
	display: block;
	text-align: right;
}
.about_greeting .about_greeting_txt .subttl h2.subttl_main span{
	font-size: 4.5rem;
}
.about_greeting .back_txt{
    font-size: 14.6vw;
    -webkit-text-stroke: 0.1rem var(--main-color3);
    bottom: -1vw;
    left: -2.5vw;
}
@media screen and (max-width: 1020px) {
	.about_greeting_img {
		width: 90%;
	}
	.about_greeting .about_greeting_txt {
		width: 100%;
		margin-right: var(--wrapper);
		margin-left: var(--wrapper);
	}
}
@media screen and (max-width: 767px) {
	.about_greeting {
		padding-bottom: 13rem;
	}
	.about_greeting .back_txt {
		font-size: 19.3vw;
		left: -0.5vw;
	}
.about_greeting .about_greeting_txt .subttl h2.subttl_main span{
	font-size: 2.5rem;
}

}
/*about_numbers*/
.about_numbers{
	background-color: var(--main-color);
	padding-top: 6.4rem;
	padding-bottom: 7.2rem;
	position: relative;
}
.about_numbers .subttl{
	text-align: center;
	margin-bottom: 4rem;
}
.about_numbers .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}
.about_numbers .subttl .subttl_main{
	color: #fff;
}
.about_numbers ul{
	display: flex;
	flex-wrap: wrap;
	gap: 6rem 5.5%;
	justify-content: space-between;
}
.about_numbers ul li{
	background-color: #fff;
	width: 20.6%;
	border-radius: 1.9rem;
	z-index: 1;
}
.about_numbers ul li button{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.4rem 0 0 0;
	justify-content: space-between;
}
.about_numbers ul li button p{
	font-size: 2rem;
	font-weight: 700;
	margin: 0;
}
.about_numbers ul li button h3{
	font-size: 2.5rem;
	color: var(--main-color3);
	margin-bottom: 1rem;
}
.about_numbers ul li button h3 span{
	font-size: 5.5rem;
	font-style: italic;
	font-family: "josefin-sans", sans-serif;
	line-height: 0.5;
}
.about_numbers ul li span.detail{
	background-color: #D0D0D0;
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 700;
	border-radius: 0px 0px 1.9rem 1.9rem;
	line-height: 1.625;
	padding: 0.4rem 0;
}
.about_numbers .back_txt{
    font-size: 11.5vw;
    -webkit-text-stroke: 0.1rem #fff;
    bottom: -0.8vw;
    right: -1vw;
}
#modal-overlay{
	display: none;
	background: rgba(0, 0, 0, .58); 
	width: 100%;
	height: 100%;
	position: fixed; 
	top: 0;
	left: 0;
	z-index: 997;
  }

.modal-style{
	display: none;
	position: fixed;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 998;
  }
.popup{
	background: #fff;
	width: 70.2%;
	border-radius: 1.9rem;
	padding: 3.7rem 5.5rem 3rem ;
  }
.popup .popup_top{
	display: flex;
	align-items: center;
	margin-bottom: 2.7rem;
  }
.popup .popup_top p{
	font-size: 4rem;
	font-weight: 700;
    margin: 0 5rem 0 1rem;
  }
.popup .popup_top img{
	height: 7.4rem;
  }
.popup .popup_top h3{
	font-size: 4.9rem;
	color: var(--main-color3);
}
.popup .popup_top h3 span{
	font-size: 10rem;
	font-style: italic;
	font-family: "josefin-sans", sans-serif;
	margin-right: 1.9rem;
	line-height: 0.5;
}
.popup .popup_detail{
	width: 63.1rem;
	margin: 0 auto;
	text-align: center;
	max-width: 100%;
}
.popup .popup_detail img{
	width: 100%;
	object-fit: cover;
	border-radius: 1.6rem;
}
.popup .popup_detail p{
	margin: 2.7rem 0 0;
}
.popup .mordal-close-buttons{
	position: absolute;
	top: 0;
	right: 0;
	font-size: 3.6rem;
	width: 6.9rem;
	height: 6.9rem;
	background-color: #393939;
	border-radius: 0px 1.9rem 0px 0px;
	color: #fff;
}
@media screen and (max-width: 1100px) {
	.about_numbers ul li {
		width: 28%;
	}
	.about_numbers ul::after{
		content: "";
		display: block;
		width: 28%;
	}
}
@media screen and (max-width: 900px) {
	.about_numbers ul li {
		width: 45%;
	}
	.about_numbers ul::after{
		content: "";
		display: block;
		width: 45%;
	}
}
@media screen and (max-width: 767px) {
	.about_numbers {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.about_numbers .subttl {
		margin-bottom: 3rem;
	}
	.about_numbers ul {
		gap: 3rem 1.5%;
	}
	.about_numbers ul li {
        width: 46%;
		border-radius: 1.5rem;
	}
	.about_numbers ul li button {
		padding: 1rem 0 0 0;
	}
	.about_numbers ul li button img{
		height: 7rem;
	}
	.about_numbers ul li button p {
		font-size: 1.8rem;
	}
	.about_numbers ul li button h3 {
		font-size: 1.6rem;
        margin-bottom: .5rem;
		margin-top: .3rem;
	}
	.about_numbers ul li button h3 span {
		font-size: 3rem;
	}
	.about_numbers ul li span.detail {
		font-size: 1.4rem;
		border-radius: 0px 0px 1.5rem 1.5rem;
	}
	.about_numbers .back_txt {
		font-size: 20vw;
		bottom: -1.3vw;
	}
	.popup {
		background: #fff;
		width: 80%;
		border-radius: 1.5rem;
		padding: 3.7rem 2.5rem 3rem;
	}
	.popup .popup_top {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		justify-content: center;
		gap: 1rem 0;
		margin-bottom: 1.5rem;
	}
	.popup .popup_top img {
		height: 3em;
	}
	.popup .popup_top p {
		font-size: 2.8rem;
		margin: 0 0 0 .5rem;
	}
	.popup .popup_top h3 {
		font-size: 2.9rem;
		color: var(--main-color3);
	}
	.popup .popup_top h3 span {
		font-size: 5rem;
		margin-right: 1rem;
	}
	.popup .mordal-close-buttons {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 2.5rem;
        width: 4.5rem;
        height: 4.5rem;
        background-color: #393939;
        border-radius: 0px 1.5rem 0px 0px;
        color: #fff;
    }
	.popup .popup_detail p {
		margin: 1.5rem 0 0;
	}

}

/*about_mission*/
.about_mission{
	background-color: var(--main-color2);
	padding-top: 8.2rem;
	padding-bottom: 12.2rem;
	position: relative;
}
.about_mission .about_mission_txt{
	text-align: center;
}
.about_mission .about_mission_txt .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}

.about_mission .about_mission_txt .subttl_main span{
	color: var(--main-color3);
	display: inline-block;
	margin-top: 1rem;
}
.about_mission .about_mission_txt .subttl_main span.line::after {
    background-color: var(--main-color3);
}
.about_mission .about_mission_txt p{
	width: 63.1rem;
    margin: 2rem auto 3.9rem;
	max-width: 100%;
}
.about_mission .about_mission_txt h3{
	font-size: 2.9rem;
	font-weight: 700;
	line-height: 1.517;
}
.about_mission ul{
	display: flex;
	flex-wrap: wrap;
	gap: 8.9rem 1rem;
	margin-top: 7.8rem;
	justify-content: space-between;
}
.about_mission ul li{
    width: 38.6%;
	position: relative;
	background-color: #fff;
	border-radius: 2.5rem;
	padding: 2.65rem 1rem 1.6rem 15.4rem;
	margin-left: 10.8rem;
	z-index: 1;
}
.about_mission ul li span{
	position: absolute;
	top: -3.9rem;
	left: 15.4rem;
	background-color: var(--main-color3);
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	padding: 0.95rem 2.7rem;
}
.about_mission ul li img{
	position: absolute;
	left: -10rem;
	top: -3.9rem;
	width: 23.3rem;
	height: 21.7rem;
	border-radius: 1.5rem;
}
.about_mission ul li h4{
	color: #00937F;
	font-size: 2rem;
	margin-bottom: 1.15rem;
}
.about_mission ul li p{
	padding-right: 4.3rem;
}
.about_mission .back_txt{
	font-size: 14.64vw;
	letter-spacing: 1.2rem;
    -webkit-text-stroke: 0.1rem var(--main-color3);
    transform: rotate(90deg);
	right: -30.7vw;
    top: 26.4vw;
}
@media screen and (max-width: 1275px) {
	.about_mission ul li{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.about_mission {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
	.about_mission .back_txt {
		font-size: 14.64vw;
		right: -37.7vw;
		top: 34.4vw;
	}
	.about_mission .about_mission_txt .subttl_main span {
		margin-top: 0rem;
	}
	.about_mission .about_mission_txt p {
		margin: 2rem auto 1rem;
	}
	.about_mission .about_mission_txt h3 {
		font-size: 2.4rem;
	}
	.about_mission ul li {
		width: 100%;
		padding: 4.65rem 1rem 1.6rem 2.4rem;
		margin-left: 0;
	}
	.about_mission ul li img {
		position: absolute;
		left: -3rem;
		top: -6rem;
		width: 14.3rem;
		height: 10rem;
		border-radius: 1.5rem;
		object-fit: cover;
	}
	.about_mission ul li span {
		position: absolute;
		top: -2.5rem;
		left: initial;
		right: 0;
		font-size: 2rem;
		padding: 0.95rem 1.5rem;
	}
}
/*about_vision*/
.about_vision{
	background-color: var(--main-color);
	padding-top: 6.5rem;
	padding-bottom: 16.2rem;
	position: relative;
	gap: 1rem;
}
.about_vision .about_vision_txt{
	width: 46.2%;
	margin-left: var(--wrapper);
}
.about_vision .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	margin-bottom: 0;
}
.about_vision .subttl .subttl_main{
	color: #fff;
}
.about_vision .subttl .subttl_main span:nth-of-type(1){
	display: inline-block;
    margin-top: 1rem;
}
.about_vision .about_vision_txt p{
	color: #fff;
}
.about_vision_img{
	width: 38.6%;
	position: relative;
}
.about_vision_img img{
	width: 100%;
	height: 93%;
	object-fit: cover;
	border-radius: 3rem 0 0 3rem;
	z-index: 1;
	position: relative;
}
.about_vision_img::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 93%;
    background-color: #fff;
    top: 1rem;
    left: 0;
    z-index: 0;
	border-radius: 3rem 0 0 3rem;
}
.about_vision .back_txt{
	font-size: 11.5vw;
    letter-spacing: 0.942rem;
    -webkit-text-stroke: 0.1rem #fff;
    left: 0;
    bottom: -0.8vw;
}
@media screen and (max-width: 1020px) {
	.about_vision {
		flex-direction: row-reverse;
	}
	.about_vision .about_vision_txt {
		width: 100%;
		margin-left: var(--wrapper);
		margin-right: var(--wrapper);
	}
	.about_vision_img {
		width: 90%;
	}
}
@media screen and (max-width: 767px) {
	.about_vision {
		padding-top: 6.5rem;
		padding-bottom: 6.5rem;
	}
	.about_vision .subttl .subttl_main span:nth-of-type(1) {
		margin-top: 0rem;
	}
	.about_vision .back_txt {
		font-size: 16.5vw;
		letter-spacing: 0.942rem;
		left: 0;
		bottom: -0.8vw;
	}
	
}
/*about_value*/
.about_value{
	background-color: var(--main-color2);
	padding-top: 12.1rem;
	padding-bottom: 10.7rem;
	position: relative;
}
.about_value .flex_wrap{
	gap: 1rem;
}
.about_value_img{
	width: 38.6%;
	position: relative;
}
.about_value_img img{
	width: 100%;
	height: 93%;
	object-fit: cover;
	border-radius: 0 3rem 3rem 0;
	z-index: 1;
	position: relative;
}
.about_value_img::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 93%;
    background-color: #fff;
    top: 1rem;
    left: 0;
    z-index: 0;
	border-radius: 0 3rem 3rem 0;
}
.about_value .subttl{
	width: 47%;
	margin-right: var(--wrapper);
}
.about_value .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
} 
.about_value .subttl .subttl_main span{
	color: var(--main-color3);
	font-size: 5rem;
	letter-spacing: 0.3rem;
	line-height: 1.5;
}
.about_value .subttl .subttl_main span.line::after{
	background-color: var(--main-color3);
	bottom: -0.3rem;
}
.about_value .about_value_list{
	margin-top: 6.7rem;

}
.about_value .about_value_list ul{
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.about_value .about_value_list ul li{
	background-color: #fff;
	position: relative;
	border-radius: 1.5rem;
	width: 100%;
	padding: 2rem 3rem 0.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	text-align: left;
	margin-bottom: 3rem;
}
.about_value .about_value_list ul li p{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: 0rem;
	text-align: left;
	width: 100%;
}
.about_value .about_value_list ul li span{
	font-size: 2.2rem;
	background-color: #EF8001;
	color: #fff;
	padding: 0.75rem 3rem;
	text-align: left;
	width: auto;
	display: inline-block;
	position: absolute;
	left: 0%;
}
.about_value .about_value_list ul:nth-of-type(1) li span{
	bottom: 75%;
}
.about_value .about_value_list ul li:nth-of-type(2) span{
	bottom: 80%;
}
.about_value .about_value_list ul:nth-last-of-type(1) li span{
}
.about_value .about_value_list ul:nth-of-type(1) li span{
	background-color: #EF8001;
}
.about_value .about_value_list ul:nth-last-of-type(1) li span{
	background-color: #EF8001;
}
.about_value .about_value_list ul:nth-last-of-type(1) li p{
	font-size: 1.6rem;
}
.about_value .about_value_list .value_slogan{
	text-align: center;
	margin: 4.7rem auto;
}
.about_value .about_value_list .value_slogan h3{
	font-size: 6.5rem;
	font-weight: 700;
	color: var(--main-color3);
	letter-spacing: 0.39rem;
	position: relative;
	display: inline-block;
}
.about_value .about_value_list .value_slogan h3::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    background-color: var(--main-color3);
    height: 1.5rem;
    bottom: -0.4rem;
	right: 0;
    z-index: 0;
}
.about_value .about_value_list .value_slogan p{
	font-size: 2.9rem;
	font-weight: 700;
	letter-spacing: 0.174rem;
	margin-top: 2.6rem;
	line-height: 1.5;
}
.about_value .back_txt{
    bottom: -1vw;
    left: 0%;
    font-size: 14.64vw;
    -webkit-text-stroke: 0.1rem var(--main-color3);
}
@media screen and (max-width: 1020px) {
	.about_value_img {
		width: 90%;
	}
	.about_value .subttl {
		width: 100%;
		margin-right: var(--wrapper);
		margin-left: var(--wrapper);
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.about_value {
		padding-top: 7rem;
		padding-bottom: 8rem;
	}
	.about_value .subttl .subttl_main{
		text-align: center;
		font-size: 2rem;
	}
	.about_value .subttl .subttl_main span {
		font-size: 2.6rem;
	}
	
	.about_value .subttl .subttl_main span.line::after {
		height: 0.8rem;
	}
	.about_value .about_value_list {
		margin-top: 6rem;
	}	
	.about_value .about_value_list ul {
		gap: 4rem;
		flex-direction: column;
	}
	.about_value .about_value_list ul li {
		width: 100%;
        padding: 2rem 1rem 1rem;
		margin-bottom: 1rem;
	}
	.about_value .about_value_list ul li:nth-of-type(2) span {
		bottom: 70%;
		margin-top: -1rem;
		margin-bottom:1rem;
	}
	    .about_value .about_value_list ul li:nth-of-type(2) {
			padding-top: 3rem;
	}
	.about_value .about_value_list ul li p {
		font-size: 1.8rem;
		letter-spacing: 0rem;
	}
	.about_value .about_value_list ul li span {
		top: -1em;
		font-size: 1.8rem;
	}
	.about_value .about_value_list .value_slogan {
        margin: 4rem var(--wrapper) 4rem;
    }
	.about_value .about_value_list .value_slogan h3 {
		font-size: 3.4rem;
        letter-spacing: .15rem;
	}
	.about_value .about_value_list .value_slogan h3::after {
		height: .6rem;
	}
	.about_value .about_value_list .value_slogan p {
		margin-top: 1rem;
	}
	.about_value .about_value_list ul:nth-last-of-type(1) li span {
		top: -1em;
	}
	
.about_value .back_txt{
    font-size: 8rem;
	}
}
/*about_history*/
.about_history{
	background-color: var(--main-color);
	padding-top: 9.6rem;
	padding-bottom: 17.9rem;
	position: relative;
}
.about_history .subttl{
	text-align: center;
}
.about_history .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}
.about_history .subttl_main{
	color: #fff;
}
.about_history .history_timeline{
	padding-bottom: 2.7rem;
	position: relative;
}
.about_history .timeline_flex{
	margin: 4.7rem 0 4.4rem;
	display: flex;
	gap: 10.7%;
	align-items: center;
	position: relative;
	z-index: 1;

}
.about_history .timeline_flex::after{
	position: absolute;
	content: "";
	right: 50%;
	bottom: 50%;
	transform: translate(50%, 50%);
	background-color: #fff;
	width: 4.905vw;
	height: 4.905vw;
	border-radius: 6.7rem;
}
.about_history .timeline_flex::before{
	position: absolute;
	content: "";
	right: 50%;
	top: 50%;
	transform: translateX(50%);
	background-color: #fff;
	width: 1rem;
    height: 150%;
}
.about_history .timeline_flex:nth-last-of-type(1){
	margin-bottom: 0;
}
.about_history .timeline_flex:nth-last-of-type(1)::before{
    display: none;
}
.about_history .history_timeline::before{
	position: absolute;
	content: "";
	right: 50%;
	bottom: 0;
	transform: translateX(50%);
	width: 1rem;
    height: 30%;
	background-color: #fff;
}
.about_history::after{
    width: 1rem;
    position: absolute;
    content: "";
    right: 50%;
    bottom: 5.1rem;
    height: 11.5rem;
    transform: translateX(50%);
    background-image: linear-gradient(to bottom, #fff 1rem, transparent 1rem);
    background-size: 1rem 1.75rem;
    background-repeat: repeat-y;
    background-position: right top;
}
.about_history .timeline_flex:nth-of-type(even){
	flex-direction: row-reverse;
}
.about_history .timeline_flex img{
    width: 44.973%;
	border-radius: 2.5rem;
	object-fit: cover;
	z-index: 1;
	position: relative;
}
.about_history .timeline_flex .timeline_txt{
    width: 44.973%;
	background-color: #fff;
	border-radius: 2.5rem;
	padding: 2rem 3.2rem 1.5rem 1.5rem;
	position: relative;
}
.about_history .timeline_flex:nth-of-type(odd) .timeline_txt::before{
	position: absolute;
	content: "";
	left: -5.8rem;
	bottom: 50%;
	transform: translateY(50%);
	background-color: #fff;
	height: 1rem;
	width: 5.8rem;
}
.about_history .timeline_flex:nth-of-type(even) .timeline_txt::before{
	position: absolute;
	content: "";
	right: -5.8rem;
	bottom: 50%;
	transform: translateY(50%);
	background-color: #fff;
	height: 1rem;
	width: 5.8rem;
}
.about_history .timeline_flex .timeline_txt span{
	font-size: 3rem;
	color: var(--main-color3);
	display: inline-block;
	letter-spacing: 0.18rem;
	margin-bottom: 0.5rem;
	line-height: 1.167;
}
.about_history .timeline_flex .timeline_txt h3{
	font-size: 2rem;
	letter-spacing: 0.12rem;
	padding-bottom: 1rem;
	border-bottom: 0.1rem solid var(--main-color3);
	line-height: 1.5;
}
.about_history .timeline_flex:nth-last-of-type(-n + 2) .timeline_txt h3{
	border-bottom: none;
}
.about_history .timeline_flex .timeline_txt p{
	margin: 0.8rem 0 0;
	line-height: 1.563;
}
.about_history .back_txt{
	font-size: 11.5vw;
    letter-spacing: 0.942rem;
    -webkit-text-stroke: 0.1rem #fff;
    transform: rotate(90deg);
    right: -51.2vw;
    top: 48.1vw;
}
@media screen and (max-width: 767px) {
	.about_history .timeline_flex {
		margin: 3.7rem 0 6.4rem;
		flex-direction: column;
		align-items: flex-end;
	}
	.about_history .history_timeline::before {
		position: absolute;
		content: "";
		right: 50%;
		bottom: 0;
		transform: translateX(50%);
		width: 0.5rem;
		height: 30%;
		background-color: #fff;
	}
	.about_history .timeline_flex::before {
		position: absolute;
		content: "";
		right: 50%;
		top: 50%;
		transform: translateX(50%);
		background-color: #fff;
		width: 0.5rem;
		height: 150%;
	}
	.about_history .timeline_flex img {
		width: 100%;
		border-radius: 1.5rem 1.5rem 0 0;
		opacity: 1;
		transform: initial;
	}
	.about_history .timeline_flex .timeline_txt {
		width: 100%;
		background-color: #fff;
		border-radius: 0 0 1.5rem 1.5rem;
		padding: 2rem 1.5rem 1.5rem;
		position: relative;
	}
	.about_history .timeline_flex .timeline_txt span {
		font-size: 2.5rem;
	}
	.about_history .timeline_flex::after {
		position: absolute;
		content: "";
		right: 50%;
		bottom: -8%;
		transform: translate(50%, 50%);
		background-color: #fff;
		width: 2rem;
		height: 2rem;
		border-radius: 6.7rem;
	}
    .about_history::after {
        width: 0.5rem;
        bottom: 9.1rem;
        height: 8rem;
        background-image: linear-gradient(to bottom, #fff .5rem, transparent .5rem);
        background-size: 1rem 1.5rem;
    }
	.about_history .timeline_flex:nth-of-type(even) {
		flex-direction: column;
		align-items: flex-start;
	}
	.about_history .timeline_flex:nth-of-type(odd) .timeline_txt::before {
		display: none;
	}
	.about_history .timeline_flex:nth-of-type(even) .timeline_txt::before {
		display: none;
	}
	.about_history .back_txt {
		right: -61.2vw;
		top: 60.1vw;
	}
	.about_history .timeline_flex:nth-last-of-type(1):after {
		display: none;
	}

}
/*about_company*/
.about_company{
	background-color: var(--main-color2);
	padding-top: 11.5rem;
	padding-bottom: 9.2rem;
}
.about_company .subttl{
	text-align: center;
}
.about_company .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	padding: 1.15rem 11.55rem;
}
.about_company .subttl .subttl_main span{
	color: var(--main-color3);
}
.about_company dl{
	margin-top: 6rem;
	margin-bottom: 4.9rem;
	border-top: 0.1rem solid var(--main-color);
	border-right: 0.1rem solid var(--main-color);

}
.about_company dl .dl_flex{
	display: flex;

}
.about_company dl .dl_flex dt{
	width: 26.8%;
	padding: 2.92rem 2.56rem;
	font-size: 1.7rem;
	font-weight: 700;
	border-bottom: 0.1rem solid #fff;
	background-color: var(--main-color);
	color: #fff;
}
.about_company dl .dl_flex dd{
	width: 73.1%;
	padding: 2.92rem 2.56rem;
	font-size: 1.7rem;
	font-weight: 700;
	border-bottom: 0.1rem solid var(--main-color);
}
.about_company dl .dl_flex:nth-last-of-type(1) dt{
	border-bottom: 0.1rem solid var(--main-color);
}
.about_company iframe{
	width: 100%;
    height: 42.7rem;
}
@media screen and (max-width: 767px) {
	.about_company {
		background-color: var(--main-color2);
		padding-top: 5.5rem;
		padding-bottom: 6.2rem;
	}	
	.about_company .subttl .subttl_sub {
		padding: 1.15rem 6.55rem;
	}
	.about_company dl {
		margin-top: 4rem;
		margin-bottom: 4.9rem;
		border: .1rem solid var(--main-color);
	}
	.about_company dl .dl_flex{
		flex-direction: column;
	}
	.about_company dl .dl_flex dt {
		width: 100%;
		padding: 1rem 2rem;
		font-size: 1.6rem;
	}
	.about_company dl .dl_flex dd {
		width: 100%;
		padding: 1rem 2rem;
		font-size: 1.6rem;
		border: none;
	}
	.about_company iframe {
		width: 100%;
		height: 23rem;
	}
}
/*about_branch*/
.about_branch{
	background-color: var(--main-color);
	padding-top: 7.6rem;
	padding-bottom: 8.2rem;
}
.about_branch .subttl{
	text-align: center;
}
.about_branch .subttl .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	padding: 1.15rem 12.45rem;
}
.about_branch .subttl .subttl_main{
	color: #fff;
}
.about_branch ul{
	display: flex;
	justify-content: space-between;
	padding-top: 9.1rem;
}
.about_branch ul li{
    width: 30.7%;
	background-color: #fff;
	position: relative;
	border-radius: 2rem;
}
.about_branch ul li a{
	width: 100%;
	height: 100%;
	display: block;
	padding-bottom: 3.1rem;
	position: relative;
}
.about_branch ul li h3{
	position: absolute;
	font-size: 3rem;
	letter-spacing: 0.18rem;
	right: 50%;
	transform: translateX(50%);
	top: -1.5em;
	color: #fff;
	width: max-content;
}
.about_branch ul li img{
	width: 100%;
	border-radius: 2rem 2rem 0 0;
}
.about_branch ul li p{
	padding: 1.3rem 1rem 0.9rem;
	margin: 0;
}
.about_branch ul li span{
	border-radius: 0 0 2rem 2rem;
	background-color: #D0D0D0;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	display: block;
	line-height: 1.625;
	position: absolute;
	bottom: 0;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.about_branch .subttl .subttl_sub {
		padding: 1.15rem 6.55rem;
	}
	.about_branch ul {
		flex-wrap: wrap;
		gap: 7rem;
		padding-top: 8.1rem;
	}
	.about_branch ul li {
		width: 100%;
	}

}
/*-----------------person_page-------------------*/
.person_page .breadcrumbs{
	background-color: var(--main-color2);
}
.person_page .person_top{
	padding-top: 4.6rem;
	padding-bottom: 8.8rem;
	background-color: var(--main-color2);
	text-align: center;
}
.person_page .person_top h2{
	font-size: 6.5rem;
	color: var(--main-color3);
	letter-spacing: 0.39rem;
	margin-bottom: 3rem;
}
.person_page .person_top p{
	width: 63.1rem;
	margin: 0 auto;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.person_page .person_top h2 {
		font-size: 4rem;
		letter-spacing: 0;
		margin-bottom: 2rem;
	}	
	.person_page .mainttl h2 {
        font-size: 3rem;
        letter-spacing: 0.1rem;
	}
}
/*person_accordion*/
.person_accordion .person_accordion_block{
	padding-top: 6.2rem;
	padding-bottom: 6.2rem;
}
.person_accordion .person_accordion_block:nth-of-type(odd){
	background-color: var(--main-color);
}
.person_accordion .person_accordion_block:nth-of-type(even){
	background-color: var(--main-color2);
}
.person_accordion .person_accordion_block:nth-last-of-type(1){
	padding-bottom: 11.4rem;
}
.person_accordion  .accordion-header{
	background-color: #fff;
	display: flex;
	border: 1px solid #000000;
	padding-left: 3.1rem;
}
.person_accordion  .accordion-header img{
	width: 37.5%;
	border-radius: 2rem;
	margin: 4.5rem 0 4.4rem 0;
	object-fit: cover;
}
.person_accordion .accordion-header div{
	border-right: 0.1rem solid #000;
	padding: 4.5rem 3.5rem 4.4rem 4.5rem;
}
.person_page .person_accordion .accordion-header h3{
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1.25;
}
.person_accordion .accordion-header span.post{
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
}
.person_accordion .accordion-header p{
	margin: 0.7rem 0 0;
}
.person_accordion .accordion-header span.triangle{
    display: block;
    border: 2.1rem solid transparent;
    border-top: 2.4rem solid #009FE8;
    align-self: center;
    margin: 2.25rem 1.3rem 0;
	transition: .3s;
}
.person_accordion .accordion-header.active span.triangle{
	transform: rotate(180deg);
	margin-bottom: 5rem;
}
.accordion-content {
	display: none;
}
.accordion_content_block{
	display: flex;
	padding: 6.3rem 6.8rem 6.4rem 5rem;
	gap: 6.1rem;
}
.accordion_content_block:nth-of-type(even){
	flex-direction: row-reverse;
}
.accordion_content_block img{
    width: 40.8%;
	border-radius: 2rem;
	object-fit: cover;
}
.accordion_content_block div h4{
	font-size: 3rem;
	letter-spacing: 0.18rem;
	line-height: 1.667;
}
.accordion_content_block div p{
	margin: 1.76rem 0 0;
}
.accordion-content .accordion_content_block:nth-of-type(even){
	background-color: #fff;
}
.person_accordion_block:nth-of-type(even) .accordion-content .accordion_content_block:nth-of-type(odd){
	background-color: var(--main-color);
}
.person_accordion_block:nth-of-type(even) .accordion-content .accordion_content_block:nth-of-type(odd) h4, .person_accordion_block:nth-of-type(even) .accordion-content .accordion_content_block:nth-of-type(odd) p{
	color: #fff;
}
.person_accordion_block:nth-of-type(odd) .accordion-content .accordion_content_block:nth-of-type(odd){
	background-color: var(--main-color2);
}
.accordion-content .accordion_content_block:nth-last-of-type(1){
	gap: 1rem;
	flex-direction: row;
	padding: 3.9rem 8.3rem 5.9rem;
	justify-content: space-between;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content{
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
    width: 45.3%;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content img{
	border-radius: 2rem;
	width: 100%;
	object-fit: cover;
	margin: 1.1rem 0 3.2rem;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content h4{
	font-size: 3rem;
	line-height: 1.333;
	letter-spacing: 0.18rem;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content p{
	margin: 0;
	width: -webkit-fill-available;
	text-align: center;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content .flex_content_span{
	position: absolute;
    background-color: #fff;
    color: var(--main-color3);
    transform: rotate(-16deg) translateX(50%);
    bottom: 7rem;
    right: 50%;
	font-size: 1.755vw;
    line-height: 1.875;
    padding: 0 1.5rem;
    width: max-content;
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}

.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content .btn_area {
    width: 100%;
    text-align: center;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content .btn{
	width: 100%;	
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .btn p {
    padding: 1.35rem 0;
}
.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content .btn span {
    padding: 1.1rem 0.9rem 1.6rem;
}
@media screen and (max-width: 927px) {
	.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content {
		width: 48.3%;
	}
	.accordion-content .accordion_content_block:nth-last-of-type(1) {
		padding: 3.9rem 1rem 5.9rem;
	}
}
@media screen and (max-width: 767px) {
	.person_accordion .accordion-header {
		flex-wrap: wrap;
		padding-left: 0;
	}
	.person_accordion .accordion-header img {
		width: 90%;
		border-radius: 1rem;
		margin: 2.5rem auto 2.4rem;
	}
	.person_accordion .accordion-header div {
		padding: 0 2rem 0 2rem;
	}
.person_page .person_accordion .accordion-header h3{
	font-size: 2.2rem;
	}
	.person_accordion .accordion-header span.triangle {
		margin: 2.25rem auto 0;
	}
	.person_accordion .accordion-header.active span.triangle {
		margin-bottom: 2rem;
	}
	.accordion_content_block {
		padding: 3.3rem 2.5rem 3.4rem 2.5rem;
		gap: 2rem;
	}
	.accordion_content_block img {
		width: 100%;
		border-radius: 1rem;
		object-fit: cover;
	}
	.accordion_content_block div p {
		margin: 1.76rem 0 0;
	}
	.accordion_content_block div h4 {
		font-size: 2.2rem;
		letter-spacing: 0.18rem;
		line-height: 1.667;
	}
	.person_accordion .accordion_content_block {
		flex-direction: column-reverse;
		flex-wrap: wrap;
	}
	.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content {
		width: 100%;
	}
	.accordion-content .accordion_content_block:nth-last-of-type(1) {
		gap: 4rem;
		padding: 3.9rem 3rem 3.9rem;
	}
	.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content h4 {
		font-size: 2.4rem;
	}
	.accordion-content .accordion_content_block:nth-last-of-type(1) .flex_content .flex_content_span {
		position: absolute;
		background-color: #fff;
		color: var(--main-color3);
		transform: rotate(-16deg) translateX(50%);
		bottom: 9rem;
		right: 50%;
		font-size: 3.1vw;
		line-height: 1.875;
		padding: 0 1.5rem;
		width: max-content;
		-webkit-text-stroke: var(--main-color) 0.1rem;
	}
	.person_accordion .accordion-header div {
		border: none;
		border-bottom: 1px solid #000;
		padding-bottom: 2rem;
	}
.person_accordion .accordion-header span.post{
	font-size: 1.8rem;
	}

}
/*-----------------work_page-------------------*/
.work_page .breadcrumbs{
	background-color: var(--main-color2);
}
/*work_top*/
.work_top{
	background-color: var(--main-color2);
	padding-top: 3.36rem;
	padding-bottom: 6.4rem;
	text-align: center;
}
.work_top h2{
	font-size: 6.5rem;
	color: var(--main-color3);
	letter-spacing: 0.39rem;
	line-height: 1.385;
	width: 100%;
	margin: 0 auto;
	max-width: 100%;
}
.work_top p{
	width: 84.3rem;
	margin:  1.8rem auto 4.2rem;
	max-width: 100%;
}
.work_top ul{
	display: flex;
	justify-content: center;
	gap: 2rem;
}
.work_top ul li{
	width: 21rem;
	background-color: #fff;
	border: 0.1rem solid #000;
	position: relative;
}
.work_top ul li a{
	display: block;
    width: 100%;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 0.8rem 0.5rem;
	position: relative;
	z-index: 2;
}
.work_top ul li::after{
	content: "";
	position: absolute;
	width: 5rem;
	height: 1.5rem;
	background-color: #fff;
	right: 50%;
	transform: translate(50%);
	clip-path: polygon(0 0,50% 100%,100% 0);
	bottom: -1em;
	z-index: 1;
}
.work_top ul li::before{
    content: "";
    position: absolute;
    width: 5.1rem;
    height: 1.5rem;
    background-color: #000;
    right: 50%;
    transform: translate(50%);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    bottom: -1.7rem;
    z-index: 0;
}
@media screen and (max-width: 767px) {
	.work_top h2 {
		font-size: 2.8rem;
	}
	.work_top ul li a {
		font-size: 1.4rem;
		padding: .8rem .3rem;
	}
}
/*work_block*/
.work_block{
	padding-top: 9.7rem;
	padding-bottom: 9rem;
}
.work_block .work_block_top{
	gap: 3.9rem;
}
.work_block .work_block_top .block_top_img{
    width: 42.8%;	
}
.work_block .work_block_top .block_top_img img{
	width: 100%;
	object-fit: cover;
	border-radius: 2rem;
	letter-spacing: 0.3rem;
}
.work_block .work_block_top .block_top_txt{
	width: 53.7%;
}
.work_block .work_block_top .block_top_txt .subttl_sub{
	background-color: #fff;
	color: var(--main-color3);
	-webkit-text-stroke: var(--main-color) 0.1rem ;
}
.work_block .work_block_top .block_top_txt .subttl_main span{
	color: #fff;
	font-size: 5rem;
	line-height: 1.2;
	margin-top: 1.3rem;
	display: block;
}
.work_block .work_block_top .block_top_txt p{
	color: #fff;
	margin: 2.8rem 0 0;
}

.work_block.work_bs{
	background-color: var(--main-color);
}
.work_block.work_rental{
	background-color: var(--main-color2);
}
.work_block.work_reform{
	background-color: var(--main-color);
}
.work_block.work_rental p, .work_block.work_rental h4 {
	color: var(--font-color);
}
.work_block.work_rental .work_block_top .block_top_txt .subttl_main span, .work_block.work_rental .work_block_flow h3{
	color: var(--main-color3);
}
.work_block.work_rental .work_block_top .block_top_txt p{
	color: var(--font-color);
}
@media screen and (max-width: 1020px) {
	.work_block .work_block_top .block_top_img {
		width: 100%;
	}
	.work_block .work_block_top .block_top_txt {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.work_block{
		padding-top: 5.7rem;
		padding-bottom: 6rem;
	}
	.work_block .work_block_top .block_top_txt .subttl_main span {
		font-size: 4rem;
	}

}
/*work_block_flow*/
.work_block .work_block_flow{
	margin-top: 5.7rem;
}
.work_block .work_block_flow ul{
	display: flex;
	justify-content: space-between;
}
.work_block .work_block_flow div.blank{
	width: 17.28%;
	background: initial;
    border: none;
}
.work_block .work_block_flow ul li{
	width: 17.28%;
	position: relative;
}
.work_block_flow h3{
	color: #fff;
	font-size: 4.5rem;
	letter-spacing: 0.27rem;
	line-height: 1.333;
	text-align: center;
	margin-bottom: 1.6rem;
}
.work_block_flow div{
	background-color: #fff;
	padding: 1.4rem 0 0.8rem;
	border-radius: 1.5rem;
	height: 100%;
	text-align: center;
	border: 0.1rem solid #707070;
	z-index: 1;
	position: relative;
}
.work_block .work_block_flow ul:nth-of-type(odd) li::after{
	content: "";
	position: absolute;
	display: block;
	background-color: #fff;
	width: 100%;
	height: 2.3rem;
	z-index: 0;
	bottom: 47%;
	transform: translateY(50%);
	right: -30%;
}
.work_block .work_block_flow ul:nth-of-type(odd) li:nth-last-of-type(1)::after{
	display: none;
}
.work_block_flow div img{
	padding: 0 2.1rem;
	object-fit: cover;
}
.work_block_flow div h4{
	margin-top: 0.5rem;
	font-size: 1.6rem;
	padding: 0 ;
}
.work_block_flow p{
	color: #fff;
	margin-top: 1.6rem;
}
@media screen and (max-width: 1020px) {
	.work_block .work_block_flow {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.work_block_flow h3 {
		width: 100%;
	}
	.work_block .work_block_flow ul {
		display: inline-flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 4rem;
	}
	.work_block .work_block_flow ul:nth-of-type(1){
		width: 54%;
	}
	.work_block .work_block_flow ul:nth-of-type(2){
		width: 42%;
	}
	.work_block .work_block_flow ul:nth-of-type(3){
		width: 54%;
	}
	.work_block .work_block_flow ul:nth-of-type(4){
		width: 42%;
	}
	.work_block .work_block_flow ul li {
		width: 100%;
	}
	.work_block .work_block_flow ul:nth-of-type(1) li::after,
	.work_block .work_block_flow ul:nth-of-type(3) li::after{
		content: "";
		position: absolute;
		display: block;
		background-color: #fff;
		width: 2.3rem;
		height: 100%;
		z-index: 0;
		bottom: -50%;
		transform: translateX(50%);
		right: 50%;
	}
	.work_block .work_block_flow ul:nth-of-type(1) li:last-child{
		margin-bottom:5rem;
	}
	.work_block .work_block_flow ul:nth-of-type(1) li:last-child::after{
		content: "";
		position: absolute;
		display: block;
		background-color: #fff;
		width: 1.3rem;
		height: 100%;
		z-index: 0;
		bottom: -50%;
		transform: translateX(50%);
		right: 50%;
	}
	.work_block.work_bs .work_block_flow ul:nth-of-type(1) li:last-child::after{
		width: 0;
		
	}
	.work_block_flow div {
		height: fit-content;
	}
}
@media screen and (max-width: 767px) {
	.work_block .work_block_flow {
		margin-top: 3.7rem;
	}
	.work_block_flow h3 {
		font-size: 3.5rem;
	}
	.work_block_flow p {
		font-size: 1.4rem;
		margin: 0;
		}
	.work_block .work_block_flow ul:nth-of-type(1) li::after {
		width: 1.2rem;
	}
	.work_block .work_block_flow ul:nth-of-type(3) li::after {
		width: 1.2rem;
	}

}
/*work_block_message*/
.work_block_message{
	display: flex;
	background-color: #fff;
	padding: 2.4rem 3.7rem;
	gap: 4.6rem;
	margin-top: 5.9rem;
	margin-bottom: 4.5rem;
	border-radius: 1.5rem;
	border: 0.1rem solid #707070;
}
.work_block_message img{
	width: 19.8rem;
	object-fit: contain;
}
.work_block_message h3{
	font-size: 4.5rem;
	letter-spacing: 0.27rem;
	line-height: 1.333;
	color: var(--main-color3);
}
.work_block_message p{
	margin: 1.7rem 0 0 ;
}
.work_block_link{
	display: flex;
	justify-content: center;
	gap: 7.15rem;

}
.work_block_link li{
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
    width: 38.4%;
}
.work_block_link li img{
	border-radius: 2rem;
	width: 100%;
	object-fit: cover;
	margin: 1.1rem 0 3.2rem;
}
.work_block_link li h4{
	font-size: 3rem;
	line-height: 1.333;
	letter-spacing: 0.18rem;
	color: #fff;
}
.work_block_link li p{
	margin: 0;
	width: -webkit-fill-available;
	text-align: center;
}
.work_block_link_spans{
    position: absolute;
    color: var(--main-color3);
    transform: rotate(-16deg) translateX(-50%);
    bottom: 14rem;
    gap: .43rem;
    display: flex;
    flex-direction: column;
    left: 50%;
    width: 100%;
}
.work_block_link li .work_block_link_spans .work_block_link_span{
    background-color: #fff;
    color: var(--main-color3);
	font-size: 1.226vw;
    line-height: 1.875;
    padding: 0 1rem;
    width: max-content;
    -webkit-text-stroke: var(--main-color) 0.1rem;
    letter-spacing: 0.096rem;
    position: relative;
	bottom: initial; 
	right: initial;
	transform: initial;
}
.work_block_link li .work_block_link_spans .work_block_link_span:nth-of-type(2){
	left: 50%;
    transform: translateX(-50%);
}
.work_block_link li .work_block_link_spans .work_block_link_span:nth-of-type(3){
	left: 50%;
}
.work_block_link li .work_block_link_span{
	position: absolute;
    background-color: #fff;
    color: var(--main-color3);
    transform: rotate(-16deg) translateX(50%);
    bottom: 8rem;
    right: 50%;
	font-size: 1.755vw;
    line-height: 1.875;
    padding: 0 1.5rem;
    width: max-content;
	-webkit-text-stroke: var(--main-color) 0.1rem ;
	letter-spacing: 0.096rem;
}

.work_block_link li .btn_area{
	width: 100%;
}
.work_block_link li .btn{
	width: 100%;
}
@media screen and (max-width: 767px) {
	.work_block_message {
		display: flex;
		flex-wrap: wrap;
		padding: 2rem 1.5rem;
		gap: 1.5rem;
		justify-content: center;
		border-radius: 1.5rem;
	}
	.work_block_message h3 {
		font-size: 3rem;
		text-align: center;
	}
	.work_block_message img {
		width: 80%;
	}
	.work_block_link {
		flex-wrap: wrap;
		gap: 3rem;
	}
	.work_block_link li {
		width: 100%;
	}
	.work_block_link_spans {
		position: absolute;
		color: var(--main-color3);
		transform: rotate(-16deg) translateX(-50%);
		bottom: 30vw;
	}
	.work_block_link li .work_block_link_spans .work_block_link_span{
        font-size: 3.33vw;
	}
	.work_block_link li .work_block_link_span {
		font-size: 5.1vw;
	}
}
/*-----------------environment_page-------------------*/
.environment_page .breadcrumbs{
	background-color: var(--main-color2);
	z-index: 1;
    position: relative;
}

/*environment_top*/
.environment_page .environment_top{
	background-color: var(--main-color2);
	text-align: center;
	padding-top: 4.6rem;
	padding-bottom: 7.7rem;
}
.environment_page .environment_top h2{
	font-size: 6.5rem;
	color: var(--main-color3);
	font-weight: 700;
}
.environment_page .environment_top p{
	width: 89.5rem;
	margin: 3rem auto 4.6rem;
	max-width: 100%;
}
.environment_page .environment_top .slider2 li{
	margin: 0 1.2rem;
}
.environment_page .environment_top .slider2 li img{
	width: 100%;
	object-fit: cover;
	border-radius: 2.5rem;
}
@media screen and (max-width: 767px) {

	.environment_page .environment_top {
		padding-top: 3.6rem;
		padding-bottom: 5.7rem;
	}
	.environment_page .environment_top h2 {
		font-size: 3rem;
	}
	.environment_page .environment_top p {
		margin: 2rem auto 3.6rem;
	}
	.environment_page .mainttl h1 {
        font-size: 2.5rem;
	}
    .environment_page .mainttl h2 {
        font-size: 3rem;
        letter-spacing: 0.5rem;
        -webkit-text-stroke: 0.1rem #fff;
        color: transparent;
        margin-top: 0rem;
        position: absolute;
        right: -0.5rem;
    }
	.environment_page .mainttl h2 {
        font-size: 2.6rem;
		letter-spacing: 0.1rem;
}
}
/*environment_environment*/
.environment_environment{
	padding-top: 5.8rem;
	padding-bottom: 7.7rem;
	background-color: var(--main-color);
	position: relative;
}
.environment_environment .subttl_main{
	text-align: center;
}
.environment_environment .subttl_main span{
	color: #fff;
}
.environment_environment ul{
	margin-top: 4.7rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4.3rem 1rem;
}
.environment_environment ul li{
	width: 29.48%;
	z-index: 1;
    position: relative;
}
.environment_environment ul li button{
	background-color: #fff;
	border-radius: 2rem;
	width: 100%;
	padding: 0;
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.environment_environment ul li button p{
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.15rem;
	line-height: 1.4;
	margin: 0;
	padding: 1.1rem 1.6rem 1.5rem;
}
.environment_environment ul li button span{
	background-color: #D0D0D0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.096rem;
	line-height: 1.625;
	text-align: center;
	display: block;
	width: 100%;
	border-radius: 0 0 2rem 2rem;
}
.environment_environment .popup{
	padding: 4.4rem 5.5rem 3rem;
}
.environment_environment .popup .popup_top{
	justify-content: center;
	margin-bottom: 3.9rem;
}
.environment_environment .popup .popup_top h3 {
	color: var(--font-color);
	text-align: center;
	font-size: 4rem;
}

.popup .popup_detail img {
    width: 80%;
}
.environment_environment .back_txt{
	font-size: 13.85vw;
	letter-spacing: 1.2px;
	line-height: 1.01;
	-webkit-text-stroke: 0.1rem #FFFFFF;
	bottom: -1vw;
	right: 50%;
	transform: translateX(50%);
}
@media screen and (max-width: 897px) {
	.environment_environment ul li{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.environment_environment ul li button p {
		font-size: 2rem;
		font-weight: 900;
		letter-spacing: 0.15rem;
		line-height: 1.4;
		margin: 0;
		padding: 1rem 1.5rem 1rem;
	}
	.environment_environment .popup {
		padding: 5rem 2.5rem 3rem;
	}
	.environment_environment .popup .popup_top {
		justify-content: center;
		margin-bottom: 2rem;
	}
	.environment_environment .popup .popup_top h3 {
		font-size: 2.5rem;
	}
}
/*environment_welfare*/
.environment_welfare{
	background-color: var(--main-color2);
	padding-top: 5.8rem;
    padding-bottom: 5.5rem;
	position: relative;
	overflow: hidden;
}
.environment_welfare .subttl_main{
	text-align: center;
}
.environment_welfare .subttl_main span{
	color: var(--main-color3);
}
.environment_welfare ul{
	display: flex;
	flex-wrap: wrap;
	gap: 0 1rem;
	margin-top: 3.7rem;
	justify-content: space-between;
}
.environment_welfare ul li{
	background-color: #fff;
	border-radius: 1.9rem;
    width: 21.53%;
	margin-bottom: 3.7rem;
	z-index: 1;
    position: relative;
}
.environment_welfare ul::after{
	content: "";
	display: block;
    width: 21.53%;
}
.environment_welfare ul li button{
	width: 100%;
	padding: 0 0 2.6rem;
	height: 100%;
	position: relative;
}
.environment_welfare ul li div{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 3rem 1rem 1.6rem;
}
.environment_welfare ul li div img{
	height: 10.5rem;
}
.environment_welfare ul li div p{
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--main-color3);
	margin-bottom: 0;
}
.environment_welfare ul li:nth-last-of-type(4) div p.small,.environment_welfare ul li:nth-last-of-type(3) div p.small{
	font-size: 2rem;
}

.environment_welfare ul li:nth-last-of-type(2) div p.small{
	font-size: 1.9rem;
}
.environment_welfare ul li span{
	background-color: #D0D0D0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.096rem;
	line-height: 1.625;
	text-align: center;
	display: block;
	width: 100%;
	border-radius: 0 0 1.9rem 1.9rem;
	bottom: 0;
	position: absolute;
}
.environment_welfare .popup{
	width: 73.8rem;
	max-width: 100%;
	padding: 5.3rem 5.4rem 6.6rem;
}
.environment_welfare .popup .popup_top{
	justify-content: center;
	margin-bottom: 2.625rem;
}
.environment_welfare .popup .popup_top h3{
	color: var(--font-color);
	font-size: 4rem;
}
.environment_welfare .popup .popup_detail img{
	height: 18.5rem;
	object-fit: fill;
}
.environment_welfare .popup .popup_detail p{
	text-align: left;
	margin-top: 3.6rem;
}
.environment_welfare .back_txt{
    font-size: 14.5vw;
	letter-spacing: 1.2px;
	line-height: 1.01;
	-webkit-text-stroke: 0.1rem var(--main-color3);
	bottom: -1vw;
	right: 50%;
	transform: translateX(50%);
}
@media screen and (max-width: 1020px) {
	.environment_welfare ul li{
		width: 30%;
	}
	.environment_welfare ul::after{
		content: "";
		display: block;
		width: 30%;
	}
}
@media screen and (max-width: 767px) {
	.environment_welfare {
		padding-top: 3.5rem;
		padding-bottom: 2.5rem;
	}
	.environment_welfare ul {
		gap: 2.5rem 1%;
		margin-top: 2.7rem;
		justify-content: space-between;
	}
	.environment_welfare ul li {
		width: 48%;
		margin-bottom: 0;
	}
	.environment_welfare ul li div {
		padding: 1.5rem 1rem 1rem;
	}
	.environment_welfare ul li div img {
		height: 5.5rem;
	}
	.environment_welfare ul li div p {
		font-size: 1.8rem;
		margin-top: 0.5rem;
	}
	.environment_welfare ul li div {
		flex-direction: column;
		align-items: center;
		padding: 1.5rem 1rem 1rem;
	}
	.environment_welfare .popup {
		width: 80%;
		max-width: 100%;
		padding: 5.3rem 2.4rem 2.6rem;
	}
	.environment_welfare .popup .popup_top h3 {
		color: var(--font-color);
		font-size: 3rem;
	}
	.environment_welfare .popup .popup_detail img {
		height: 10.5rem;
		object-fit: fill;
	}
	.environment_welfare .popup .popup_detail p {
		text-align: left;
		margin-top: 1.6rem;
	}
	
	
	
}
/*environment_day*/
.environment_day{
	background-color: var(--main-color);
	padding-top: 10.9rem;
	padding-bottom: 9.8rem;
	position: relative;
	overflow: hidden;
}
.environment_day .subttl_main{
	text-align: center;
}
.environment_day .subttl_main span{
	color: #fff;
}
.environment_day .environment_day_txt p{
	color: #fff;
	margin: 1.9rem auto 5.6rem;
	width: 63.1rem;
	max-width: 100%;
}
.environment_day dl .day_flex{
	display: flex;
	gap: 2.8rem;
	justify-content: space-between;
	margin-top: 2.8rem;
	position: relative;
    z-index: 1;
}
.environment_day dl .day_flex dt{
    background-color: #fff;
    border-radius: 1.5rem;
    height: fit-content;
	position: relative;
	width: 21.8rem;
}
.environment_day dl .day_flex dt span{
	display: block;
	text-align: center;
	color: var(--main-color3);
    padding: 0.5rem 1rem 1.2rem;
    font-size: 5rem;
    font-family: "josefin-sans", sans-serif;
    font-style: italic;
	position: relative;
	z-index: 1;
}
.environment_day dl .day_flex dt::before{
	content: "";
	position: absolute;
	display: block;
	background-color: #fff;
	height: 1rem;
	width: 2.8rem;
	bottom: 50%;
	transform: translateY(50%);
	right: -2.8rem;
	z-index: 0;
}
.environment_day dl .day_flex dd::after{
	content: "";
    position: absolute;
    display: block;
    background-color: #fff;
    height: 100%;
    width: 1rem;
    left: -13.5rem;
    top: 20%;
    z-index: 0;
}
.environment_day dl .day_flex:nth-last-of-type(1) dd::after{
	display: none;
}
.environment_day dl .day_flex dd{
	background-color: #fff;
	border-radius: 2.5rem;
	display: flex;
	padding:2.75rem 3.3rem 2.75rem 3.35rem;
	gap: 3.52rem;
	width: 77.26%;
	max-width: 100%;
	z-index: 0;
	position: relative;
}
.environment_day dl .day_flex:nth-of-type(even) dd{
	flex-direction: row-reverse;
}
.environment_day dl .day_flex dd div{
	width: inherit;
}
.environment_day dl .day_flex dd div h3{
	font-size: 3rem;
	border-bottom: 0.1rem solid var(--main-color3);
	padding-bottom: 1.55rem;
	font-weight: 700;
}
.environment_day dl .day_flex dd div p{
	margin: 1.95rem 0 0;
}
.environment_day dl .day_flex dd img{
	border-radius: 1rem;
	width: 20rem;
	height: 100%;
	object-fit: cover;
}
.environment_day .back_txt{
	font-size: 14.5vw;
    letter-spacing: 1.5rem;
    line-height: 1.01;
    -webkit-text-stroke: 0.1rem #fff;
    right: -109.2vw;
    top: 106.5vw;
    transform: rotate(90deg);
    white-space: nowrap;
}
@media screen and (max-width: 880px) {
	.environment_day dl .day_flex{
		flex-direction: column;
	}
	.environment_day dl .day_flex dt::before{
		display: none;
	}
    .environment_day dl .day_flex dt::after, .environment_day dl .day_flex:nth-last-of-type(1) dt::after{
        content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        height: 200%;
        width: 1rem;
        right: 50%;
        transform: translateX(50%);
        bottom: -50%;
        z-index: 0;
    }
	.environment_day dl .day_flex.day_flex:nth-of-type(1) dt::after {
		content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        height: 150%;
        width: 1rem;
        right: 50%;
        transform: translateX(50%);
        bottom: -50%;
        z-index: 0;
	}
	.environment_day {
		background-color: var(--main-color);
		padding-top: 6.9rem;
		padding-bottom: 6.8rem;
	}
	.environment_day dl .day_flex{
		flex-direction: column;
	}
	.environment_day dl .day_flex dd, .environment_day dl .day_flex:nth-of-type(even) dd {
		padding: 1.75rem 2.3rem;
		gap: 1.5rem;
		width: 100%;
		flex-direction: column;
	}
	.environment_day dl .day_flex dt {
		width: 15rem;
	}
	.environment_day dl .day_flex dt::before{
		display: none;
	}
	.environment_day dl .day_flex dt span {
		padding: 0.5rem 1rem 1rem;
		font-size: 3.5rem;
	}
    .environment_day dl .day_flex dt::after, .environment_day dl .day_flex:nth-last-of-type(1) dt::after{
        content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        height: 200%;
        width: 1rem;
        right: 50%;
        transform: translateX(50%);
        bottom: -50%;
        z-index: 0;
    }
	.environment_day dl .day_flex.day_flex:nth-of-type(1) dt::after {
		content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        height: 150%;
        width: 1rem;
        right: 50%;
        transform: translateX(50%);
        bottom: -50%;
        z-index: 0;
	}
	.environment_day dl .day_flex dd::after{
		display: none;
	}
	.environment_day dl .day_flex dd div h3 {
		font-size: 2rem;
		padding-bottom: 1rem;
	}
	.environment_day dl .day_flex dd div p {
		margin: 1rem 0 0;
	}
	.environment_day dl .day_flex dd img {
		width: 100%;
		height: initial;
	}
	.environment_day .back_txt {
		right: -142.2vw;
		top: 119.5vw;
	}
}
/*environment_balance*/
.environment_balance{
	background-color: var(--main-color2);
	padding-top: 10.9rem;
	padding-bottom: 11rem;
	position: relative;
	overflow: hidden;
}
.environment_balance .environment_balance_txt{
	margin-bottom: 10.5rem;
}
.environment_balance .subttl_main{
	text-align: center;
}
.environment_balance .subttl_main span{
	font-size: 5rem;
	letter-spacing: .3rem;
	line-height: 1.6;
	color: var(--main-color3);
}
.environment_balance .environment_balance_txt p{
	width: 63.1rem;
	text-align: center;
	margin: 3.2rem auto 0;
	max-width: 100%;
}
.environment_balance .balance_box{
	margin-top: 9.5rem;
}
.environment_balance .balance_box{
	background-color: #fff;
	border-radius: 2.5rem;
	padding: 5.2rem 3.8rem 2.6rem;
	position: relative;
	display: flex;
	gap: 4.1rem;
	z-index: 1;
}
.environment_balance .balance_box .balance_box_img{
	width: 33.2%;
	max-width: 100%;
}
.environment_balance .balance_box .balance_box_img img.balance_box_img_strech{
	width: 100%;
	border-radius: 1rem;
}
.environment_balance .balance_box .balance_box_img img{
	object-fit: cover;
}
.environment_balance .balance_box .balance_box_img div{
	display: flex;
	justify-content: space-between;
	margin-top: 1.6rem;
	gap: 1rem;
}
.environment_balance .balance_box .balance_box_img div img{
    width: 48.5%;
	border-radius: 1rem;
}
.environment_balance .balance_box .balance_box_txt{
    width: 64%;
	max-width: 100%;
}
.environment_balance .balance_box .balance_box_txt h3{
	font-size: 4rem;
	letter-spacing: .24rem;
	line-height: 1.25;
	font-weight: 700;
}
.environment_balance .balance_box .balance_box_txt p{
	margin: 0.8rem 0 1.7rem;
}
.environment_balance .balance_box .balance_box_txt ul{
	display: flex;
	justify-content: flex-start;
	gap: 4rem;
}
.environment_balance .balance_box .balance_box_txt ul li{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.environment_balance .balance_box .balance_box_txt ul li span{
	color: #00937F;
	text-align: center;
}
.environment_balance .balance_box .balance_box_txt ul li img{
	width: 7.8rem;
}
.balance_box .balance_box_ttl{
	position: absolute;
    font-size: 7.32vw;
	font-family: "josefin-sans", sans-serif;
	font-style: italic;
	top: -0.9em;
	left: 0;
	letter-spacing: .6rem;
}
.balance_work .balance_box_ttl{
	color: #009FE8;
}
.balance_off .balance_box_ttl{
	color: #E20A3C;
}
.balance_off{
	flex-direction: row-reverse;
}
.environment_balance .back_txt{
    font-size: 14.5vw;
    letter-spacing: 1.6rem;
    line-height: 1.01;
    -webkit-text-stroke: 0.1rem var(--main-color3);
    top: 75vw;
    right: 10.2vw;
    transform: rotate(270deg);
    white-space: nowrap;
}
@media screen and (max-width: 1020px) {
	.environment_balance .balance_box .balance_box_img {
		width: 100%;
	}
	.environment_balance .balance_box {
		gap: 2rem;
		flex-direction: column;
	}
	.environment_balance .balance_box .balance_box_img div img {
		width: 47%;
		border-radius: 1rem;
	}
	.environment_balance .balance_box .balance_box_txt{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.environment_balance .balance_box .balance_box_img {
		width: 100%;
	}
	.environment_balance {
		padding-top: 5rem;
		padding-bottom: 7rem;
	}

	.environment_balance .subttl .subttl_main span {
		font-size: 2.5rem;
	}	
	.environment_balance .environment_balance_txt p {
		margin: 2rem auto 0;
	}
	.balance_box .balance_box_ttl {
		font-size: 4rem;
		top: -0.8em;
		letter-spacing: .1rem;
	}
	.environment_balance .balance_box {
		border-radius: 1.5rem;
		padding: 3rem 1.5rem 2.5rem;
		gap: 2rem;
		flex-direction: column;
		margin-top: 6.5rem;
	}
	.environment_balance .balance_box .balance_box_img div img {
		width: 47%;
		border-radius: 1rem;
	}
	.environment_balance .balance_box .balance_box_txt h3 {
		font-size: 2rem;
	}
	.environment_balance .balance_box .balance_box_txt ul {
		flex-wrap: wrap;
		gap: 1rem;
	}
	.environment_balance .balance_box .balance_box_txt ul li {
		width: 45%;
	}
	.environment_balance .environment_balance_txt {
		margin-bottom: 6.5rem;
	}
}
/*environment_training*/
.environment_training{
	background-color: var(--main-color);
	padding-top: 7.7rem;
	padding-bottom: 10.3rem;
	position: relative;
	overflow: hidden;
}
.environment_training .subttl_main{
	text-align: center;
}
.environment_training .subttl_main span{
	color: #fff;
}
.environment_training ul{
	margin-top: 5.16rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4.5rem 1rem;
}
.environment_training ul li{
	width: 47.8%;
	background-color: #fff;
	border-radius: 2.5rem;
	padding: 2.98rem 3.2rem 2.26rem;
}
.environment_training ul li h3{
	font-size: 3rem;
	font-weight: 700;
	padding-bottom: 1.2rem;
	border-bottom: .1rem solid var(--main-color3);
	line-height: 1.333;
	letter-spacing: .18rem;
}
.environment_training ul li p{
	margin: .98rem 0 0;
}
.environment_training .back_txt{
	-webkit-text-stroke: .1rem #fff;
	font-size: 14.5vw;
    letter-spacing: 1.6rem;
    line-height: 1.01;
	bottom: -1vw;
	right: 50%;
	transform: translateX(50%);
}
@media screen and (max-width: 767px) {
	.environment_training {
		padding-top: 5.5rem;
		padding-bottom: 7.3rem;
	}
	.environment_training ul {
		margin-top: 4rem;
		gap: 3rem 1rem;
	}
	.environment_training ul li {
		width: 100%;
	}
	.environment_training ul li h3 {
		font-size: 2rem;
		padding-bottom: 1.2rem;
		letter-spacing: .1rem;
	}
}
/*environment_career*/
.environment_career{
	background-color: var(--main-color2);
	padding-top: 8.4rem;
	padding-bottom: 12.6rem;
	position: relative;
}
.environment_career .subttl_main{
	text-align: center;
}
.environment_career .subttl_main span{
	color: var(--main-color3);
}
.environment_career ul{
	margin-top: 5.16rem;
	display: flex;
	flex-direction: column;
	gap: 4.63rem;
	position: relative;
	z-index: 1;
}
.environment_career ul li{
	width: 100%;
	background-color: #fff;
	padding: 3.4rem 5.5rem 3.1rem 5.4rem;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	border-radius: 2.5rem;
}
.environment_career ul li img{
	border-radius: 2.5rem;
	object-fit: cover;
	height: 20.1rem;
}
.environment_career ul li div{
	width: 75.5rem;
}
.environment_career ul li h3{
	font-size: 4rem;
	letter-spacing: .24rem;
	line-height: 1;
	padding-bottom: 1.6rem;
	border-bottom: .1rem solid var(--main-color3);
}
.environment_career ul li p{
	margin: 2.1rem 0 0;
	line-height: 1.563;
}
.environment_career .back_txt{
	-webkit-text-stroke: .1rem var(--main-color3);
	font-size: 14.5vw;
    letter-spacing: 1.6rem;
    line-height: 1.01;
	bottom: -1vw;
	right: 50%;
	transform: translateX(50%);
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.environment_career {
		padding-top: 5rem;
		padding-bottom: 8rem;
	}
	.environment_career ul {
		margin-top: 3.5rem;
		gap: 4rem;
	}
	.environment_career ul li {
		padding: 3.4rem 2rem 2.5rem;
		gap: 2rem;
		border-radius: 2.5rem;
		flex-wrap: wrap;
	}
	.environment_career ul li h3 {
		font-size: 2.5rem;
		letter-spacing: .1rem;
		padding-bottom: 1rem;
	}
	.environment_career ul li p {
		margin: 1.5rem 0 0;
	}
	.environment_career ul li img {
		border-radius: 1.5rem;
		width: 70%;
		margin: 0 auto;
	}
	
}
/*environment_interview*/
.environment_interview{
	background-color: var(--main-color);
	padding-top: 6.7rem;
	padding-bottom: 9.28rem;
	position: relative;
}
.environment_interview .subttl_main{
	text-align: center;
}
.environment_interview .subttl_main span{
	color: #fff;
}
.environment_interview ul{
	display: flex;
	gap: 16.6rem;
	justify-content: center;
	margin-top: 3.9rem;
}
.environment_interview ul li{
	position: relative;
	width: 31.7rem;
	max-width: 100%;
}
.environment_interview ul li img{
	position: relative;
	border-radius: 3.2rem;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.environment_interview ul li a{
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}
.environment_interview ul li a::after{
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 0;
	border-radius: 3.2rem;
}
.environment_interview ul li .name{
	position: absolute;
	background-color: var(--main-color3);
	z-index: 1;
	bottom: 1.5rem;
	left: -3.6rem;
	padding: 0.5rem 1.8rem;
}
.environment_interview ul li .name p, .environment_interview ul li .name h3{
	color: #fff;
	margin: 0;
}
.environment_interview ul li .name p{
	font-size: 1.8rem;
	border-bottom: 0.1rem solid #fff;
}
.environment_interview ul li .name h3{
	font-size: 3.7rem;
}
.environment_interview .back_txt{
	-webkit-text-stroke: .1rem #fff;
	font-size: 14.5vw;
    letter-spacing: 1.6rem;
    line-height: 1.01;
	bottom: -1vw;
	right: 50%;
	transform: translateX(50%);
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.environment_interview {
		padding-top: 4.5rem;
	}
	.environment_interview ul {
		gap: 6.5rem;
		margin-top: 3.9rem;
		flex-direction: column;
	}
	.environment_interview .back_txt {
		font-size: 14.3vw;
		letter-spacing: 1rem;
		bottom: -1vw;
		right: 49%;
		transform: translateX(50%);
	}
	.environment_interview ul li{
		margin: 0 auto;
	}
}
/*environment_work*/
.environment_work{
	background-color: var(--main-color2);
	padding-top: 5.6rem;
	padding-bottom: 5.6rem;
}
.environment_work a{
	background-color: #009FE8;
	border: .1rem solid #FFFFFF;
	border-radius: 2.7rem;
	padding: 4.5rem 3rem;
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	display: block;
	width: 91.8rem;
	max-width: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.environment_work a {
    border-radius: 1.5rem;
    padding: 2.5rem 2rem;
	font-size: 2rem;
}
}
/*-----------------recruit_page-------------------*/
/*recruit_top*/
.recruit_top{
	padding-top: 9.7rem;
	padding-bottom: 8.5rem;
	background-color: var(--main-color2);
}
.recruit_top .subttl_main{
	text-align: center;
}
.recruit_top .subttl_main span{
	color: var(--main-color3);
}
.recruit_top p{
	width: 80.3rem;
	margin: 3rem auto 0;
	text-align: center;
	max-width: 100%;
}
.recruit_top .video{
	width: 67.9rem;
	max-width: 100%;
	height: 35.2rem;
	margin: 0 auto;
	background-color: #fff;
	display: block;
}

@media screen and (max-width: 767px) {
	.recruit_top {
		padding-top: 4.5rem;
		padding-bottom: 4.59rem;
	}
	.recruit_top p {
		margin: 2rem auto;
	}
	.recruit_top .video {
		height: 18.2rem;
	}
}
/*recruit_welcome*/
.recruit_welcome{
	padding-top: 6.8rem;
	padding-bottom: 6.7rem;
	background-color: var(--main-color);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}
.recruit_welcome img{
	width: 40.5%;
	border-radius: 2.5rem;
	object-fit: cover;
}
.recruit_welcome .recruit_welcome_txt{
    width: 52.6%;
}
.recruit_welcome .recruit_welcome_txt .subttl_main span{
	color: #fff;
}
.recruit_welcome .recruit_welcome_txt p{
	color: #fff;
	margin: 2.6rem 0 0;
}
@media screen and (max-width: 1020px) {
	.recruit_welcome {
		flex-wrap: wrap;
	}
	.recruit_welcome img {
		width: 100%;
	}
	.recruit_welcome .recruit_welcome_txt {
		width: 100%;
	}
	.recruit_welcome .recruit_welcome_txt p {
		margin: 1.5rem 0 0;
	}
}
@media screen and (max-width: 767px) {
	.recruit_welcome {
		flex-wrap: wrap;
	}

}
/*recruit_guideline*/
.recruit_guideline{
	padding-top: 9rem;
	padding-bottom: 12rem;
	background-color: var(--main-color2);
}
.recruit_guideline .subttl_main{
	text-align: center;
}
.recruit_guideline .subttl_main span{
	color: var(--main-color3);
}
.recruit_guideline ul{
	display: flex;
	flex-direction: column;
	gap: 4.6rem;
	margin-top: 8rem;
}
.recruit_guideline ul li{
	background-color: #fff;
	padding: 4.2rem 5.2rem 5.3rem 3.7rem;
	position: relative;
	border-radius: 2.5rem;
}
.recruit_guideline ul li .accordion-header{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.5rem;
}
.recruit_guideline ul li .accordion-header img{
    width: 26.2%;
	border-radius: 1.5rem;
	object-fit: cover;
}
.recruit_guideline ul li .accordion-header .accordion_header_txt{
    width: 69.5%;
}
.recruit_guideline ul li .accordion-header .accordion_header_txt h3{
	font-size: 3.5rem;
	display: block;
	font-weight: 700;
	letter-spacing: .21rem;
	padding-bottom: 1rem;
	border-bottom: .1rem solid var(--main-color3);
}
.recruit_guideline ul li .accordion-header .accordion_header_txt p{
	margin: 1.35rem 0 0;
}
.recruit_guideline ul li span{
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	color: #fff;
	background-color: var(--main-color);
	font-size: 2rem;
	letter-spacing: .12rem;
	align-items: center;
	gap: 2.9rem;
	padding: 1.45rem 1rem;
	width: 100%;
	border-radius: 0 0 2.5rem 2.5rem;
}
.recruit_guideline ul li span::after{
	content: "";
	width: 1.9rem;
	height: 1.2rem;
	background-color: #fff;
	clip-path: polygon(0 0,50% 100%,100% 0);
	z-index: 1;
	transition: .3s;
}
.recruit_guideline ul li .accordion-header.active span{
	font-size: 0;
}
.recruit_guideline ul li .accordion-header.active span::before{
	content: "閉じる";
	font-size: 2rem;
}
.recruit_guideline ul li .accordion-header.active span::after{
	transform: rotate(180deg);
}
.recruit_guideline .accordion-content{
	background-color: var(--main-color2);
    padding: 1.7rem 6.75rem 5rem 6.65rem;
	border-radius: 1.5rem;
	margin-bottom: 5.3rem;
}
.recruit_guideline .accordion-content .accordion_content_flex{
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: .1rem solid var(--main-color3);
	padding-bottom: 1.9rem;
	padding-top: 2.4rem;
}
.recruit_guideline .accordion-content .accordion_content_flex:nth-last-of-type(1){
	border-bottom: none;
}
.recruit_guideline .accordion-content .accordion_content_flex:nth-of-type(1){
	padding-bottom: 1.5rem;
}
.recruit_guideline .accordion-content .accordion_content_flex dt{
	font-weight: 700;
	padding-left: 3.15rem;
	line-height: 1.563;
}
.recruit_guideline .accordion-content .accordion_content_flex dd{
	width: 75.1%;
	padding-right: 3.25rem;
	font-weight: 500;
	line-height: 1.563;
}
@media screen and (max-width: 935px) {
	.recruit_guideline ul li .accordion-header {
		flex-wrap: wrap;
	}
	.recruit_guideline ul li .accordion-header img {
		width: 100%;
		margin-bottom: 1rem;
	}
	.recruit_guideline ul li .accordion-header .accordion_header_txt {
		width: 100%;
	}	
	.recruit_guideline .accordion-content {
		padding: 4.1rem 2.75rem 5rem;
	}
	.recruit_guideline .accordion-content .accordion_content_flex dt {
		padding-left: 1.15rem;
	}
	.recruit_guideline .accordion-content .accordion_content_flex dd {
		padding-right: 1.15rem;
}
}
@media screen and (max-width: 767px) {
	.recruit_guideline {
		padding-top: 4rem;
		padding-bottom: 6rem;
	}	
	.recruit_guideline ul {
		gap: 4rem;
		margin-top: 4rem;
	}
	.recruit_guideline ul li {
		padding: 3.2rem 2rem 5.3rem;
		border-radius: 2rem;
	}
	.recruit_guideline ul li .accordion-header img {
		border-radius: 1rem;
	}
	.recruit_guideline ul li .accordion-header .accordion_header_txt h3 {
		font-size: 3rem;
	}
	.recruit_guideline ul li .accordion-header .accordion_header_txt p {
		margin: 1rem 0 0;
	}

	.recruit_guideline .accordion-content .accordion_content_flex dt {
		padding-left: 1rem;
		line-height: 1.563;
	}
	.recruit_guideline .accordion-content .accordion_content_flex dd {
		width: 100%;
		padding-right: 0;
		padding-left: 1rem;
	}
	.recruit_guideline .accordion-content .accordion_content_flex:nth-of-type(1) {
		padding-top: 0rem;
	}
	.recruit_guideline .accordion-content .accordion_content_flex {
		gap: .5rem;
		padding-bottom: 1.5rem;
		padding-top: 1.5rem;
		flex-direction: column;
	}
	.recruit_guideline .accordion-content {
		margin-bottom: 2rem;
		padding: 2rem 1.5rem;

	}
}
/*recruit_process*/
.recruit_process{
	padding-top: 8.8rem;
	padding-bottom: 10rem;
	background-color: var(--main-color);
}
.recruit_process .subttl_main{
	text-align: center;
}
.recruit_process .subttl_main span{
	color: #fff;
}
.recruit_process dl{
	margin-top: 4.4rem;
	display: flex;
	flex-direction: column;
	gap: 3.7rem;
}
.recruit_process .recruit_process_flex{
	display: flex;
	gap: 3.2rem;
	justify-content: flex-end;
}
.recruit_process .recruit_process_flex dt{
	background-color: #fff;
	width: 11.79vw;
	height: 11.79vw;
	border-radius: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	align-items: center;
	padding-top: 1.5%;
}
.recruit_process .recruit_process_flex dt span{
	font-size: 2.56vw;
	color: #00937F;
	font-family: "josefin-sans", sans-serif;
	font-style: italic;
	letter-spacing: .21rem;
	z-index: 1;
}
.recruit_process .recruit_process_flex dt img{
    width: 40.4%;
	z-index: 1;
}
.recruit_process .recruit_process_flex dt::after{
    content: "";
    position: absolute;
    display: block;
    background-color: #fff;
    height: 100%;
    width: 1rem;
    right: 50%;
    transform: translateX(50%);
    bottom: -100%;
    z-index: 0;
}
.recruit_process .recruit_process_flex:nth-last-of-type(1) dt::after{
	display: none;
}
.recruit_process .recruit_process_flex dd{
	background-color: #fff;
	padding: 2.3rem 3.4rem 2.2rem 3.3rem;
	border-radius: 2.5rem;
    width: 77.2%;
	z-index: 1;
}
.recruit_process .recruit_process_flex dd h3{
	font-size: 3rem;
	letter-spacing: .18rem;
	font-weight: 700;
	border-bottom: .1rem solid var(--main-color3);
	padding-bottom: 0.95rem;
}
.recruit_process .recruit_process_flex dd p{
	margin: 1.15rem 0 0;
}
@media screen and (max-width: 978px) {
	.recruit_process .recruit_process_flex dt::after {
		content: "";
		position: absolute;
		display: block;
		background-color: #fff;
		height: 200%;
		width: 1rem;
		right: 50%;
		transform: translateX(50%);
		bottom: -200%;
		z-index: 0;
	}

}
@media screen and (max-width: 767px) {
	.recruit_process {
		padding-top: 4.8rem;
		padding-bottom: 5rem;
	}
	.recruit_process dl {
		margin-top: 2.4rem;
	}
	.recruit_process .recruit_process_flex dd h3 {
		font-size: 2.5rem;
	}
	.recruit_process .recruit_process_flex {
		flex-direction: column;
		gap: 1.2rem;
	}
	.recruit_process .recruit_process_flex dt {
		width: 9rem;
		height: 9rem;
	}
	.recruit_process .recruit_process_flex dd {
		padding: 2.2rem 2rem;
		width: 100%;
	}

	.recruit_process .recruit_process_flex:nth-of-type(1) dt::after{
	content: "";
    position: absolute;
    display: block;
    background-color: #fff;
    height: 100%;
    width: 1rem;
    right: 50%;
    transform: translateX(50%);
    bottom: -38%;
    z-index: 0;
	}
	.recruit_process .recruit_process_flex dt::after, .recruit_process .recruit_process_flex:nth-last-of-type(1) dt::after{
		content: "";
		position: absolute;
		display: block;
		background-color: #fff;
		height: 180%;
		width: 1rem;
		right: 50%;
		transform: translateX(50%);
		bottom: -38%;
		z-index: 0;
	}	
	.recruit_process .recruit_process_flex dt {
		padding-top: 3.5%;
	}
	.recruit_process .recruit_process_flex dt span {
		font-size: 1.6rem;
	}
}
/*-----------------contact_page-------------------*/
/*contact_contact*/
.entry_page .breadcrumbs{
	background-color: var(--main-color2);
}
.contact_contact{
	padding-top: 4.5rem;
	padding-bottom: 10.2rem;
	background-color: var(--main-color2);
}
.contact_contact .contact_txt{
	text-align: center;
	margin-bottom: 4.1rem;
}
.contact_contact .subttl_main{
	text-align: center;
	margin-bottom: 3rem;
}
.contact_contact .subttl_main span{
	color: var(--main-color3);	
}
.contact_contact .confirm_txt{
	display: none;
}
.contact_contact .contact_txt p{
	width: 63.1rem;
	margin: 0 auto;
	max-width: 100%;
}
.contact_form .flex_wrap{
	margin-bottom: 2.8rem;
	align-items: baseline;
	flex-wrap: nowrap;
}
.contact_form dl{
	width: 92.6rem;
	margin: 0 auto;
	max-width: 100%;
}
.contact_form .flex_wrap dt {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    width: 23.4%;
}
.contact_form .flex_wrap dd{
    width: 76.6%;
}
.contact_form .flex_wrap dd input{
	background-color:#fff ;
	border: 1px solid #000;
	width: 100%;
	padding: 0.8rem 1rem;
	border-radius: 5px;
}
.contact_form .flex_wrap.resume dd input{
	background: none;
	border: none;
	font-weight: 700;
}
.contact_form .ctc_submit .flex_wrap{
	justify-content: center;
	gap: 1rem;
	align-items: center;
	margin-bottom: 0;
	flex-direction: row;
}
.contact_form .ctc_submit input[type="checkbox"]{
	width: 2rem;
	height: 2rem;
}
.contact_form dd .wpcf7-exclusive-checkbox label{
	display: flex;
	gap: 0.7rem;
	align-items: center;
}
.contact_form dd .wpcf7-list-item label input{
	width: initial;
}

.wpcf7-form-control-wrap{
	height: 2rem;
}


.contact_form .privacy_policy{
	margin: 1.5rem 0 5.7rem;
	padding: 1rem 7rem;
	overflow: scroll;
	height: 8em;
	border: 1px solid #000;
	border-radius: 5px;
	background-color: #fff;
}
.contact_form .privacy_policy p, .contact_form .privacy_policy h3{
	font-size: 1.5rem;
	line-height: 1.333;
}
.contact_form .ctc_submit p{
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.7;
	margin: 0;
	font-weight: 700;
}
.contact_form .ctc_submit .confirm_btn, .ctc_btn{
	color: #fff;
	background-color: var(--main-color);
	border: none;
 	 position: relative;
	display: flex;
 	align-items: center;
	justify-content: center;
	margin: 2.15rem auto 0;
    height: 7.16rem;
	width: 42.3rem;
	max-width: 100%;
	font-size: 1.6rem;
	transition: .3s;
	font-weight: 700;
}
.contact_form .ctc_submit .wpcf7-list-item {
    display: inline-block;
    margin: 0;
}
.wpcf7-spinner {
	display: none;
}
.confirm_area{
	display: none;
}
.confirm_area dd{
	background-color:#fff ;
	border: 1px solid #000;
	width: 100%;
	padding: 0.8rem 1rem;
	border-radius: 5px;
}

.confirm_area .resume dd{
	background-color: transparent;
	border: none;
}
.confirm_area .resume{
	margin-bottom: 7.6rem;
}
.confirm_area .previous_btn{
	color: #000; 
	background-color: #fff;
	border: .1rem solid #000;
 	 position: relative;
	display: flex;
 	align-items: center;
	justify-content: center;
	margin: 2.15rem auto 0;
    height: 7.16rem;
	width: 42.3rem;
	max-height: 100%;
	font-size: 1.6rem;
	transition: .3s;
	max-width: 100%;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.contact_contact {
		padding-top: 2.5rem;
		padding-bottom: 5.2rem;
	}
	.contact_contact .subttl_main {
		margin-bottom: 2rem;
	}
	.subttl .subttl_main span {
        font-size: 3rem;
    }
	.contact_contact .contact_txt {
		text-align: center;
		margin-bottom: 3.1rem;
	}
	
	.contact_form .flex_wrap {
		flex-direction: column;
		margin-bottom: 1.5rem;
	}
	.contact_form .flex_wrap dt {
		width: 100%;
		border: none;
		padding: 1rem 1rem .5rem;
	}
	.contact_form .flex_wrap dd{
		width: 100%;
		border: none;
		padding: 0 1rem;
		line-break: anywhere;
	}
	.contact_form .privacy_policy {
		margin: .5rem 0 2.7rem;
		padding: 1rem 2rem;
	}
	.contact_form .ctc_submit .ctc_btn {
		height: 5rem;
		width: 100%;
	}
	.confirm_area .previous_btn{
		height: 5rem;
		width: 100%;
	}
	.contact_form .ctc_submit {
		margin-top: 3.5rem;
	}
	.contact_form .flex_wrap:nth-last-of-type(1) dt{
		border-bottom: none;
	}
}
/* ===================================================================
// フッター
// ===================================================================*/
#footer .footer_main{
	background-color: #292929;
    padding-top: 5.95rem;
    padding-bottom: 1.1rem;
    z-index: 1;
    position: relative;
	display: flex;
    justify-content: space-between;
    gap: 1rem;
}
#footer .footer_main .footer_company{
	display: flex;
	gap: 2.2rem;
	flex-direction: column;
}
#footer .footer_main .footer_company .logo{
	width: 24.2rem;
}
#footer .footer_main .footer_company .logo a{
	width: 100%;
}
#footer .footer_main .footer_company h2{
	font-size: 2rem;
	color: #fff;
	font-weight: 700;
}
#footer .footer_main .footer_company p{
	color: #fff;
}
#footer .footer_main .footer_nav{
	gap: 2rem 1rem;
    width: 62%;
}
#footer .footer_main .footer_nav ul{
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
#footer .footer_main .footer_nav ul h3{
	margin-bottom: 0.1rem;
}
#footer .footer_main .footer_nav ul h3 a{
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	display: inline-block;
}

#footer .footer_main .footer_nav ul li a{
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.96px;
}
#footer .footer_main .footer_nav ul:nth-last-of-type(1){
	gap: 1.8rem;
}
#footer .footer_main .footer_nav ul:nth-last-of-type(1) h3{
	margin: 0;
}
#footer .footer_com{
	background-color: #292929;
	padding-bottom: 0.5px ;
	padding-top: 0.5px ;
	text-align: right;
}
#footer .footer_com p{
	color: #fff;
	margin: 0 1.8rem 1.4rem 0;
}

@media screen and (max-width: 767px) {
	#footer .footer_main {
		gap: 2.8rem;
		flex-direction: column;
		padding-bottom: 3.1rem;
	}

#footer .footer_main .footer_nav {
    width: 100%;
    justify-content: space-between;

}
}
	/*404*/
	.page_404 .content_404{
		text-align: center;
		padding-top: 10rem;
		padding-bottom: 15rem;
	}
	.page_404 h2{
		font-size: 3rem;
		margin-bottom: 2rem;
	
	}
	.page_404 .btn{
		margin: 0 auto;
		margin-top: 5rem;
	}
	



/*==================================================
fadein
===================================*/
  
	  .fadein {
		opacity: 0;
		transition-duration: 1000ms;
		transition-property: opacity, transform;
		transform: translate(0, 3rem);
	  }
	  
	  .scroll-in {
		opacity: 1;
		transform: translate(0, 0);
	  }
/*==================================================
delayscroll
===================================*/
.box{
	opacity: 0;
}
.fadeUp {
	animation-name:fadeUpAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity: 0;
	}
@keyframes fadeUpAnime{
	from {
	opacity: 0;
	transform: translateY(100px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}
/*==================================================
左から右テキストエフェクト
===================================*/

 .rightAnime {
    opacity: 0;
    overflow: hidden;
    display: block;
  }
 
  .rightAnimeInner {
    display: block;
  }
 
  .slideAnimeLeftRight {
    animation-name: slideTextX100;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
  }
 
  @keyframes slideTextX100 {
    from {
      transform: translateX(-100%);
      /*要素を左の枠外に移動*/
      opacity: 0;
    }
 
    to {
      transform: translateX(0);
      /*要素を元の位置に移動*/
      opacity: 1;
    }
  }
 
  .slideAnimeRightLeft {
    animation-name: slideTextX-100;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
  }
 
 
  @keyframes slideTextX-100 {
    from {
      transform: translateX(100%);
      /*要素を右の枠外に移動*/
      opacity: 0;
    }
 
    to {
      transform: translateX(0);
      /*要素を元の位置に移動*/
      opacity: 1;
    }
  }
