/* ------------------------------------------------
                    共通
--------------------------------------------------- */
/*---------- page title ----------*/
.sec-page-ttl {
	background: url("../../img/company/bg_page_ttl_company.jpg") center center no-repeat;
	background-size: cover;
}
@media (max-width: 768px) {
}



/* ------------------------------------------------
                   会社概要
--------------------------------------------------- */
.sec-overview {
	width: 100%;
	padding: 80px 0;
	position: relative;
}
.company-info {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.company-info th {
	width: 180px;
	padding: 20px 0 20px 20px;
	border-bottom: 1px solid var(--color-dark-green);
	color: var(--color-dark-green);
	text-align: left;
	font-weight: 700;
	vertical-align: top;
}
.company-info td {
	width: calc(100% - 180px);
	padding: 20px 40px;
	border-bottom: 1px solid var(--color-light-green);
	text-align: left;
}
.company-info tr:first-child th {
	border-top: 1px solid var(--color-dark-green);
} 
.company-info tr:first-child td {
	border-top: 1px solid var(--color-light-green);
}


.company-info-list-wrap {
	width: auto;
	display: inline-block;
}
.company-info-list {
	width: auto;
	display: grid;
	grid-template-columns: repeat(2, auto);
}
.company-info-left {
	padding-right: 2em;
	display: inline-block;
}
.company-info-right {
	display: inline-block;
}


@media (max-width: 768px) {
	.sec-overview {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.company-info {
		width: 100%;
		max-width: initial;
	}
	.company-info tr {
		display: flex;
		flex-wrap: wrap;
	}
	.company-info th {
		width: 100%;
		display: block;
		padding: 3vw;
		border-bottom: none;
		border-top: 1px solid var(--color-dark-green);
	}
	.company-info td {
		width: 100%;
		display: block;
		padding: 3vw;
		border-bottom: none;
		border-top: 1px solid var(--color-light-green);
	}
	.company-info tr:last-child td {
		border-bottom: 1px solid var(--color-dark-green);
	}
}



/*---------- 役員紹介 ----------*/
.sec-member {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.member-list {
	width: 100%;
	margin: 0 auto;
	justify-content: flex-start;
	gap: 50px;
}
.member-list li {
	padding: 20px 50px 50px;
	background: var(--color-white);
	color: var(--color-dark-green);
	position: relative;
	align-items: center;
}
.member-list li.is-board-member {
	width: calc((100% - 50px) / 2);
}

.member-label {
	width: calc(100% - 20% + 50px);
	padding: 10px 50px;
	margin-left: -50px;
	align-items: center;
	background: var(--color-light-gray);
	border-radius: 0 10px 10px 0;
}
.member-position {
    font-size: 1.8rem;
	margin-right: 30px;
	line-height: 1.2;
}
.member-name {
	width: auto;
    font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
}

.member-photo {
	width: 60%;
	margin: 20px auto 30px;
}

.member-txt {
	width: 100%;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-dark-green);
    font-size: 1.8rem;
}
.member-career-ttl {
	display: inline-block;
	margin: 20px auto 10px 0;
	padding: 5px 25px;
	background: var(--color-dark-green);
	border-radius: 4px;
	color: var(--color-white);
	line-height: 1;
}
.member-career-txt {
	width: 100%;
}


.member-list li.is-ceo {
	width: 100%;
	padding: 50px 50px 50px 0;
}
.member-list li.is-ceo .member-label {
	width: calc(100% - 50px);
	max-width: 350px;
	position: absolute;
	top: 50px;
	left: 50px;
}
.member-list li.is-ceo .member-photo {
	width: 240px;
	margin: 90px auto 0;
}
.member-list li.is-ceo .flex-box {
	/* align-items: flex-start; */ /* 取締役同様中央揃えにするためコメントアウト */
}

.member-list li.is-ceo .member-info {
	width: calc(100% - 400px);
}

@media (max-width: 768px) {
	.sec-member {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.member-list {
		width: 100%;
		margin: 0 auto;
		justify-content: flex-start;
		gap: 12vw;
	}
	.member-list li {
		padding: 4vw 6vw 6vw;
	}
	.member-list li.is-board-member {
		width: 100%;
	}

	.member-label {
		width: calc(100% - 13% + 6vw);
		padding: 2vw 6vw;
		margin-left: -6vw;
		border-radius: 0 2vw 2vw 0;
	}
	.member-position {
		font-size: 3.4vw;
		margin-right: 6vw;
	}
	.member-name {
		width: auto;
		font-size: 4.6vw;
	}

	.member-photo {
		width: 74%;
		margin: 4vw auto;
	}

	.member-txt {
		width: 100%;
		padding-bottom: 4vw;
		border-bottom: 1px solid var(--color-dark-green);
		font-size: 3.6vw;
	}
	.member-career-ttl {
		display: inline-block;
		margin: 4vw auto 2vw 0;
		padding: 1vw 4vw;
		border-radius: 1vw;
		font-size: 3.2vw;
	}
	.member-career-txt {
		width: 100%;
		font-size: 3.2vw;
	}


	.member-list li.is-ceo {
		width: 100%;
		padding: 4vw 6vw 6vw;
	}
	.member-list li.is-ceo .member-label {
		width: calc(100% - 13% + 6vw);
		max-width: initial;
		margin-bottom: 4vw;
	}
	.member-list li.is-ceo .member-label {
		width: calc(100% - 13% + 6vw);
		max-width: initial;
		margin-bottom: 4vw;
		position: relative;
		top: auto;
		left: auto;
	}
	.member-list li.is-ceo .member-photo {
		width: 74%;
		margin: 0 auto 4vw;
	}

	.member-list li.is-ceo .member-info {
		width: 100%;
	}

}




/*---------- メディア掲載情報 ----------*/
.sec-media {
	width: 100%;
	padding: 80px 0;
	position: relative;
}


/* リスト */
.media-list-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.media-list-wrap li {
	width: 100%;
	margin-bottom: 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--color-light-gray);
	text-align: left;
}
.media-list-wrap li:last-child {
	margin-bottom: 0;
}
.media-list-wrap li a {
	width: 100%;
	display: flex;
	align-items: flex-start;
}
.media-list-date {
	width: 110px;
	color: var(--color-gray);
}
.media-list-tag {
	width: 116px;
	margin-right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-dark-green);
	border-radius: 7px;
	color: var(--color-white);
	text-align: center;
}

.media-list-ttl {
	width: calc(100% - 110px - 136px);
	position: relative;
}


@media (max-width: 768px) {
	.sec-media {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	/* リスト */
	.media-list-wrap {
		width: 100%;
		max-width: initial;
		margin: 0 auto;
	}
	.media-list-wrap li {
		width: 100%;
		margin-bottom: 4vw;
		padding: 0 0 4vw;
	}
	
	.media-list-wrap li a {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.media-list-date {
		width: 25vw;
	}
	.media-list-tag {
		width: 30vw;
		margin-right: 0;
		border-radius: 1.5vw;
	}

	.media-list-ttl {
		width: 100%;
		margin-top: 2vw;
	}
}





/* ------------------------------------------------
                     ご挨拶
--------------------------------------------------- */
.sec-message {
	width: 100%;
	padding: 80px 0;
	overflow: hidden;
	position: relative;
}

.message-inn {
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	position: relative
}
.message-ttl {
	width: 100%;
	color: var(--color-light-green);
	font-size: 20.0rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-align: center;
	opacity: 0.6;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.message-txt {
	text-align: center;
	font-size: 1.8rem;
	line-height: 2;
	position: relative;
	z-index: 2;
}

.message-signature {
	margin-top: 80px;
	justify-content: flex-end;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.message-name {
	width: 208px;
	margin-left: 45px;
}

@media (max-width: 768px) {
	.sec-message {
		width: 100%;
		padding: 16vw 0;
	}

	.message-inn {
		max-width: initial;
	}
	.message-ttl {
		width: 100%;
		font-size: 20vw;
		top: 0;
		left: 6%;
		transform: translate(0) rotate(90deg);
		transform-origin: left;
	}
	.message-txt {
		text-align: center;
		font-size: 3.8vw;
	}

	.message-signature {
		margin-top: 16vw;
		font-size: 3.6vw;
	}
	.message-name {
		width: 36vw;
		margin: 0 2vw 0 6vw;
	}
	
}





/* ------------------------------------------------
                 私たちについて
--------------------------------------------------- */

/*---------- 動画 ----------*/
.sec-movie {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.movie-cont-wrap {
	width: 100%;
	justify-content: center;
	gap: 80px 60px;
}
.movie-cont {
	width: calc((100% - 60px) / 2);
}
.movie-wrap {
	width: 100%;
	margin-bottom: 15px;
	padding-top: 56.25%;
	position: relative;
}
.movie-wrap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.movie-cont-ttl {
	width: 100%;
	color: var(--color-dark-green);
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
}

@media (max-width: 1200px) {
	.movie-cont {
		width: 80%;
	}
	
}



@media (max-width: 768px) {
	.sec-mvv {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.movie-cont-wrap {
		width: 100%;
		gap: 12vw;
	}
	.movie-cont {
		width: 90%;
	}
	.movie-wrap {
		width: 100%;
		margin-bottom: 3vw;
	}
	.movie-cont-ttl {
		font-size: 3.2vw;
	}
	
}



/*---------- ミッション・ビジョン・バリュー ----------*/
.sec-mvv {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.mvv-ttl {
	width: 100%;
	margin-bottom: 50px;
	position: relative;
}
.mvv-ttl::before {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--color-line-gray);
	position: absolute;
	top: 50%;
	left: 0;
}
.mvv-ttl-inn {
	font-size: 6.0rem;
	display: inline-block;
	padding-right: 20px;
	background: var(--color-white);
	line-height: 1;
	position: relative;
}

.mvv-txt {
	width: 100%;
	font-size: 1.8rem;
	margin-bottom: 100px;
	padding-left: 50px;
}

.mvv-list {
	width: 100%;
	padding-left: 50px;
	gap: 50px 0;
}
.mvv-list li {
	width: 50%;
}

.mvv-list-ttl {
	width: 100%;
	margin-bottom: 15px;
	align-items: center;
	color: var(--color-blue);
	font-size: 2.2rem;
	font-weight: 700;
}
.mvv-list-ttl img {
	width: 40px;
	margin-right: 20px;
}
.mvv-list-txt {
	font-size: 1.8rem;
}

@media (max-width: 960px) {
	.mvv-list li {
		width: 100%;
	}
	
}


@media (max-width: 768px) {
	.sec-mvv {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.mvv-ttl {
		width: 100%;
		margin-bottom: 6vw;
	}
	.mvv-ttl-inn {
		font-size: 12vw;
		padding-right: 4vw;
	}

	.mvv-txt {
		width: 100%;
		font-size: 3.4vw;
		margin-bottom: 18vw;
		padding-left: 8vw;
	}

	.mvv-list {
		width: 100%;
		padding-left: 8vw;
		gap: 12vw 0;
	}
	.mvv-list li {
		width: 100%;
	}

	.mvv-list-ttl {
		width: 100%;
		margin-bottom: 1vw;
		font-size: 3.8vw;
	}
	.mvv-list-ttl img {
		width: 10vw;
		margin-right: 3vw;
	}
	.mvv-list-txt {
		font-size: 3.4vw;
	}
	
}


/*---------- 創業ストーリー ----------*/
.sec-story {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.story-cont-wrap {
	width: 100%;
	position: relative;
}
.story-cont {
	width: 100%;
	margin-bottom: 50px;
	position: relative;
}
.story-cont .cont-inn {
	z-index: 3;
}
.story-cont::before {
	content: '';
	width: 20%;
	height: 80px;
	background: var(--color-blue);
	position: absolute;
	top: 30px;
	left: 0;
	z-index: 2;
}
.story-cont-num {
	width: 120px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: var(--color-blue);
	border-radius: 0 20px 20px 0;
	color: var(--color-white);
	font-size: 5.2rem;
	position: absolute;
	top: 30px;
	left: 0;
	z-index: 3;
}

.story-cont-box {
	width: calc(100% - 50px);
	margin: 0 0 0 auto;
	padding: 40px 40px 40px 90px;
	align-items: center;
	gap: 60px 5%;
	background: var(--color-white);
	border-radius: 20px;
	position: relative;
}
.story-cont-box::after {
	content: '';
	width: 2px;
	height: calc(100% + 50px);
	background: var(--color-light-yellowgreen);
	position: absolute;
	top: 30px;
	left: -30px;
	z-index: 1;
}
.story-03 .story-cont-box::after {
	height: calc(100% - 30px);
}


.is-order-01 { order: 0;}
.is-order-02 { order: 1;}
.is-order-03 { order: 2;}
.is-order-04 { order: 3;}
.is-order-05 { order: 4;}
.is-order-06 { order: 5;}

.story-cont-ttl {
	width: 100%;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-line-gray);
	color: var(--color-dark-green);
	font-size: 3.2rem;
	font-weight: 700;
}
.story-cont-img {
	width: 45%;
}
.story-cont-txt {
	width: 50%;
	font-size: 1.8rem;
	line-height: 2;
}
.story-cont-txt.txt-wide {
	width: 100%;
}

@media (max-width: 900px) {
	
	.is-order-01, 
	.is-order-02, 
	.is-order-03, 
	.is-order-04, 
	.is-order-05, 
	.is-order-06 { order: unset;}
	
	.story-cont-img {
		width: 100%;
	}
	.story-cont-txt {
		width: 100%;
	}
}

@media (max-width: 768px) {
	.sec-story {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.story-cont {
		width: 100%;
		margin-bottom: 10vw;
	}
	.story-cont::before {
		content: '';
		width: 20%;
		height: 14vw;
		top: 5vw;
	}
	.story-cont-num {
		width: 16vw;
		height: 14vw;
		border-radius: 0 4vw 4vw 0;
		font-size: 8.8vw;
		top: 5vw;
	}

	.story-cont-box {
		width: calc(100% - 8vw);
		margin: 0 0 0 auto;
		padding: 6vw 6vw 6vw 11vw;
		gap: 8vw 5vw;
		border-radius: 4vw;
	}
	.story-cont-box::after {
		height: calc(100% + 10vw);
		top: 5vw;
		left: -5vw;
	}
	.story-03 .story-cont-box::after {
		height: calc(100% - 5vw);
	}



	.story-cont-ttl {
		width: 100%;
		padding-bottom: 2vw;
		font-size: 4.4vw;
		line-height: 1.6;
	}
	.story-cont-img {
		width: 100%;
	}
	.story-cont-txt {
		width: 100%;
		font-size: 3.4vw;
	}
	
}



/*---------- 事業の目指す姿 ----------*/
.sec-vision {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.vision-box-wrap {
	width: 100%;
	margin-bottom: 70px;
	padding-top: 26px;
	gap: 13px;
	position: relative;
}
.vision-box-wrap::after {
	content: '';
	width: 265px;
	height: 177px;
	background: url("../../img/company/img_arrow_down.png") center bottom no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: -120px;
	left: calc(50% - 132.5px);
	z-index: 1;
}
.vision-box {
	width: calc((100% -  54px - 26px) / 2);
	padding: 50px 30px 30px;
	background: var(--color-white);
	border: 1px solid var(--color-line-gray);
	border-radius: 20px;
	position: relative;
	z-index: 2;
}
.vision-box-x {
	width: 54px;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
}

.vision-box-ttl {
	width: 320px;
	padding: 12px 30px;
	border-radius: 30px;
	color: var(--color-white);
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	position: absolute;
	top: -26px;
	left: calc(50% - 160px);
}
.vision-box-ttl.is-blue { background: var(--color-blue);}
.vision-box-ttl.is-orange { background: var(--color-orange);}

.vision-box-copy {
	width: 100%;
	margin-bottom: 30px;
	padding: 10px;
	background: var(--color-light-green);
	border-radius: 12px;
	color: var(--color-dark-green);
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.solution-list {
	width: 100%;
}
.solution-list li {
	width: 100%;
	margin-bottom: 30px;
	padding-left: 35px;
    font-size: 1.8rem;
	line-height: 1.6;
	position: relative;
}
.solution-list li:last-child { margin-bottom: 0;}
.solution-list li::before {
	content: '';
	width: 20px;
	height: 32px;
	background: url("../../img/common/icon_light.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* 支援領域拡大図 */
.expansion-box-wrap {
	width: 100%;
	padding: 70px 0;
	align-items: center;
	justify-content: space-between;
	background: url("../../img/company/bg_expansion_pc.png") center left no-repeat;
	background-size: 100% 100%;
	text-align: center;
	position: relative;
	z-index: 3;
}

.expansion-box-01 {
	width: calc(100% - 135px - 40px - 50%);
}
.expansion-box-02 {
	width: 135px;
}
.expansion-box-03 {
	width: calc(50% - 20px);
}

.expansion-box-ttl {
	color: var(--color-dark-green);
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 40px;
}
.expansion-box-01 img {
	width: 80%;
	max-width: 240px;
	margin: 0 auto;
}

.expansion-box-arrow-txt {
	color: var(--color-orange);
	font-size: 1.8rem;
	font-weight: 700;
	margin-top: 10px;
}

.expansion-box-txt {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.6;
}

.expansion-box-inn {
	width: 90%;
	margin: 20px auto;
	padding: 15px 30px;
	background: var(--color-white);
	border: 4px solid var(--color-light-green);
	border-radius: 14px;
	text-align: center;
}

.expansion-box-inn-ttl {
	color: var(--color-dark-green);
	font-size: 1.8rem;
	font-weight: 700;
}
.expansion-box-inn-list {
	margin: 20px auto 15px;
	justify-content: center;
	gap: 15px;
}
.expansion-box-inn-list li {
	display: inline-block;
	padding: 10px 25px;
	background: var(--color-light-yellowgreen);
	border-radius: 8px;
	color: var(--color-white);
	line-height: 1;
}
.expansion-box-inn-txt {
	color: var(--color-dark-green);
	font-weight: 600;
}

.sec-vision .other-cont {
	margin-top: 0;
}

@media (max-width: 1200px) {
	.vision-box {
		width: calc((100% -  4vw - 26px) / 2);
		padding: 50px 2vw 30px;
		background: var(--color-white);
		border: 1px solid var(--color-line-gray);
		border-radius: 20px;
		position: relative;
		z-index: 2;
	}
	.vision-box-x {
		width: 4vw;
		display: flex;
		align-items: center;
		position: relative;
		z-index: 2;
	}

	.vision-box-ttl {
		width: 80%;
		left: 10%;
		font-size: 2.4vw;
	}
	.vision-box-copy {
		font-size: 1.8vw;
	}
	.solution-list li {
		font-size: 1.7vw;
	}
}

@media (max-width: 768px) {
	.sec-vision {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.vision-box-wrap {
		width: 100%;
		margin-bottom: 34vw;
		padding-top: 5vw;
		gap: 3vw;
		position: relative;
	}
	.vision-box-wrap::after {
		content: '';
		width: 64vw;
		height: 46vw;
		bottom: -33vw;
		left: calc(50% - 32vw);
	}
	.vision-box {
		width: 100%;
		padding: 9vw 5vw 5vw;
		border-radius: 4vw;
		position: relative;
		z-index: 2;
	}
	.vision-box-x {
		width: 12vw;
		margin: 0 auto 5vw;
		display: flex;
		align-items: center;
		position: relative;
		z-index: 2;
	}

	.vision-box-ttl {
		width: 70%;
		padding: 2.2vw 4vw;
		border-radius: 8vw;
		font-size: 5.2vw;
		top: -5vw;
		left: 15%;
	}

	.vision-box-copy {
		width: 100%;
		margin-bottom: 5vw;
		padding: 2vw;
		border-radius: 2.2vw;
		font-size: 4.0vw;
	}

	.solution-list {
		width: 100%;
	}
	.solution-list li {
		width: 100%;
		margin-bottom: 5vw;
		padding-left: 7vw;
		font-size: 3.4vw;
	}
	.solution-list li:last-child { margin-bottom: 0;}
	.solution-list li::before {
		content: '';
		width: 4vw;
		height: 7vw;
		top: -0.1em;
	}

	
	/* 支援領域拡大図 */
	.expansion-box-wrap {
		width: 100%;
		padding: 6vw 0 12vw;
		gap: 0;
		align-items: center;
		justify-content: space-between;
		background: url("../../img/company/bg_expansion_sp.png") center top 4% no-repeat;
		background-size: 100% 62%;
		text-align: center;
		position: relative;
		z-index: 3;
	}

	.expansion-box-01 {
		width: 100%;
	}
	.expansion-box-02 {
		width: 100%;
		margin: 10vw auto 6vw;
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: 4vw;
		justify-content: center;
	}
	.expansion-box-03 {
		width: 100%;
	}

	.expansion-box-ttl {
		font-size: 5.5vw;
		margin-bottom: 4vw;
	}
	.expansion-box-01 img {
		width: 50%;
		max-width: 240px;
		margin: 0 auto;
	}

	.expansion-box-02 img {
		width: 20vw;
		transform: rotate(90deg);
  		transform-origin: center center;
	}
	.expansion-box-arrow-txt {
		font-size: 4.0vw;
		margin-top: 0;
	}

	.expansion-box-txt {
		font-size: 3.8vw;
	}

	.expansion-box-inn {
		width: 90%;
		margin: 4vw auto;
		padding: 2vw 4vw;
		border-radius: 3vw;
	}

	.expansion-box-inn-ttl {
		font-size: 3.8vw;
	}
	.expansion-box-inn-list {
		margin: 3vw auto 2vw;
		gap: 2vw;
	}
	.expansion-box-inn-list li {
		padding: 2vw 5vw;
		border-radius: 1.6vw;
	}
	.expansion-box-inn-txt {
		font-size: 3.2vw;
	}

	
	
}


