@charset "UTF-8";

/* ------------------------------------------------
                    company
--------------------------------------------------- */
table,th,td{
	box-sizing: border-box
}

/*---------- メインエリア ----------*/
.hero-area {
	width: 100%;
	padding: 20px 20px 0;
	margin-bottom: 65px;
	position: relative;
	border-bottom: 1px solid var(--color-gray);
}

@media (max-width: 768px) {
	.hero-area {
		width: 100%;
		padding: 3vw 3vw 0;
		margin-bottom: 12vw;
	}
}


/*---------- page ttl ----------*/
/* companyページ */
.sec-page-ttl.page-company {
	background: url("../../img/company/bg_ttl.jpg") center center no-repeat;
	background-size: cover;
}
@media (max-width: 768px) {
}

/*---------- wrap s-size ----------*/
.cont-inn.s{
	max-width: 1000px
}
@media (max-width: 768px) {
	.cont-inn.s{
		max-width: inherit
	}
}


/* ------------------------------------------------
                    index
--------------------------------------------------- */

/*---------- 会社概要 ----------*/
.table-normal a{
	color:var(--color-green);
	text-decoration: underline; 
}
.table-normal .table-inner-officers{
	display: flex;
	flex-wrap: wrap
}
.table-normal .table-inner-officers li:nth-child(odd){
	width:8em;
}
.table-normal .table-inner-officers li:nth-child(even){
	width:calc(100% - 8em)
}
.table-normal .table-inner-officers li:nth-child(even) span{
	display: inline-block
}

/*---------- アクセス ----------*/
.sec-general.access{
	padding-top: 10px;
}
.company-access-wrap{
	margin-top: 80px;
	padding: 60px 0 50px;
	background:var(--color-light-green01)
}

.address-wrap{
	text-align: center;
	font-size:2.0rem;
}
.address-wrap .address-ttl{
	font-size:2.6rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 1em
}
.access-wrap{
	padding: 25px 0 30px;
	gap:25px
}
.access-wrap .access-item{
	width:calc((100% - 25px * 2) / 3);
	background: #fff;
	padding: 20px;
	text-align: center
}
.access-wrap .access-item .access-ttl{
	display: inline-block;
	width: auto
}
.access-wrap .access-item .access-txt{
	font-size: 1.6rem
}


@media (max-width: 768px) {
	.sec-general.access{
		padding-top: 2.6vw;
	}
	.company-access-wrap{
		margin-top: 0px;
		padding: 8vw 0 6vw;
	}

	.address-wrap{
		font-size:4vw;
	}
	.address-wrap .address-ttl{
		font-size:4.8vw;
	}
	.access-wrap{
		flex-wrap: wrap;
		padding: 4vw 0 6vw;
		gap:4vw
	}
	.access-wrap .access-item{
		width:100%;
		background: #fff;
		padding: 4vw;
		text-align: center
	}
	.access-wrap .access-item .access-ttl{
		display: inline-block;
		width: auto
	}
	.access-wrap .access-item .access-txt{
		font-size:3.6vw;
	}
}


/*---------- ボタン、リンク ----------*/

/* green map*/
.btn-green.map, 
a.btn-green.map {
	margin: 0 auto;
	width: 320px;
	height: 64px;
	display: flex;
	align-items: center;
	padding: 0 32px;
	background: var(--color-green);
	border-radius: 32px;
	color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
	line-height: 1;
	position: relative;
}
.btn-green.map::after {
	content: '';
	width: 38px;
	height: 38px;
	background: url("../../img/common/icon_arrow_map_w.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	top: calc(50% - 19px);
	right: 10px;
}


@media (max-width: 768px) {
	/* green map*/
	.btn-green.map, 
	a.btn-green.map {
		width: 80%;
		max-width: 60vw;
		height: 14vw;
		padding: 0 7vw;
		border-radius: 7vw;
		font-size: var(--fs-sp-16);
	}
	.btn-green.map::after {
		width: 8.4vw;
		height: 8.4vw;
		background: url("../../img/common/icon_arrow_map_w.svg") center center no-repeat;
		background-size: cover;
		position: absolute;
		top: calc(50% - 4.2vw);
		right: 3vw;
	}
	
}




/* ------------------------------------------------
                    message
--------------------------------------------------- */
.message-wrap{
	margin-top: 80px;
	padding: 60px 0 ;
	background:var(--color-light-green01);
	
}

.message-wrap-inner .message-img{
	float: left;
	width:35%;
	margin: -100px 40px 10px 0;
}
.message-wrap-inner .message-ttl{
	margin-bottom: 5px;
	font-size: 4.8rem;
}
.message-wrap-inner .message-lead{
	font-size: 1.8rem;
	margin: 1.5em 0
}	
.message-wrap-inner .message-txt{
	font-size:1.4rem;
}
.message-wrap-inner .message-txt +  .message-txt{
	margin-top: 1em
}
.message-wrap-inner .message-position{
	font-size:1.8rem;
	margin-top: 1.5em;
	text-align: right
}
.message-wrap-inner .message-name{
	font-size:2.4rem;
	text-align: right
}
@media (max-width: 768px) {
	.message-wrap{
		margin-top: 40vw;
		padding: 8vw 0;
	}

	.message-wrap-inner .message-img{
		float:none;
		width:100%;
		margin: -40vw 0 0 0;
	}
	.message-wrap-inner .message-ttl{
		margin: 1em 0 2.55vw;
		font-size: 6.8vw;
	}
	.message-wrap-inner .message-lead{
		font-size: 4.4vw;		
	}	
	.message-wrap-inner .message-txt{
		font-size: 3.4vw;
		padding-right: 0;
	}
	.message-wrap-inner .message-position{
		font-size: 3.8vw;
	}
	.message-wrap-inner .message-name{
		font-size: 4.4vw;
	}

}

/*---------- テーブル ----------*/
.table-history {
	width: 100%;
	border-collapse: collapse;
	table-layout:fixed;
}
.table-history thead th {
	width: 240px;
}
.table-history thead td{
	background: var(--color-light-green01);
	text-align: center
}
.table-history thead td:last-child{
	border-left: 1px solid #fff;
}

.table-history tbody th {
	width: 240px;
	padding: 20px 30px;
	border-bottom: 1px solid var(--color-green);
	color: var(--color-green);
	font-weight: 600;
	vertical-align: middle;
	text-align: left;
}
.table-history.tbl1 td {
	width:calc((100% - 240px) /2);
	padding: 20px 30px;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-gray);
}
.table-history.tbl2 td {
	width:calc(100% - 240px);
	padding: 20px 30px;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-gray);
}
.table-history tbody tr:first-child th {
	border-top: 1px solid var(--color-green);
}
.table-history tbody tr:first-child td {
	border-top: 1px solid var(--color-gray);
}
.table-history.tbl2{
	margin-top: 40px
}

