@charset "utf-8";


/* common
-------------------------------------------------------*/
#wrapper {
	/*overflow: hidden;*/
}
img {
	backface-visibility: hidden;
}
.serif {
    font-family: YuMincho,    /* Mac用 */
	'Yu Mincho', /* Windows用 */
	serif;
    font-weight: 400;
}

.Hina {
    font-family: 'Hina Mincho', serif;
	line-height: 1.5;
}



.sp {
	display: none;
}
.area {
	padding: 100px 20px;
	box-sizing: border-box;
}
.inner {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	box-sizing: border-box;
}
.bg_gray {
	background: #f4f4f4;
}
.ttl_en {
	text-align: center;
	font-weight: 700;
	font-size: 210%;
	margin: 0 0 40px;
}
.ttl_jp {
	font-size: 150%;
	padding: 0 0 40px;
	margin: 0 0 50px;
	position: relative;
	line-height: 1.4;
}
.ttl_jp::after {
	position: absolute;
	display: block;
	content: "";
	background: #000000;
	width: 150px;
	height: 1px;
	bottom: 0;
	left: 0;
}
/* hover */
.hover_img {
	overflow: hidden;
	transition: .3s;
}
.hover_img  img {
	transition: .4s;
	aspect-ratio: calc(280.59/232.2);
    object-fit: cover;
}
a:hover .hover_img img {
	transform: scale(1.1);
}
.arrow {
	position: relative;
}
.arrow::after {
	position: absolute;
	display: block;
	content: "";
	background: url("../img/common/arrow01.png")no-repeat center/60px 60px;
	width: 60px;
	height: 60px;
	right: 0;
	bottom: 0;
	z-index: 5;
}
.arrow.size_s::after {
	background: url("../img/common/arrow01.png")no-repeat center/40px 40px;
	width: 40px;
	height: 40px;
	right: 0;
	bottom: 0;
	z-index: 5;
}
.btn_right {
	display: flex;
	justify-content: flex-end;
}
.btn_more {
	background: #e93826;
	color: #fff;
	font-size: 95%;
	font-weight: 700;
	padding: 15px 40px;
	display: inline-block;
}
.btn_more span {
	font-size: 80%;
	font-weight: 500;
	padding: 0 0 0 20px;
}
a.hover_bg {
	position: relative;
	z-index: 0;
	overflow: hidden;
}
a.hover_bg::before {
	position: absolute;
	display: block;
	content: "";
	background: #f5402d;
	width: 0;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	-webkit-transition: .5s;
	transition: .5s;
}
a.hover_bg:hover {
	opacity: 1;
}
a.hover_bg:hover::before {
	width: 100%;
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.area {
		padding: 50px 20px;
	}
	.inner {
		max-width: 100%;
	}
	.ttl_en {
		font-size: 160%;
		margin: 0 0 30px;
	}
	.ttl_jp {
		font-size: 130%;
		padding: 0 0 30px;
		margin: 0 0 40px;
	}
	.ttl_jp::after {
		width: 120px;
	}
	.arrow::after {
		background: url("../img/common/arrow01.png")no-repeat center/35px 35px;
		width: 35px;
		height: 35px;
	}
	.arrow.size_s::after {
		background: url("../img/common/arrow01.png")no-repeat center/35px 35px;
		width: 35px;
		height: 35px;
	}
	.btn_more {
		padding: 15px 30px;
	}
	.btn_more span {
		padding: 0 0 0 15px;
	}
}

/* animation
-------------------------------------------------------*/
.fadein {
	/*opacity: 0;*/
	transition: opacity 2s;
}
.fadein.done {
	opacity: 1;
}
.load-up {
	/*opacity: 0;*/
	transition: all 2s;
}
.load-up.done {
	opacity : 1;
}



/* header nav
-------------------------------------------------------*/
#header {
	padding: 20px 0 20px 30px;
}
#header .inner {
	max-width: 100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#header .logo img {
	max-width: 218px;
}

.top_txt {
	font-size: 80%;
	margin-bottom: 10px;
}

