@charset "utf-8";
: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: 780px;
	--breakpoint-lg: 1080px;
	--breakpoint-xl: 1200px;
	--breakpoint-full: 100%;
	--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(34px, 25.000px + 3vw, 40px);
	--font-size38:clamp(32px, 23.000px + 3vw, 38px);
	--font-size36:clamp(30px, 21.000px + 3vw, 36px);
	--font-size34:clamp(28px, 19.000px + 3vw, 34px);
	--font-size32:clamp(26px, 17.000px + 3vw, 32px);
	--font-size30:clamp(25px, 17.500px + 2.5vw, 30px);
	--font-size28:clamp(24px, 18.000px + 2vw, 28px);
	--font-size26:clamp(20px, 14.000px + 2vw, 24px);
	--font-size24:clamp(20px, 14.000px + 2vw, 24px);
	--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: 14px;
}
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:none;
}
.sp{
	display:inherit;
}
.inner{
	padding:80px 20px 60px;
}
.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;
	flex-direction: column;	
	gap:30px;
}
.btn_wrap{
	display:flex;
	flex-direction: column;
	justify-content: center;
	gap:30px;
	align-items: center;
}
.btn01{
	display: block;
	width: 90%;
	color: var(--green);
	font-size:16px;
	letter-spacing: 0.1em;
	line-height: var(--line-height-lg);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	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:hover::after{
	background-image:url(../img/arrow_next_wh.svg);
}
.btn01._transparent{
	color: var(--green);
}
.btn01._transparent::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:57px;
	z-index:10;
	background:#fff;
}
.home .header{
	background:transparent;
}
.header .inner{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:0;
}
.hd_logo{
	width: 76.67px;
	padding: 5px 0 5px 20px;
	flex-shrink: 0;
}
.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;
}
/*---   ハンバーガーボタン   ---*/
.hamburger{
	display:block;
	position:fixed;
	top:0;
	right:0;
	justify-content: center;
	align-items: center;
	z-index: 90;
	width: 57px;
	height:57px;
	color:#fff;
	background:#CCC;
	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:15px;
    height: 1px;
	background-color: #fff;
    transition: all 0.5s;/*アニメーション設定*/
}
.hamburger .burger_line{
    position:relative;
	display:block;
	margin:5px auto;
}
.hamburger .burger_line:before,
.hamburger .burger_line:after {
	position:absolute;
}
.hamburger .burger_line:before {
	left:0;
    bottom: 5px;
}
.hamburger .burger_line:after {
    top:5px;
	left:0;
}
.active .hamburger .burger_line {
    background-color: transparent;/*メニューオープン時は真ん中の線を透明にする*/
}
.active .hamburger .burger_line::before {
	left:3px;
    bottom: 5.5px;
	transform: rotate(45deg);
	transform-origin:left top;
}
.active .hamburger .burger_line::after {
    top: 5px;
	left:3px;
	transform: rotate(-45deg);
	transform-origin:left bottom;
}
/*==================================================
ハンバーガーメニュー
==================================================*/
.hd_nav .nav_content {
	display:flex;
	flex-direction: column;	
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	color:#fff;
	transition: all 0.5s;/*アニメーション設定*/
	position: fixed;
	top: 0;
	right: 0;
	padding:5px 20px 5px 0px;
	transform: translateX(200vw) translateY(-100vw);
	opacity:0;
	transition: all .1s linear;
	background:#333;
	z-index:900;
	
}

.active .nav_content{
	transform: translateX(0) translateY(0);
	opacity: 1;
}
.hd_nav_logo{
	width:calc(100% - 80px);
	margin-bottom:40px; 
}
.hd_nav_logo a{
	display:inline-block;
}
.nav_content_logo{
	width: 76.67px;
	margin-bottom:80px;
	padding: 5px 0 5px 20px;
}
.hd_nav_menu{
	margin-bottom:50px;
}
.hd_nav_menu > ul{
	display:block;
	height:auto;
	padding: 0 20px;
}
.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: var(--line-height-md);
	letter-spacing:0.18em;
	color:#fff;
	position: relative;
	transition: all 0.4s ease;
}
.hd_nav_menu > ul a:active,
.hd_nav_menu > ul a:active{
	color:var( --primary-color);
}

