@charset "utf-8";

@media screen and (max-width:1200px) {}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {}

/*==================================================
$common
==================================================*/
:root{
	--black:#242424;
	--white: #fff;
	--blue:#19688D;
	--green:#006E00;
	--red: #BF1111;
	--gray: #D8D8D8;
	--light: #F0F0F0;
	--dark: #333333;
	--breakpoint-xs: 0;
	--breakpoint-sm: 600px;
	--breakpoint-md: 880px;
	--breakpoint-lg: 1080px;
	--breakpoint-xl: 1200px;
	--breakpoint-full: 1920px;
	--font-sans-serif: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--font-serif: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	--font-size40:clamp(32px, 24.000px + 1.333vw, 40px);
	--font-size36:clamp(30px, 24.000px + 1vw, 36px);
	--font-size34:clamp(28px, 22.000px + 1vw, 34px);
	--font-size32:clamp(26px, 20.000px + 1vw, 32px);
	--font-size30:clamp(25px, 20.000px + 0.833vw, 30px);
	--font-size28:clamp(16px, 20.000px + 0.667vw, 20px);
	--font-size26:clamp(22px, 18.000px + 0.667vw, 26px);
	--line-height-lg:2.25;
	--line-height-md:1.75;
	--line-height-sm:1.5;
	--line-height-xs:1.3;

	/*Style Guide*/
	--primary-color:var(--green);
	--sub-color:var(--blue);
	--primary-font: var(--font-sans-serif);
	--web-font: 'Lato', sans-serif;
}

*,
*::before,
*::after {
box-sizing: border-box;
}
html{
	font-size: 16px;
}
body {
	font-size:inherit;
	margin: 0 auto;
	padding: 0;
	letter-spacing: 0.1em;
	line-height: var(--line-height-md);
	position: relative;
	color: #242424;
	font-family: var(--primary-font);
	font-weight: 400;
	text-align: left;	
}
a {color: inherit;text-decoration: none;}
a[href^="tel:"] {pointer-events: none;}
a:link,
a:visited,
a:active {
	text-decoration: none;
}
img,svg {max-width: 100%;height:auto;}
::-moz-selection {/*ハイライトカラー指定*/
    color:#fff;
    background:var(--blue);
}
::selection{/*ハイライトカラー指定*/
    color:#fff;
    background:var(--blue);
}
/*==================================================
$共通エレメント
==================================================*/

.pc{
	display:inherit;
}
.sp{
	display:none;
}
.inner{
	max-width:1250px;
	width:100%;
	margin:0 auto;
	padding:100px 20px 120px;
}
.inner._md{
	max-width:940px;
}
.inner._lg{
	max-width:1120px;
}
.inner._xl{
	max-width:1240px;
}
.inner._full{
	max-width:1920px;
}

.text_center{
	text-align:center;
}
.text_green{
	color:var(--green)!important;
}
.text_danger{
	font-weight:bold;
	color:var(--green);
}
.text_white{
	color:var(--white);
}
.wrap{
	overflow-x:hidden;
}
.row{
	display:flex;
	gap:30px 30px;
}
.btn_wrap{
	display:flex;
	justify-content: center;
	gap:30px;
	align-items: center;
}
.btn01{
	display: block;
	width: fit-content;
	min-width:311px;
	color: var(--green);
	font-size:1rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.75;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
 	overflow: hidden;
	position: relative;
	z-index: 1;
	padding:18px 30px 18px 20px;
	border:1px solid #E6E6E6;
	transition: all 0.3s ease-in-out;
	background: var(--white);
}
.btn01::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	transform: translateX(-101%);
	transition: all .4s;
	z-index: -1;
}
.btn01::after{
	content:"";
	position: absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width:10.5px;
	height:20.5px;
	transition: all 0.4s ease-in-out;
}
.btn01:hover {
	color: var(--white)!important;
}
.btn01:hover::before {
	transform: translateX(0);
}

.btn01._transparent{
	color: var(--green);
}

.btn01._black{
	background: var(--black);
	color:#fff;
}
.btn01._black::after{
	background-image:url(../img/arrow_next_wh.svg);
}
.bg_white{
	background-color:#fff;
}
.bg_gray{
	background-color:#EEEEEE;
}

/*==================================================
header
==================================================*/
.header{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	display: flex;
	align-items: center;
	height:96px;
	z-index:10;
	background:#fff;
}
.home .header,
.recruit-voice-1 .header,
.recruit-voice-2 .header{
	background:transparent;
}
.home .contents,
.recruit-voice-1 .contents,
.recruit-voice-2 .contents{
	padding-top:0 !important;/*背景透過なのでcontentsのpaddingを入れない*/
}
.header .inner{
	max-width: 1870px;
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:0 20px;
	gap:30px;
}
.hd_logo{
	/*margin-right:auto;*/
	flex-shrink: 0;
}

.hd_logo img{
	width: 80%;
}

.hd_nav{
	font-weight:bold;
	font-size:14px;
	letter-spacing: 0.1em;
	position:relative;
	z-index:800;
}
.hd_nav.active{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	z-index:900;
}
.nav_contact{
	width:140px;
}

.nav_contact a{
	background-color: #FFF;
	color: var(--green);
}
.nav_contact a:after{
	display: none;
}

.nav_contact a:hover{
	background-color: var(--green);
	color: #FFF;
}

/*---   ハンバーガーボタン   ---*/
.hamburger{
	display:none;
	position:fixed;
	top:0;
	right:0;
	justify-content: center;
	align-items: center;
	z-index: 90;
	width: 70px;
	height:70px;
	color:#fff;
	background:#CCC;
	padding:15px;
	cursor: pointer;
	border: 0;
	border-radius: 0;
	z-index: 999;
	transition: all 0.5s;/*アニメーション設定*/
}
.hamburger .burger_line,
.hamburger .burger_line:before,
.hamburger .burger_line:after {
    content: '';
    display: block;
    width: 100%;
	max-width:25px;
    height: 1px;
	background-color: #fff;
    transition: all 0.3s;/*アニメーション設定*/
}
.hamburger .burger_line{
    position:relative;
	display:block;
	margin:15px auto;
}
.hamburger .burger_line:before,
.hamburger .burger_line:after {
	position:absolute;
}
.hamburger .burger_line:before {
	left:0;
    bottom: 8px;
}
.hamburger .burger_line:after {
    top:8px;
	left:0;
}
.active .hamburger .burger_line {
    background-color: transparent;/*メニューオープン時は真ん中の線を透明にする*/
}
.active .hamburger .burger_line::before {
	left:4px;
    bottom: 8px;
	transform: rotate(45deg);
	transform-origin:left top;
}
.active .hamburger .burger_line::after {
    top:10px;
	left:4px;
	transform: rotate(-45deg);
	transform-origin:left bottom;
}
/*==================================================
ハンバーガーメニュー
==================================================*/
/*PCサイズ以上*/
@media screen and (min-width:981px) {
	.hd_nav{
		width:100%;
		max-width:720px;
	}
	.hd_nav_menu ul{
		display:flex;
		justify-content: space-between;
		align-items: center;
		gap:10px;
	}
	.hd_nav_menu > ul > li{
		color:var(--black);
		text-align: center;
	}
	.home .hd_nav_menu > ul > li{
		color:#fff;
	}
	.hd_nav_menu > ul > li > a{
		display:block;
		transition: all 0.3s linear ;
		padding:10px 0;
		text-decoration: none;
		position: relative;
	}
	.home .hd_nav_menu > ul > li > a{
		/* text-shadow: 0px 0px 10px rgba(0, 0, 0, 1); */
	}
	.hd_nav_menu > ul > li > a::after {
		content: '';
		/*絶対配置で線の位置を決める*/
		position: absolute;
		bottom: 0;
		left: 10%;
		/*線の形状*/
		width: 80%;
		height: 2px;
		background:var(--green);
		/*アニメーションの指定*/
		transition: all .3s;
		transform: scale(0, 1);/*X方向0、Y方向1*/
		transform-origin: center top;/*上部中央基点*/
	}
	.home .hd_nav_menu > ul > li > a::after {
		background:var(--white);
	}
	.hd_nav_menu > ul > li > a:hover::after {
		transform: scale(1, 1);/*X方向にスケール拡大*/
	}
	.hd_nav_menu > ul > li >.sub{
		display:none;
	}
}