#nav_pc {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
}
#nav_pc li{
	margin: 0 0 0 40px;
}
#nav_pc li.nav {
	font-size: 90%;
	font-weight: 700;
	text-align: center;
}
#nav_pc li a:hover {
	color: #e93826;
	opacity: 1;
}
#nav_pc li.nav span {
	font-weight: 300;
	display: block;
	font-size: 70%;
	padding: 5px 0 0;
	color: #333;
}
#nav_pc li.nav:hover span {
	color: #333;
}
#nav_pc li.nav.on a {
	color: #e93826;
}
#nav_pc li.nav.on a span {
	color: #333;
}
#nav_pc li.btn_recruit a {
	background: #e93826;
	padding: 15px 40px;
	color: #fff;
	font-weight: 700;
	font-size: 90%;
}
#nav_pc li.btn_recruit a span {
	font-weight: 300;
	font-size: 85%;
	padding: 0 0 0 15px;
}
@media screen and (max-width:1015px) {
	#header .logo img {
		max-width: 180px;
	}
	#nav_pc li {
		margin: 0 0 0 30px;
	}
	#nav_pc li.btn_recruit a {
		padding: 15px 30px;
	}
	
	.top_txt {
	font-size: 50%;
	margin-bottom: 10px;
}
}
@media screen and (max-width:890px) {
	#header {
		padding: 20px 0 20px 20px;
	}
	#header .logo img {
		max-width: 150px;
	}
	#nav_pc li {
		margin: 0 0 0 20px;
	}
	#nav_pc li.nav {
		font-size: 80%;
	}
	#nav_pc li.btn_recruit a {
		padding: 15px 25px;
		font-size: 85%;
	}
}
@media screen and (max-width:768px) {
	#header {
		padding: 20px;
		height: 75px;
		box-sizing: border-box;
		z-index: 999;
		background: #fff;
		position: fixed;
		width: 100%;
		top: 0;
	}
	#header .logo {
		position: relative;
		z-index: 500;
	}
	#header .logo img {
		max-width: 140px;
	}
	#nav_pc {
		display: none;
	}
	#btn_nav {
		position: fixed;
		top: 23px;
		right: 20px;
		z-index: 999;
		cursor: pointer;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		height: 18px;
	}
	#btn_nav span {
		display: inline-block;
		background: #333;
		width: 25px;
		height: 2px;
		transition: .5s;
		position: relative;
	}
	#btn_nav.active span {
		transform: translateY(8px) rotate(225deg);
	}
	#btn_nav.active span:nth-child(2) {
		transform: scaleX(0);
	}
	#btn_nav.active span:last-child {
		transform: translateY(-8px) rotate(-225deg);
	}
	#nav_sp nav {
		position: fixed;
		top: 0;
		height: auto;
		width: 100%;
		overflow: hidden;
		background: #fff;
	}
	#nav_sp nav {
		overflow: auto;
		background: #fff;
		top: -100%;
		z-index: 800;
		transition: 0.8s;
		margin: 65px 0 0;
	}
	#nav_sp nav.active {
		top: 0;
	}
	#nav_sp ul {
		margin: 10px 20px 30px;
	}
	#nav_sp ul li a {
		display: block;
		padding: 15px 0;
		font-size: 130%;
		font-weight: 700;
	}
	#nav_sp ul li a span {
		display: block;
		font-weight: 300;
		font-size: 60%;
		padding: 10px 0 0;
	}
	#nav_sp ul li.btn_recruit {
		background: #e93826;
		color: #fff;
		text-align: center;
		margin: 20px 0 0;
	}
	#nav_sp ul li.btn_recruit a {
		color: #fff;
	}
	#nav_sp ul li.btn_recruit span {
		display: inline;
		padding: 0 0 0 20px;
	}
}


/* btm_nav
-------------------------------------------------------*/
#btm_nav ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#btm_nav ul li {
	width: 23%;
	position: relative;
}
#btm_nav ul li a {
}
#btm_nav ul li a .img {
	position: relative;
	z-index: -1;
}
#btm_nav ul li a .ttl {
	color: #fff;
	position: absolute;
	right: 50%;
	top: 50%;
	z-index: 3;
	transform: translate(50%,-50%);
	font-size: 150%;
	width: 100%;
	text-align: center;
}
#btm_nav ul li a .ttl span {
	display: block;
	font-size: 55%;
	padding: 10px 0 0;
}
@media screen and (max-width:768px) {
	#btm_nav ul {
		flex-flow: row wrap;
	}
	#btm_nav ul li {
		width: 48%;
	}
	#btm_nav ul li:nth-child(-n+2) {
		margin: 0 0 15px;
	}
	#btm_nav ul li a .ttl {
		font-size: 140%;
		width: 100%;
		text-align: center;
	}
	#btm_nav ul li a .ttl span {
		font-size: 50%;
	}
}

/* btm_nav
-------------------------------------------------------*/
.btm_btn_box {
	background: #535353;
}
.btm_btn_box ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	justify-content: space-between;
}
.btm_btn_box ul li {
	width: 50%;
	box-sizing: border-box;
}
.btm_btn_box ul li.com {
	background: #fafafa;
	padding: 80px 40px;
	font-size: 300%;
	line-height: 1.4;
}
.btm_btn_box ul li.btn_info  {
	background: #e93826;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.btm_btn_box ul li.btn_info a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0 0 0 60px;
	color: #fff;
	position: relative;
	width: 100%;
	height: 100%;
}
.btm_btn_box ul li.btn_info a::after {
	position: absolute;
	display: block;
	content: "";
	background:url("../img/common/arrow02.png")no-repeat center/10px 24px;
	width: 10px;
	height: 24px;
	right: 40px;
	top: 50%;
	transform: translate(0,-50%);
}
.btm_btn_box ul li.btn_info a .en {
	font-size: 160%;
	font-weight: 700;
}
.btm_btn_box ul li.btn_info a .jp {
	font-size: 120%;
	margin: 0 0 0 40px;
}
@media screen and (max-width:768px) {
	.btm_btn_box ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.btm_btn_box ul li {
		width: 100%;
	}
	.btm_btn_box ul li.com {
		padding: 30px 20px;
		font-size: 180%;
	}
	.btm_btn_box ul li.btn_info a {
		padding: 40px 20px;
	}
	.btm_btn_box ul li.btn_info a::after {
		right: 20px;
	}
	.btm_btn_box ul li.btn_info a .en {
		font-size: 140%;
	}
	.btm_btn_box ul li.btn_info a .jp {
		font-size: 100%;
		margin: 0 0 0 20px;
	}
}

/* footer
-------------------------------------------------------*/

#areatosho{
  text-align: center;
}
#areatosho img {
  max-width: 600px;
}