.hd_nav_menu ul > li .sub{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	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{
	padding: 0 20px;
	color:#FFF;
}
.others_menu a{
	display: flex;
	align-items: center;
	height: 100%;
	vertical-align: middle;
	font-size: 18px;
	line-height: var(--line-height-md);
	letter-spacing: 0.18em;
	color: #fff;
	position: relative;
	transition: all 0.4s ease;
}
#mask {
	display: none;
}
.scroll_off {
	overflow:hidden;
}
/*==================================================
$共通パーツ　コンタクト
==================================================*/
.c_contact{
	position: relative;
	color:var(--white);
	background:transparent;
	text-align: center;
	background-image: url(../img/bg_footer_sp.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: 32px;
	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 .inner{
	padding-top:50px;
	padding-bottom:40px;
}
footer .row{
	gap: 30px;
}
/*
.ft_left{
}*/
.ft_logo{
	margin-bottom:35px;
}
footer address{
	font-size:14px;
	letter-spacing: 0.1em;
	line-height:1.571;
	color:var(--gray);
	margin-bottom:20px;
}
footer address p + p{
	margin-top:5px;
}
footer .ft_sub-menu{
	font-size:14px;
	font-weight:500;
	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:active{
	color: var(--white);
}
footer .ft_sub-menu a:active::before{
	width:10px;
}
/*
.ft_right{
}*/
.ft_nav{
	margin-bottom:50px;
}
.ft_nav ul{
	display:flex;
	flex-wrap: wrap;
}
.ft_nav ul li{
	width:50%;
	font-size:14px;

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

.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:active::after,
.ft_nav ul li a:active::before {
  width: 100%;
  width: calc(100% + 1px);
}

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

.ft_sns{
	display:flex;
	gap:15px 25px;
	margin-bottom:20px;
}
.sns_icon svg{
	fill: currentColor;
	transition: all 0.3s ease;
}
.sns_icon a:active svg{
	transform: scale(1.5);
	transition: all 0.3s ease;
}
.sns_icon._facebook a:active svg{
	fill: #3b5998;
}
.sns_icon._instagram a:active 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;
	/* color:#fff; */
	color: #F6F6F6;
	/*background:rgba(0,0,0,0.7);*/
	position: relative;
}

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



.top_mv	.inner{
	position: relative;
	z-index:2;
}
.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.2;
	margin-bottom: 10px;
}

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

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



.mv_title strong{
	border-bottom:3px dotted var( --primary-color);
}
.mv_title_group svg{
	width:60%;
	min-width:230px;
}
@media screen and (max-width:300px) {
	.mv_title_group svg{
		width:auto;
		min-width:unset;
	}	
}
.top_business{
	background:#fff;
}
.section_title{
	font-size:26px;
	font-size: var(--font-size26);
	letter-spacing: 0.18em;
	line-height:var(--line-height-md);
	font-weight: bold;
	text-align: left;
}
.section_title span{
	font-family: var(--web-font);
	font-size:0.5em;
	color:var( --primary-color);
	letter-spacing: 0;
	line-height: var(--line-height-xs);
	display:block;
	width: var(--white);
	margin-left:auto;
	margin-right:auto;
	margin-bottom: 5px;
}
.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: 15px;
}


/*top_business 事業内容*/
.top_business .inner{
	padding-top:50px;
	padding-bottom:100px;
}
.top_business .section_title{
	margin-bottom: 35px;
}
.top_business_contents{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
}

.top_business_contents_text{
	width: 100%;
}
.top_business_contents_image{
	width: 90%;
	margin: 0 auto;
}


.top_business_contents figure{
	text-align:center;
	margin-bottom: 50px;
	pointer-events: none;
}
.top_business_items{
	margin-bottom:60px;
}
.top_business_items > div{
	padding:15px;
	background: rgb(236, 236, 236);
}
.top_business_items > div + div{
	margin-top:35px;
}
.top_business_items > div h3{
	font-size: 24px;
	font-size: var(--font-size24);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: var(--line-height-md);
	margin-bottom: 10px;
}
.top_business_items > div h3 span{
	font-size:0.643em;
}
.top_business__btn{
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

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

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


.section_title span{
	position: absolute;
	bottom: 53px;
	left: 0px;
	display: block;
	color: #F9F9F9;
	font-family: "Cormorant Garamond", serif;
	font-size: 80px;
	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:100px;
}
.top_business .section_title{
	margin-bottom: 20px;
}


/*top_about 企業情報*/
.top_about_title{
	font-size: 26px;
	font-size: var(--font-size28);
	font-weight: bold;
	letter-spacing: 0;
}
.top_about_title .inner{
	display: flex;
	align-items: end;
	min-height: 32vw;
	padding-top:21vw;
	padding-bottom:0;
	background:url(..//img/top_about_title_bg_sp.svg) no-repeat top center / 100% auto;
	position:relative;
}
.top_about_title .inner::after{
	content:"";
	display:block;
	width:100%;
	height:30%;
	position:absolute;
	background-color: var(--white);
	left:0;
	right:0;
	bottom:0;
	z-index:-1;
}
.top_about_content{
	background-color: var(--white);
	padding-bottom:0;
}
.top_about_content .inner{
	padding-top:25px;
	padding-bottom:0px;
}
.top_about_intro{
	margin-bottom:45px;
}
.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:0;
}
.partner_box .inner{
	padding:9% 20px 9% 0;
}
.partner_box._box2 .inner{
	justify-content: flex-start;
	flex-direction:column;
}
.partner_box .inner > figure{
	margin-bottom:30px;
	pointer-events: none;
}
.partner_box:nth-child(odd) .inner > figure{
	margin-left:-20px;
}
.partner_box:nth-child(even) .inner > figure{
	margin-right:-20px;
}
.partner_text{
	position:relative;
	z-index:2;
	padding-left: 20px;
}

.partner_text > p{
	padding:10px 0;
}
.partner_box h3{
	font-size:24px;
	font-weight: bold;
	color:var(--primary-color);
	letter-spacing: 0.05em;
	line-height:1.4;
	padding-left:40px;
	margin-bottom:20px;
}
/*top_works 実績*/
.top_works{
	overflow: hidden;
	background: rgb(240,240,240);
    background: linear-gradient(0deg, rgba(240,240,240,1) 50%, rgba(255,255,255,1) 50%);
}
.top_works .inner{
	padding-bottom:0;
}
.top_works .row{
	gap:20px;
}
/*
.top_works .row .left{
}*/
.category_title{
	font-size:18px;
	letter-spacing: 0.1em;
	font-weight: bold;
	color:#adadad;
	margin-bottom:10px;
}
.tab{
	width:fit-content;
	padding:8px 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);
	}
/*
.tab_panel{
}*/
.tab-group{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	gap:30px;
}
.top_works .row .right{
	width:100%;
	padding-top:60px;
}
.panel-group{
	width:calc( 100%  + ( 50vw - 50%) );
}
  .panel-group{
	margin-bottom:60px;
  }
  .panel{
	visibility:hidden;
	height:0;
	opacity: 0;
  }
  .panel.is-show{
	visibility: visible;
	height:auto;
	opacity: 1;
  }

  /*slick slide 上書き*/
  .slider_wrap{
	margin-bottom:30px;
  }
  .slider{
	display: none;
  }
  .slider.slick-initialized{
	display: block; /*slick-initializedが付与されたら表示*/
  }
  .slide-arrow{
	position:absolute;
	z-index:0;
	cursor: pointer;
  }
  .slide-arrow:hover{
	opacity:0.8;
  }
  .prev-arrow{
	width:40px;
	top:-50px;
	right:calc(53% + 20px);
  }
  .next-arrow{
	/*display:none !important;
	visibility: hidden;
	opacity: 0;*/
	width:40px;
	top:-50px;
	left:53%;
  }
  .post_item a{
	display:block;
	margin-right:15px;
  }
  .post_thumb{
	width:100%;
	aspect-ratio: 20 / 19;
	overflow:hidden;
}
.post_thumb img{
	object-fit: cover;
	width:100%;
	height:100%;
	transition: all 0.2s ease;
}
.post_item a:active .post_thumb img{
	transform: scale(1.1);
	transition: all 0.2s ease;
}
.post_text{
	padding:15px 0;
}
.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);
}