/*タブレットサイズ以下*/
@media screen and (max-width:980px) {
	.header{
		min-height:70px;
	}
	.hd_logo{
		width:fit-content;
	}
	.hd_nav .hamburger {
		display:flex;
		justify-content: center;
		align-items: center;
	}	
	.hd_nav .nav_content {
		display:flex;
		flex-direction: column;	
		width: 70vw;
		height: 100vh;
		height: 100svh;
		overflow-y: auto;
		color:#fff;
		transition: all 0.5s;/*アニメーション設定*/
		position: fixed;
		top: 0;
		right: 0;
		padding:25px 25px 50px;
		transform: translateX(100vw);
		opacity:0;
		transition: all .1s linear;
		background:#222121;
		z-index:900;
	}
	.active .nav_content{
		transform: translateX(0);
		opacity: 1;
	}
	.hd_nav_logo{
		width:calc(100% - 80px);
		margin-bottom:40px;
	}
	.hd_nav_logo a{
		display:inline-block;
	}
	.nav_content_logo{
		display:block;
		width:116px;
		margin-bottom:80px;
	}
	
	.nav_content_logo a{
		display: block;
	}
	.nav_content_logo a img{
		width:80%;
	}
	.hd_nav_menu{
		margin-bottom:50px;
	}
	.nav_contact a{
		background-color: initial;
		color: #FFF;
		font-weight: bold;
	}
	.nav_contact a:hover{
		background-color: initial;
		color:  var(--green);
	}
	.hd_nav_menu > ul{
		display:block;
		height:auto;
	}
	.hd_nav_menu > ul > li + li{
		margin-top:30px;
	}
	.hd_nav_menu > ul a{
		display: flex;
		align-items: center;
		height:100%;
		vertical-align: middle;
		font-size:18px;
		line-height: 1.3;
		letter-spacing:0.18em;
		color:#fff;
		position: relative;
		transition: all 0.4s ease;
	}

	.hd_nav_menu > ul a:hover,
	.hd_nav_menu > ul a:active{
		color:var( --primary-color);
	}
	
	.hd_nav_menu ul > li .sub{
		display: flex;
		flex-wrap: wrap;
		margin-top:5px;
	}
	.hd_nav_menu ul > li .sub > li{
		display:flex;
		align-items: center;
		font-size:13px;
		color:#A8A7A7;
	}
	.hd_nav_menu ul > li .sub > li::before{
		content:"/";
	}
	.hd_nav_menu ul > li .sub > li a{
		font-size:13px;
		font-weight:500;
		color:#A8A7A7;
		padding:5px 15px 5px 5px;
	}
	.others_menu{
		display:block;
	}
	.others_menu a{
		color:#FFF;
		font-size: 18px;
	}
	
}
#mask {
	display: none;
	transition: all .5s;
}
  /* ナビゲーションが展開された部分の外側余白を指定する */
.hd_nav.active #mask {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	z-index: 800;
	cursor: pointer;
}
.scroll_off {
	overflow:hidden;
}


/*==================================================
$共通パーツ　コンタクト
==================================================*/
.c_contact{
	position: relative;
	color:var(--white);
	background:transparent;
	text-align: center;
	background-image: url(../img/bg_footer_pc.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
body:not(:has(.top_background_fixed)) .c_contact{
	background:#747474;
}

.c_contact .inner{
	position: relative;
	z-index: 3;
	padding-top: 80px;
	padding-bottom: 80px;
}

.c_contact p{
	margin-bottom:30px;
}

.section_heading{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.4;
}

.section_heading .en{
	color: var(--green);
	font-size: 18px;
	font-weight: bold;
}

.section_title.text_white .en{
	font-size: 80px;
}

.section_title.text_white .ja{
	font-size: 32px;
}

/*==================================================
$footer
==================================================*/

footer{
	color:var(--white);
	background:var(--dark);
}
footer .row{
	justify-content: space-between;
}
.ft_left{
	width:500px;
}
.ft_logo{
	width: 116px;
	margin-bottom:35px;
}
.ft_logo img{
	width: 80%;
}
footer address{
	font-size:14px;
	letter-spacing: 0.1em;
	line-height:1.571;
	color:var(--gray);
}
footer address p + p{
	margin-top:10px;
}
footer .ft_sub-menu{
	font-size:14px;
	letter-spacing: 0.1em;
	line-height:1.571;
	color:var(--gray);
}
footer .ft_sub-menu a{
	display:flex;
	align-items: center;
	transition: all 0.2s linear;
}
footer .ft_sub-menu a:before{
	content:"";
	display: inline-block;
	width:0;
	height:1px;
	background:var(--white);
	transition: all 0.2s linear;
}
footer .ft_sub-menu a:hover{
	color: var(--white);
}
footer .ft_sub-menu a:hover::before{
	width:10px;
}
.ft_right{
	text-align: right;
	max-width: 450px;
	width:calc(100% - 250px);
}
.ft_nav{
	margin-bottom:50px;
}
.ft_nav ul{
	display:flex;
	justify-content: end;
	flex-wrap: wrap;
	gap: 10px 45px;
}
.ft_nav ul li{
	width: 25%;
	font-size:14px;

}
.ft_nav ul li a{
	display: block;
	font-weight:bold;
	letter-spacing: 0.1em;
	color: var(--white);
	border: 1px solid transparent;
	padding: 5px 10px;
	position: relative;
	text-decoration: none;
	text-align: center;
}

.ft_nav ul li a::after,
.ft_nav ul li a::before,
.ft_nav ul li a span::after,
.ft_nav ul li a span::before {
  background-color: var(--white);
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
}
/* 左上へ配置 */
.ft_nav ul li a::after {
    width: 0px;
    height: 1px;
    top: -1px;
    left: -1px;
}
/* 右下へ配置 */
.ft_nav ul li a::before {
    width: 0px;
    height: 1px;
    right: -1px;
    bottom: -1px;
}
/* 左下へ配置 */
.ft_nav ul li a span::after {
    width: 1px;
    height: 0px;
    left: -1px;
    bottom: -1px;
}
/* 右上へ配置 */
.ft_nav ul li a span::before {
    width: 1px;
    height: 0px;
    top: -1px;
    right: -1px;
}

/* hover */
.ft_nav ul li a:hover::after,
.ft_nav ul li a:hover::before {
  width: 100%;
  width: calc(100% + 1px);
}

.ft_nav ul li a:hover span::after,
.ft_nav ul li a:hover span::before {
  height: 100%;
  height: calc(100% + 1px);
}

.ft_sns{
	display:flex;
	justify-content: end;
	gap:15px 25px;
	margin-bottom:20px;
}
.sns_icon svg{
	fill: currentColor;
	transition: all 0.3s ease;
}
.sns_icon a:hover svg{
	transform: scale(1.5);
	transition: all 0.3s ease;
}
.sns_icon._facebook a:hover svg{
	fill: #3b5998;
}
.sns_icon._instagram a:hover svg {
	fill: var(--primary-color);
}
.copyright{
	color:var(--gray);
}

/*==================================================
トップページ　index
==================================================*/
.top_background_fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100vw;
	height:100vh;
	z-index:-1;
	overflow: hidden;
}
.top_background_fixed > video,
.top_background_fixed > img{
	object-fit: cover;
	width:100%;
	height:100%;
}
.top_mv{
	display:flex;
	align-items: center;
	width:100vw;
	height:100vh;
	height:100dvh;
	/* color:#fff; */
	color: #F6F6F6;
	/*background:rgba(0,0,0,0.7);*/
	position: relative;
}

.top_mv	.inner{
	position: relative;
	z-index:2;
}

.top_mv:after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:url(../img/layer_image.png) no-repeat top center / cover;
	z-index:1;
}


.mv_title_group{
	position: relative;
	z-index:3;
}

.mv_title{

}

.mv_title .en{
	font-size: 34px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.607;
	margin-bottom: 10px;
}

.mv_title .min{
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.17em;
	line-height: 1.607;
	margin-bottom: 20px;
}

.mv_title .big{
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.3em;
	line-height: 1.607;
}


.mv_title strong{
	display: inline-block;
	/*margin-left:0.5em;*/
	border-bottom:3px dotted var( --primary-color);
}

.mv_title span{
	font-size:28px;
	margin-left: 1em;
}

.partner_text p{
	line-height: 2;
}


.top_business{
	background:#fff;
}
.section_title{
	position: relative;
	font-size: 32px;
	letter-spacing: 0.18em;
	line-height:1.611;
	font-weight: bold;
	margin-bottom:30px;
}

.section_title:before{
	content:"";
	display:block;
	width:50px;
	height:5px;
	background:var(--green);
	position:absolute;
	top:-20px;
	left:0;
}


.section_title span{
	position: absolute;
	bottom: 52px;
	left: 0px;
	display:block;
	color: #F9F9F9;
	font-family: "Cormorant Garamond", serif;
	font-size: 120px;
	letter-spacing: 0;
	line-height: 1;
	text-align: left;
}
.section_title span.tag{
	color:#AAAAAA;
}
.section_title.text_white,
.section_title.text_white span{
	color:var(--white);
}
.section_title02{
	margin-bottom:40px;
}
.section_title02 figure{
	margin-bottom: 20px;
}

.top_business .inner{
	padding-top:185px;
	padding-bottom:150px;
}
.top_business .section_title{
	margin-bottom: 80px;
}
.top_business_contents{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 57px;
}
.top_business_contents_text{
	width: 420px;
}

.top_business_contents figure{
	text-align:center;
	pointer-events: none;
}
.top_business_items{
	display: flex;
	flex-wrap: wrap;
	gap: 50px 3%;
}