#footer {
	background: #313131;
	color: #fff;
}
#footer a {
	color: #fff;
}
#footer .logo {
	margin: 0 0 50px;
}
#footer .logo img {
	max-width: 159px;
}
#footer .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0 0 70px;
}
#footer .box div:not(:last-child) {
	margin: 0 60px 0 0;
}
#footer .box .ttl {
	font-weight: 700;
	margin: 0 0 20px;
}
#footer .box ul {
	font-size: 90%;
	margin: 0 0 0 10px;
}
#footer .box ul li a {
	position: relative;
	padding: 0 0 0 15px;
}
#footer .box ul li a::before {
	position: absolute;
	display: block;
	content: ">";
	left: 0;
	top: 2px;
}
#footer .box ul li:not(:last-child) {
	margin: 0 0 15px;
}
#footer .copy {
	text-align: center;
	font-size: 80%;
}
@media screen and (max-width:768px) {
	#footer .logo {
		margin: 0 0 40px;
	}
	#footer .logo img {
		max-width: 140px;
	}
	#footer .box {
		flex-flow: column;
		margin: 0 0 40px;
	}
	#footer .box div:not(:last-child) {
		margin: 0 0 30px;
	}
	#footer .box .ttl {
		margin: 0 0 20px;
	}
}


/* index
-------------------------------------------------------*/
#index #visual {
	background: url("../img/index/visual_bg.png")no-repeat center/cover;
	height: 650px;
	padding: 0 20px;
}
#index #visual .inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
}
#index #visual .txt {
	color: #fff;
	font-size: 400%;
}
#index #index_news .inner {
	max-width: 800px;
}
#index #index_news dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 1px solid #c9c9c9;
	padding: 0 0 25px;
	position: relative;
	font-size: 95%;
}
#index #index_news dl::after {
	position: absolute;
	display: block;
	content: "";
	background: #e93826;
	width: 150px;
	height: 1px;
	left: 0;
	bottom: -1px;
}
#index #index_news dl:not(:last-child) {
	margin: 0 0 25px;
}
#index #index_news dl dt {
	width: 150px;
}
#index #index_news dl dd {
	padding: 0 0 0 20px;
}
@media screen and (max-width:768px) {
	#index #visual {
		height: 350px;
		padding: 20px;
		box-sizing: border-box;
		margin: 65px 0 0;
	}
	#index #visual .txt {
		font-size: 200%;
	}
	#index #index_news dl {
		padding: 0 0 20px;
		font-size: 90%;
		align-items: flex-start;
	}
	#index #index_news dl::after {
		width: 120px;
	}
	#index #index_news dl:not(:last-child) {
		margin: 0 0 20px;
	}
	#index #index_news dl dt {
		min-width: 120px;
	}
	#index #index_news dl dd {
		padding: 0 0 0 10px;
		line-height: 1.4;
		width: 100%;
		text-align: left;
	}
}

#index #index_about ul {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index #index_about ul li {
	width: 47%;
}
#index #index_about ul li:nth-child(-n+2) {
	margin: 0 0 80px;
}
#index #index_about ul li a {
	display: block;
	margin: 0 0 20px;
}
@media screen and (max-width:768px) {
	#index #index_about ul {
		display: flex;
		flex-flow: row wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#index #index_about ul li {
		width: 47%;
	}
	#index #index_about ul li:nth-child(-n+2) {
		margin: 0 0 30px;
	}
	#index #index_about ul li a {
		margin: 0 0 10px;
	}
	#index #index_about ul li .txt {
		font-size: 90%;
		line-height: 1.4;
	}
}

#index #index_interview .box {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
#index #index_interview .box .img {
	width:50%;
	margin: 0 50px 0 0;
}
#index #index_interview .box .img img{
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: left;
}
#index #index_interview .box .txt_box {
	width: 70%;
}
#index #index_interview .box .name {
	font-size: 170%;
	border-bottom: 1px solid #c9c9c9;
	max-width: 600px;
	padding: 0 0 20px;
	margin: 0 0 30px;
}
#index #index_interview .box .txt {
	font-size: 110%;
	line-height: 2;
	margin: 0 0 30px;
}
@media screen and (max-width:768px) {
	#index #index_interview .box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#index #index_interview .box .img {
		width: 60%;
		margin: 0 0 20px;
	}
	#index #index_interview .box .txt_box {
		width: 100%;
	}
	#index #index_interview .box .name {
		font-size: 130%;
		padding: 0 0 15px;
		margin: 0 0 20px;
	}
	#index #index_interview .box .txt {
		font-size: 100%;
	}
}

#index #index_project ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#index #index_project ul li {
	width: 30%;
}
#index #index_project ul li .img_box {
	position: relative;
	margin: 0 0 10px;
	margin-bottom: 20px;
}
#index #index_project ul li .img_box .ttl {
	color: #fff;
	font-size: 160%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	background: rgba(0,0,0,0.5);
	width: 200px;
	padding: 10px;
}
#index #index_project ul li .ttl {
	font-size: 80%;
	margin: 0 0 10px;
}
#index #index_project ul li .theme {
	font-size: 110%;
	margin: 0 0 20px;
	line-height: 1.4;
}
#index #index_project ul li .txt {
	line-height: 1.6;
}
@media screen and (max-width:768px) {
	#index #index_project ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;;
	}
	#index #index_project ul li {
		width:100%;
	}
	#index #index_project ul li:not(:last-child) {
		margin: 0 0 30px;
	}
	#index #index_project ul li .img_box {
		margin: 0 0 20px;
	}
	#index #index_project ul li .img_box .ttl {
		font-size: 140%;
		width: 180px;
	}
	#index #index_project ul li .theme {
		margin: 0 0 10px;
	}
	#index #index_project ul li .txt {
		font-size: 90%;
	}
}