.post_title{
	display:inline-block;
	font-size:1rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.post_item a:active .post_title{
	color:var(--primary-color);
}
.post_excerpt{
	margin-top:25px;
	font-size:1rem;
	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{
	background:var(--white);
}

.top_news .inner{
	padding: 150px 20px 60px;
}
.news_list{
	margin-bottom: 30px;
}
.news_list li + li{
	margin-top:10px;
}
.news_list a{
	display:block;
	position:relative;
	padding:15px 0;
}
.top_news .news_list a::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;	
	background:var(--gray);
}
.top_news .news_list a::after{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:0%;
	height:1px;
	background:var(--primary-color);
}
.news_list a:active{
	color:var(--primary-color);
}
.top_news .news_list a:active::after{
	width:100%;
	transition: all 0.4s linear;
}
.news_list time{
	display:block;
	width:fit-content;
}
.top_news .news_list time{
	color:var(--primary-color);
}
.news_list .post_title{
	position:relative;
}

/*top_recruit　採用情報*/
.top_recruit{
	color:var(--white);
	background:var(--dark) url(../img/top_recruit_bg_sp.jpg) no-repeat center center / cover;
}
.top_recruit .inner{
	padding:130px 20px;
}
.top_recruit .section_title span{
	color:var(--white);
}
.top_recruit p{
	text-align:center;
	margin-bottom:45px;
}
/*top_office 事業所案内*/
.top_office{
	width:100%;
	overflow:hidden;
	background:var(--white);
}
.top_office .inner{
}
.top_office .section_title{
	margin-bottom:45px;
}
.top_office .row{
	justify-content: center;
	margin:auto;
	position: relative;
	gap:0;
}
.top_office .row div>*{
	position:relative;
	z-index: 3;
}
.top_office .row .col{
	position:relative;
}
.top_office .row ._left{
	margin-bottom:60px;
}
/*
.top_office .row ._right{
}*/
.top_office .office_info{
	position: relative;
	padding:20px;
	margin-bottom: 35px;
}
.top_office .office_info::before{
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	content:"";
	display:block;
	width:105%;
	height:150%;
	background:#F0F0F0;
	clip-path: polygon(0 0, 100% 0%, calc(100% - 40px) 100%, 0% 100%);
}
.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;
}
.top_office .office_info > dl dt{
	width:70px;
}
.top_office .office_info > dl dd{
	width:calc(100% - 85px);
	margin-bottom: 10px;
}
.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:300px;
}
.top_office .gmap {
	width:100%;
	aspect-ratio: 4 / 3;
	/*clip-path: polygon(0 0, 100% 0%, calc(100% - 40px) 100%, 0% 100%);*/
}
.gmap iframe {
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
	height: 100%;
	width: 100%;
}