@media (max-width: 768px) {
	.table-container {
	  overflow-x: auto;
	}

	.table-history{
		font-size:3.2vw;
		line-height: 1.5
	}

	.table-history.tbl1{
		width:135vw
	}
	.table-history.tbl1 th:first-child{
		position: -webkit-sticky; /* Safari対応 */
	  position: sticky;
	  left: 0;                /* 左端に固定 */
	  background-color: #fff; 
	  z-index: 2;             
	}
	
	.table-history thead th{
			width: 24vw;
	}
	.table-history tbody th{
		width: 24vw;
		padding: 1vw;
	}
	.table-history th{
		position: relative
	}
	.table-history th::after{
		position: absolute;
		content:'';
		width:100%;
		height:2px;
		background: var(--color-green);
		bottom:-1px;
		left:0
	}
	.table-history tbody th .year{
		display: flex;
		flex-wrap: wrap
	}
	.table-history tbody th .year .yyyy{order:1}
	.table-history tbody th .year .yy{order:3;font-size:0.9em}
	.table-history tbody th .year .mm{order:2;padding-left: 0.5em}
	
	.table-history.tbl1 td {
		width:calc((100% - 24vw) /2);
		padding:2vw 1vw;
	}
	.table-history.tbl2 td {
		padding:2vw 1vw;
	}
	
}

.scroll-hint-icon-col {
  background-color: var(--color-green);
	width:40vw;

}




/* ------------------------------------------------
                    経営理念
--------------------------------------------------- */
.philosophy img{
	position: relative;
	z-index: 2
}
.philosophy-txt-wrap{
	padding: 100px 0 50px;
	margin-top: -50px;
	background:var(--color-light-green01)
}

.philosophy-ttl{
	margin-bottom: 1em;
	font-size:2.4rem;
	line-height: 1;
	padding: 0.5em 1em;
	color:#fff
}
.philosophy-ttl:not(:first-child){
	margin-top: 1.5em
}
.philosophy-ttl.p1{
	background: #004730
}
.philosophy-ttl.p2{
	background:#017A4F;
}
.philosophy-ttl.p3{
	background: var(--color-yellow-green);
}
.philosophy-txt{
	font-size:1.8rem;
	line-height: 2
}


@media (max-width: 768px) {
	.philosophy-txt-wrap{
		padding: 12vw 0 6;
		margin-top: -6vw;
	}
	.philosophy-ttl{
		font-size:4.4vw
	}
	.philosophy-txt{
		font-size:3.8vw
	}
}



/* ------------------------------------------------
                    資格保有状況
--------------------------------------------------- */
.date-txt{
	font-size:1.6rem;
	text-align: right
}
/*---------- テーブル ----------*/

.table-normal.license th{
	background: var(--color-green);
	color:#fff;
	border-bottom: 1px solid #fff;
	width:220px;
}


.table-normal.license tr:nth-child(even) td{
	background: var(--color-light-green02);
}

/*--延人数なし--*/
.table-normal.license td:first-of-type{
		width:calc(100% - 220px)
}
/*延人数を入れる時に変更
.table-normal.license td:first-of-type{
		width:calc(100% - 220px - 3em)
}
.table-normal.license td:last-of-type{
		width:3em
}*/

@media (max-width: 768px) {
	.date-txt{
		font-size:3.6vw;
		}
	.table-normal.license td {
		border-bottom: 1px solid var(--color-gray);
	}
	.table-normal.license tr:first-child th {
		border-top: 1px solid var(--color-green);
	}
	.table-normal.license tr{
		display: flex;
		flex-wrap: wrap
	}
	.table-normal.license th{
		width:100%
	}

	/*--延人数なし--*/
	.table-normal.license td:first-of-type{
		width:100%
	}
	/*延人数を入れる時に使用
	.table-normal.license td:first-of-type{
		width:calc(100% - 3em)
	}*/



}