#index #index_education .img {
	margin: 0 0 20px;
}
#index #index_education .txt {
	line-height: 1.6;
}
#index #index_education .btn_more {
	margin: 30px 0 0;
}


.top_int_ttl {
	font-size: 280%;
	margin-bottom: 50px;
}

#index_interview .txt01 {
	font-weight: bolder;
	font-size: 130%;
	line-height: 1.5;
	margin-bottom: 20px;
}

#index_interview .txt02 {
	font-size: 170%;
	line-height: 1.5;
	margin-bottom: 50px;
}


@media screen and (max-width:768px) {
.top_int_ttl {
	font-size: 160%;
	margin-bottom: 20px;
	text-align: center;
}

#index_interview .txt01 {
	font-weight: bolder;
	font-size: 100%;
	line-height: 1.5;
	margin-bottom: 20px;
	text-align: center;
}

#index_interview .txt02 {
	font-size: 120%;
	line-height: 1.5;
	margin-bottom: 20px;
	text-align: center;
}
	
	.index_interview_more {
		text-align: center;
	}

}


/* breadcrumb
-------------------------------------------------------*/
#breadcrumb {
	background: rgba(191,191,191,0.15);
	padding: 20px 20px 0 20px;
}
#breadcrumb ul {
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	font-size: 90%;
}
#breadcrumb ul li {
	position: relative;
	margin: 0 30px 20px 0;
}
#breadcrumb ul li:not(:last-child)::after {
	position: absolute;
	display: block;
	content: ">";
	right: -20px;
	top: 0;
}
@media screen and (max-width:768px) {
	#breadcrumb {
		padding: 15px 20px 15px 20px;
		margin: 65px 0 0;
	}
	#breadcrumb ul {
		font-size: 80%;
	}
	#breadcrumb ul li {
		margin: 0 20px 5px 0;
	}
	#breadcrumb ul li:not(:last-child)::after {
		right: -15px;
	}
}

/* lower_page common
-------------------------------------------------------*/
.lower_page #visual.white {
	padding: 0 20px;
}
.lower_page #visual.white .inner {
	border-bottom: 1px solid #dcdada;
	padding: 80px 0 130px;
	text-align: center;
}
.lower_page #visual.white .ttl {
	font-size: 140%;
	padding: 0 0 30px;
	margin: 0 0 40px;
	position: relative;
}
.lower_page #visual.white .ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #000000;
	width: 150px;
	height: 1px;
	bottom: 0;
	right: 50%;
	transform: translate(50%,0);
}
.lower_page #visual.white .catch {
	font-size: 260%;
	line-height: 1.6;
}
.lower_page #visual.white .txt {
	text-align: center;
	font-size: 120%;
	line-height: 2;
	margin: 50px 0 0;
}
@media screen and (max-width:768px) {
	.lower_page #visual.white .inner {
		padding: 40px 0 60px;
	}
	.lower_page #visual.white .ttl {
		font-size: 120%;
		padding: 0 0 20px;
		margin: 0 0 30px;
	}
	.lower_page #visual.white .ttl::after {
		width: 120px;
	}
	.lower_page #visual.white .catch {
		font-size: 150%;
		line-height: 1.4;
	}
	.lower_page #visual.white .txt {
		font-size: 90%;
		margin: 30px 0 0;
	}
}
.lower_page #visual.w_bg {
	padding: 0 20px;
	color: #fff;
}
.lower_page #visual.w_bg .inner {
	height: 650px;
	padding: 120px 0 0;
	box-sizing: border-box;
}
.lower_page #visual.w_bg .ttl {
	font-size: 140%;
	padding: 0 0 30px;
	margin: 0 0 40px;
	position: relative;
}
.lower_page #visual.w_bg .ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	width: 150px;
	height: 1px;
	bottom: 0;
	left: 0;
}
.lower_page #visual.w_bg .catch {
	font-size: 280%;
	line-height: 1.3;
}
.lower_page #visual.w_bg .profile {
	font-size: 120%;
	line-height: 1.8;
	margin: 50px 0 0;
}
.lower_page #visual.w_bg .name {
	font-size: 250%;
	margin: 30px 0 0;
}
@media screen and (max-width:768px) {
	.lower_page #visual.w_bg .inner {
		height: 300px;
		padding: 40px 0 0;
	}
	.lower_page #visual.w_bg .ttl {
		font-size: 100%;
		padding: 0 0 20px;
		margin: 0 0 30px;
	}
	.lower_page #visual.w_bg .ttl::after {
		width: 120px;
	}
	.lower_page #visual.w_bg .catch {
		font-size: 150%;
	}
	.lower_page #visual.w_bg .profile {
		font-size: 80%;
		line-height: 1.4;
		margin: 30px 0 0;
	}
	.lower_page #visual.w_bg .name {
		font-size: 160%;
		margin: 10px 0 0;
	}
}

.lower_page .row_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.lower_page .row_box .img {
	width: 45%;
}
.lower_page .row_box .txt_box {
	width: 50%;
}
.lower_page .row_box .txt_box .txt {
	line-height: 1.6;
}
@media screen and (max-width:768px) {
	.lower_page .row_box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	.lower_page .row_box.row_reverse {
		flex-flow: column-reverse;
	}
	.lower_page .row_box .img {
		width: 100%;
		margin: 0 0 30px;
	}
	.lower_page .row_box .txt_box {
		width: 100%;
	}
}