.top_business_items p{
	font-size: 14px;
}

.top_business_items > div{
	width: 31.33%;
	padding:2%;
	background: rgb(236, 236, 236);
}
.top_business_items > div h3{
	font-size: 28px;
	font-size: var(--font-size28);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.607;
	margin-bottom: 10px;
}
.top_business_items > div h3 span{
	font-size:0.643em;
}
/* .top_business__item1 {
	width:342px;
	left:0;
	top: -10%;
}
.top_business__item2 {
	width:364px;
	top: -10%;
	right:0;
}
.top_business__item3 {
	width:383px;
	top: 23%;
	left: -15px;
}

.top_business__item4 {
	width: 354px;
	top: 23%;
	right:0;
}

.top_business__item5 {
	width:383px;
	top: 58%;
	left: -15px;
}

.top_business__item6 {
	width: 354px;
	top: 58%;
	right:0;
} */

.top_business__btn{
	width:fit-content;
    position: initial;
    margin: 0 auto;
    margin-top: 50px;
}
@media screen and (max-width:1024px) {
	.top_business_contents figure{
		margin-bottom:35px;
	}
	.top_business_items{
		display:flex;
		flex-wrap: wrap;
		gap:10px;
		margin-bottom:35px;
	}
	.top_business_items > div{
		position:static;
		width: 32%;
	}
	.top_business__btn{
		position: static;
	}
}
/*top_about */
.top_about_title{
	font-size: 48px;
	font-size: clamp(40px, 32.000px + 1.333vw, 48px);
	font-weight: bold;
	letter-spacing: 0;
}
.top_about_title .inner{
	display: flex;
	align-items: end;
	aspect-ratio:100 / 21 ;
	padding-top:100px;
	padding-bottom:0;
	margin-top:-1px;
	margin-bottom: -1px;
	background:url(../img/top_about_title_bg.svg) no-repeat top center / 100% auto;
	position:relative;
}
.top_about_title .inner::before,
.top_about_title .inner::after{
	content:"";
	display:block;
	width:calc(50vw - 50%);
	height:100%;
	position:absolute;
	background-color: var(--white);
	top:0;
}
.top_about_title .inner::before{
	left:0;
	transform: translateX(-100%);
}
.top_about_title .inner::after{
	right:0;
	transform: translateX(100%);
}
.top_about_content{
	background-color: var(--white);
	padding:120px 0;
}
.top_about_content .inner{
	padding-top:25px;
	padding-bottom:20px;
}

.top_about_partner{
counter-reset: partner 0;
}
.partner_box{
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
	position: relative;
}
.partner_box + .partner_box {
	margin-top:120px;
}
/*
.partner_box._box1{
	background:url(../img/top_about01.png) no-repeat center left / auto 100%;
}
.partner_box._box2{
	background:url(../img/top_about02.png) no-repeat center right / auto 100%;
}
.partner_box._box3{
	background:url(../img/top_about03.png) no-repeat center left / auto 100%;
}*/
.partner_box .inner{
	display:flex;
	justify-content: flex-end;
	align-items: center;
	padding:0 20px;
	/*min-height: 544px;*/
}

.partner_box._box2 .inner{
	justify-content: flex-start;
	flex-direction: row-reverse;
}
.partner_box .inner > picture{
	aspect-ratio: 100 / 68;
	pointer-events: none;
}
.partner_box .inner > picture img{
	/*position: absolute;*/
	display: block;
	width:100%;
	max-width:800px;
	/*top:50%;
	left:0;
	transform: translateY(-50%);*/
	z-index: 1;
}

@media screen and (max-width:1200px) {
	.partner_box .inner > picture img{
		max-width:450px;
	}
}

.partner_box._box2 .inner > picture img{
	left:auto;
	right:0;
}
.partner_text{
	position:relative;
	max-width:380px;
	width:100%;
	z-index:2;
}


@media screen and (max-width: 820px) {
	.partner_text{
		max-width: 335px;
	}
}


/*top_works 実績*/
.top_works{
	overflow: hidden;
    background: linear-gradient(0deg, rgba(240,240,240,1) 78%, rgba(255,255,255,1) 78%);
}
.top_works .row{
	gap:20px;
}
.top_works .row .left{
	width:130px;
}
.top_works .row .right{
	width:calc(100% - 150px);
}
.panel-group{
	width:calc( 100%  + ( 50vw - 50%) );
}
.category_title{
	font-size:18px;
	letter-spacing: 0.1em;
	font-weight: bold;
	color:#adadad;
	margin-bottom:10px;
}
/*
.tab_panel{
}*/
.tab-group{
	width:150px;
}
.tab{
	width:fit-content;
	padding:5px 0;
	list-style:none;
	text-align:left;
	line-height: 1;
	cursor:pointer;
	position: relative;
	margin-bottom:10px;
}
.tab::after{
	content:"";
	display:block;
	width:1%;
	height:3px;
	background: transparent;
	position:absolute;
	left:0;
	bottom:0;
  }
  .tab:hover{
	color:var(--primary-color);
  }
  .tab.is-active{
	cursor: default;
	color:var(--primary-color);
	transition: all 0.2s ease-out;
  }
  .tab.is-active::after{
	width:100%;
	transition: all 0.2s ease-out;
	background: var(--primary-color);
	}
	.panel-group{
		/*height:500px;*/
		/*margin-bottom:60px;*/
		position: relative;
	  }
.panel{
	visibility:hidden;
	height:0;
	opacity: 0;
}
.panel.is-show{
	visibility: visible;
	height:auto;
	opacity: 1;
}


  /*slick slide 上書き*/
  .slider{
	visibility: hidden;
	opacity: 0;
  }
  .slider.slick-initialized{
	visibility:visible; /*slick-initializedが付与されたら表示*/
	opacity: 1;
  }
  .top_works_slider .slick-list{
	padding:0 60px;
	clip-path: polygon(140px 0, 100% 0%, 100% 100%, 0% 100%);
	margin-left:-60px;
  }
  .top_works_slider .slide-arrow{
	position:absolute;
	z-index:10;
	cursor: pointer;
  }
  .top_works_slider .slide-arrow:hover{
	opacity:0.8;
  }
  .top_works_slider .prev-arrow{
	left:-140px;
	bottom:0;
  }
  .top_works_slider .next-arrow{/*非表示*/
	display:none !important;
	visibility: hidden;
	opacity: 0;
	right:10%;
	bottom:0;
  }
  .top_works_slider .post_item a{
	display:block;
  }
  .top_works_slider .post_thumb{
	display:block;
	width:668px;
	aspect-ratio: 100 / 60.78;
	overflow:hidden;
	clip-path: polygon(110px 0, 100% 0%, calc(100% - 110px) 100%, 0% 100%);
	margin-bottom:-50px;
}
.top_works_slider .post_thumb img{
	object-fit: cover;
	width:100%;
	height:100%;
	transition: all 0.2s ease;
}
.top_works_slider .post_item a:hover .post_thumb img{
	transform: scale(1.1);
	transition: all 0.2s ease;
}
.top_works_slider .post_text{
	width:615px;
	background:var(--white);
	padding:25px 65px;
	clip-path: polygon(47px 0, 100% 0%, calc(100% - 47px) 100%, 0% 100%);
	/*min-height:168px;*/
}
.tag{
	display: inline-block;
	font-size:12px;
	font-weight: 500;
	color:#AAAAAA;
	letter-spacing: 0.1em;
}
.top_works_slider .post_text .tag{
	font-size:14px;
	color:var(--primary-color);
	margin-right:30px;
}
.top_works_slider .post_title{
	display:inline-block;
	font-size:1rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.top_works_slider .post_item a:hover .post_title{
	color:var(--primary-color);
}
.top_works_slider .post_excerpt{
	margin-top:20px;
	font-size:14px;
	letter-spacing: 0.1em;
	line-height:1.8;
	color:#777777;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
/*top_news 最新情報*/
.top_news{
	padding-top: 150px;
	background:var(--white);
}
.top_news .inner{
	position: relative;
}
.top_news .section_title{
	margin-right:auto;
}
.top_news .btn_wrap{
	width:fit-content;
	position:absolute;
	top:100px;
	right:40px;
}
.news_list li + li{
	margin-top:10px;
}
.news_list li a{
	display:flex;
	gap:50px;
	position:relative;
	padding:15px 0;
	transition: all 0.3s ease;
}
.home .news_list li a::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;	
	background:var(--gray);
}
.home .news_list li a::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:0%;
	height:1px;
	background:var(--primary-color);
}
.news_list li a:hover{
	color:var(--primary-color);
}
.home .news_list li a:hover::after{
	width:100%;
	transition: all 0.4s linear;
}
.home .news_list li time{
	width:100px;
	color:var(--primary-color);
}
.news_list li .post_title{
	flex:1;
	padding-right:30px;
	position:relative;
}
.home .news_list li .post_title::after{
	content:"";
	position: absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width:10.5px;
	height:20.5px;
	background:url(../img/arrow_next.svg) no-repeat center center / contain;
	transition: all 0.4s ease-in-out;
}
/*top_recruit　採用情報*/
.top_recruit{
	color:var(--white);
	background:var(--dark) url(../img/top_recruit_bg.jpg) no-repeat center center / cover;
}
.top_recruit .section_title span{
	color:var(--white);
}
.top_recruit p{
	margin-bottom:45px;
}
/*top_office 事業所案内*/
.top_office{
	width:100%;
	overflow:hidden;
	background:var(--white);
}

