@charset "UTF-8";
/* ===============================
	common
 =============================== */
 /* body{
	font-size: 1.6rem;
 } */
 #footer{
	background: #fff;
 }
 #contents{
	padding-bottom: 0;
 }
 #breadcrumbs{
	margin-left: 100px;
 }
#breadcrumbs ul{
	display: flex;
}
#breadcrumbs ul li:first-child a{
	color: #E2E2E2;
}
#breadcrumbs ul li a, #breadcrumbs ul li {
    font-size: 1.2rem;
}

#breadcrumbs li a:after {
    content: "";
    width: 1em;
    height: 1px;
    background: #707070;
    display: inline-block;
    vertical-align: middle;
    margin: -0.2em 0.5em 0;
    transform-origin: left top;
    transform: scale(1, 1);
}
 .sec-pages{
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
 }
 .heading_05 .en{
	font-family: 'Michroma', sans-serif;
	color: #E60213;
	display: block;
	font-size: 1.2rem;
 }
.core-bg{
	background: #F5F5F5;
	padding-bottom: 40px;
	margin-top: 20px;
}

.main_bg{
	/*height: 884px;*/
	height: calc(100vh - 14.5vw);
	max-height: 164vw;
	background: #ccc;
}
.main_bg img{
	height: 100%;
    object-fit: cover;
}
.heading_01 .en{
	font-size: 1.2rem;
	margin-bottom: 10px;
}
.heading_01 small{
	font-size: 1.6rem;
	margin-top: 10px;
}
.heading_box-top .info_box .box{
	/* position: absolute; */
	bottom: 0;
	background: url(images/talk-main-img02.png) no-repeat;
	background-size: cover;
}
.heading_box-top .heading_shape p{
	color: #E60213;
}
.heading_box-top .heading_shape p.heading_lead {
    font-size: 2.2rem;
    color: #1C1C1C;
	margin-top: 0;
}
.heading_box-top .info_box .box p{
	color: #fff;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.4;
}
.heading_box-top .info_box .box p span{
	font-size: 2.2rem;
	margin-top: 2px;
    display: block;
}
.heading_box-top .info_box{
	position: relative;
}
.heading_box-top .img{
	width: 53.5%;
	z-index: 5;
	height: 81%;
}
.heading_box-top .heading_shape p{
	left: 0;
	align-items: center;
	font-size: min(4vw,4.6rem);
}
.heading_box-top .heading_shape{
	padding: 0;
}
.box_inner {
    display: flex;
	justify-content: center;
}
.heading_box-top .info_box .box {
    padding: 15% 5% 15%;
}
.cross_icon{
	width: 10%;
	margin: 20px;
}
.message-wrap{
	background: #F5F5F5;
	padding-bottom: 40px;
}
.bg01{
	padding-top: 100px!important;
	position: relative;
	z-index: 2;
}
.heading_box-top .info_wrap{
	width: 45.2%;
}
.heading_box-top .img{
	width: 55.2%;
}
.heading_box-top .img figure img{
	height: 100%;
}
/* message ----------------------------- */
.sec-message-bg{
	background: #fff;
	width: 90%;
	max-width: 1180px;
	margin: 0 auto 100px;
	padding: 50px;
}
.sec-message{
	max-width: 1080px;
	margin: 0 auto 80px;
}
.sec-profile01,.sec-profile02,.sec-talk01,.sec-talk02,.sec-talk03,.sec-talk04{
	position: relative;
	margin-bottom: 100px;

}