/* about common
-------------------------------------------------------*/
#about #area01 {
	background: url("../img/common/bg01.png")no-repeat center/cover;
}
#about .about_area01_ttl {
	text-align: center;
	font-size: 180%;
	line-height: 1.4;
	position: relative;
	padding: 0 0 30px;
	margin: 0 0 40px;
}
#about .about_area01_ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #333;
	width: 150px;
	height: 1px;
	bottom: 0;
	right: 50%;
	transform: translate(50%,0);
}
#about  .top_txt {
	text-align: center;
	font-size: 120%;
	line-height: 2;
}
@media screen and (max-width:768px) {
	#about .about_area01_ttl {
		font-size: 130%;
		padding: 0 0 20px;
		margin: 0 0 30px;
	}
	#about .about_area01_ttl::after {
		width: 120px;
	}
	#about  .top_txt {
		font-size: 100%;
	}
}

#about_nav {
	background: #fafafa;
}
#about_nav ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#about_nav li {
	width: 30%;
}
#about_nav li a {
	position: relative;
	display: block;
}
#about_nav li .img {
	position: relative;
	z-index: 1;
}
#about_nav li .txt {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
	color: #fff;
	background: rgba(0,0,0,0.5);
	font-size: 110%;
	line-height: 1.2;
	box-sizing: border-box;
	height: 60px;
	padding: 10px 0 10px 20px;
	margin: 0 60px 0 0;
	z-index: 5;
	width: 100%;
}
@media screen and (max-width:768px) {
	#about_nav ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#about_nav li {
		width: 100%;
	}
	#about_nav li:not(:last-child) {
		margin: 0 0 30px;
	}
	#about_nav li .txt {
		font-size: 100%;
		height: 50px;
		margin: 0 50px 0 0;
	}
	#about_nav li .arrow::after {
		background: url("../img/common/arrow01.png")no-repeat center/50px 50px;
		width: 50px;
		height: 50px;
	}
}
	

/* about-about
-------------------------------------------------------*/


.lower_page .row_box ul.about_index .img {
  width: 100%;
}

#about ul.about_index li .txt {
	font-size: 90%;
}

#about ul.about_index {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#about ul.about_index li {
	width: 24%;
}
#about ul.about_index li:nth-child(-n+2) {
	margin: 0 0 80px;
}
#about ul.about_index li a {
	display: block;
	margin: 0 0 20px;
}
@media screen and (max-width:768px) {
	.lower_page .row_box ul.about_index .img {
		margin-bottom: 10px;
	}
	#about ul.about_index {
		display: flex;
		flex-flow: row wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#about ul.about_index li {
		width: 100%;
	}
	#about ul.about_index li {
		margin: 0 0 30px !important;
	}
	#about ul.about_index li a {
		margin: 0 0 10px;
	}
	#about ul.about_index li .txt {
		font-size: 90%;
		line-height: 1.4;
	}
}


/* about-information
-------------------------------------------------------*/
#about.information #visual {
	background: url("../img/about/visual_information.png")no-repeat center/cover;
}
#about.information #information_area01 .box {
	padding: 0 0 50px;
	border-bottom: 1px solid #b5b5b5;
}
#about.information #information_area01 .box:not(:last-child) {
	margin: 0 0 50px;
}
#about.information #information_area01 .box .info_slider {
	width: 45%;
	position: relative;
	margin: 0 0 40px;
}
#about.information #information_area01 .box .txt_box .ttl_jp {
	font-size: 180%;
}
@media screen and (max-width:768px) {
	#about.information #information_area01 .box {
		padding: 0 0 40px;
	}
	#about.information #information_area01 .box:not(:last-child) {
		margin: 0 0 40px;
	}
	#about.information #information_area01 .box .info_slider {
		width: 100%;
		margin: 0 0 50px;
	}
	#about.information #information_area01 .box .txt_box .ttl_jp {
		font-size: 140%;
	}
}
/* about-vision
-------------------------------------------------------*/
#about.vision #visual {
	background: url("../img/about/visual_vision.png")no-repeat center/cover;
}
#about #vision_area01 .sub_ttl01 {
	text-align: center;
	font-size: 120%;
	margin: 0 0 40px;
}
#about #vision_area01 .sub_ttl02 {
	text-align: center;
	font-size: 180%;
	margin:  0 0 60px;
}
@media screen and (max-width:768px) {
	#about #vision_area01 .sub_ttl01 {
		font-size: 100%;
		margin: 0 0 20px;
	}
	#about #vision_area01 .sub_ttl02 {
		font-size: 130%;
		margin:  0 0 30px;
		line-height: 1.4;
	}
}

/* about-interview
-------------------------------------------------------*/
#about.interview #visual {
	background: url("../img/about/visual_interview.png")no-repeat center/cover;
}	
@media screen and (max-width:768px) {
	#about.interview #visual {
		background: url("../img/about/visual_interview.png")no-repeat top 20% right 20%/cover;
	}	
	#about.interview #visual .inner {
		height: 370px;
	}
}

/* about-number
-------------------------------------------------------*/
#about.number #visual {
	background: url("../img/about/visual_number.png")no-repeat center/cover;
}
#about.number #visual .inner {
	max-width: 1400px;
}
#about.number #area01 {
	background: none;
}
#about.number #area01 .inner {
	max-width: 1000px;
}
#about.number #area01 ul li:not(:last-child) {
	margin: 0 0 60px;
}
@media screen and (max-width:768px) {
	#about.number #area01 ul li:not(:last-child) {
		margin: 0 0 20px;
	}
}