.top_office .section_title{
	margin-bottom:45px;
}
.top_office .row{
	justify-content: center;

	margin:auto;
	width:100%;
    height: 100%;
	position: relative;
	left:50%;
	transform: translateX(-50%);
	gap:0;
	padding-bottom:75px;
}
.top_office .row div>*{
	position:relative;
	z-index: 3;
}
.top_office .row .col{
	width:100%;
	position:relative;
	/*background:var(--light);*/
	/*clip-path: polygon(100px 0, 100% 0%, calc(100% - 100px) 100%, 0% 100%);*/
}
.top_office .row ._left{
	transform: translateX(40px);
}
.top_office .row ._right{
	transform: translateY(75px) translateX(-40px);
}
.top_office .office_info{
	max-width:680px;
	padding:75px 50px 30px 150px;
	margin-bottom: 45px;
}
.top_office .office_info > h3{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom:15px;
}
.top_office .office_info > dl{
	display:flex;
	flex-wrap: wrap;
	gap:15px 35px;
}
.top_office .office_info > dl dt{
	width:75px;
}
.top_office .office_info > dl dd{
	width:calc(100% - 110px);
}
.top_office .office_info > dl dd span{
	display:inline-block;
}
.top_office .row ._left .office_info{
	margin-left:auto;
}


.gmap {
	overflow: hidden;
	width:100%;
	position: relative;
	z-index:10;
	aspect-ratio: 100 / 50;
	max-height:450px;
}
.gmap iframe {
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
	height: 100%;
	width: 100%;
}
.top_office .gmap{
	height:365px;
}
.top_office .gmap iframe{
	height:365px;
}

/*==================================================
下層ページここから
==================================================*/

.page_title{
	background:#fff;
	margin-bottom:50px;
}
.page_title:has(.inner){
	margin-bottom:0;
}
.page_title .inner{
	margin-top:-1px;
	margin-bottom:-1px;
	padding-top:100px;
	padding-bottom:80px;
}
.page_title p{
	margin-top:65px;
}

/*パンくずリスト functionsにて生成*/
.breadcrumbs{
	color: #8a8a8a;
	line-height: var(--line-height-xs);
    vertical-align: baseline;
	background: #fff;
}
.breadcrumbs .inner{
    max-width: var(--breakpoint-xl);
	padding: 10px 0 0;
}
.breadcrumbs ul {
	overflow-x: auto;
	white-space:nowrap;
	padding:0 15px 15px;
}
.contents:has( + .c_contact) .breadcrumbs ul {
	max-width:calc(100% - 400px);
}

.breadcrumbs ul > li {
	color: #8a8a8a;
    font-size: 13px;
    font-weight: 500;
	letter-spacing:0.12em;
    position: relative;
    vertical-align: middle;
    display: inline;
}
.breadcrumbs ul > li:nth-child(n+2)::before {
    display: inline-block;
    content: "/";
    margin: 0 7px;
}
.breadcrumbs ul > li a {
	color: #8a8a8a;
}
.breadcrumbs ul > li a:hover {
	color: #444;
	text-decoration: underline;
}

/* Worksページここから */
.works_menu{
	margin-bottom:65px;
}
.works_menu ul{
    display:flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:15px;
    list-style: none;
    text-align: center;
}

.works_menu ul li{
    display: inline-block;
	font-size:14px;
	font-weight: 500;
	letter-spacing: 0.1em;
    padding: 0;
    margin: 0;
    text-align: center;
    letter-spacing:normal;
}

.works_menu ul li a{
	display:block;
	padding:6px 10px;
	transition: all 0.3s linear ;
	text-decoration: none;
	position: relative;
}
.works_menu > ul > li > a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: 0;
	left: 10%;
	/*線の形状*/
	width: 80%;
	height: 2px;
	background:var(--green);
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(0, 1);/*X方向0、Y方向1*/
	transform-origin: center top;/*上部中央基点*/
}
.works_menu > ul > li > a:hover::after,
.works_menu ul li.current a::after{
	transform: scale(1, 1);/*X方向にスケール拡大*/
}

.works_item{
	margin-top:-240px;
}

.works_items{
	display: flex;
	flex-wrap: wrap;
	gap:30px 5%;
	margin: 0 auto 100px;
}
.works__item {
	width:calc(90% / 3);
}
.works__item a{
	display:block;
	transition: all 0.3s ease;
}
.works__item a *{
	transition: all 0.3s ease;
}
.works__item a:hover img{
	transform: scale(1.1);
	opacity: 0.8;
}
.works__item a:hover .w-name{
	color:var(--primary-color);
}
.works__item figure{
	aspect-ratio: 20 / 19;
	overflow: hidden;
}
.works__item figure img{
	object-fit: cover;
	width:100%;
	height:100%;
}
.w-name{
	margin-top:15px;
	font-size: 18px;
	font-weight:bold;
	color: #333;
}
.w-tag{
	font-size: 12px;
	font-weight:400;
	color: #AAA;
}

/*ページネーション ページャー*/
.wp-pagenavi {
	clear: both;
	text-align:center;
	margin-top:100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap:18px;

}
.wp-pagenavi a, .wp-pagenavi span {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	color: #383838;
	font-size:18px;
	letter-spacing: 0;
	line-height: 1.1;
	min-width: 45px;
	height: 45px;
	background: #fff;
	border: 1px solid #e0e0d2;
	padding: 8px;
	white-space: nowrap;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration:none;
	margin:0;
	border: 1px solid #DEDEDE;
}
.wp-pagenavi a:hover{
	background: var(--primary-color);
	color: #fff;
	border: 1px solid #e0e0d2;
    }
.wp-pagenavi span.current{
	background: var(--primary-color);
	color: #fff;
	border: 1px solid #e0e0d2;
	pointer-events: none;
    }


.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:15px 15px;
  flex-wrap: wrap;
  list-style: none;	
  margin-bottom: 130px;	
}
.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 45px;
  height: 45px;
  background: #fff;
  border: 1px solid #DEDEDE;	
  font-size: 14px;
  color: #111;
  font-weight: bold;
  transition: all 0.15s linear;
}
.page-numbers.current {
  pointer-events: none;
  background: var(--primary-color);
  color: #fff;
}
.page-numbers:not(.current):hover {
  background: var(--primary-color);
  color: #fff;
}

/* Worksページここまで*/

/* Works詳細ページここから */
.single_works .page_title .inner{
	padding-bottom:80px;
}
.works_post > .inner{
	padding-top:0px;
}
.detail_title{
	margin-top:100px;
	margin-bottom:0;
}

.detail_subtitle{
	margin-bottom:45px;
}
.detail_subtitle h2{
	font-size:32px;
	font-weight:bold;
}

/*スライダー*/
/* slide-box */
/*
.works_post .slider_wrap{
}
#works_slider {
}*/
  #works_slider .slider_item .slider_image{
	width:100%;
	aspect-ratio: 20 / 19;
	background:#333;
	text-align:center;
  }
  #works_slider .slider_item .slider_image img{
	object-fit: contain;
	width:100%;
	height:100%;
  }
  /* slide */
  .slider_navigation{
	margin-top:10px;
  }
  .slider_navigation.no_slide .slick-track{
	transform: unset !important;
	width: 100% !important;
	display:flex;
}
  .slider_navigation .slider_image {
	aspect-ratio: 4 / 3;
	overflow:hidden;
	background:#fff;
  }
  .slider_navigation .slider_image img{
	object-fit: cover;
	width:100%;
	height:100%;
	transition: all 0.3s ease;
}
.slider_navigation .slider_image:hover img{
	opacity:0.8;
  }
  .slider_navigation .slick-current .slider_image img{
	opacity: 0.7;
  }
  /* slide-navigation */
  
  .slide-navigation {
	line-height: 0;
	position: relative;
	width: 35%;
	margin: 0;
	padding: 0;
  }
  .slide-navigation .item {
	position: relative;
	cursor: pointer;
  }
  .slide-navigation .item .image {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
  }
  .slide-navigation .item .image::before {
	display: block;
	padding-top: 25%;
	content: "";
  }
  .slide-navigation .item .image::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	opacity: 0.5;
	background: #000;
  }
  .slide-navigation .slick-current .image::after {
	opacity: 0;
  }
  .slide-navigation .item .image {
	position: relative;
	overflow: hidden;
  }
  .slide-navigation .item .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
  }
    /*
  @media screen and (max-width: 767px) {
	.slide-navigation {
	  width: 100%;
	}
	.slide-navigation .item .image::before {
	  padding-top: 50%;
	}
  }
    
  /*
  .slick-vertical .slick-slide {
	border: 0 solid transparent;
  }
  .slick-arrow {
	z-index: 999;
  }
  .slick-prev {
	top: 25px;
	bottom: auto;
	left: 0;
	right: 0;
	margin: auto;
  }
  .slick-prev:before {
	content: "↑";
  }
  .slick-next {
	top: auto;
	bottom: 5px;
	left: 0;
	right: 0;
	margin: auto;
  }
  .slick-next:before {
	content: "↓";
  }
  
  @media screen and (max-width: 767px) {
	.slick-prev {
	  top: 20px;
	  bottom: 0;
	  right: auto;
	  left: 20px;
	}
	.slick-prev:before {
	  content: "←";
	}
	.slick-next {
	  top: 20px;
	  bottom: 0;
	  right: 20px;
	  left: auto;
	}
	.slick-next:before {
	  content: "→";
	}
  }
*/
.works_post .textarea{
	text-align: justify;
	text-align-last:left ;
}