/*==================================================
下層ページここから
==================================================*/
.page_title{
	background:#fff;
	margin-bottom:30px;
}
.page_title:has(.inner){
	margin-bottom:0;
}
.page_title .inner{
	padding-top:100px;
	padding-bottom:50px;
}
.page_title p{
	margin-top:50px;
}
/*パンくずリスト functionsにて生成*/
.breadcrumbs{
	color: #8a8a8a;
	line-height: var( --line-height-xs );
    vertical-align: baseline;
	background: #fff;
}
.breadcrumbs .inner{
    padding: 10px 0 0;
}
.breadcrumbs ul {
	overflow-x:auto;
	display: flex;
	white-space:nowrap;
	padding:0 15px 10px;
}
.contents:has( + .c_contact) .breadcrumbs ul {
	width: 58%;
	max-width: calc(100% - 120px);
}
.breadcrumbs ul > li {
	color: #8a8a8a;
    font-size: 12px;
    font-weight: 500;
	letter-spacing:0.12em;
    position: relative;
    vertical-align: middle;
}
.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:active {
	color: #444;
	text-decoration: underline;
}

/* Worksページここから */
.works_menu{
	margin-bottom:65px;
}
.works_menu ul{
    display:flex;
	flex-wrap: wrap;
	gap:10px;
    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:active::after,
.works_menu ul li.current a::after{
	transform: scale(1, 1);/*X方向にスケール拡大*/
}
.works_items{
	display: flex;
	flex-direction: column;
	gap:30px;
	margin: 0 auto 60px;
}
.works__item a{
	display:block;
	transition: all 0.3s ease;
}
.works__item a *{
	transition: all 0.3s ease;
}
.works__item a:active img{
	transform: scale(1.1);
	opacity: 0.8;
}
.works__item a:active .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:5px;
	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;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap:13px;
	margin-top:60px;
	margin-bottom:50px;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	color: #383838;
	font-size:15px;
	letter-spacing: 0;
	line-height: 1.1;
	min-width: 35px;
	height: 35px;
	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:active{
	background: var(--primary-color);
	color: #fff;
	border: 1px solid #e0e0d2;
    }
.wp-pagenavi span.current{
	background: var(--primary-color);
	color: #fff;
	border: 1px solid #e0e0d2;
    }
.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詳細ページここから */
.single_works .page_title .inner{
	padding-bottom:40px;
}
.works_post > .inner{
	padding-top:0px;
}
.detail_subtitle{
	margin-bottom:30px;
}
.detail_subtitle h2{
	font-size:26px;
	font-size:var(--font-size26);
	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: 100%;
	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%;
  }
    /* end slick */

	.works_post .textarea{
		text-align: justify;
		text-align-last:left ;
	}
	.detail_content{
		display: flex;
		flex-direction: column;
	}
	.detail_content h3{
		font-size:18px;
		font-weight:bold;
		margin-top:30px;
		margin-bottom:5px;
	}
	.detail_txt{
		margin-top:20px;
	}
	.detail_txt p{
		color: #333;
	}
	
	.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:15px 3%;
		border:0;
	}
	.table01 th{
		font-weight: bold;
		width:30%;
		border-bottom: 1px solid var(--green);
	}
	/*実績詳細ページナビゲーション*/