/* interview
-------------------------------------------------------*/
#interview #area01 .box:not(:last-child) {
	margin: 0 0 70px;
	padding: 0 0 70px;
	border-bottom: 1px solid #b5b5b5;
}
#interview #area01 .box .ttl {
	text-align: center;
	font-size: 180%;
	margin: 0 0 40px;
}
#interview #area01 .box ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	flex-wrap: wrap;
}
#interview #area01 .box ul li {
	width: 30%;
	margin-right: 5%;
	margin-bottom: 40px;
}

#interview #area01 .box ul li:nth-child(3n) {
	margin-right: 0px;
}


#interview #area01 .box ul li .img {
	margin: 0 0 20px;
}
#interview #area01 .box ul li .name {
	margin: 0 0 20px;
	font-size: 120%;
	font-weight: 500;
}
#interview #area01 .box ul li .name span {
	font-size: 80%;
	margin: 0 0 0 20px;
}
#interview #area01 .box ul li .txt {
	line-height: 2;
}
@media screen and (max-width:768px) {
	#interview #area01 .box:not(:last-child) {
		margin: 0 0 50px;
		padding: 0 0 50px;
	}
	#interview #area01 .box .ttl {
		font-size: 140%;
		margin: 0 0 30px;
	}
	#interview #area01 .box ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#interview #area01 .box ul li {
		width: 100%;
		margin-right: 0;
	}
	#interview #area01 .box ul li:not(:last-child) {
		margin: 0 0 30px;
	}
	#interview #area01 .box ul li .name {
		margin: 0 0 10px;
		font-size: 120%;
	}
	#interview #area01 .box ul li .txt {
		font-size: 90%;
	}
}

#interview.detail #interview_cont.area {
	padding: 140px 20px 380px;
}
#interview.detail #interview_cont .txt {
	line-height: 1.6;
}
#interview.detail #interview_cont .top_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 0 90px;
}
#interview.detail #interview_cont .top_box .img {
	width: 45%;
}
#interview.detail #interview_cont .top_box .txt_box {
	width: 50%;
}
#interview.detail #interview_cont .top_box .txt_box .date {
	font-size: 110%;
	margin: 0 0 20px;
}
#interview.detail #interview_cont .top_box .txt_box .name {
	font-size: 150%;
	margin: 0 0 50px;
}
@media screen and (max-width:768px) {
	#interview.detail #interview_cont.area {
		padding: 70px 20px 150px;
	}
	#interview.detail #interview_cont .top_box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin: 0 0 50px;
	}
	#interview.detail #interview_cont .top_box .img {
		width: 100%;
		margin: 0 0 30px;
	}
	#interview.detail #interview_cont .top_box .txt_box {
		width: 100%;
	}
	#interview.detail #interview_cont .top_box .txt_box .date {
		font-size: 100%;
		margin: 0 0 10px;
	}
	#interview.detail #interview_cont .top_box .txt_box .name {
		font-size: 130%;
		margin: 0 0 30px;
		line-height: 1.4;
	}
}



.lower_page #visual.v_interview .inner {
	padding: 420px 0 0;
}



.lower_page #visual.v_interview_r .inner {
	padding: 420px 0 0 40%;
}

@media screen and (max-width:768px) {
.lower_page #visual.v_interview .inner {
	padding: 170px 0 0;
}
	
.lower_page #visual.v_interview_r .inner {
	padding: 40px 0 0 0%;
}
}

.v_2000_seizou_k {
	background: url("../img/interview/2000_seizou_k/visual.png")no-repeat center/cover;
}

.v_2011_chuumon_k {
	background: url("../img/interview/2011_chuumon_k/visual.png")no-repeat center/cover;
}

.v_2013_kensetsu_o {
	background: url("../img/interview/2013_kensetsu_o/visual.png")no-repeat center/cover;
}


.lower_page #visual.w_bg.v_2013_kensetsu_o {
    color: #333;
}

.lower_page #visual.w_bg.v_2013_kensetsu_o .ttl::after {
  position: absolute;
  display: block;
  content: "";
  background: #333;
  width: 150px;
  height: 1px;
  bottom: 0;
  left: 0;
}

.v_2015_kensetsu_e {
	background: url("../img/interview/2015_kensetsu_e/visual.png")no-repeat center/cover;
}

.lower_page #visual.w_bg.v_2015_kensetsu_e {
    color: #333;
}

.lower_page #visual.w_bg.v_2015_kensetsu_e .ttl::after {
  position: absolute;
  display: block;
  content: "";
  background: #333;
  width: 150px;
  height: 1px;
  bottom: 0;
  left: 0;
}


.v_2016_chuumon_f {
	background: url("../img/interview/2016_chuumon_f/visual.png")no-repeat center/cover;
}


.v_2016_kikaku_f {
	background: url("../img/interview/2016_kikaku_f/visual.png")no-repeat center bottom/cover;
}

@media screen and (max-width:768px) {
.v_2016_kikaku_f {
	background: url("../img/interview/2016_kikaku_f/visual.png")no-repeat left/cover;
}
}

.v_2017_kensetsu_h {
	background: url("../img/interview/2017_kensetsu_h/visual.png")no-repeat center/cover;
}

@media screen and (max-width:768px) {
.v_2017_kensetsu_h {
	background: url("../img/interview/2017_kensetsu_h/visual.png")no-repeat right/cover;
}
}