.detail_content{
	display: flex;
}

.detail_content h3{
	font-size:18px;
	font-weight:bold;
	margin-bottom:5px;
}
.detail_block{
	width:50%;
	padding-right:40px
}
.detail_txt{
	width:50%;
	padding-left:40px
}
.detail_txt_2{
	margin-top:200px;
	width:50%;
	padding-left:40px
}
.detail_txt h3,.detail_txt_2 h3{
	margin-bottom:24px
}
.detail_txt p{
	font-size: 16px;
	color: #333;
	margin-bottom:126px;
}

.detail_img img{
	width:540px;
	height: auto;
	display: block;
}
.detail_img_thumbnail img{
	width:116px;
	height: auto;
	display: block;
	margin-top:10px;
}
.table01{
	width:100%;
	border-collapse: separate;
}
.table01 tr{
	background-image : linear-gradient(to right, #B7B7B7 20px, transparent 0px);
	background-size: 6px 1px;
	background-repeat: repeat-x; 
	background-position: left bottom;
}
.table01 tr > *{
	letter-spacing: 0.1em;
	line-height: var(--line-height-md);
	padding:30px 3%;
	border:0;
}
.table01 th{
	font-weight: bold;
	width:25%;
	min-width:170px;
	border-bottom: 1px solid var(--green);
}
/*実績詳細ページナビゲーション*/
.detail_pagination_warraper{
	background:#EEEEEE;
}
.detail_pagination{
	display:flex;
	justify-content: space-between;
	align-items: center;
	gap:20px;
}
.detail_pagination .nav-prev,
.detail_pagination .nav-next{
	flex:1;
}

.detail_pagination .nav-prev a,
.detail_pagination .nav-next a{
	display: flex;
	align-items: center;
	gap:15px 5%;
}
.detail_pagination a{
	transition: all 0.3s ease;
}
.detail_pagination a:hover{
	color:var(--primary-color);
}
.detail_pagination .nav-prev figure,
.detail_pagination .nav-next figure{
	width: 116px;
	aspect-ratio: 1 / 1;
	overflow:hidden;
}
.detail_pagination figure img{
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease;
}
.detail_pagination .nav-prev a:hover figure img,
.detail_pagination .nav-next a:hover figure img{
	transform: scale(1.1);
	opacity: 0.8;
}
.detail_pagination div{
	flex-grow:1;
}
.detail_pagination h4{
	font-size: 16px;
	font-weight:bold;
	text-align: left;
	line-height: var(--line-height-sm);
}
.detail_pagination .w-tag{
	font-size: 12px;
	color:#AAAAAA;
	font-weight:400;
}
.detail_pagination .nav-next a div > *{
	text-align: right;
}
.detail_pagination_back{
	width: 100px;
	flex-shrink: 0;
}
.detail_pagination_back a{
	display:flex;
	flex-direction: column;
	justify-content: center;
	gap:10px;
	text-align:center;
	font-size: 16px;
	line-height: 1;
}
.detail_pagination_back figure{
	width:fit-content;
	margin:auto;
}
.detail_pagination_back figure img{
	width: 16px;
	aspect-ratio: 1 / 1;
}

/* Works詳細ページここまで */

/* 事業内容（business）ページここから*/
.page_business .page_title{
	margin-bottom:0;
}
section:has(.hollow){
	overflow:hidden;
}
.section_title_bg{
	position:relative;
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
	z-index:1;
	pointer-events: none;
}
.business_sec1 .section_title_bg{
	margin-bottom:-310px;
}

.business_sec2{
	background:#F2F2F2;
}
.business_sec2 .section_title_bg{
	margin-bottom: -265px;
}

.business_sec3 .section_title_bg{
	margin-bottom:-380px;
}

.business_sec4{
	background:#F2F2F2;
}
.business_sec4 .section_title_bg{
	margin-bottom:-280px;
}

.business_sec5 .section_title_bg{
	margin-bottom:-380px;
}

.business_sec6{
	background:#F2F2F2;
}
.business_sec6 .section_title_bg{
	margin-bottom:-280px;
}

/*
.business_sec3 .section_title_bg img{
}*/
.section_title_bg.hollow::before,
.section_title_bg.hollow::after{
	position:absolute;
	content:"";
	display:block;
	z-index:-1;
	background:#fff;
	width:50vw;
	height:100%;
}
.section_title_bg.hollow::before{
	top:0;
	left:50%;
}
.section_title_bg.hollow::after{
	top:0;
	right:100%;
}
.business_contents{
	position:relative;
}
.hollow + .business_contents::before{
	content:"";
	display:block;
	position: absolute;
	left:0;
	background:#fff;
	width:100%;
	z-index:-1;
}
.business_sec1 .hollow + .business_contents::before{
	top:370px;
	height:calc(100% - 370px);
}

.business_sec3 .section_title_bg{
	margin-bottom:-220px;
}
.business_sec3 .hollow + .business_contents::before{
	top:210px;
	height:calc(100% - 210px);
}
@media (min-width: 1921px) {
	.section_title_bg.hollow::after{
		display:block;
	}
}
@media (max-width: 1070px) {
	.business_sec1 .section_title_bg{
		margin-bottom:-36vw;
	}
	.business_sec1 .hollow + .business_contents::before{
		top:35vw;
		height:calc(100% - 35vw);
	}	
	.business_sec2 .section_title_bg{
		margin-bottom:-20vw;
	}
	.business_sec3 .section_title_bg{
		margin-bottom:-10vw;
	}
	.business_sec3 .hollow + .business_contents::before{
		top:10vw;
		height:calc(100% - 10vw);
	}	
	.section_title_bg.hollow::before{
		display:none;
	}
	.section_title_bg.hollow::after{
		content:"";
		display:block;
		position: absolute;
		top:52vw;
		left:0;
		background:#fff;
		width:100%;
		height:3000px;
		z-index:1;
	}
	
}
.business_contents{
	position: relative;
	z-index:2;
}
.business_contents .inner{
	padding-top:0;
}

.business_item p.sub_txt{
	width:800px;
	margin:0 auto -160px;
}

.page_business .business_items{
	display: flex;
	flex-wrap: wrap;
	gap:60px 5.6%;
	margin-top:40px;
}

.page_business .business__item{
	width:calc(94.4% / 2);
}
.page_business .business__item a{
	transition: all 0.3s ease;
}
.business_sec3 .business_items{
	display:block;
}
.business_sec3 .business__item{
	width:100%;
}
.business_sec3 .business__item a{
	display:flex;
	gap:30px 6.4%;
}
.page_business .business__item a .post_thumb{
	aspect-ratio: 20 / 19;
	overflow: hidden;
}
.page_business .business__item a .post_thumb img{
	object-fit: cover;
	width: 100%;
	height:100%;
	transition: all 0.3s ease;
}
.page_business .business__item a:hover .post_thumb img{
	transform: scale(1.1);
	opacity: 0.8;
}
.page_business .business__item a:hover .w-name{
	color:var(--green);
}
.page_business .business__item figure{
	aspect-ratio: 20 / 19;
	overflow: hidden;
}
.w-text{
	margin-top:12px;
}
.business_contents .btn_wrap{
	margin-top:50px;
}

/* 事業内容（business）ページここまで */




/* お知らせ一覧ここから */
.archive_news .news_list li{
	border-bottom:1px dashed #C7C7C7;
	transition: all 0.3s ease;
}
.archive_news .news_list li a:hover{
	color: var(--primary-color);
}
.archive_news .news_list li:hover{
	border-bottom:1px dashed var(--primary-color);
}
/* お知らせページここから single-news */

/*.single-page{}*/
.news_title{
	margin-bottom: 55px;
}
.entry-date{
	display:block;
	width: fit-content;
	letter-spacing: 0.2em;
	text-align:center;
	margin:0 auto;
}
.news_title	.post_title{
	display: block;
	font-size:31px;
	font-size:var(--font-size32);
	letter-spacing: 0.14em;
	line-height: 1.3;
}
.wp-content{
	margin-bottom:65px;
}

time.n-date{
	font-size:16px;
	color:var( --black);
}
h3.n-title{
	font-size:16px;
	color:var( --black);
}
time.n-date:hover{
	opacity: 0.7;
}
h3.n-title:hover{
	opacity: 0.7;
}
.single_news .btn_wrap{
	margin-top:60px;
	padding-bottom:120px;
}
/* お知らせページここまで */

/* 企業情報ページここから */
.about_philosophy{
	position: relative;
}
.about_philosophy::before{
	content:"";
	display: block;
	position: absolute;
	width:100%;
	height:calc(100% - 540px);
	top:0;
	left:0;
	background:#fff;
	z-index:-1;
}
.num_title_content{
	counter-reset: listnum;
	padding-left: 50px;
}
.num_title_content .num_title{
	font-size:36px;
	font-weight:bold;
	position: relative;
}
.num_title_content.recruit_request_content .num_title{
	font-size:28px;
	color:var(--green);
	margin-bottom:30px;
}
.num_title_content .num_title::before{
	content: counter(listnum, decimal-leading-zero);
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	position:absolute;
	top:calc(50% - 10px);
	left:-50px;
	font-size:20px;
	line-height: 1;
	font-weight: bold;
	color:var(--green);
}
.num_title_content .num_title:nth-of-type(n + 2){
	margin-top: 70px;
}
.num_title_content p{
	font-size:20px;
	letter-spacing: 0;
	line-height: var(--line-height-lg);
	margin-top:10px;
}
.about_philosophy .bg_arrow{
	position: relative;
	max-width:1920px;
	margin:-277px auto -1px auto;
	text-align: right;
	z-index:-1;
}
.about_philosophy .bg_arrow figure{
	position: relative;
	width:fit-content;
	margin-left:auto;
	z-index:-1;
}
.about_philosophy .bg_arrow figure::before{
	content:"";
	display: block;
	width:calc(100vw + ( 1920px - 630px ) );
	height:100%;
	position: absolute;
	top:0;
	right:99%;
	background:#fff;
	z-index:-1;
}
.about_philosophy .bg_arrow figure::after{
	position: absolute;
	top:0;
	left:100%;
	content:"";
	display: block;
	width:calc(100vw - 960px );
	height:100%;
	background:#fff;
	z-index:-1;
}
.about_message{
	background:#fff;
}
.about_title{
	margin-top:100px;
	margin-bottom:-120px;
}
.about_title img{
	height: 132px;
	width:auto;
}
.about_subtitle{
	font-size:36px;
	font-weight:bold;
}
.about_content{
	display: flex;
	gap:8%;
}
.about_content > *{
	flex:1;
}
/*
.about_message .about_txt p{
	text-indent: 1em;
}*/
.about_message .about_txt p + p{
	margin-top:1em;
}

.about_profile figure figcaption{
	margin-top:12px;
	font-size:18px;
}
.about_profile figure figcaption span{
	font-size:26px;
	display: inline-block;
}
.message_title{
	font-size:28px;
	letter-spacing: 0.05em;
	line-height: var(--line-height-md);
	font-weight:bold;
	color:var(--green);
	margin-bottom:30px;
}
/*
.history_flow{
}*/
.history_flow li{
	position: relative;
	display: flex;
	gap:30px;
	padding-left:30px;
	padding-bottom:30px;
}
.history_flow li::before{
	content:"";
	display: block;
	width:10px;
	height:10px;
	background:var(--black) ;
	border-radius: 50%;
	position: absolute;
	top:calc(0.75em - 5px);
	left:0;
}
.history_flow li:not(:last-child)::after{
	content:"";
	display: block;
	width:1px;
	height:calc(100% - 26px);
	background:var(--black);
	position: absolute;
	left:5px;
	top:23px;
}
.history_flow li p{
	min-width:120px;
}
/* 企業情報ページここまで */



/*採用ページ*/
.recruit_intro{
	background: #fff;
	text-align: center;
}
.recruit_intro .inner{
padding-top:0;
}
.recruit_intro .inner > h3{
	font-size:28px;
	letter-spacing: 0;
	line-height: var(--line-height-md);
}
.recruit_intro .inner > p{
	margin-top: 30px;
}
/*
.recruit_request{
}*/
.recruit_voice{
	background: #fff;
}
.request_title figure{
	max-width:1360px;
	width:1360px;
	margin:auto;
	flex-basis: 1360px; /* flexアイテムの幅を自動で調整 */
}
.request_title_txtimg{
	max-width:1120px;
	margin:auto;
}
.request_title_txtimg figure{
	width:fit-content;
	position: relative;
}
.request_title_txtimg figure::before,
.request_title_txtimg figure::after{
	content:"";
	display: block;
	position:absolute;
	width:50vw;
	height:100%;
	background: linear-gradient(0deg, rgba(238,238,238,1) 50%, rgba(255,255,255,1) 50%);
}
.request_title_txtimg figure::before{
	top:0;
	left:100%;
}
.request_title_txtimg figure::after{
	top:0;
	right:100%;
}
.recruit_items{
	display:flex;
	gap:50px;
}
.recruit_items .recruit_request_head{
	flex-shrink: 0;
	width:270px;
	padding-left:40px;
	position: relative;
}
.recruit_items .recruit_request_head::before{
	position: absolute;
	top:-30px;
	left:0;
	content:"";
	display: block;
	width:1px;
	height:60px;
	background:var(--black);
	transform: rotate(35deg);
}
.request_title{
	font-size:48px;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:30px;
}
.request_title span{
	display:block;
}
.request_title span + span{
	margin-left:0.5em;
}
.recruit_request_content p{
	font-size: 1rem;
	padding-top: 40px;
	margin-top: 40px;
	border-top: 1px solid #AAAAAA;
}
.voice_items{
	display:flex;
}
.voice_item a{
	display: block;
	position: relative;
}
.voice_item a::after{
	content:"";
	display: block;
	width:50px;
	height:35px;
	background: url("../img/slide_arrow_next.svg") no-repeat center center / contain;
	position: absolute;
	top:40%;
	right:20%;
	transition: all 0.3s ease;
}
.voice_item:nth-child(2) a::after{
	top:45%;
}
.voice_item a:hover::after{
	right:17%;
}
h4 span.number{
	font-size:20px;
	padding-right:30px;
}
.voice_item a img{
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	transition: all 0.3s linear;
}
.voice_item a:hover img{
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}
.voice_item:first-child .recruit_prof{
	top:3%;
	left:65%;
}
.voice_item:nth-child(2) .recruit_prof{
	top: -3%;
	left: 55%;
}
.recruit_prof{
	display:block;
	width: 50%;
	position:absolute;
	top:30px;
	right:30px;
	z-index:5;
}

.recruit_prof h3{
	font-size: 34px;
	letter-spacing: 0.18em;
	line-height: var(--line-height-sm);
}
.recruit_prof p{
	font-size: 18px;
	margin-bottom:15px;
}

.recruit_info{
	background:#fff;
}

.recruit_info .inner > h3{
	text-align:center;
	font-size:28px;
	margin-bottom:30px;
}
.recruit_info .inner > p{
	text-align:center;
	font-size:16px;
	margin-bottom:75px;
}
/*
.recruit_list li + li{
	margin-top:10px;
}
.recruit_list span{
	display:flex;
	gap:50px;
	position:relative;
	padding:15px 0;
	border-bottom:1px dotted #AAAAAA;
}
.recruit_list{
}
.recruit_list h2{
	width:200px;
	padding-left:60px;
}
.recruit_list .post_title{
	flex:1;
	padding-right:20px;
	position:relative;
}
*/
/* 採用情報ページここまで */

/* 先輩社員の声ページここから */
.recruit-voice-1 .page_title,
.recruit-voice-2 .page_title{
	width:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:5;
	background:transparent;
}
.recruit-voice-1 .page_title .section_title,
.recruit-voice-2 .page_title .section_title	{
	position:absolute;
	top:30%;
	color:#fff;
}
.voice_mv_wrap{
	position: relative;
}
.voice_mv_wrap::before,
.voice_mv::before{
	content:"";
	display: block;
	width:1015px;
	height:2220px;
	position: absolute;
	top:0;
	right:55%;
	clip-path: polygon(62% 0%, 100% 0%, 38% 100%, 0% 100%);
	z-index:1;
	pointer-events: none;
}
.voice_mv_wrap::before{
	background: rgb(200,200,200,0.3);
}

.voice_mv,
.recruit-voice-1 .page_title,
.recruit-voice-2 .page_title{
	width:100%;
	aspect-ratio: 50 / 23  ;
	max-height: 800px;
	min-height:630px;
}
.voice_mv{
	position: relative;
	z-index: auto;
	overflow:hidden
}
.voice_mv::before{
	background: rgb(50,50,50,0.6);
}
.voice_mv._staff01{
	background:#90908F url("../img/voice_mv01.jpg") no-repeat top center / cover;
}
.voice_mv._staff02{
	background:#90908F url("../img/voice_mv02.jpg") no-repeat top center / cover;
}
.voice_mv .inner{
	position: relative;
	z-index:5;
	height:100%;
}
.voice_mv .voice_mv_text{
	color:#fff;
	position: absolute;	width:100%;
	top:50%;
	left:0;
	padding-left:50px;
}
.voice_mv .voice_mv_text .section_title{
	color:#fff;
}
.voice_mv_text h3{
	font-size:36px;
	letter-spacing: 0.06em;
}
.voice_mv_text p{
	letter-spacing: 0;
}


/*
.voice-topview{
	position: relative;
}
.voice-topview_txt{
	position: absolute;
	top:180px;
	left:360px;
}
.voice-topview_txt h2{
	color: #fff;
	font-size: 32px;
	
}
.voice-topview_txt h3{
	color: #fff;	
	font-size: 36px;
}
.voice-topview_txt p{
	color: #fff;	
	font-size: 16px;
}*/
.voice_interview{
	position: relative;
	z-index:auto;
}
.voice_interview::before{
	content:"";
	display: block;
	width:800px;
	height:1600px;
	position: absolute;
	top:50%;
	left:75%;
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(238,238,238,1) 20%);
	clip-path: polygon(60% 0%, 100% 0%, 40% 100%, 0% 100%);
	z-index:1;
	pointer-events: none;
}
.recruit-voice-2 .voice_interview::before{
	top:auto;
	bottom:-50px;
}
.voice_interview .inner{
	position: relative;
	z-index: 2;
}
.voice_interview .voice_item1{
	overflow: hidden;
}
.voice_interview .voice_item1 .row{
	gap:65px;
	margin-bottom:70px;
}
.voice_interview .voice_item1 .row .left{
	flex: 1;
}
.voice_interview .voice_item1 .row .right{
	max-width:488px;
	flex: 1;
}