.detail_pagination_warraper{
	background:#EEEEEE;
}
.detail_pagination_warraper .inner{
	padding-bottom:100px;
}
.detail_pagination{
	display:flex;
	flex-direction: column;
	align-items: center;
	gap:40px;
}
.detail_pagination .nav-prev,
.detail_pagination .nav-next{
	width:100%;
}

.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:active{
	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:active figure img,
.detail_pagination .nav-next a:active 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{
	order: -1;
	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:-1px 0;
}
section:has(.hollow){
	overflow:hidden;
}
.section_title_bg{
	position:relative;
	margin:-2px 0;
	z-index:1;
	width: fit-content;
	pointer-events: none;
}
.section_title_bg.hollow::after{
	position:absolute;
	content:"";
	display:block;
	z-index:-1;
	background:#fff;
	width:50vw;
	height:100%;
	top:0;
	left:99%;
}
.business_contents{
	position:relative;
	z-index:2;
	background:#fff;
}
.business_sec2 {
	padding-top:0;
	background:#F2F2F2;
}
.business_sec2 .section_title_bg{
	margin-bottom:-30px;
}
.business_sec2 .business_contents{
	background:transparent;
}
.business_contents .inner{
	padding-top:0;
	padding-bottom:10px;
}
.business_contents .sub_txt{
	margin-top: 15px;
	margin-bottom:60px;
}
.business_sec3 .business_contents{
	z-index:auto;
}
/*
.business_sec3 .section_title_bg img{
}*/
.business__item + .business__item{
	margin-top:60px;
}
.business__item .w-text{
	margin-top:25px;
}

.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:active{
	color: var(--primary-color);
}
.archive_news .news_list li:hover{
	border-bottom:1px dashed var(--primary-color);
}
/* お知らせ一覧ここまで */
/* お知らせページここから */
/*.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:28px;
	font-size:var(--font-size28);
	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:40px;
	padding-bottom:120px;
}

/* お知らせページここまで */

/* 企業情報ページここから */
.about_philosophy{
	position: relative;
}
.about_philosophy .inner{
	background:#fff;
	padding-bottom: 30px;
}
.num_title_content{
	counter-reset: listnum;
	padding-left: 30px;
}
.num_title_content .num_title{
	font-size:22px;
	letter-spacing: 0.06em;
	font-weight:bold;
	position: relative;
}
.num_title_content.recruit_request_content .num_title{
	font-size:22px;
	color:var(--green);
	margin-bottom:10px;
}
.num_title_content .num_title::before{
	content: counter(listnum, decimal-leading-zero);
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	position:absolute;
	top:0.85em;
	left:-30px;
	font-size:13px;
	line-height: 1;
	font-weight: bold;
	color:var(--green);
}
.num_title_content .num_title:nth-of-type(n + 2){
	margin-top: 45px;
}
.num_title_content p{
	font-size:14px;
	letter-spacing: 0.1em;
	line-height: var(--line-height-lg);
	margin-top:10px;
}
.about_philosophy .bg_arrow{
	position: relative;
	margin:0 auto -1px;
	text-align: right;
	z-index:-1;
}
.about_philosophy .bg_arrow figure{
	width:50%;
	position: relative;
	margin-left:auto;
	z-index:-1;
}
.about_philosophy .bg_arrow figure::before{
	content:"";
	display: block;
	width:101%;
	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{
}*/
.about_content > *{
	flex:1;
}
.about_message .about_txt p + p{
	margin-top:1em;
}

.about_profile{
	margin-bottom:40px;
}
.about_profile figure figcaption{
	font-size:14px;
	margin-top:12px;
	letter-spacing: 0.1em;
}
.about_profile figure figcaption span{
	font-size:20px;
	display: inline-block;
}
.message_title{
	font-size:21px;
	letter-spacing: 0.05em;
	line-height: var(--line-height-md);
	font-weight:bold;
	color:var(--green);
	margin-bottom:30px;
}



.history_flow{
	margin-bottom:30px;
}
.history_flow li{
	position: relative;
	display: flex;
	flex-direction: column;
	gap:5px;
	padding-left:30px;
	padding-bottom:15px;
}
.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:20px;
	font-weight: bold;
	letter-spacing: 0.14em;
	letter-spacing: 0;
	line-height: var(--line-height-md);
}
.recruit_intro .inner > p{
	text-align: left;
	margin-top: 30px;
}
/*
.recruit_request{
}*/
.recruit_voice{
	background: #fff;
}
.recruit_voice .inner{
	padding-left: 0;
	padding-right: 0;
}
.request_content .inner{
	padding-top:10px;
}
.request_title figure{
	max-width:1360px;
	width:1360px;
	margin:auto;
	flex-basis: 1360px; /* flexアイテムの幅を自動で調整 */
}
.request_title_txtimg{
	position: relative;
	max-width:1920px;
	margin:auto;
}
.request_title_txtimg::before,
.request_title_txtimg::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::before{
	top:0;
	left:1360px;
}
.request_title_txtimg::after{
	top:0;
	right:100%;
}
.recruit_items .recruit_request_head{
	margin-bottom:60px;
}
.request_title{
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:30px;
	position: relative;
	padding-left:20px;
}
.recruit_voice .section_title02{
	max-width:90%;
}
.recruit_items .request_title::before{
	position: absolute;
	top:0px;
	left:0;
	content:"";
	display: block;
	width:1px;
	height:25px;
	background:var(--black);
	transform: rotate(35deg);
}

.request_title span{
	display:inline-block;
}

.recruit_request_content p{
	font-size: 1rem;
	padding-top: 20px;
	margin-top: 10px;
	border-top: 1px solid #AAAAAA;
}
.voice_items{
	display:flex;
	flex-direction: column;
	gap:80px;
}
.voice_item a{
	display: block;
	position: relative;
}
.voice_item a::after{
	content:"";
	display: block;
	width:30px;
	aspect-ratio: 10 / 7;
	background: url("../img/slide_arrow_next.svg") no-repeat center center / contain;
	position: absolute;
	top:35%;
	right:15%;
	transition: all 0.3s ease;
}
.voice_item:nth-child(2) a::after{
	top:39%;
}
.voice_item a:active::after{
	right:10%;
}
h4 span.number{
	font-size:20px;
	padding-right:30px;
}
/*
.voice_item img{
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
.voice_item a:active img{
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}*/
.recruit_prof{
	width:35%;
	display:block;
	position:absolute;
	right:5%;
	z-index:5;
}
.voice_item:first-child .recruit_prof{
	top:3%;
}
.voice_item:nth-child(2) .recruit_prof{
	top:7%;
}


.recruit_prof h3{
	font-size: 24px;
	letter-spacing: 0.18em;
	line-height: var(--line-height-sm);
}
.recruit_prof p{
	font-size: 13px;
	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:left;
	font-size:16px;
	margin-bottom:60px;
}
/*
.recruit_list li + li{
	margin-top:10px;
}
.recruit_list span{
	display:flex;
	gap:50px;
	position:relative;
	padding:15px 0;
	border-bottom:1px dotted #AAAAAA;
}
*/
/* 採用情報ページここまで */
/* 先輩社員の声ページここから */
.voice_mv_wrap{
	position: relative;
}
.voice_mv_wrap::before,
.voice_mv::before{
	content:"";
	display: block;
	width:120%;
	height:250%;
	position: absolute;
	top:0;
	right:35%;
	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_wrap::after{
	content:"";
	display: block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	mix-blend-mode:multiply;
	background-image:  radial-gradient( rgba(255,255,255,0), rgba(0,0,0,0.11) );
	z-index:6;
}

.voice_mv{
	width:100%;
	aspect-ratio: 1 / 1  ;
	max-height: 800px;
}
.voice_mv{
	position: relative;
	z-index: auto;
	overflow:hidden;
	background:#fff;
}
.voice_mv::before{
	background: rgb(50,50,50,0.6);
}
.voice_mv::after{
	content:"";
	display: block;
	width: 100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:2;
}
.voice_mv._staff01::after{
	/* background:url("../img/voice_mv01_sp.png") no-repeat top center / cover; */
}
.voice_mv._staff02::after{
	/* background:url("../img/voice_mv02_sp.png") 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:24px;
	font-size: var(--font-size24);
	letter-spacing: 0.06em;
}
.voice_mv_text p{
	font-size:13px;
	letter-spacing: 0;
}
.voice_interview{
	position: relative;
	z-index:auto;
}
.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-title{
	display:flex;
	font-size:18px;
	font-weight: bold;
	letter-spacing: 0.06em;
	margin-bottom: 16px;
	gap:0.3em;
}
.voice-title::before{
	content:"―";
}
.voice_item1 .voice-title{
	color: #006E00;
}
.voice-subtitle{
	font-size:16px;
	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;
	width:130%;
	aspect-ratio: 100 / 74.5;
	margin-left:-15%;
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
	overflow: hidden;
	margin-bottom:-35px;
	position: relative;
	z-index:3;
	pointer-events: none;
}
.voice_item2 figure img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.voice_item2_text{
	position: relative;
	width:calc(100% + 40px);
	margin-left:-20px;
	background:#969696;
}
.voice_item2_text > div{
	padding:80px 20px;
	color:#fff;
}
.voice_item2_text > div:nth-child(2){
	background: #ADADAD;
}

.voice_item1 .voice-subtitle{
	color: #333;
}
.voice-txt{
	font-size:1rem;
	letter-spacing: 0;
	margin-bottom: 1rem;
}
.voice_item1 .voice-txt{
	color: #333;	
}
.voice_schedule{
	position: relative;
}
.voice_schedule .inner{
	position: relative;
	z-index: 3;
}
.voice_schedule .row{
	margin-top:60px;
	gap:60px;
}
/*
.voice_schedule .left{
}*/
.schedule_list{
	max-width: 900px;
	margin:0 auto;
}
.schedule_list li{
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.schedule_list li + li{
	margin-top:10px;
}
.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{
}*/
.voice_nav nav ul li + li{
	margin-top:20px;
}
.voice_nav nav ul li a{
	display:block;
	font-size: 16px;
	letter-spacing: 0.1em;
	font-weight: 500;
	width:100%;
	padding:20px 40px;
	position: relative;
	transition: all 0.4s ease;
}
.voice_nav nav ul li a:active{
	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:10vw;
	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:8vw;
	height:1px;
	background:#333333;
	position: absolute;
	top:27.5px;
	left:calc(100% + 1vw);
}
.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: 15px;
  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 input[type=text]:focus,
.Form input[type=tel]:focus,
.Form input[type=email]:focus,
.Form input[type=search]:focus,
.Form input[type=url]:focus {
	background:#fff;
}
.Form-Item-Input {
  margin-top: 6px;
  margin-bottom: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 42px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #fff;
  font-size: 1rem;
}
.Form-Item-Label:has(.Form-Item-Label-Required) + div input{
	background: #f6fff6;
}
.mwform-tel-field{
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	gap:5px;
	overflow-x:auto ;
}
.mwform-tel-field > input{
	max-width: calc((100% - 40px) / 3 );
	min-width:4rem;
}
.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:13px;
  margin: 50px auto 20px auto;
  height: 200px;
  overflow: scroll;
  padding: 25px 15px; 
  border: 1px solid #AAAAAA;
  background-color: #fff;
  line-height: 1.75;
}
.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:90%;
	margin:30px auto;
}
.completion_txt h3{
	font-size:22px;
	font-weight:bold;
	text-align:center;
	margin-bottom: 20px;
}
.completion_txt p{
	font-size:14px;
	text-align:left;
	margin-bottom:20px;
}
.completion_txt p span{
	display: inline-block;
}
.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;
	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{
	background: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:35px;
}
.privacy_content ol{
	margin-top:15px;
}
.privacy_content p + p{
	margin-top:20px;
}
/* プライバシーページここまで */




/*20250226追加***********************/
.top_office .office_info_new{
	max-width:100%;
	padding: 20px 5%;
}
.top_office .office_info_new > h3{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom:5px;
}
.top_office .office_info_new > dl{
	display:flex;
	flex-wrap: wrap;
}
.top_office .office_info_new > dl dt{
	width: max-content;
	padding: 10px 0 0;
	font-weight: 600;
}
.top_office .office_info_new > dl dd{
	width:100%;
	padding: 5px 0 10px;
	border-bottom: 1px solid #2c2c2c;
}
.top_office .office_info_new > dl dd span{
	display:inline-block;
}
.top_office .row ._left .office_info_new{
	margin-left:auto;
}
/***********************/



.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: 0;
	padding-bottom: 0px;
}


.business_sec1 .business_sec1_inner{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 20px;
	padding: 50% 0 60px 0;
	background-repeat: no-repeat;
	background-position: top 50px left 0;

}

.business_sec1:nth-of-type(1) .business_sec1_inner{
	background-image: url(../img/business/bg_real_estate_sp.svg)!important;
}

.business_sec1:nth-of-type(2) .business_sec1_inner{
	background-image: url(../img/business/bg_development_sp.svg)!important;
}

.business_sec1:nth-of-type(3) .business_sec1_inner{
	background-image: url(../img/business/bg_consulting_sp.svg)!important;
}

.business_sec1:nth-of-type(4) .business_sec1_inner{
	background-image: url(../img/business/bg_asset_management_sp.svg)!important;
}

.business_sec1:nth-of-type(5) .business_sec1_inner{
	background-image: url(../img/business/bg_property_management_sp.svg)!important;
}

.business_sec1:nth-of-type(6) .business_sec1_inner{
	background-image: url(../img/business/bg_architectural_design_sp.svg)!important;
}

.business_sec1:nth-of-type(7) .business_sec1_inner{
	background-image: url(../img/business/bg_real_estate_trust_sales_sp.svg)!important;
}

.business_sec1:nth-of-type(8) .business_sec1_inner{
	background-image: url(../img/business/bg_leaseback_sp.svg)!important;
}


.business_sec1 .business_sec1_inner_left{
	width: 100%;
}

.business_sec1_inner_left_title h3{
	font-size: clamp(1.25rem, 0.714rem + 2.68vw, 2rem);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.607;
	margin-bottom: clamp(0.938rem, 0.268rem + 3.35vw, 1.875rem);
}


.business_sec1 .business_sec1_inner_right{
	width: 100%;
}




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

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

.section_contact_title .ja{
	font-size: 20px;
	font-weight: 500;
}


.f_banner_img{
	display: none;
}

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

.f_banner_right{
	display: flex;
	flex-direction: column-reverse;
}



.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{
	display: flex;
	align-items: center;
	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;
	flex-direction: column;
}

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

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

.Form_item_title{
	font-weight: bold;
}