.v_2018_keiri_n {
	background: url("../img/interview/2018_keiri_n/visual.png")no-repeat center/cover;
}

.lower_page #visual.w_bg.v_2018_keiri_n {
    color: #333;
}

.lower_page #visual.w_bg.v_2018_keiri_n .ttl::after {
  position: absolute;
  display: block;
  content: "";
  background: #333;
  width: 150px;
  height: 1px;
  bottom: 0;
  left: 0;
}

.v_2019_kikaku_f {
	background: url("../img/interview/2019_kikaku_f/visual.png")no-repeat center/cover;
}

.v_2019_chuumon_n {
	background: url("../img/interview/2019_chuumon_n/visual.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
.v_2019_chuumon_n {
	background: url("../img/interview/2019_chuumon_n/visual.png")no-repeat right/cover;
}
}

.v_2019_kikaku_s {
	background: url("../img/interview/2019_kikaku_s/visual.png")no-repeat center/cover;
}

.v_2019_kikaku_s02 {
	background: url("../img/interview/2019_kikaku_s02/visual.png")no-repeat center/cover;
}


/* project
-------------------------------------------------------*/




#project #project_nav ul {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#project #project_nav ul li {
	width: 30%;
}
#project #project_nav ul li .img {
	margin: 0 0 20px;
}
#project #project_nav ul li .txt {
	font-size: 110%;
}
@media screen and (max-width:768px) {
	#project #project_nav ul {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#project #project_nav ul li {
		width: 100%;
	}
	#project #project_nav ul li:not(:last-child) {
		margin: 0 0 40px;
	}
	#project #project_nav ul li .img {
		margin: 0 0 20px;
	}
	#project #project_nav ul li .txt {
		font-size: 100%;
	}
}
#project #area01 {
	background: url("../img/common/bg01.png")no-repeat center/cover;
}
#project .project_area01_ttl {
	text-align: center;
	font-size: 180%;
	line-height: 1.4;
	position: relative;
	padding: 0 0 30px;
	margin: 0 0 40px;
}
#project .project_area01_ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: #333;
	width: 150px;
	height: 1px;
	bottom: 0;
	right: 50%;
	transform: translate(50%,0);
}
#project .top_txt {
	text-align: center;
	font-size: 120%;
	line-height: 2;
}
@media screen and (max-width:768px) {
	
}

/* テキストのスクロールによって画像切替 20220121 巳浪 ここから */
.m-scroll {
	display: flex;
}
.m-scroll-img {
	height: 389px;
	width: 45%;
	position: -webkit-sticky;
	position: sticky;
	/*top: 0;*/
	top: 30px;
}
.m-scroll-img-wrap {
	position: absolute;
	top: 0;
	left: 0;
}
.m-scroll-cont {
	padding: 20px 0 0 60px;
	line-height: 1.5;
	width: 50%;
}
.m-scroll-cont-wrap:not(:first-child) {
	padding-top: 150px;
}
.m-scroll-cont-intro {
	font-size: 120%;
	margin: 0 0 20px;
}
.m-scroll-cont-ttl_jp {
	font-size: 180%;
}
@media screen and (max-width:768px) {
	.m-scroll-cont-wrap {
		padding: 20px 0 0;
		line-height: 1.5;
		width: 100%;
		padding-left: 0%;
		margin-top: 0px;
	}
	.m-scroll-cont-wrap:not(:last-child) {
		margin: 0 0 50px;
        padding-top: 30px;
	}
    
    .m-scroll-cont-wrap:not(:first-child) {
  padding-top: 30px;
}
    
    .m-scroll-cont-wrap:first-child {
  padding-top: 0px;
        margin-top: 0px;
}
    
	.m-scroll-cont-ttl_jp {
		font-size: 150%;
	}
	.m-scroll-cont-txt {
		margin-bottom: 20px;
	}
    
    .m-scroll-cont {
  padding: 20px 0 0 0px;
  width: 100%;
}
    
    .js-scroll-txt .txt {
		margin-bottom: 20px;
	}
    

}
/* テキストのスクロールによって画像切替 20220129 巳浪 ここまで */


@media screen and (max-width:768px) {
	#project .project_area01_ttl {
		font-size: 140%;
	}
}

/* project reform */
#project.reform #visual {
	background: url("../img/project/visual_project_reform.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
	
}


/* project custom */
#project.custom #visual {
	background: url("../img/project/visual_project_custom.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
	
}


/* project built */
#project.built #visual {
	background: url("../img/project/visual_project_built.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
	
}


/* education
-------------------------------------------------------*/
#education #area01 .ttl_edu {
	text-align: center;
	font-size: 180%;
	margin: 0 0 40px;
	font-weight: 500;
}
#education #area01 .education_list {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
#education #area01 .education_list>li {
	width: 30%;
	border: 1px solid #b5b5b5;
	border-top: 5px solid #e93826;
	padding: 30px 20px;
	box-sizing: border-box;
}
#education #area01 .education_list>li .ttl {
	text-align: center;
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: 1px solid #b5b5b5;
	font-size: 130%;
	font-weight: 500;
}
#education #area01 .education_list>li  .sub_ttl {
	font-size: 120%;
	line-height: 1.4;
	margin: 0 0 30px;
	text-align: center;
}
#education #area01 .check li {
	position: relative;
	padding: 0 0 0 25px;
}
#education #area01 .check li::before {
	position: absolute;
	display: block;
	content: "";
	background: url("../img/education/icon_check.png")no-repeat center/17px 17px;
	width: 17px;
	height: 17px;
	left: 0;
	top: 0;
}
#education #area01 .check li:not(:last-child) {
	margin: 0 0 20px;
}
@media screen and (max-width:768px) {
	#education #area01 .ttl_edu {
		font-size: 150%;
		margin: 0 0 30px;
	}
	#education #area01 .education_list {
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}
	#education #area01 .education_list>li {
		width: 100%;
	}
	#education #area01 .education_list>li:not(:last-child) {
		margin: 0 0 30px;
	}
	#education #area01 .education_list>li .ttl {
		margin: 0 0 20px;
		padding: 0 0 20px;
		font-size: 130%;
	}
	#education #area01 .education_list>li  .sub_ttl {
		font-size: 110%;
	}
}