.sec-profile02 table,.sec-profile02 .heading_01,.sec-talk02 table,.sec-talk02 .heading_01,.sec-talk04 table,.sec-talk04 .heading_01{
	margin-left: auto;
}
.sec-profile01 th,.sec-profile02 th,.sec-talk01 th,.sec-talk02 th,.sec-talk03 th,.sec-talk04 th,.last_comment th{
	vertical-align: text-top;
	width: 20%;
	text-align: left;
}
.sec-profile01 th,.sec-profile02 th{
	font-weight: normal;
}
figure.talk-icon {
    width: 60%;
    margin-bottom: 40px;
}
.page-img {
    width: 60%;
    margin-left: auto;
    margin-top: -360px;
}
section.sec-about_us{
    background: #fff;
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
}
.page-ttl {
    font-family: 'Michroma', sans-serif;
    color: #E60213;
    font-size: 4rem;
    margin-bottom: 20px;
	padding: 120px 100px 0;
}
.page-subttl {
    font-size: 1.3rem;
    font-weight: 600;
	padding: 0 100px 120px;
}
.page-ttl-bg{
	background: url(images/talk-main-img02.png);
	background-size: cover;
	height: 200px;
}
.heading_01:after{
	content: '';
	background: #E60113;
	width: 40px;
	height: 1px;
	display: block;
	background-size: contain;
	margin-top: 10px;
}
/*PC Layout
===================================*/
@media screen and (min-width: 769px) {
	
	/* main bg ----------------------------- */
	.main_bg{
		/*height: 884px;*/
    	max-width: 1920px;
		max-height: auto;
    	margin: 0 auto 52px;
		height: auto;
	}
	#breadcrumbs li a:after {
		width: 30px;
		margin: -0.2em 1.4em 0;
	}
	.sec-profile01 table,.sec-profile02 table,.sec-talk02 table,.sec-talk03 table,.sec-talk04 table{
		width: 52%;
	}
	figure.talk-icon {
		margin-top: -50px;
		margin-left: -50px;
	}
	.sec-talk01 table,.sec-talk02 table,.sec-talk03 table,.sec-talk04 table{
		width: 60%;
	}
	/* .heading_box-top .img{
		top: 130px;
	} */
	/* message ----------------------------- */
	.heading_box-top .info_box .box{
		min-height: auto;
	}
	.profile-img01,.talk-img01,.talk-img03 {
		width: 62%;
		position: absolute;
		top: 0;
		right: -180px;
	}
	.profile-img02,.talk-img02,.talk-img04 {
		width: 62%;
		position: absolute;
		top: 0;
		left: -180px;
	}
	.talk-img01,.talk-img03,.talk-img02,.talk-img04{
		width: 48%;
	}
	.heading_01{
		width: 52%;
	}

	.sec-talk04 .heading_01{
		width: 70%;
	}
	.talk-img01{
		margin-top: 200px;
	}
	.talk-img02{
		margin-top: 80px;
	}
	.talk-img03,.talk-img04{
		margin-top: 140px;
	}
	.sec-talk01 td, .sec-talk02 td, .sec-talk03 td, .sec-talk04 td,.sec-talk01 th, .sec-talk02 th, .sec-talk03 th, .sec-talk04 th{
		padding: 10px 0;
	}
	.heading_box-top .img figure {
		height: 100%;
	}
	.heading_box-top .info_box .box-inner{
		width: 85%;
		height: auto;
		/* margin-top: 45.5px; */
		padding-top: 120px;
	}
	.heading_box-top .heading_shape p.heading_lead{
		margin-bottom: 140px;
	}
	/* .heading_box-top .img{
		max-width: 1080px;
	} */
	.heading_box-top .img figure img{
		object-position: center;
	}


	/* works interview ----------------------------- */

	.sec-our_works{
		background: #f5f5f5;
		padding: 80px 0 20px;
	}
	
	.sec-our_works .wrap-inner{
		width: 95%;
	}

	.sec-our_works .heading_01{
		margin: 0 0 1.2em;
	}

	.sec-our_works .heading_01 br{
		display: none;
	}

	.sec-our_works .item-box-wrap p{
		/*font-size: 2.1rem;*/
		font-size: 1.6rem;
	}

	.our_works-slider {
		background: none;
		margin: 0 auto 35px;
		padding: 0;
	}

	.our_works-slider figure{
		width: 57.5%;
		margin-bottom: 175px;
	}

	.our_works-slider figure img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.slider_item-box {
		width: 51.5%;
		margin-left: -9.5%;
	}

	.item-box-wrap {
		/*padding: 100px 0 120px 95px;*/
		padding: 12% 0 14.5% 11%;
		overflow: hidden;
	}

	.item-box-wrap p{
    	line-height: 1.85;
	}
	.heading_01{
		position: relative;
		line-height: 1.4;
		font-size: min(2.5vw,3.4rem);
	}
	.heading_01 .en{
		font-size: 1.4rem;
	}
	.name-kana01 {
		font-size: 1.6rem;
		position: absolute;
		right: 16%;
	}
	.name-kana02 {
		font-size: 1.6rem;
		position: absolute;
		left: 46%;
	}
	.heading_box-top .heading_shape p{
		text-align: center;
	}
	/* company ----------------------------- */
	
	.sec-company{
		padding: 100px 0 110px;
	}

	.sec-company .wrap-inner{
		width: 95%;
	}

	.sec-company .heading-wrap {
		margin-bottom: 0;
	}

	.sec-company .heading-wrap .heading_01{
		width: 50%;
	}

	.sec-company .heading-wrap .logo{
		width: 50%;
	}

	.sec-company .heading-wrap .logo img{
		margin-left: auto;
	}
	
	.company_list {
		margin: 50px auto 0;
	}
	
	.sec-company .txt {
		font-size: 11.6rem;
	}

	.company_list-item{
		width: 33%;
	}

	.company_list li{
		text-align: center;
		height: 280px;
	}

	.company_list li a{
		font-size: 3.3rem;
	}

	.company_list li a span{
		letter-spacing: .28em;
		line-height: 2;
	}

	/* history ----------------------------- */
	
	.sec-history{
		position: relative;
		padding: 0;
		overflow: hidden;
	}

	.sec-history:before{
		width: 50%;
		height: 74%;
	}

	.sec-history .wrap-inner{
		width: 95%;
		min-height: 655px;
	}

	.sec-history .history_img{
		width: 68%;
		height: 100%;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.sec-history .hisotory-item-box{
		width: 30%;
		padding: 5px 0 0;
	}

	.sec-history .heading_01{
		margin: 0 0 .5em;
	}
	.sec-history .hisotory-item-box p{
		margin: 0 auto 5.2em;
		/*font-size: 1.9rem;*/
		font-size: 1.6rem;
	}	
	
	.sec-history .more_btn{
		width: 326px;
		margin:0;
	}
}
@media screen and (max-width: 1024px) {
	.company_list li a span{
		position: static;
	}
	.company_list li a span:after {
		width: 0.8em;
		background-position: 100% 96%;
		right: 10%;
		top: 0%;
	}
}
@media screen and (max-width: 1750px) and (min-width: 769px) {
	.sec-company .txt {
		font-size: 5.95vw;
	}
	.company_list li a span{
		letter-spacing: 0;
	}
}