.voice_interview .voice_item1 figure{
	float:right;
}
.voice-title{
	display:flex;
	
	font-size:26px;
	margin-bottom: 16px;
	gap:0.3em;
}
.voice-title::before{
	content:"―";
}
.voice_item1 .voice-title{
	color: #006E00;
}
.voice-subtitle{
	font-size:22px;
	letter-spacing: 0;
	margin-bottom: 12px;
}
.voice_item1 .voice-txt:not(:last-child){
	margin-bottom:  60px;
}
.voice_item2{
	width:100%;
	overflow: hidden;
}
.voice_item2 .inner{
	padding-top:0;
	padding-bottom:0;
	max-width: 1406px;
	position: relative;
}
.voice_item2 figure{
	display: block;
	position:absolute;
	top:5%;
	left:0;
	width: 48%;
	height:740px;
	z-index: 3;
	clip-path: polygon(34% 0%, 100% 0%, 66% 100%, 0% 100%);
	overflow: hidden;
	pointer-events: none;
}
.voice_item2 figure img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.voice_item2_text{
	position: relative;
	margin-left:auto;
	width:75%;
	background:#969696;
	clip-path: polygon(27% 0%, 100% 0%, 73% 100%, 0% 100%);
}
.voice_item2_text > div{
	color:#fff;
	padding:85px 25%;
	transform: translateX(7%);
}
.voice_item2_text > div:nth-child(2){
	background: #ADADAD;
	transform: translateX(-7%);
}