/* information
-------------------------------------------------------*/

.saiyou_box {
	margin-bottom: 100px;
}

.saiyou_btn {
	display: flex;
	justify-content: center;
	align-items: center;
}

.saiyou_btn li {
	width: 18%;
	margin: 0px 1%;
}

.saiyou_btn li a {
	display: block;
	background: #e93826;
	color: #fff;
	font-weight: bolder;
	box-sizing: border-box;
	padding: 25px 15px;
	text-align: center;
}



.saiyou_sub {
	font-size: 140%;
	margin-bottom: 30px;
}

.saiyou_TB {
	border: 1px solid #d6d6d6;
	width: 100%;
	margin-bottom: 20px;
}

.saiyou_TB th {
	width: 20%;
	border: 1px solid #d6d6d6;
	padding: 20px;
	background: #f0f0f0;
	text-align: left;
	font-weight: bolder;
	line-height: 1.5;
}

.saiyou_TB td {
	width: 80%;
	border: 1px solid #d6d6d6;
	padding: 20px;
	text-align: left;
	line-height: 1.5;
}



a.oubo {
	color: #066EF1;
	text-decoration: underline;
}

.oubo_txt {
	box-sizing: border-box;
	padding: 20px;
	text-align: center;
	background: #f0f0f0;
	line-height: 1.5;
}

.oubo_txt b {
	font-weight: bolder;
}

@media screen and (max-width:768px) {
	
.saiyou_box {
	margin-bottom: 50px;
}
.saiyou_btn {
	flex-wrap: wrap;
}
	
	
.saiyou_btn li {
	width: 30%;
	margin: 0px 1%;
	margin-bottom: 10px;
}

.saiyou_btn li a {
	display: block;
	background: #e93826;
	color: #fff;
	font-weight: bolder;
	box-sizing: border-box;
	padding: 15px 8px;
	text-align: center;
	font-size: 80%;
}	
	
	
	
.saiyou_sub {
	font-size: 120%;
	margin-bottom: 20px;
}

.saiyou_TB {
	margin-bottom: 10px;
}

.saiyou_TB th {
	width: 30%;
	padding: 10px;
	font-size: 85%;
}

.saiyou_TB td {
	width: 70%;
	border: 1px solid #d6d6d6;
	padding: 10px;
	font-size: 85%;

}
	
	.not_saiyou {
	margin-bottom: 50px;
}
	
	.oubo_txt {
	text-align: left;
}
}










/*sample*/

.project_detail_contents {
	display: flex;
	justify-content: space-between;
	line-height: 1.5;
	
}

.project_detail_contents_L {
	width: 100%;
}

.sticky-wrapper {
}


.project_detail_contents_R {
	width: 45%;
	
}

.project_detail_contents_R li {
	margin-bottom: 200px;
}

.project_detail_contents_R li h4 {
	font-size: 150%;
	font-weight: bolder;
	margin-bottom: 20px;
}

.project_detail_contents_R li p {
	font-size: 110%;
}



.sample {
	/*position: absolute;*/
    /* アニメーションに必要な部分 */
    /*visibility: hidden;*/
   /* opacity: 0;*/
    transition: 500ms;
}
.sample.is-show {
    visibility: visible;
    opacity: 1;
}

.sample.is-end {
	opacity: 0;
}



/*タブ実装*/
.table-scroll {
	overflow: auto;
	white-space: nowrap;
}
.table-scroll:-webkit-scrollbar{　　
	height: 5px;
}
.table-scroll:-webkit-scrollbar-track{
	background: #333;
}
.table-scroll:-webkit-scrollbar-thumb {
	background: #999;
}
.btn_area {
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px #f5f5f5 solid;
}
.btn_area .tab_btn {
	color: #000;
	cursor: pointer;
    width: 160px;
    line-height: 40px;
    border-bottom: 40px solid #e0e0e0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    height: 0;
    margin: 0 -5px;
    text-align: center;
}
.btn_area .tab_btn.active,
.btn_area .tab_btn:hover {
    color:#fff;
    border-bottom: 40px solid #e93826;
    z-index: 10;
}
.panel_area {
    border: solid 1px #e3ebf3;
    padding: 20px;
}
.tab_panel {
    display:none;
}
.tab_panel.active {
    display:block;
}
@media screen and (max-width:768px) {
	.btn_area {
		width: 800px
	}
	.btn_area .tab_btn {
		font-size: 80%;
	    line-height: 40px;
	    border-bottom: 40px solid #e0e0e0;
	    border-left: 20px solid transparent;
	    border-right: 20px solid transparent;
	    margin-bottom: 10px
	}
}