/*SP Layout
===================================*/
@media screen and (max-width: 768px) {
.sec-message-bg{
	padding: 30px 15px;
}
.heading_box-top .info_box .box{
	position: relative;
	padding: 7% 5% 7%;
}
.heading_box-top .heading_wrap{
	flex-direction: row;
}
#breadcrumbs{
	margin-left: 0;
}
.wrap-flex_box{
	flex-wrap: wrap;
}
.heading_box-top .info_wrap{
	width: 100%;
}
/* .wrap-inner{
	display: flex;
	flex-wrap: wrap;
} */
.profile-img01,.profile-img02{
    order: 1;
}
.sec-profile01 .heading_01,.sec-profile02 .heading_01{
	order: 2;
	position: relative;
}
.sec-profile01 table,.sec-profile02 table{
	order: 3;
}
.sec-profile01 .heading_01:after,.sec-profile02 .heading_01:after{
	position: absolute;
	bottom: 20px;
	display: none;
}
.sec-profile01, .sec-profile02, .sec-talk01, .sec-talk02, .sec-talk03, .sec-talk04{
	margin-bottom: 20px;
}
.sec-message-bg{
	margin-bottom: 30px;
}
.sec-message-bg.bg01{
	margin-top: 65px;
}
.sec-profile01 .heading_01 small{
    display: inline;
}
.talk-icon {
    width: 60%;
    margin-bottom: 40px;
    margin-top: -30px;
    margin-left: -20px;
}
.sec-profile01 .wrap-inner,.sec-profile02 .wrap-inner{
	display: flex;
	flex-direction: column;
}
.profile-img01, .profile-img02{
	order: 1;
}
.sec-profile01 .heading_01, .sec-profile02 .heading_01{
	order: 2;
}
.sec-profile01 table, .sec-profile02 table{
	order: 3;
}

.sec-talk04 .heading_01{
	margin-left: 0;
}
.name-kana01,.name-kana02{
	font-size: 1.4rem;
	text-align: right;
	margin-right: -10px;
}
.talk-img02,.talk-img03{
	margin-top: 10px;
}
.heading_box-top .heading_shape p{
	font-size: 3rem;
}
.heading_box-top .heading_shape p.heading_lead{
	font-size: 1.4rem;
}
.sec-message{
	margin-bottom: 30px;
}
.heading_box-top .img {
    width: 100%;
	margin-top: -100px;
}
.heading_box-top .info_box .box p{
	line-height: 1.6rem;
	font-size: 1.2rem;
}
.heading_box-top .info_box .box{
	bottom: -330px;
	z-index: 99;
}
.message-wrap{
	margin-top: 50px;
}
.heading_01{
	font-size: 1.6rem;
}
.heading_01 .en{
	margin-bottom: 0;
	font-size: 1rem;
	font-size: min(2.28vw,.9rem);
}
/* .heading_01:after{
	margin-top: 0;
} */
p,span,th,td{
	font-size: 1.4rem;
}
.heading_01{
	margin-left: 0!important;
	width: 100%;
	font-size: 2rem;
}
.heading_01 small {
    display: block;
    text-align: right;
	margin-top: 0;
}
.cross_icon{
	margin: 20px 10px;
}
.sec-profile01 th, .sec-profile02 th, .sec-talk01 th, .sec-talk02 th, .sec-talk03 th, .sec-talk04 th, .last_comment th{
	width: 25%;
}
.heading_box-top .info_box .box p span{
	font-size: 1.8rem;
	margin-top: 10px;
}
}