.voice_item1 .voice-subtitle{
	color: #333;
}
.voice-txt{
	font-size:1rem;
	letter-spacing: 0;
	margin-bottom: 1rem;
}
.voice_item1 .voice-txt{
	color: #333;	
}
.voice_item2_text .voice-txt{
	max-width:460px;
}
.voice_schedule{
	position: relative;
}
.voice_schedule .inner{
	position: relative;
	z-index: 3;
}
.voice_schedule .row{
	margin-top:100px;
	gap:0;
}
.voice_schedule .left{
	flex-shrink: 0;
	padding-left:5%;

}
.schedule_list{
	max-width: 900px;
	margin:0 auto;
}
.schedule_list li{
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.schedule_list li + li{
	margin-top:15px;
}
.schedule_list li span{
	font-weight: bold;
	display: inline-block;
	margin-right:30px;
}
.voice_list li + li{
	margin-top:6px;
}
.voice_list span{
	display:flex;
	gap:50px;
	position:relative;
	padding:6px 0;
}
.voice_nav nav ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height:170px;
}
.voice_nav nav ul::before{
	content:"";
	display: block;
	width:1px;
	height:100%;
	background:#707070;
	flex-shrink: 0;
}
.voice_nav nav ul li{
	flex:1;
}
.voice_nav nav ul li:first-child{
	order: -1;
}
.voice_nav nav ul li{
	padding:50px;
}
.voice_nav nav ul li a{
	display:block;
	font-size: 18px;
	letter-spacing: 0.1em;
	font-weight: 500;
	width:100%;
	padding:20px 50px;
	position: relative;
	transition: all 0.4s ease;
}
.voice_nav nav ul li a:hover{
	color: var(--green);
}
.voice_nav nav ul li a.prev{
	text-align: left;	
}
.voice_nav nav ul li a.prev::before,
.voice_nav nav ul li a.next::after{
	content:"";
	display: block;
	position: absolute;
	top:calc(50% - 0.6em);
	width:10.5px;
	height:20.45px;
	transition: all 0.4s ease;
}
.voice_nav nav ul li a.prev::before{
	left:15px;
	background:url("../img/arrow_prev.svg") no-repeat center center / contain;
}
.voice_nav nav ul li a.prev:hover::before{
	left:10px;
}
.voice_nav nav ul li a.next{
	text-align: right;
}
.voice_nav nav ul li a.next::after{
	right:15px;
	background:url("../img/arrow_next.svg") no-repeat center center / contain;
}
.voice_nav nav ul li a.next:hover::after{
	right:10px;
}
/* 先輩社員の声ページここまで */

/* お問い合わせページ（contact）ここから*/
.contact_title{
	width: 900px;
	margin:100px auto 200px;
}
.contact_title p{
	margin-top:66px;
}
.contact_order_image{
	display:block;
	width: 296px;
	margin: 90px auto 120px;
}
.contact_content{
	margin-top:62px;
	border:1px solid #F00;
}
.contact_flow{
	margin-bottom:75px;
}
.contact_flow ol{
	counter-reset: unset;
	display: flex;
	justify-content: center;
	gap:60px;
	position: relative;
	z-index:5;
}
.contact_flow ol li{
	width:56.57px;
	font-weight: bold;
	color:#C3C3C3;
	letter-spacing: 0;
	text-align: center;
	position: relative;
	counter-increment: mycounter;
}
.contact_flow ol li.current{
	color:#333333;
}
.contact_flow ol li::before{
	content:"";/*ひし形背景*/
	display: block;
	width:40px;
	aspect-ratio: 1 / 1;
	position: absolute;
	top:-12px;
	background:#fff;
	border:1px solid #C3C3C3;
	transform: rotate(45deg);
	transform-origin:left bottom;
	z-index:-1;
}
.contact_flow ol li.current::before{
	color:#fff;
	background:#333333;
}
.contact_flow ol li:not(:last-child)::after{
	content:"";/*横線*/
	display: block;
	width:50px;
	height:1px;
	background:#333333;
	position: absolute;
	top:27.5px;
	left:calc(100% + 5px);
}
.contact_flow ol li span::before{
	content: counter(mycounter, decimal-leading-zero);
	display: flex;/*数字*/
	justify-content: center;
	align-items: center;
	width:56.57px;
	aspect-ratio: 1 / 1;
	font-weight: bold;
	letter-spacing: 0;
	color:#C3C3C3;
	margin-bottom: 8px;
}
.contact_flow ol li.current span::before{
	color:#fff;
}
/*
.Form {
}
.Form-Item {
}*/
.Form-Item + .Form-Item {
	margin-top:35px;
}
.Form-Item p{
	font-size:13px;
	letter-spacing: 0;
	color:#C3C3C3;
}
.Form-Item-Label {
 display:flex;
 flex-wrap: wrap;
 align-items: center;
 font-size: 18px;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom:5px;
}

.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
.Form-Item-Label-Required ,
.Form-Item-Label-Any {
	display: inline-block;
	font-size: 12px;
	line-height: 1;	
	text-align: center;
	color: #fff;
	margin-left: 0.8rem;
	padding: 4px 8px;
}
.Form-Item-Label-Required {
  background: #006E00;
}
.Form-Item-Label-Any {
  background: #333;
}

input, select ,textarea{
	border: 1px solid #AAAAAA;
}
::placeholder,
select:disabled{
	color: #C4C4C4;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
	color: #C4C4C4;
}
  /* IE対応 */
:-ms-input-placeholder {
	color: #C4C4C4;
}
.Form select,
.Form option,
.Form textarea,
.Form input[type=text],
.Form input[type=tel],
.Form input[type=email],
.Form input[type=search],
.Form input[type=url] {
	width: 100%;
    padding:8px;
}
.Forms input[type=text]{
	min-width:80px;
}

.Form-Item-Input {
  margin-top: 6px;
  margin-bottom: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #fff;
  font-size: 18px;
}
.Form-Item-Label:has(.Form-Item-Label-Required) + div input{
	background: #f6fff6;
}
.mwform-tel-field{
	display: inline-flex;
	align-items: center;
	gap:5px;
}
.Form-Item-Textarea {
  border: 1px solid #AAAAAA;
  padding-left: 1em;
  padding-right: 1em;
  height: 280px;
  flex: 1;
  width: 100%;
  max-width: 800px;
  background: #f6fff6;
  font-size: 18px;
}

.Form-Btn {
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}

.Form .privacy-policy {
  max-width: 700px;
  font-size:15px;
  margin: 50px auto 20px auto;
  height: 175px;
  overflow: scroll;
  padding: 25px;
  border: 1px solid #AAAAAA;
  background-color: #fff;
  line-height: 1.5;
}
.Form .privacy-policy .privacy_content h3:nth-child(n + 2){
margin-top:30px;
}
.agree_btn{
	width:214px;
	height:48px;
	color:#4D4D4D;
	font-size:15px;
	letter-spacing: 0.08em;
	font-weight: 500s;
	text-align:center;
	padding:14px 48px;
	margin:0 auto;
	background: #E4E4E4;

}
p.conf-txt{
	text-align: center;
	margin:30px auto;
}
.Form .btn_wrap{
	margin-top:40px;
}


/*確認画面*/
.mw_wp_form_confirm .Form-Item-Label-Required ,
.mw_wp_form_confirm .Form-Item-Label-Any {
	display:none;
}
.mw_wp_form_confirm .Form-Item p{
	display:none;
}
.mw_wp_form_confirm .agree_btn{
	display:none;
}
.mw_wp_form_confirm .privacy-policy{
	display:none;
}
table.contact_confirmation{
	width:100%;
	margin: 0 auto;
	border-top:1px solid #333;
}
table.contact_confirmation th,
table.contact_confirmation td{
	border-bottom:1px solid #333;
	padding:12px;
}
table.contact_confirmation th{
	width:30%;
	font-weight:bold;
	text-align: center;
}
table.contact_confirmation td{
	width:70%;
}

.completion_txt{
	border:1px solid #ccc;
	padding:40px 20px;
	width:80%;
	margin:30px auto;
}
.completion_txt h3{
	font-size:30px;
	font-weight:bold;
	text-align:center;
	margin-bottom: 20px;
}
.completion_txt p{
	font-size:16px;
	text-align:center;
	margin-bottom:20px;
}
.btn02{
	position: relative;
	display: block;
	width: fit-content;
	min-width:311px;
	color: var(--black);
	font-size:1rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
	padding:18px 20px 18px 30px;
	transition: all 0.3s ease-in-out;
	background: var(--white); 
}
.btn02::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	transform: translateX(-101%);
	transition: all .4s;
	z-index: -1;
}
.btn02::after{
	content:"";
	position: absolute;
	left:15px;
	top:50%;
	transform: translateY(-50%);
	width:10.5px;
	height:20.5px;
	background:url(../img/arrow_prev.svg) no-repeat center center / contain;
	transition: all 0.4s ease-in-out;
}
.btn02._black{
	background: var(--black);
	color:#fff;
}
.btn02::after{
	background-image:url(../img/arrow_prev_wh.svg);
}
.btn03{
	position: relative;
	display: block;
	width: fit-content;
	min-width:311px;
	color: var(--black);
	font-size:1rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
	padding:18px 30px 18px 20px;
	transition: all 0.3s ease-in-out;
	background: var(--white);
	margin-left:225px;
}
.btn03::after{
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	transform: translateX(-101%);
	transition: all .4s;
	z-index: -1;
}
.btn03::after{
	content:"";
	position: absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width:10.5px;
	height:20.5px;
	background:url(../img/arrow_next.svg) no-repeat center center / contain;
	transition: all 0.4s ease-in-out;
}
.btn_submit{
	position: relative;
	display: block;
	width: fit-content;
	min-width:311px;
	color: #ffffff;
	font-size:1rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
	padding:18px 30px 18px 20px;
	transition: all 0.3s ease-in-out;
	background: #333333;
	margin:80px auto 127px;
}
.btn_submit::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-color);
	transform: translateX(-101%);
	transition: all .4s;
	z-index: -1;
}
.btn_submit::after{
	content:"";
	position: absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width:10.5px;
	height:20.5px;
	background:url(../img/arrow_.svg) no-repeat center center / contain;
	transition: all 0.4s ease-in-out;
}
.btn_submit:hover {
	color: var(--white);
}
.btn_submit:hover::before {
	transform: translateX(0);
}
.btn_submit:hover::after{
	background-image:url(../img/arrow_next_wh.svg);
}
.btn_submit._transparent{
	color: var(--white);
}
.btn_submit._transparent::after{
	background-image:url(../img/arrow_next_wh.svg);
}

/* お問い合わせページ（contact）ここまで */

/* プライバシーページここから */
.privacy_content h3{
	font-weight:bold;
	margin-bottom:5px;
}
.privacy_content h3:nth-child(n + 2){
	margin-top:50px;
}
.privacy_content ol{
	margin-top:20px;
}
.privacy_content p + p{
	margin-top:30px;
}
/* プライバシーページここまで */




/*20250226追加***********************/
.top_office .office_info_new{
	padding:30px 0;
}
.top_office .office_info_new > h3{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom:5px;
}
.top_office .office_info_new_box{
	display: flex;
	justify-content: space-between;
	gap: 30px;
}
.top_office .office_info_new_box > dl{
	display:flex;
	flex-wrap: wrap;
	max-width: 520px;
}
.top_office .office_info_new_box > dl dt{
	padding: 10px 0 10px;
}

.top_office .office_info_new_box > dl dt.w60{
	width:60px;
}
.top_office .office_info_new_box > dl dt.w100{
	width:100px;
}

.top_office .office_info_new_box > dl dd{
	width:calc(100% - 110px);
	padding: 10px 0 10px;
}
.top_office .office_info_new_box > dl dd span{
	display:inline-block;
}
.top_office .row ._left .office_info_new_box{
	margin-left:auto;
}
/***********************/



/***************************
20251007追加
****************************/

.section_description{

}

.section_description p{
	line-height: 1.75;
	text-align: center;
}

.business_sec1{
	background-color: #F6F6F6;
}

.business_sec1:nth-of-type(2n){
	background-color: #fff;
}

.business_sec1 .inner{
	padding-top: 50px;
	padding-bottom: 0px;
}


.business_sec1 .business_sec1_inner{
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 250px 0 60px 120px;
	background-position: top 70px left -20px;
	background-repeat: no-repeat;
	background-size: contain;

}

.business_sec1 .business_sec1_inner_left{
	width: 520px;
}

.business_sec1_inner_left_title h3{
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.607;
	margin-bottom: 30px;
}


.business_sec1 .business_sec1_inner_right{
	width: 600px;
}


.f_banner{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 40px;
}
.f_banner_right{
	display: flex;
	align-items: center;
	gap: 20px;
}
.f_banner_right p{
	margin-bottom: 0;
}
.f_banner_right p.privacy_policy a{
	color: var(--gray);
	font-size: 12px;
	text-decoration: underline;
}
.f_banner_img:hover{
	opacity: 0.8;
}

.f_banner .copyright{
	margin-left:auto;
}

.f_banner p.privacy_policy a{
	color: var(--gray);
	font-size: 12px;
	text-decoration: underline;
}

.f_banner p.privacy_policy{
	margin-left: 54px;
}

.f_banner p.privacy_policy a:hover{
	opacity: 0.8;
}

.section_contact_title{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 20px;
}

.section_contact_title .en{
	font-size: 80px;
	line-height: 1;
}

.section_contact_title .ja{
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.18em;
}


.f_banner_sp{
	display: none;
}


.Form{
    display: flex;
    flex-direction: column;
    justify-content: center;
	gap: 50px;
	max-width: 650px;
    height: 80%;
	margin: 0 auto;
}

.Form .Form_item{
	font-size: 18px;
}

.Form .Form_item a{
	font-weight: bold;
}

.Form .Form_item a :hover{
	text-decoration: underline;
}

.Form .Form_item.--mail a{
	text-decoration: underline;
}

.Form .Form_item.--tel{
	display: flex;
	justify-content: space-between;
}

.Form_item_number a{
	font-size: 24px;
}

.Form_item_number span{
	font-size: 14px;
}

.Form_item_title{
	font-weight: bold;
}