@charset "utf-8";
/*----------------------------------
初期化
----------------------------------*/

*,
*::before,
*::after {
	box-sizing: border-box;
	-webkit-box-sizing:border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #fff;
	color: #323232;
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif, sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	letter-spacing: 0;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

h1,h2,h3,h4,h4,h5,h6{font-weight: 700;}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

a {
	color: #323232;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

a:hover {
	opacity: 0.75; 
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
}

button, 
optgroup,
input, 
select, 
textarea {
    margin: 0;
    font: inherit;
    color: inherit;
	-webkit-appearance: none;
	border-radius: 0;
}
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
	body{
		letter-spacing: 0.1rem;
		font-size: 1.6rem;
	}
		main{
		padding-bottom:25px;
	}
	}
@media screen and (min-width: 1280px) {
	body{
		font-size: 2rem;
	}
}
@media screen and (min-width: 1680px) {
	/*body{
		font-size: 2.4rem;
	}*/
	main{
		padding-bottom:50px;
	}
}

/*----------------------------------
補完クラス
----------------------------------*/
.tab-only,
.pc-only{display:none !important;}
.sp-only{display:block !important;}
.sp-in-only{display:inline !important;}

@media screen and (min-width: 768px) {
	.sp-only{display:none !important;}
	.pc-only{display:block !important;}
}
.color-active {
	color: #9ee62a;
}
.color-orange{color: #f09600;}
.color-blue{color: #0c88d6;}
.font-size-small {
	font-size: 90%;
}
.font-b {
	font-weight: 700;
}
.full-wide {
	width: 100% ;
}
ul.list-mark01 {
	margin-bottom:3.6rem;
}
ul.dashed > li:before {
  content: "・";
  text-indent: -1.3rem;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.rec-inner {
	height: inherit;
	margin: 0 auto;
}

.rec-inner {
	width: min(100% - 32px, 1680px);
}

@media (min-width: 768px) {
	.rec-inner {
		width: min(100% - 60px, 1680px);
	}
}
@media (min-width:1024px) {
	.rec-inner.contents-inner{
        width: min(100% - 120px, 1200px);
	}
}
@media (min-width:1280px) {
	.rec-inner.contents-inner{
		width:1200px;
		margin:0 auto;
	}
}
@media (min-width: 1440px) {
	.rec-inner {
		width: min(100% - 240px, 1680px);
	}
	.rec-inner.contents-inner{
		width:1200px;
		margin:0 auto;
	}
}

/*----------------------------------
アニメーション
----------------------------------*/
@keyframes scale {
	0% {
		transform: scale(1.2);
	}

	100% {
		transform: scale(1);
	}
}
@keyframes fadein {
	0% {
		transform:  scale(1.2);
		opacity: 0;
	}

	100% {
		transform:  scale(1);
		opacity: 1;
	}
}
.about.history img.scroll,
.pic-sustainability img.scroll,
.number-fig.scroll,
.ceo-img.scroll,
.wm-img.scroll,
.pt-hdg-img.scroll,
.top-copy-mark.scroll,
.top-copy-01.scroll,
.feature-pt.scroll {
	animation: fadein 0.8s 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	animation-delay: 0s;
	opacity: 0;
}
@keyframes fadeInUp {
  from {
    opacity: 0;                /* 最初は透明 */
    transform: translateY(40px); /* 30px下から開始 */
  }
  to {
    opacity: 1;                /* 最後は不透明 */
    transform: translateY(0);    /* 元の位置へ */
  }
}
.fadeInUp.scroll {
  animation: fadeInUp 0.8s ease-out forwards; /* 時間とイージング */
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
	z-index: 20;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
    height: 50px;
    padding: 16px 0 0 0;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}


.header-logo a {
	display: block;
	width: 283px;
}

.fixed-header {
	z-index: 999999999;
	position: fixed;
	top: 35px;
	/*right: 17px;*/
	width: 100%;
}
.header .entry-button{
	display: none;
}
.gnav .entry-button {
    display: flex;
    justify-content: space-between;
    z-index: 1000;
    position: relative;
    flex-wrap: wrap;
	margin-bottom: 18px;
	transition-duration: .3s;
}

.entry-button a {
  transition-duration: .3s;
}
.entry-button a:hover {
  transform: scale(0.95);
}

.entry-button a:first-child,
.entry-button a:nth-child(3){
	width:31%;
	margin-bottom:1%;
}
.entry-button a:nth-child(2){
	width:34%;
	margin-bottom:1%;
}
.entry-button a:nth-child(4){
	width:100%;
}


/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
	z-index: 1000;
	position: absolute;
	top: -30px;
	right: 3px;
	width: 62px;
	height: 62px;
	cursor: pointer;
}

.drawer__line {
	display: block;
	position: absolute;
	right: 14px;
	width: 32px;
	height: 3px;
	background: #1F1D1B;
	transition: transform 0.3s;
	transition: all 0.3s ease 0s;
}

.drawer__line--top {
	top: 19px;
}

.drawer__line--bottom {
	bottom: 29px;
}
.hn-menu{
    color: #1F1D1B;
    position: absolute;
    bottom: 4px;
    right: 12px;
    text-align: center;
    display: block;
	font-size: 1.3rem;
}

.drawer__line--top.active {
	top: 25px;
	transform: rotate(45deg);
	background: #000;
}

.drawer__line--bottom.active {
	bottom: 34px;
	transform: rotate(135deg);
	background: #000;
}

/*gnav*/

.drawer__nav {
	z-index: 99999999;
	position: fixed;
	top: 200%;
	left: 0;
	width: 100%;
	height: 100vh;
	padding-top:16px;
	overflow: scroll;
	background: #E6E6E6;
	transition: all 0.2s;
}

.drawer__nav.panelactive {
	top: 0;
	transition: all 0.6s;
}


.drawer__content {
	/*display: flex;
	flex-wrap: wrap;*/
	padding-bottom: 30px;
}


.gnav .gnav-logo img{
    width: 283px;
	margin-bottom: 12px;
}


/*.drawer__content ul {
	margin-top: 20px;
}*/

.drawer__content ul li a {
	width: 100%;
}

.drawer__content ul li a span.rotate {
	display: inline-block;
}

.gnav .rec-menu{
	border-left:2px solid #ccc;
	padding-left:20px;
	margin-right:20px;
	margin-bottom:30px;
}

.gnav .rec-menu span{
	display:block;
}
.gnav .rec-menu-label{
	background:url(../img/icon_arrow_lg.svg) no-repeat left  top ;
	background-size: 38px;
	padding-left:44px;
	margin-bottom:14px;
}

.img-wrap {
  overflow: hidden;
  position: relative;
}

.panelactive .img-wrap::before {
  animation: img-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #E6E6E6;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}
/* フェードインの定義 */
@keyframes fadeInMenu {
  from {
    opacity: 0; /* 最初は非表示 */
  }
  to {
    opacity: 1; /* 最後は表示 */
  }
}
/* アニメーションを適用するクラス */
.panelactive .rec-menu li a {
  animation: fadeInMenu 1s linear forwards;
}

.gnav .rec-menu-label img{display: block;}
.gn_works .rec-menu-label img{width:121px;}
.gn_pt .rec-menu-label img{width:169px;}
.gn_about .rec-menu-label img{width:191px;}
.gn_recruitment .rec-menu-label img{width:231px;}

.gnav .rec-menu-label span{
	font-size:1.6rem;
	letter-spacing: -0.1rem;
	margin-top: 8px;
}
.gnav .rec-menu li {
	font-size:1.8rem;
	line-height: 1.8;
	padding-left: 22px;
	background: url(../img/icon_lg-square.svg) left 0px top 10px no-repeat;
	background-size: 13px auto;
}

.gnav .rec-menu span.sub-label{
	font-size:1.8rem;
	font-weight: 700;
	line-height: 1.2;
}
.gnav .rec-menu.gn_pt li:last-child{
	margin-bottom: 2rem;
}
.gnav .rec-menu span.sub-copy{
	font-size:1.2rem;
}
.gnav .rec-menu.gn_pt li span.sub-copy{
	margin-top: -5px;
	line-height: 1.2;
}
.gnav-link-privacy{
	display: block;
	margin:30px 0;
}
.gnav-link-corp{
	position: relative;
	display: block;
	width:164px;
	margin:30px 0;
}
.gnav-link-corp img{
  transition: transform 0.3s ease-in-out;
  }
.gnav-link-corp:hover img{
	position: relative;
	transform: translateX(16px);
}
@media (min-width: 768px) {
	.header-logo a {
		width: 27.3%;
	}
	.gnav-area{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.gnav-area .rec-menu{
		width:48%;
	}
	.gnav .rec-menu:nth-child(2n){
	margin-right:0px;
}
}
@media (min-width: 1280px) {
	.header {
		height: 120px;
	}
	.gnav-logo{
		width:525px;
		margin-bottom:50px;
	}
	.drawer__toggle {
        right: 30px;
    }
	.hn-menu {
		right: 8px;
	}
	.header .entry-button{
		display: flex;
		justify-content: space-between;
		z-index: 1000;
		position: relative;
		flex-wrap: wrap;
		margin-bottom: 18px;
	}

	.header .entry-button,
	.gnav .entry-button {
		position:absolute;
		top:16px;
		right:120px;
		width:52%;
		height: 100px;
	}
	.gnav-link-corp{
		text-align:right;
		display:block;
		margin: 100px 0 0;
		width: 100%;
	}
	.gnav-link-corp img{
		width:182px;
	}
	.gnav-area {
        flex-wrap: nowrap;
		padding-top: 100px;
    }
	.gnav-area .rec-menu{
		width:25%;
	}
	.gnav .rec-menu:nth-child(2n){
		margin-right:20px;
	}
	.gnav-area .rec-menu:last-child{
		margin-right:0px;
	}
	.gnav .rec-menu span{
		display:block;
	}
	.gnav .rec-menu-label{
		background:url(../img/icon_arrow_lg.svg) no-repeat left  top ;
		background-size: 38px;
		padding-left:44px;
		margin-bottom:26px;
	}
	.gn_works .rec-menu-label {margin-bottom:52px;}
	.gn_pt .rec-menu-label{margin-bottom:18px;}
	.gn_about .rec-menu-label{margin-bottom:12px;}
	.gn_recruitment .rec-menu-label {margin-bottom:54px;}

	.gn_works .rec-menu-label img{width:135px;}
	.gn_pt .rec-menu-label img{width:187px;}
	.gn_about .rec-menu-label img{width:212px;}
	.gn_recruitment .rec-menu-label img{width:256px;}

	.gnav .rec-menu-label span{
		font-size:1.6rem;
		letter-spacing: -0.1rem;
	}
	.gnav .rec-menu li {
		font-size:2rem;
		background: url(../img/icon_lg-square.svg) left 0px top 10px no-repeat;
		background-size: 16px auto;
	}

	.gnav-link-privacy{
		font-size: 1.6rem;
        display: block;
        margin-top: 3.6rem;
	}

}
@media (min-width: 1920px) {
	.header-logo a {
		width: 525px;
	}
	.header .entry-button,
	.gnav .entry-button {
		width:920px;
	}
}
/*----------------------------------
メインビジュアル　背景
----------------------------------*/

.body-bg {
	z-index: -1;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}

.body-bg img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*----------------------------------
コンテンツ
----------------------------------*/
main.top-page {
	overflow-x: hidden;
}
main.contents{
	padding:74px 0 0;
	letter-spacing: 0.1rem;
}

.bread-nav {
	font-size:1.2rem;
	margin-bottom:2rem;
}
.bread-nav ul{
	display: flex;
	flex-wrap: wrap;
}
.bread-nav ul li:after{
	content: "・";
}
.bread-nav ul li:last-child::after{
	content: none;
}
.bread-nav li span{
	color:#9ee62a;
}

.page-ttl{
	background:url(../img/icon_arrow_lg.svg) no-repeat left  top ;
	padding-left:34px;
	margin-bottom:50px;
	background-size: 29px auto;
}
.page-ttl-label{
	display: inline-block;
	overflow: hidden;
	position: relative;
}
.page-ttl-label::before {
  animation: page-ttl 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #FFF;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
@keyframes page-ttl {
  100% {
    transform: translateX(100%);
  }
}
.page-ttl .page-ttl-label img{
	display: block;
	width:192px;
}
.page-ttl .page-ttl-label span{
	font-size:1.3rem;
	margin-top: 0.6rem;
	display: block;
}


@media (min-width: 1280px) {
	main.contents{
		padding:170px 0 0;
	}
	.bread-nav {
		font-size:1.6rem;
		margin-bottom:4rem;
	}
	.page-ttl{
		background:url(../img/icon_arrow_lg.svg) no-repeat left  top ;
		padding-left:76px;
		margin-bottom:102px;
		background-size: 58px auto;
	}
	.page-ttl .page-ttl-label img{
		width:385px;
	}
	.page-ttl .page-ttl-label span{
		font-size:2.4rem;
	}
}


/*----------------------------------
Recruitment　共通エントリー
----------------------------------*/

.rec-entry{
	text-align:center;
	font-size:1.25rem;
	padding-top:60px;
}
.rec-entry h2{
	width:244px;
	margin:10px auto 30px;
	text-align:center;
}
.rec-entry h2 span{
	font-size:1.25rem;
	letter-spacing:0.1rem;
	margin-top: 15px;
	display: block;
}
.rec-entry-copy{
	font-size:1.25rem;
	text-align:center;
	margin:30px 0;
}

.rec-entry-label{
    height: 230px;
    width: 230px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
	margin:auto;
	padding-top:80px
}
.rec-entry-label span:first-child{
	font-weight:900;
	font-size:2.4rem;
	margin-bottom:2rem;
}
.rec-entry-01 .rec-entry-label{
	background: #9ee62a;
}
.rec-entry-02 .rec-entry-label{
	background: #f0aa8c;
}
.rec-entry-03 .rec-entry-label{
	background: #41d2f1;
}

.rec-entry-btn span,
.rec-entry-label span{
	display: block;
	font-size:1.45rem;
	width:100%;
	text-align: center;
}
.rec-entry-02 .rec-entry-btn span{
	 letter-spacing: -0.15rem;
	font-size:1.4rem;
}
.arrow-triangle-01,
.arrow-triangle-02,
.arrow-triangle-03{
	width: 0;
	height: 0;
	border-left: 36px solid transparent;
	border-right: 36px solid transparent;
	border-top: 36px solid #9ee62a;
	margin: 10px auto 20px;	
}
.arrow-triangle-02{  border-top: 36px solid #f0aa8c;}
.arrow-triangle-03{  border-top: 36px solid #41d2f1;}

 .rec-entry-btn{
	margin:20px auto 30px;
	border-radius: 24px;
	width:200px; 
	text-align:center;
	padding:12px 3px 6px;
	letter-spacing:-0.1rem;
	transition-duration: .3s;
}

 .rec-entry-btn img{
	 width:60%;
	 margin-bottom:6px;
 }

.btn-newgraduate:hover,
.btn-voice:hover,
.btn-contact:hover ,
a:hover .rec-entry-btn {
  transform: scale(0.9);
}

.rec-entry-01 .rec-entry-btn{
	background: #9ee62a;
}
.rec-entry-02 .rec-entry-btn{
	background: #f0aa8c;
}
.rec-entry-03 .rec-entry-btn{
	background: #41d2f1;
}
.btn-newgraduate,
.btn-voice{
	display: block;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 700;
	color:#323232;
	background: #c9caca;
	border-radius: 12px;
	text-align: center;
	width:100%;
	margin:50px auto ;
	padding:16px;
	transition-duration: .3s;
}
.btn-newgraduate{
	background: #9ee62a;
}
.btn-contact {
	display: block;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 700;
    color: #c5f281;
    background: #898989;
	border-radius: 12px;
	text-align: center;
	width:100%;
	margin:50px auto ;
	padding:16px;
	transition-duration: .3s;
}


@media (min-width: 768px) {
	.rec-entry-area{
		display: flex;
		justify-content: space-evenly;
		align-items: flex-start;
	}
	.rec-entry-area li{
		width:230px;
	}
	.btn-newgraduate,
	.btn-voice,
	.btn-contact{
		max-width: 700px;
	}
}
@media (min-width: 1280px) {
	.rec-entry h2 {
		width: 490px;
		margin: 10px auto 60px;
	}
	.rec-entry h2 span {
		font-size: 2.5rem;
        display: block;
        margin-top: 4rem;
	}
	.rec-entry-copy {
		font-size: 2.1rem;
		margin: 60px 0;
	}
	.rec-entry-area{
		width:768px;
		margin:auto;
	}
	.rec-entry-btn img {
		width: 80%;
		max-width:351px;
	}
	.btn-newgraduate,
	.btn-voice,
	.btn-contact{
		max-width: 768px;
		margin:80px auto 70px;
		padding:30px;
	}

}
@media (min-width: 1680px) {
	.rec-entry-area{
		width:1530px;
		justify-content: space-between;
	}
	.rec-entry-area li{
		width:460px;
	}
	
	.rec-entry-label{
		height: 460px;
		width: 460px;
		padding-top:160px
	}
	.rec-entry-btn {
		margin: 20px auto 60px;
		width: 390px;
	}
	.rec-entry-label span:first-child {
		font-size: 4.6rem;
		margin-bottom: 5rem;
	}
	.rec-entry-02 .rec-entry-btn span,
	.rec-entry-btn span{
		font-size:2.3rem;
	}
	.rec-entry-label span{
		font-size:3.2rem;
	}
	.btn-newgraduate,
	.btn-voice,
	.btn-contact{
		font-size: 5rem;
		max-width: 1520px;
	}
}
/*----------------------------------
footer
----------------------------------*/

.footer{
	padding:20px 0;
	background: rgba(230,230,230,0.6);
}
.footer-logo{
	display: block;
	width:280px;
	margin-bottom:16px;
}
.footer-link-corp{
	display: block;
	width:163px;
	margin-bottom:2rem;
}
.footer-link-corp img{
  transition: transform 0.3s ease-in-out;
  }
.footer-link-corp:hover img{
	position: relative;
	transform: translateX(16px);
}
.footer-nav{
	display: none;
}

.footer-address li{
	font-size: 1rem;
	margin-bottom:1rem;
}
.footer-address li:last-child{
	margin-bottom:0rem;
}
.footer-address li img{
	height: 1rem;
	vertical-align: middle;
	margin-left:0.5rem;
	transition: transform 0.3s ease-in-out;
}
.footer-address li a:hover img{
	transform: translateX(8px);
}
.footer-link-privacy-sp{
	font-size: 1rem;
	margin-bottom:2em;
	display: block;
}
.footer-copyright{
	font-size: 1rem;
}


@media (min-width: 768px) {


}
@media (min-width: 1280px) {
	.footer{
		padding:70px 0;

	}
	.footer-logo{
		width:525px;
		margin-bottom:50px;
	}
	.footer-link-corp{
		width:315px;
		margin-bottom:60px;
	}
	.footer-nav{
		display: flex;
		justify-content: space-between;
		margin-bottom:3.6rem;
	}
	.footer-nav .rec-menu{
		width:25%;
		border-left:2px solid #ccc;
		padding-left:20px;
		margin-right:20px;
	}
	.footer-nav .rec-menu:last-child{
		margin-right:0px;
	}
	.footer-nav .rec-menu span{
		display:block;
	}
	.footer-nav .rec-menu-label{
		background:url(../img/icon_arrow_lg.svg) no-repeat left  top ;
		background-size: 38px;
		padding-left:44px;
	}
	.fn_works .rec-menu-label {margin-bottom:52px;}
	.fn_pt .rec-menu-label{margin-bottom:18px;}
	.fn_about .rec-menu-label{margin-bottom:12px;}
	.fn_recruitment .rec-menu-label {margin-bottom:54px;}

	.footer-nav .rec-menu-label img{display: block;}
	.fn_works .rec-menu-label img{width:135px;}
	.fn_pt .rec-menu-label img{width:187px;}
	.fn_about .rec-menu-label img{width:212px;;}
	.fn_recruitment .rec-menu-label img{width:256px;}

	.footer-nav .rec-menu-label span{
		font-size:1.6rem;
		letter-spacing: -0.1rem;
		margin-top: 8px;
	}
	.footer-nav .rec-menu li {
		font-size:2rem;
		line-height: 1.8;
		padding-left: 22px;
		background: url(../img/icon_lg-square.svg) left 0px top 10px no-repeat;
		background-size: 16px auto;
	}
	.footer-nav .rec-menu span.sub-label{
		font-weight: 700;
        line-height: 1;
        margin-top: 4px;
	}
	.footer-nav .rec-menu.fn_pt li:last-child{
		margin-bottom: 2rem;
	}
	.footer-nav .rec-menu span.sub-copy{
		font-size:1.2rem;
	}
	.footer-nav .rec-menu.fn_pt li span.sub-copy{
        margin-top: -5px;
        line-height: 1.2;
	}

	.footer-address li{
		font-size: 1.6rem;
		margin-bottom:0rem;
	}

	.footer-address li:last-child{
		margin-bottom:1.8rem;
	}
	.footer-address li img{
		height: 1.6rem;
		margin-left:0.8rem;
	}


	.footer-link-privacy-sp{
		display: none;
	}
	.footer-link-privacy{
		font-size: 1.6rem;
        display: block;
        margin-top: 3.6rem;
	}
	.footer-copyright{
		font-size: 1.2rem;
	}
}
@media (min-width: 1680px) {

}
@media (min-width: 1920px) {
		.footer-address{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
}
	.footer-address li{
		font-size: 1.6rem;
		margin-bottom:0rem;
		margin-right:2rem;
	}
	.footer-address .fa-main{width:100%;margin-right:0;}
	.footer-address .fa-tokyo,
	.footer-address .fa-nagoya,
	.footer-address .fa-fukuoka,
	.footer-address .fa-sapporo{width:calc(50% - 2rem);}
}


/*----------------------------------
トップページ
----------------------------------*/

.top-mv{
	height:817px;
	background:#ddd;
	position: relative;
	width: 100%;
	/*height: 100vh;*/
	overflow: hidden;
}
.mv-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.icon-movie {
  position: absolute;
  width: 98px;
  height: 98px;
  background:#fff;
  border-radius:50% ;
  right:15px;
  bottom:15px;
}

.icon-center {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  z-index: 2;
}

.icon-text {
  position: absolute;
  inset: 0;
  width:80%;
  height: auto;
  margin:auto;
  animation: rotateText 12s linear infinite;
}

@keyframes rotateText {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


.top-copy{/* Copy */
	background: rgb(230 230 230 / 0.6);
}
.top-copy-01{
	width:336px;
	margin:auto;
	padding:30px 0;
}
.top-copy-mark{
	width:101px;
	margin:auto;
	padding:0 0 30px;
}
.top-copy-02{
	text-align: center;
	padding:0 0 30px;
	font-size: 1.3rem;
	line-height: 2.2;
}

.top-news h2 img{/* 新着情報 */
	width:100px;
	vertical-align: baseline;
	margin-right:1rem;
}
.top-news h2 span{
	font-size: 1.25rem;
}
.top-news{
    margin-bottom: 30px;
    padding-top: 30px;
}

.top-news ul{
	padding:20px;
	border-radius: 12px;
	border:2px solid #dddddd;
	margin:0.4rem 0 0.4rem;
}
.top-news ul li{
	font-size: 1.2rem;
	margin-bottom:2.4rem;
}
.top-news ul li:last-child{
	margin-bottom:0rem;
}
.top-news-list{
	display: block;
}
.top-news-cate{
	background:#cccccc;
	color:#fff;
	font-weight: 700;
	padding: 0 12px;
    font-size: 1rem;
    line-height: 1;
    margin-left: 1rem;
}
.top-news-mark{margin-right: 1rem;color:#eb5000;font-weight: bold;}
a.new-style{color:#eb5000;font-weight: bold;}
.top-news-cate.cate-others{background:#cccccc;}/*その他*/
.top-news-cate.cate-internship{background:#faee00;}/*インターシップ */
.top-news-cate.cate-career{background:#f0aa8c;}/*中途・キャリア採用 */
.top-news-cate.cate-new{background:#9ee62a;}/*新卒採用 */
.top-news-cate.cate-disability{background:#41d2f1;}/*障がい者採用 */

.btn-viewmore{
	display: block;
	text-align: right;
	line-height: 1;
}
.btn-viewmore img{
	width: auto;
	height:10px;
	transition: transform 0.3s ease-in-out;
}
.btn-viewmore:hover{
	opacity:0.5;
}
.btn-viewmore:hover img{
	position: relative;
	transform: translateX(-20px);
}

.top-about,/* ABOUT */
.top-works,/* works */
.top-sustainability,/* sustainability */
.top-peopleteams{/* people teams */
	position: relative;
	padding: 30px 0;
	background: rgb(230 230 230 / 0.6);
	margin-bottom:30px;
}
.top-peopleteams{/* people teams */
	padding: 30px 0 60px;
	margin-bottom: 100px;
}
.top-about h2{
	text-align:center;
	margin-bottom:2rem;
}
.top-works h2,
.top-peopleteams h2{
	text-align:center;
	margin-bottom:3rem;
}
.top-sustainability h2{
	margin-bottom:3rem;
}
.top-about h2 span,
.top-works h2 span,
.top-sustainability h2 span,
.top-peopleteams h2 span{
	display: block;
}
.top-about h2 img{
	width:200px;
	margin-bottom:1.2rem;
}
.top-works__item,
.top-sustaina__item,
.top-about__item {
	position: relative;
	margin: 0 0 30px;
}
.top-works__group:last-of-type .top-works__item:last-of-type,
.top-about__item:last-of-type {
	margin: 0;
}
.top-works__item a,
.top-sustaina__item a,
.top-about__item a {
	display: block;
	position: relative;
}
.top-works__item a:hover,
.top-sustaina__item a:hover,
.top-about__item a:hover {
	opacity: 1;
}
.top-works__item a:hover .top-works__img,
.top-sustaina__item a:hover .top-sustaina__img,
.top-about__item a:hover .top-about__img {
	opacity: 1;
}
.top-works__item a::after,
.top-sustaina__item a::after,
.top-about__item a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 15px;
	background-color: #1F1D1B;
	content: "";
	opacity: 0.3;
	transition: all 0.3s ease 0s;
}
.top-works__item a:hover::after,
.top-sustaina__item a:hover::after,
.top-about__item a:hover::after {
	opacity: 0.2;
}
.top-works__item a .more ,
.top-sustaina__item a .more ,
.top-about__item a .more {
	position: absolute;
	z-index: 1;
	right: 12px;
	bottom: 12px;
	transition: all 0.4s ease 0s;
}
.top-works__item a .more img,
.top-sustaina__item a .more img,
.top-about__item a .more img{
	height:8px;
}
.top-works__item a:hover .more img,
.top-sustaina__item a:hover .more img,
.top-about__item a:hover .more img{
	opacity: 0.5;
}

.more {
	position: absolute;
	color: #fff;
	transition: all 0.4s ease 0s;
}
.top-works__img,
.top-sustaina__img,
.top-about__img {
	overflow: hidden;
	border-radius: 12px;
}
.top-works__img img,
.top-sustaina__img img,
.top-about__img img {
	width:100%;
	border-radius: 12px;
	transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}
.top-works__item a:hover .top-works__img img ,
.top-sustaina__item a:hover .top-sustaina__img img,
.top-about__item a:hover .top-about__img img {
	transform: scale(1.05);
	opacity: 1;
}
.top-sustaina__text {
	position: absolute;
    bottom: -24px;
    left: 0;
}
.top-works__wrap,
.top-about__wrap {
	z-index: 1;
	position: absolute;
	top: 12px;
	left: 12px;
	/*transform: translateY(-50%);*/
	color: #fff;
}
.top-about__item.ta-ceo .top-about__wrap,
.top-about__item.ta-number .top-about__wrap,
.top-about__item.ta-vision .top-about__wrap,
.top-about__item.ta-benefits .top-about__wrap{
	right: 12px;
	text-align: right;
}
.top-works__title,
.top-about__title {
	margin-bottom:6px;
}
.top-works__title span,
.top-about__title span{
	display: block;
}
.lb-works,
.lb-about01{
	font-size: 1.8rem;
	line-height: 1.2;
}
.lb-about02{font-size: 1.2rem;}
.top-about__text{
	line-height:1;
}
.top-about__text img{
	height:6px;
	vertical-align: top;
}
.ta-ceo .top-about__text img{
	height:15px;
}
.top-works h2 img{
	width:125px;
	margin-bottom:1.2rem;
}
.top-works__item.tw-02 .top-works__wrap,
.top-works__item.tw-04 .top-works__wrap,
.top-works__item.tw-06 .top-works__wrap,
.top-works__item.tw-08 .top-works__wrap{
	text-align: right;
	right:12px;
}
.top-works__text {
	font-size: 1.2rem;
	line-height: 1.2;
}
.top-works-copy{
	text-align: center;
	margin-bottom:1.6rem;
}
.top-sustaina-copy{
	margin-bottom:1.6rem;
}
.top-peopleteams h2 img{
	width:171px;
	margin-bottom:1.2rem;
}

.top-sustainability h2 img{
	width:291px;
	margin-bottom:1.2rem;
}


.feature-pt{
	width:100%;
	margin:0 auto ;
	overflow: hidden;
}
.feature-pt img{
	display: block;
	margin:0 auto ;
}

@media (min-width: 768px) {
	.icon-movie {
		width: 164px;
		height: 164px;
		right:36px;
		bottom:36px;
	}
	.icon-center {
		width: 80px;
		height: 80px;
	}
	.top-copy-01{
		width:80%;
		padding:60px 0;
	}
	.top-copy-mark{
		width:25.9%;
	}
	.top-copy-02{
		font-size: 1.8rem;
	}
	.top-news-list{
		display: inline-block;
	}
	.top-news-cate {
		margin-right: 1rem;
	}
	.top-sustaina__area,
	.top-works__area,
	.top-about__area{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top-sustaina__area{
		align-items: end;
	}
	.top-sustaina__ttl,
	.top-sustaina__item,
	.top-about__item.ta-number,
	.top-about__item.ta-ceo{
		width:49%;
	}
	.top-works__group,
	.top-about__item.ta-history,
	.top-about__item.ta-vision,
	.top-about__item.ta-benefits{
		width:32%;
	}
	.top-works__img img,
	.top-sustaina__img img,
	.top-about__img img 
	.top-works__img, 
	.top-sustaina__img, 
	.top-about__img {
		border-radius: 24px;
	}
	.top-works__item a::after, 
	.top-sustaina__item a::after, 
	.top-about__item a::after {
		border-radius: 24px;
	}
	.top-works__item.tw-01{margin: 0 0 6%;}
	.top-works__item.tw-02{margin:0 0 6%}
	.top-works__item.tw-03{margin:0}
	.top-works__item.tw-04{margin: 0 0 6%;}
	.top-works__item.tw-05{margin: 0 0 6%;}
	.top-works__item.tw-06{margin: 0;}
	.top-works__item.tw-07{margin: 0 0 6%;}
	.top-works__item.tw-08{margin: 0 0 6%;}
	.top-works__item.tw-09{ margin: 0;}

	.top-works__item a::after,
	.top-works__img,
	.top-works__img img{
		border-radius: 0;
	}
	.top-works__item.tw-01 a::after,
	.tw-01 .top-works__img,
	.tw-01 .top-works__img img{
		border-top-left-radius:25px;
	}
	.top-works__item.tw-03 a::after,
	.tw-03 .top-works__img,
	.tw-03 .top-works__img img{
		border-bottom-left-radius:25px;
	}
	.top-works__item.tw-09 a::after,
	.tw-09 .top-works__img,
	.tw-09 .top-works__img img{
		border-bottom-right-radius:25px;
	}
	.top-works__item.tw-07 a::after,
	.tw-07 .top-works__img,
	.tw-07 .top-works__img img{
		border-top-right-radius:25px;
	}
	.top-sustaina__item a:hover .more,
	.top-works__item a:hover .more,
	.top-about__item a:hover .more {
		right: 40px;
	}

	.top-sustaina__item a:hover .more::after,
	.top-works__item a:hover .more::after,
	.top-about__item a:hover .more::after {
		content: none;
	}
	.feature-pt{
		width: min(100% - 32px, 1680px);
	}
}
@media (min-width:1280px) {
	.top-copy{/* Copy */
		padding-bottom:5rem;
	}
	.top-copy-01{
		width:890px;
	}
	.top-copy-mark{
		width:303px;
		padding:0 0 60px;
	}
	.top-copy-02{
		font-size: 2.2rem;
	}
	.top-news{
		padding:5rem 0 4rem;
	}
	.top-news-area{
		width:1200px;
		margin:auto;
	}
	.top-news h2 img{/* 新着情報 */
		width:200px;
		margin-right:2.5rem;
	}
	.top-news h2 span{
		font-size: 2rem;
	}
	.top-news ul {
		padding: 30px;
		border-radius: 20px;
		margin: 1.4rem 0 1.4rem;
	}
	.top-news ul li {
		font-size: 2rem;
		margin-bottom: 2.8rem;
	}
	.top-news-cate {
		font-size: 1.6rem;
	}
	.btn-viewmore img {
		height: 16px;
	}
	.top-about,
	.top-works,
	.top-peopleteams,
	.top-sustainability {
		padding: 60px 0;
		margin-bottom: 60px;
	}
	.top-about h2,
	.top-works h2,
	.top-peopleteams h2 {
		margin-bottom: 4.8rem;
	}
	.top-about h2 img{
		width:774px;
		margin-bottom:1.2rem;
	}
	.top-works h2 img{
		width:250px;
		margin-bottom:1.2rem;
	}
	.top-peopleteams h2 img{
		width:606px;
		margin-bottom:1.2rem;
	}
	.top-about h2 span,
	.top-works h2 span,
	.top-peopleteams h2 span,
	.top-sustainability h2 span{
		font-size:2rem;
	}
	.lb-works,
	.lb-about01{
		font-size: 3.6rem;
		line-height: 1.2;
	}
	.lb-about02{
		font-size: 2.4rem;
		 line-height: 1.6;
	}
	.top-about__text img {
		height: 12px;
		margin-top:4px;
	}
	.ta-ceo .top-about__text img{
		height:31px;
	}
	.top-works__item a .more, 
	.top-sustaina__item a .more, 
	.top-about__item a .more {
		right: 16px;
		bottom: 16px;
	}
	.top-works__item a .more img, 
	.top-sustaina__item a .more img, 
	.top-about__item a .more img {
		height: 12px;
	}
	.top-works__wrap,
	.top-about__wrap {
		top: 16px;
		left: 16px;
	}
	.top-about__item.ta-ceo .top-about__wrap,
	.top-about__item.ta-number .top-about__wrap,
	.top-about__item.ta-vision .top-about__wrap,
	.top-about__item.ta-benefits .top-about__wrap{
		right: 16px;
	}

	.top-works-copy {
		font-size:2rem;
		margin-bottom:2.4rem;
	}
	.top-works-copy br{
		display:none;
	}
	.top-works__text {
		font-size: 1.4rem;
		letter-spacing: 0.1rem;
	}
    .top-sustaina__area {
        align-items: start;
    }
	.top-sustainability h2 img{
		width:582px;
		margin-bottom:1.2rem;
	}
	.top-sustaina-copy{
		font-size:2rem;
	}
	.top-sustaina__item {
		margin: 0 0 60px;
	}
	.top-sustaina__text {
		bottom: -42px;
		font-size: 2rem;
	}
	.feature-pt img{
			margin:0 auto ;
	}
}

/*----------------------------------
Works 仕事を知る
----------------------------------*/

.works .page-ttl .page-ttl-label img{
	width:101px;
}

.works .page-ttl {
	display: flex;
	justify-content: space-between;
	align-items: start;
}
.works .page-ttl .work-label{
	font-size: 1.4rem;
	margin-top:0.8rem;
}

.works-mv{
	position: relative;
	margin-bottom:3rem;
}
.works-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.works-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.works-copy img{
	width:272px;
}
.works-copy{
	font-size: 3.2rem;
	line-height: 1.2;
	font-weight: bold;
}

.works02 .works-copy img{width:251px;}
.works03 .works-copy img{width:249px;}
.works04 .works-copy img{width:302px;}
.works05 .works-copy img{width:303px;}
.works06 .works-copy img{width:243px;}
.works07 .works-copy img{width:226px;}
.works08 .works-copy img{width:317px;}
.works09 .works-copy img{width:342px;}



.works-interview section img,
.works-mv picture img{
	border-radius: 12px;
}
.works-mv figure{
	position: absolute;
	right:16px;
	top:-24px;
}
.works-mv figure img{
	width:116px;
}
.works-interview h2{
	margin-bottom:1.6rem;
}
.works-interview h3{
	font-size: 2rem;
	margin-bottom:2rem;
	letter-spacing: 0.1rem;
}

.works-interview p{
	margin-bottom:3.6rem;
	line-height: 1.8;
}
.works-division{
	display: flex;
	line-height: 1.4;
	margin-bottom:4.8rem;
}
.works-division .label-division{
	display: block;
	font-weight: 700;
}
.works-division .label-team{
	display: block;
	font-size: 1.1rem;
}
.works-division .works-initial{
	font-size: 3rem;
	font-weight: 700;
	margin-left:1.6rem;
	line-height: 1;
}

.works-interview figure{
	margin-bottom:3rem;
}
.works-interview-01,
.works-interview-02{
	padding-bottom:7rem;
}
.works-message{
	padding:7rem 0 6rem;
	position:relative;
}
.works-message:before{
	content:" ";
	position:absolute;
	width:100%;
	height:100%;
	background: url(../img/works/bg_lightgreen_sp.svg)  no-repeat center top;
	background-size:100%;
	mix-blend-mode: multiply;
	z-index:-1;
}
.works-message-flex{
	padding:0 1.6rem;
}

.works-message .wm-img{
	z-index: 10;
}
.works-daily h2{
	margin-bottom:2rem;
}
.works-daily h2 img{
	width:231px;
}
.works-message h2 span,
.works-daily h2 span{
	display: block;
	font-size:1.2rem;
	font-weight: 700;
}
.works-daily > ul{
	margin-bottom:6rem;
	padding:0 0 0.5rem 0;
}
.works-daily > ul >li{
	border-left:5px solid #9ee62a;
	padding:0 0 0 1rem;
}
.works-daily > ul li ul li > img{
 	height:33px;
	display: block;
}
.works-daily > ul li ul li{
	padding:0 0 1rem 0;
}
/*.works-daily > ul li ul li:last-child{
	padding:0 0 0 0;
}*/
.works-daily > ul li ul li > span{
	display: block;
	padding:0 0 0 4rem;
}

.works01 .time-900{margin-bottom: 2rem;}
.works01 .time-910{margin-bottom: 8rem;}
.works01 .time-1300{margin-bottom: 6rem;}
.works01 .time-pm{margin-bottom: 10rem;padding-left:4rem;}

.works02 .time-1100{margin-bottom: 3rem;}
.works02 .time-1300{margin-bottom: 22rem;}

.works03 .time-900{margin-bottom: 10rem;}
.works03 .time-1100{margin-bottom: 3rem;}
.works03 .time-1300{margin-bottom: 3rem;}
.works03 .time-1430{margin-bottom: 3rem;}
.works03 .time-1600{margin-bottom: 3rem;}

.works04 .time-900{margin-bottom: 6rem;}
.works04 .time-am{margin-bottom: 12rem;padding-left:4rem;}
.works04 .time-1300{margin-bottom: 6rem;}
.works04 .time-pm{margin-bottom: 6rem;padding-left: 4rem;line-height: 3;}

.works05 .time-930{margin-bottom: 3rem;}
.works05 .time-1000{margin-bottom: 10rem;}
.works05 .time-1330{margin-bottom: 3rem;}
.works05 .time-1430{margin-bottom: 10rem;}

.works06 .time-900{margin-bottom:4rem;}
.works06 .time-am{margin-bottom: 4rem;padding-left:4rem;}
.works06 .time-1100{margin-bottom: 3rem;}
.works06 .time-1300{margin-bottom: 7rem;}
.works06 .time-1500{margin-bottom: 5rem;}

.works07 .time-900{margin-bottom:3rem;}
.works07 .time-1000{margin-bottom:13rem;}
.works07 .time-1300,
.works07 .time-1500,
.works07 .time-1630{margin-bottom:3rem;}

.works08 .time-900{margin-bottom:8rem;}
.works08 .time-1300,
.works08 .time-1600,
.works08 .time-1700{margin-bottom:1rem;}
.works08 .time-1400{margin-bottom:1.5rem;}

.works09 .time-830{margin-bottom:3rem;}
.works09 .time-930{margin-bottom:12rem;}
.works09 .time-1500,
.works09 .time-1700{margin-bottom:2rem;}

.works-message h2{
	margin-bottom:5rem;
}
.works-message h2 img{
	width:252px;
}
.works-message p{
	margin-bottom:2rem;
	line-height: 1.8;
}
.works-message-img img{
	width:293px;
	margin-bottom: 1rem;
}
.works02 .works-message-img img{width:244px;}
.works03 .works-message-img img{width:293px;}
.works04 .works-message-img img{width:344px;}
.works05 .works-message-img img{width:258px;}
.works06 .works-message-img img{width:288px;}
.works07 .works-message-img img{width:323px;}
.works08 .works-message-img img{width:352px;}
.works09 .works-message-img img{width:354px;}
.works-message figure{
	width:100%;
}

.works-other{
	padding-bottom:7rem;
}
.works-other h2{
	text-align: center;
	margin-bottom:2rem;
}
.works-other img{
	width:136px;
}
.works-other span{
	display: block;
	font-size: 1.2rem;
}
.works-other ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border:5px solid #9ee62a;
	border-radius: 60px;
	padding:16px;
	background:#fff;
}
.works-other ul li{
	width:50%;
	text-align: center;
	line-height: 1.4;
}
.works-other ul li.li-works-sttl-other{
	display: none;
}
.works-other ul li a{
	position: relative;
	display: block;
}
.works-other ul li picture{
	overflow: hidden;
	display: block;
	border-radius: 12px;
}
.works-other ul li img{
	width: 100%;
	border-radius: 12px;
	display: block;
	margin: auto;
	transition-duration: .3s;
}
.works-other ul li img:hover {
  transform: scale(1.2);
}
.works-other ul li.li-works-sttl-other img{
	border-radius: 0;
}
.works-other ul li.li-works-sttl-other img:hover{
	transform: none;
}
.works-other ul li:first-child{
	padding:0 10px 0 30px;
}
.works-other ul li:first-child a::before,
.works-other ul li:last-child a::before {
    position: absolute;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    content: "";
    transition: all 0.3s ease 0s;
}
.works-other ul li:first-child a::before {
    left: -34px;
    background: url(../img/icon_arrow_lg_sl.svg) no-repeat left center;
	background-size: 24px;
}
.works-other ul li:first-child a:hover::before {
    left: -42px;
}
.works-other ul li:last-child{
	padding:0 30px 0 10px;
}
.works-other ul li:last-child a::before {
    right: -34px;
    background: url(../img/icon_arrow_lg_sr.svg) no-repeat right center;
	background-size: 24px;
}
.works-other ul li:last-child a:hover::before {
    right: -42px;
}
.works-other ul li .label-division{
	font-weight: 700;
	margin:6px 0;
}
.works-other ul li .label-team{
	font-size:1.0rem;
}

@media (min-width:768px) {

	.works01 .works-copy img,
	.works02 .works-copy img,
	.works03 .works-copy img,
	.works04 .works-copy img,
	.works05 .works-copy img,
	.works06 .works-copy img,
	.works07 .works-copy img,
	.works08 .works-copy img,
	.works09 .works-copy img{
		width:91.3%;
	}
	.works-interview-01,
	.works-interview-02{
		overflow: visible;
		justify-content: space-between;
		gap: 5%;
		display: flex;
		align-items: flex-start;
	}
	.works-interview-02{
	  flex-direction: row-reverse;
  	}
	.works-interview-01 figure,
	.works-interview-02 figure{
		width: 47.5%;
		position: sticky;
		 top: 80px;
		align-self: flex-start;
	}
	.works-interview-01 div,
	.works-interview-02 div{
		width: 47.5%;
		position: relative;	
		 padding-bottom: 25vh;
	}
	  /* 画像の暴走防止 */
	.works-interview-01 > figure img ,
	.works-interview-01 > figure img {
		width: 100%;
		height: auto;
		display: block;
	}
	.works-daily > ul{
		justify-content: space-between;
		display: flex;
		align-items: flex-start;
	}
	.works-daily > ul > li{
		width:48%;
	}
	.works-message:before{
		background: url(../img/works/bg_lightgreen.svg)  no-repeat center top;
		background-size:100%;
	}
	.works-message h2 {
		margin-top: 5rem;
	}
	.works-message-flex{
		justify-content: space-between;
		display: flex;
		align-items:flex-start;
		padding:0 6rem;
	}
	.works-message-flex > div{
		width:40%;
	}
	.works-message-flex > figure{
		width:60%;
	}
	.works-other h2{
		display:none;
	}
	.works-other ul{
		align-items: center;
	}
	.works-other ul li.li-works-sttl-other{
		display:block;
	}
	.works-other ul li.li-works-sttl-other img{
		width:200px;
		display: inline;
	}
	.works-other ul li.li-works-sttl-other span{
		margin-top:8px;
	}
}

@media (min-width: 1280px) {

	.works .page-ttl .page-ttl-label img{
		width:202px;
	}
	.works .page-ttl .work-label {
		font-size: 2.8rem;
		margin-top: 1.6rem;
	}
    .works-mv {
        margin-top: -6rem;
        margin-bottom: 4.8rem;
    }
	.works-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.works01 .works-copy img{width:1099px;}
	.works02 .works-copy img{width:891px;}
	.works04 .works-copy img,
	.works03 .works-copy img{width:950px;}
	.works05 .works-copy img{width:926px;}
	.works06 .works-copy img{width:723px;}
	.works07 .works-copy img{width:714px;}
	.works08 .works-copy img{width:634px;}
	.works09 .works-copy img{width:683px;}


	.works-mv figure img{
		width:223px;
	}
	.works-division{
		margin-bottom:9.6rem;
	}
	.works-division .works-initial {
		font-size: 5.8rem;
	}
	.works-division .label-division{
		font-size: 2.4rem;
	}
	.works-division .label-team{
		font-size: 1.6rem;
	}
	.works-interview h2 {
		margin-bottom: 8rem;
	}
	.works-interview h3 {
		font-size:3.6rem;
		margin-bottom: 4rem;
	}
	.works-interview p {
		margin-bottom: 7.2rem;
		line-height: 2.2;
	}
	.works-interview section img,
	.works-mv picture img{
		border-radius:24px;
	}
	.works-daily h2 {
		margin-bottom: 4.8rem;
	}
	.works-daily h2 img {
		width: 463px;
	}
	.works-daily > ul >li{
		border-left:10px solid #9ee62a;
		padding:0 0 0 2rem;
	}
	.works-daily > ul li ul li{
		padding: 0 0 4rem 0;
	}
	.works-daily > ul li ul li > img {
		height: 66px;
	}
	.works-daily > ul li ul li > span {
		padding: 0 0 0 8rem;
	}
	.works01 .time-900{margin-bottom: 4rem;}
	.works01 .time-910{margin-bottom: 16rem;}
	.works01 .time-1300{margin-bottom: 8rem;}
	.works01 .time-pm {
		padding-left: 8rem;
		margin-bottom: 22rem;
	}
	.works02 .time-1100{margin-bottom: 6rem;}
	.works02 .time-1300{margin-bottom: 40rem;}

	.works03 .time-900{margin-bottom: 20rem;}
	.works03 .time-1100{margin-bottom: 7rem;}
	.works03 .time-1300{margin-bottom: 7rem;}
	.works03 .time-1430{margin-bottom: 7rem;}

	.works04 .time-am{padding-left:8rem;}
	.works04 .time-1300{margin-bottom: 5rem;}
	.works04 .time-pm{margin-bottom: 5rem;padding-left: 8rem;}

	.works05 .time-1000 { margin-bottom: 8rem;}
	.works05 .time-1430{margin-bottom: 12rem;}

	.works06 .time-1300 {margin-bottom: 8rem;}
	.works06 .time-1500 {margin-bottom: 7rem;}

	.works07 .time-1000 {margin-bottom: 20rem;}

	.works09 .time-930 { margin-bottom: 19rem;}

	.works-message h2 span, 
	.works-daily h2 span {
		font-size: 2.4rem;
	}
	.works-message {
		padding: 8rem 0rem 16rem;
	}
	.works-message:before{
		background: url(../img/works/bg_lightgreen.svg) no-repeat center top 2rem;
		background-size:100%;
	}
	.works-message h2 {
        margin-top: 12rem;
    }
	.works-message h2 img {
		width: 513px;
	}
	.works-message p {
		margin-bottom: 4rem;
		line-height: 2.2;
	}
	.works-message-img img {width: 586px;}
	.works02 .works-message-img img{width:491px;}
	.works03 .works-message-img img,
	.works04 .works-message-img img{width:587px;}
	.works05 .works-message-img img{width:468px;}
	.works06 .works-message-img img{width:523px;}
	.works07 .works-message-img img{width:567px;}
	.works07 .works-message-img img{width:639px;}
	.works09 .works-message-img img{width:642px;}
	.works-message-flex{
		width:1200px;
		margin:auto;
		padding:0;
	}
	.works-message-flex > div {
        width: 43%;
    }
	.works-message-flex > figure {
        width: 55%;
    }
	.works-other ul{
		border: 10px solid #9ee62a;
		border-radius: 120px;
		padding: 24px 36px;
	}
	.works-other ul li a{
	    transition: all 0.3s ease 0s;
	}
	.works-other ul li picture{
		border-radius: 24px;
	}
	.works-other ul li img{
		border-radius: 24px;
		width: 276px;
	}
	.works-other ul li:first-child{
		padding: 0 0 0 60px;
	}
	.works-other ul li:first-child a::before,
	.works-other ul li:last-child a::before {
		width: 48px;
		height: 48px;
	}
	.works-other ul li:first-child a::before {
		left: -60px;
		background: url(../img/icon_arrow_lg_sl.svg) no-repeat right center;
		background-size: 48px;
	}
	.works-other ul li:first-child a:hover::before {
		left: -80px;
	}
	.works-other ul li:last-child{
		padding: 0 60px 0 0;
	}
	.works-other ul li:last-child a::before {
		right: -60px;
		background: url(../img/icon_arrow_lg_sr.svg) no-repeat right center;
		background-size: 48px;
	}
	.works-other ul li:last-child a:hover::before {
		right: -80px;
	}
	.works-other ul li.li-works-sttl-other {
		width: 290px;
	}
	 .works-other ul li.li-works-sttl-other img {
        width: 272px;
    }
	 .works-other ul li.li-works-sttl-other span {
        font-size:1.6rem;
		margin-top: 12px;
    }
	.works-other ul li .label-division {
		font-size: 2.4rem;
		margin: 6px 0;
	}
    .works-other ul li .label-team {
        font-size: 1.6rem;
    }
}

/*----------------------------------
People & Teams 働く人と、そこでともに働くチームを知る
----------------------------------*/
.people-teams .page-ttl {
    margin-bottom: 20px;
}
.people-teams .page-ttl .page-ttl-label img{
	width:250px;
	display: block;
}
.people-teams .page-ttl > img{
	margin-top:8px;
	width:185px;
	display: block;
}
.people-teams-mv{
	position: relative;
	margin-bottom:3rem;
}
.people-teams-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.people-teams-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.people-teams-copy{
	margin-bottom:3rem;
}
.people-teams01 .people-teams-copy img{width:303px;}
.people-teams02 .people-teams-copy img{width:321px;}
.people-teams03 .people-teams-copy img{width:174px;}
.people-teams04 .people-teams-copy img{width:293px;}
.people-teams05 .people-teams-copy img{width:280px;}
.people-teams06 .people-teams-copy img{width:352px;}
.people-teams07 .people-teams-copy img{width:352px;}

.people-teams-label{
	width:100%;
	margin-bottom:5rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	letter-spacing: 0;
}

.people-teams-label > img {
	width:7.8%;
	display: block;
	margin: auto;
}

.pt-division.pt-orange{color: #f09600;}
.pt-division.pt-blue{color: #0c88d6;}
.pt-division.pt-right{text-align: right;}

.people-teams-label .pt-division{
	width:46.1%;
	line-height: 1.6;
}
.people-teams-label .pt-division .label-division{
	display: block;
	font-weight: 700;
	font-size: 1.2rem;
}
.people-teams-label .pt-division .label-team{
	display: block;
	font-size:0.9rem;
}
.people-teams-label .pt-division .pt-initial{
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}


.people-teams-talk section img,
.people-teams-mv picture img{
	border-radius: 12px;
}
.people-teams-talk section figure{
	padding-bottom:7rem;

}
.people-teams-mv figure{
	position: absolute;
	right:16px;
	top:-58px;
}
.people-teams-mv figure img{
	width:116px;
}
.people-teams-talk h3{
	font-size: 2rem;
	margin-bottom:2rem;
}
.people-teams-talk .p-end,
.people-teams-talk section{
	margin-bottom:3.6rem;
}

.p-orange{color: #f09600;font-weight: 700;}
.p-blue{color: #0c88d6;font-weight: 700;}

.people-teams-slider{
	overflow: hidden;
	margin-bottom:6.4rem;
}
.people-teams-hdg{
	padding: 6rem 0 7rem;
	margin-top: -6rem;
	position:relative;
}
.people-teams-hdg:before{
	content:" ";
	position:absolute;
	width:100%;
	height:100%;
    background: url(../img/people-teams/bg_lightgray_sp.webp) no-repeat center top;
    background-size: 100%;
	mix-blend-mode: multiply;
	z-index:-1;
}
.people-teams-hdg-bg{
	padding:0 1.6rem;
}
.people-teams-hdg h2{
	margin-bottom:5rem;
}
.people-teams-careerpath h2 span,
.people-teams-hdg h2 span{
    display: block;
    font-size: 1.2rem;
	margin-top:8px;
}
.people-teams-hdg h2 img{
	width:349px;
}
.pt-hdg01{
	margin-bottom:20px;
}
.pt-hdg02{
	margin-bottom:16px;
}
.people-teams01 .pt-hdg01{width:298px;}
.people-teams02 .pt-hdg01{width:341px;}
.people-teams03 .pt-hdg01{width:288px;}
.people-teams04 .pt-hdg01{width:310px;}
.people-teams05 .pt-hdg01{width:343px;}
.people-teams06 .pt-hdg01{width:308px;}
.people-teams07 .pt-hdg01{width:300px;}

.people-teams01 .pt-hdg02{width:225px;}
.people-teams02 .pt-hdg02{width:257px;}
.people-teams03 .pt-hdg02{width:332px;}
.people-teams04 .pt-hdg02{width:211px;}
.people-teams05 .pt-hdg02{width:343px;}
.people-teams06 .pt-hdg02{width:261px;}
.people-teams07 .pt-hdg02{width:287px;}

.pt-hdg-img{
	width:100%;
}
.people-teams-hdg-flex{
	position: relative;
	z-index: 10;
}
.people-teams03 .people-teams-hdg-bg p{
	font-size: 1.0rem;
	line-height: 1.2;
	text-align: right;
	letter-spacing: 0;
}
.people-teams-hdg-flex .mark-hdg{
	width:52px;
	position: absolute;
	top:165px;
	right:0px;
}
.people-teams-careerpath h2{
	margin-bottom:2rem;
}
.people-teams-careerpath h2 img{
	width:180px;
}

.people-teams-careerpath{
	padding-bottom:6rem;
}
.pt-careerpath-orange,
.pt-careerpath-blue {position: relative;}

.people-teams01 .pt-careerpath-orange{margin-top:3.2rem;}

.pt-careerpath-orange figure,
.pt-careerpath-blue figure {
	width:118px;
	position: absolute;
	right:0;
	top:-32px;
}

.pt-careerpath-orange .pt-division{color: #f09600;}
.pt-careerpath-blue .pt-division{color: #0c88d6;}

.pt-careerpath-flex .pt-division{
	display: flex;
	line-height: 1.4;
	margin-bottom:2.4rem;
	margin-right: 120px;
}
.pt-careerpath-flex .pt-division .label-division{
	display: block;
	font-weight: 700;
	font-size: 1.2rem;
}
.pt-careerpath-flex .pt-division .label-team{
	display: block;
	font-size:0.9rem;
}
.pt-careerpath-flex .pt-division .pt-initial{
	font-size: 3rem;
	font-weight: 700;
	margin-left:1.6rem;
	line-height: 1;
}
.pt-careerpath-blue ol{
	max-height:243px;
	padding:1rem 0 2rem 3rem;
	background: url(../img/people-teams/arrow_blue.svg) no-repeat left top;
}
.pt-careerpath-orange ol{
	max-height:243px;
	padding:1rem 0 2rem 3rem;
	background: url(../img/people-teams/arrow_orange.svg) no-repeat left top;
}
.pt-careerpath-blue ol li,
.pt-careerpath-orange ol li{
margin-bottom: 1.8rem;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.6;
    display: flex;
}
.pt-careerpath-blue ol li span:first-child,
.pt-careerpath-orange ol li span:first-child{
	margin-right:0.5rem ;
}
.people-teams-other{
	padding-bottom:7rem;
}
.people-teams-other h2{
	text-align: center;
	margin-bottom:2rem;
}
.people-teams-other img{
	width:171px;
}
.people-teams-other span{
	display: block;
	font-size: 1.2rem;
}
.people-teams-other ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border:5px solid #9ee62a;
	border-radius: 60px;
	padding:16px;
	background:#fff;
}
.people-teams-other ul li{
	width:50%;
	text-align: center;
	line-height: 1.4;
}
.people-teams-other ul li.li-pt-sttl-other{
	display: none;
}
.people-teams-other ul li a{
	position: relative;
	display: block;
}
.people-teams-other ul li picture{
	overflow: hidden;
	display: block;
	border-radius: 12px;
}
.people-teams-other ul li img{
	width: 100%;
	border-radius: 12px;
	display: block;
	margin: auto;
	transition-duration: .3s;
}
.people-teams-other ul li img:hover {
  transform: scale(1.2);
}
.people-teams-other ul li.li-pt-sttl-other img{
	border-radius: 0;
}
.people-teams-other ul li.li-pt-sttl-other img:hover{
	transform: none;
}
.people-teams-other ul li:first-child{
	padding:0 10px 0 30px;
}
.people-teams-other ul li:first-child a::before,
.people-teams-other ul li:last-child a::before {
    position: absolute;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    content: "";
    transition: all 0.3s ease 0s;
}
.people-teams-other ul li:first-child a::before {
    left: -34px;
    background: url(../img/icon_arrow_lg_sl.svg) no-repeat left center;
	background-size: 24px;
}
.people-teams-other ul li:first-child a:hover::before {
    left: -42px;
}
.people-teams-other ul li:last-child{
	padding:0 30px 0 10px;
}
.people-teams-other ul li:last-child a::before {
    right: -34px;
    background: url(../img/icon_arrow_lg_sr.svg) no-repeat right center;
	background-size: 24px;
}
.people-teams-other ul li:last-child a:hover::before {
    right: -42px;
}
.people-teams-other ul li .label-division{
	font-weight: 700;
	margin:6px 0;
}
.people-teams-other ul li .label-team{
	font-size:1.0rem;
}
@media (max-width: 370px) {
	.people-teams-mv figure img{
		width:90px;
	}
}
@media (min-width: 480px) {
	.people-teams-hdg h2 img{
		width:89.5%;
	}
	.people-teams01 .pt-hdg01{width:76.4%;}
	.people-teams02 .pt-hdg01{width:87.4%;}
	.people-teams03 .pt-hdg01{width:73.8%;}
	.people-teams04 .pt-hdg01{width:79.5%;}
	.people-teams05 .pt-hdg01{width:87.9%;}
	.people-teams06 .pt-hdg01{width:80.0%;}
	.people-teams07 .pt-hdg01{width:76.9%;}

	.people-teams01 .pt-hdg02{width:57.7%;}
	.people-teams02 .pt-hdg02{width:65.9%;}
	.people-teams03 .pt-hdg02{width:85.1%;}
	.people-teams04 .pt-hdg02{width:54.1%;}
	.people-teams05 .pt-hdg02{width:87.9%;}
	.people-teams06 .pt-hdg02{width:66.9%;}
	.people-teams07 .pt-hdg02{width:65.9%;}

	.people-teams-hdg-flex .mark-hdg{
		width:13.3%;
	}
	.pt-careerpath-orange figure, 
	.pt-careerpath-blue figure {
  	  width: 180px;
	}
	.pt-careerpath-blue ol,
	.pt-careerpath-orange ol {
    	max-height: 300px;
	}

}

@media (min-width: 768px) {
	.people-teams .page-ttl {
		display: flex;
		justify-content: flex-start;
		align-items: start;
	}
	.people-teams .page-ttl > img {
		margin-top: 0;
		margin-left:2rem;
	}
	.people-teams01 .people-teams-copy img{width:85.2%;}
	.people-teams02 .people-teams-copy img{width:89.7%;}
	.people-teams03 .people-teams-copy img{width:57.9%;}
	.people-teams04 .people-teams-copy img{width:86%;}
	.people-teams05 .people-teams-copy img{width:73.25%;}
	.people-teams06 .people-teams-copy img{width:70.5%;}
	.people-teams07 .people-teams-copy img{width:96.4%;}


	.people-teams-label {
		margin-top: 5rem;
	}
	.people-teams-label .pt-division{
		display: flex;
	}
	.pt-division.pt-right {
		justify-content: end;
	}
	.people-teams-label .pt-division .pt-initial {
		margin-left: 1.6rem;
		font-size: 4.8rem;
	}
	.people-teams-label .pt-division {
		width: 47.7%;
	}
	.people-teams-label > img {
		width: 4.6%;
	}
	.pt-talk01,
	.pt-talk02{
		overflow: visible;
		justify-content: space-between;
		gap: 5%;
		display: flex;
		align-items: flex-start;
	}
	.pt-talk02{
	  flex-direction: row-reverse;
  	}
	.pt-talk01 figure,
	.pt-talk02 figure{
		width: 47.5%;
		position: sticky;
		 top: 80px;
		align-self: flex-start;
	}
	.pt-talk01 div,
	.pt-talk02 div{
		width: 47.5%;
		position: relative;	
		 padding-bottom: 25vh;
	}
	  /* 画像の暴走防止 */
	.pt-talk01 > figure img,
	.pt-talk02 > figure img {
		width: 100%;
		height: auto;
		display: block;
	}
	.people-teams-hdg::before {
		background: url(../img/people-teams/bg_lightgray.webp) no-repeat center top;
		background-size: 100%;
	}
    .people-teams-hdg h2 img {
        width: 755px;
    }
	.people-teams-hdg-bg {
		padding: 0 6rem;
	}
	.pt-hdg01{
		margin-bottom: 30px;
	}
    .people-teams01 .pt-hdg01 {width:79.6%;}
	.people-teams02 .pt-hdg01 {width:79.7%;}
	.people-teams03 .pt-hdg01 {width:79.7%;}
	.people-teams04 .pt-hdg01 {width:51.8%;}
	.people-teams05 .pt-hdg01 {width:56.7%;}	
	.people-teams06 .pt-hdg01 {width:68.3%;}
	.people-teams07 .pt-hdg01 {width:86.0%;}

	.people-teams-hdg-flex{
		width: 100%;
		justify-content: space-between;
        display: flex;
        align-items: flex-start;
		flex-wrap: wrap;
	}
	.people-teams01 .pt-hdg02{width: 37.5%;}
	.people-teams02 .pt-hdg02{width: 42.9%;}
	.people-teams03 .pt-hdg02{width: 55.0%;}
	.people-teams04 .pt-hdg02{width: 35.2%;}
	.people-teams05 .pt-hdg02{width: 39.2%;}
	.people-teams06 .pt-hdg02{width: 42.7%;}
	.people-teams07 .pt-hdg02{width: 42.8%;}

	.people-teams-hdg-flex .mark-hdg {
        width: 9.7%;
		top: -100px;
    }

	.people-teams01 .pt-hdg-img{width: 62.5%;}
	.people-teams02 .pt-hdg-img{width: 59.1%;margin-left:-2%;}
	.people-teams03 .pt-hdg-img{width: 45.0%;}
	.people-teams04 .pt-hdg-img{width: 64.8%;}
	.people-teams05 .pt-hdg-img{width: 60.8%;}
	.people-teams06 .pt-hdg-img{width: 62.3%;margin-left:-5%;}
	.people-teams07 .pt-hdg-img{width: 62.2%;margin-left:-5%;}

	.pt-careerpath-flex{
		width: 100%;
		justify-content: space-between;
        display: flex;
        align-items: flex-start;
		flex-wrap: wrap;
	}
	.pt-careerpath-orange,
	.pt-careerpath-blue{width:44%;}

	.people-teams01 .pt-careerpath-orange{margin-top:0;}

	.pt-careerpath-orange figure,
	.pt-careerpath-blue figure {
		position: relative;
		right: auto;
		top: auto;
		width:100%;
	}
	.pt-careerpath-blue.pt-right figure,
	.pt-careerpath-orange.pt-right figure{text-align: right;}
	.pt-careerpath-orange figure img,
	.pt-careerpath-blue figure img{
		width: 118px;
		margin-bottom:24px;
	}
	.pt-careerpath-flex .pt-division {
			margin-right: 0;
	}
	.pt-careerpath-blue.pt-right .pt-division,
	.pt-careerpath-orange.pt-right .pt-division {
		text-align: right;
		justify-content: end;
	}
	.people-teams-other h2{
		display:none;
	}
	.people-teams-other ul{
		align-items: center;
	}
	.people-teams-other ul li.li-pt-sttl-other{
		display:block;
	}
	.people-teams-other ul li.li-pt-sttl-other img{
		width:200px;
		display: inline;
	}
	.people-teams-other ul li.li-pt-sttl-other span{
		margin-top:8px;
	}
}
@media (min-width: 1024px) {
    .people-teams-mv figure {
        right: 60px;
        top: -130px;
	}
	.pt-careerpath-orange figure img,
	.pt-careerpath-blue figure img {
        width: 200px;
    }

	.pt-careerpath-blue ol li, 
	.pt-careerpath-orange ol li {
		font-size: 2rem;
	}
	.pt-careerpath-blue ol,
	.pt-careerpath-orange ol{
		max-height:400px;
		padding:1rem 0 2rem 5rem;
	}
}
@media (min-width: 1280px) {
	.people-teams .page-ttl .page-ttl-label img {
		width: 500px;
	}
	.people-teams .page-ttl > img {
		width:326px;
	}
	.people-teams-mv figure img {
		width: 233px;
	}
	.people-teams-mv {
		margin-bottom: 5rem;
	}
	.people-teams-copy {
		margin-bottom: 9rem;
	}
	.people-teams-label {
		margin-top: 9rem;
		margin-bottom: 7rem;
	}
	.people-teams-label .pt-division .label-division {
		font-size: 2.2rem;
	}
	.people-teams-label .pt-division .label-team {
		font-size: 1.4rem;
	}
	.people-teams-label .pt-division .pt-initial {
        margin-left: 3rem;
    }
	.people-teams-talk h3 {
		font-size:3.6rem;
		margin-bottom: 4rem;
	}
	.people-teams-talk .p-end, 
	.people-teams-talk section {
		margin-bottom: 7.2rem;
	}
	.people-teams-slider {
		margin-bottom:13rem;
	}
	.people-teams-careerpath h2 span, 
	.people-teams-hdg h2 span {
		font-size: 2.4rem;
		margin-top: 12px;
	}
    .people-teams-hdg-bg {
        width: 1200px;
        margin: auto;
    }
	.people-teams-hdg {
  	  padding: 20rem 0rem 10rem;
	}
	.people-teams-hdg h2 {
		margin-bottom: 10rem;
	}
	.pt-hdg01 {
        margin-bottom: 4.8rem;
    }
	.people-teams02 .mark-hdg {top: -220px;}
	.people-teams03 .mark-hdg {top: -210px;}
	.people-teams01 .mark-hdg,
	.people-teams04 .mark-hdg,
	.people-teams05 .mark-hdg,
	.people-teams06 .mark-hdg {top: -150px;}
	.people-teams07 .mark-hdg {top: -60px;}

	.people-teams-hdg-bg {
        width: 1200px;
        margin: auto;
        padding: 0;
	}
	.pt-careerpath-flex .pt-divisionn{
		margin-bottom:9.6rem;
	}
	.pt-careerpath-flex .pt-division .pt-initial {
		font-size: 5.8rem;
	}
	.pt-careerpath-flex .pt-division .label-division{
		font-size: 2.4rem;
	}
	.pt-careerpath-flex .pt-division .label-team{
		font-size: 1.6rem;
	}
	.people-teams-careerpath {
		padding-bottom: 12rem;
	}
	.people-teams-careerpath h2 {
		margin-bottom: 2.4rem;
	}
	.people-teams-careerpath h2 img {
		width: 360px;
	}

	.pt-careerpath-orange figure img, 
	.pt-careerpath-blue figure img {
        width: 237px;
        margin-bottom: 3rem;
    }
	.pt-careerpath-blue ol,
	.pt-careerpath-orange ol{
		max-height:500px;
		padding: 1rem 0 2rem 6rem;
	}
	.pt-careerpath-blue ol li, 
	.pt-careerpath-orange ol li {
		margin-bottom: 2.4rem;
		font-size: 2.4rem;
	}
	.people-teams-other ul{
		border: 10px solid #9ee62a;
		border-radius: 120px;
		padding: 24px 36px;
	}
	.people-teams-otherul li a{
	    transition: all 0.3s ease 0s;
	}
	.people-teams-other ul li picture{
		border-radius: 24px;
	}
	.people-teams-other ul li img{
		border-radius: 24px;
		width: 276px;
	}
	.people-teams-other ul li:first-child{
		padding: 0 0 0 60px;
	}
	.people-teams-other ul li:first-child a::before,
	.people-teams-other ul li:last-child a::before {
		width: 48px;
		height: 48px;
	}
	.people-teams-other ul li:first-child a::before {
		left: -60px;
		background: url(../img/icon_arrow_lg_sl.svg) no-repeat right center;
		background-size: 48px;
	}
	.people-teams-other ul li:first-child a:hover::before {
		left: -80px;
	}
	.people-teams-other ul li:last-child{
		padding: 0 60px 0 0;
	}
	.people-teams-other ul li:last-child a::before {
		right: -60px;
		background: url(../img/icon_arrow_lg_sr.svg) no-repeat right center;
		background-size: 48px;
	}
	.people-teams-other ul li:last-child a:hover::before {
		right: -80px;
	}
	.people-teams-other ul li.li-pt-sttl-other {
		width: 290px;
	}
	.people-teams-other ul li.li-pt-sttl-other img {
        width: 272px;
    }
	.people-teams-other ul li.li-pt-sttl-other span {
        font-size:1.6rem;
		margin-top: 12px;
    }
	.people-teams-other ul li .label-division {
		font-size: 2.4rem;
		margin: 6px 0;
	}
    .people-teams-other ul li .label-team {
        font-size: 1.6rem;
    }
}
@media (min-width: 1680px) {
    .people-teams-mv figure {
        right: 15%;
    }
}

/*----------------------------------
About 石光商事を知る
----------------------------------*/

.about .page-ttl .page-ttl-label img{
	width:159px;
}

.about .page-ttl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 3.6rem;
}
.about .page-ttl .about-label{
    font-size: 1.2rem;
    margin-bottom: 2.4rem;
    letter-spacing: -1px;
}
/*-----------------
CEO
-----------------*/
.ceo-mv{
	position: relative;
	margin-bottom:3rem;
}
.ceo-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.ceo-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.about-ceo-message section figure img,
.ceo-mv picture img{
	border-radius: 12px;
}
.ceo-mv figure{
	position: absolute;
	right:16px;
	top:-24px;
}
.ceo-mv figure img{
	width:116px;
}

.about-message {
    margin-bottom: 1.6rem;
}
.about-message img {
	width:274px;
}
.about-ceo{
	display: flex;
	line-height: 1.4;
	margin-bottom:4.8rem;
}
.about-ceo .label-company{
	display: block;
	font-weight: 700;word-break:keep-all;
}
.about-ceo .label-ceo{
	display: block;
	font-size: 1.1rem;
}
.about-ceo .ceo-name{
    font-size: 3rem;
    font-weight: 700;
    margin-left: 0.8rem;
    line-height: 1;
	white-space: nowrap
}
.about-ceo-message h3 {
    font-size: 2rem;
    margin-bottom: 2rem;
    letter-spacing: 0.1rem;
}
.about-ceo-message h3 img{
	display: block;
	height: 22px;
	margin-bottom:4px;
}

.about-ceo-message p{
	margin-bottom:3.6rem;
	line-height: 1.8;
}
.about-ceo-message figure{
	margin-bottom:3rem;
}
.about-ceo-message-01,
.about-ceo-message-02{
	padding-bottom:7rem;
}
.ceo-message{
	padding:7rem 0 6rem;
	position:relative;
	margin-bottom:7rem;
}
.ceo-message:before{
	content:" ";
	position:absolute;
	width:100%;
	height:100%;
	background: url(../img/about/bg_lightgreen_sp.svg)  no-repeat center top;
	background-size:100%;
	mix-blend-mode: multiply;
	z-index:-1;
}
.ceo-message-flex{
    padding: 0 1.6rem 18rem;
	position:relative;
}
.ceo-message .ceo-img{
	z-index: 10;
	width:100%;
	margin-top: -310px;
	margin-bottom: -250px;
}

.ceo-message h2{
	margin-bottom:2.4rem;
}
.ceo-message h2 span {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
	margin-top:1.2rem;
}
.ceo-message h2 img{
	width: 61.3%;
}
.ceo-message-img img{
	margin-bottom: 2.4rem;
}
.ceo-message p{
	padding-left:43.6%;
	line-height: 1.8;
	letter-spacing: 0;
}
.ceo-message-flex > div{
	text-align: right;
}
.ceo-message .mark-hdg{
	margin-top:4.8rem;
	width: 14.9%;
}

.about-company h2{
	width:308px;
	margin-bottom:3rem;
}
.about-company h2 span,
.about-ceo-message h2 span {
    font-size: 1.3rem;
    margin-top: 0.6rem;
    display: block;
}
.company-table{
	border-left:5px solid #9ee62a;
	padding:0 0 0 1.5rem;
	margin-bottom:3rem;
}
.company-table table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin:0;
	padding:0;
	font-size: 1.2rem;
}
.company-table table th {
	margin:0;
	padding:1.3rem 0 1rem;
	text-align:left;
	vertical-align: top;
	min-width:5.4rem;
	white-space: nowrap;
}
.company-table table td {
	padding:1rem 0 1rem 1.5rem;
	text-align:left;
	vertical-align: top;
	font-weight: 700;
	font-size: 1.5rem;
}
.company-table h3{
	font-size: 1.2rem;
	font-weight: 500;
	margin-bottom:2rem;
}

.external-evaluation{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.external-evaluation img{
	width:15.6%;
}
.external-evaluation div{
	width:80.4%;
}
.external-evaluation div h4{
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom:1rem;
}

.about-manegement__item {
	position: relative;
	margin:5rem 0 3rem;
}
.about-manegement__item a {
	display: block;
	position: relative;
}
.about-manegement__item a:hover {
	opacity: 1;
}
.about-manegement__item a:hover .top-about__img {
	opacity: 1;
}
.about-manegement__item a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 60px;
	background-color: #1F1D1B;
	content: "";
	opacity: 0.3;
	transition: all 0.3s ease 0s;
}
.about-manegement__item a:hover::after {
	opacity: 0.2;
}
.about-manegement__item a .corp {
	position: absolute;
	z-index: 1;
    bottom: 38px;
    left: 38px;
	transition: all 0.4s ease 0s;
}
.about-manegement__item a:hover .corp {
    left: 76px;
}
.about-manegement__item a .corp img{
	height:22px;
}
.about-manegement__item a:hover .corp img{
	opacity: 0.5;
}
.corp{
	position: absolute;
	color: #fff;
	transition: all 0.4s ease 0s;
}
.about-manegement__img {
	overflow: hidden;
	border-radius: 60px;
}
.about-manegement__img img {
	width:100%;
	border-radius: 60px;
	transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}
.about-manegement__item a:hover .about-manegement__img img {
	transform: scale(1.05);
	opacity: 1;
}
.about-manegement__wrap {
	z-index: 1;
	position: absolute;
    top: 76px;
    left: 38px;
	color: #fff;
}

.about-manegement__title{
	font-size:2.7rem ;
	display: block;
	font-weight: bold;
	margin-bottom:0.8rem;
}
.about-manegement__text {
    line-height: 9px;
    height: 9px;
}
/*-----------------
数字で見る
-----------------*/
.number-mv{
	position: relative;
	margin-bottom:3rem;
}
.number-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.number-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.number-mv picture img{
	border-radius: 12px;
}
.number-mv figure{
	position: absolute;
	right:16px;
	top:-48px;
}
.number-mv figure img{
	width:116px;
}
.number-area{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.number-area section{
	overflow: hidden;
	border-radius:12px;
	border: 3px solid #9ee62a;
	margin-bottom:4%;
	padding:2%;
	position:relative;
	width:48%;
}
.number-area .sec-number17,
.number-area .sec-number18{
		width:100%;
}
.number-area section h2{
	border-radius:12px;
	background:  #9ee62a;
	padding:2px 6px;
	font-size:1rem;
	margin-bottom:1rem;
}
.number-area section h2 span{
	font-size:0.8rem;
	display: inline-block;
}
.number-area section figure img{
	width:100%;
}
/*-----------------
歴史 history
-----------------*/
.preparation{
	display: block;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    background: #999;
    border-radius: 12px;
    text-align: center;
    width: 320px;
    margin: 50px auto;
    padding: 16px;
}
.history-mv{
	position: relative;
}
.history-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.history-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.history-mv picture img{
	border-radius: 12px;
}
.history-mv figure{
	position: absolute;
	right:16px;
	top:-24px;
}
.history-mv figure img{
	width:116px;
}

.history-prologue,
.history-enlargement{
	background: rgb(230 230 230 / 0.6);
}

.history-prologue{
	padding-top:3.6rem;
	margin-top:-1.2rem;
}
.history-growth{
}
.history-enlargement{
	padding-bottom:7.2rem;
}
.history-prologue-txt{
	margin-bottom:2.4rem;
}

.history-prologue section img,
.history-growth section img,	
.history-enlargement section img{
	border-radius: 12px;
}

.history-flex{
	display: flex;
	align-items: start;
	justify-content: space-between;
	position: relative;
}

.inner-prologue,
.inner-growth,
.inner-enlargement{
	border-left:2px solid #c49e67;
	padding: 6px 0px 36px 12px;
	width:calc(100% - 100px);
}

.inner-growth{padding-top: 3.6rem;}
.inner-enlargement{padding-top: 3.6rem;padding-bottom:0;}

.img-prologue,
.img-grouwth,
.img-enlargement{
	position: sticky;
	width:100px;
	top:0;
	right:0; mix-blend-mode: multiply;
}
.img-prologue img,
.img-grouwth img,
.img-enlargement img{
	width:66px;
	display: block;
	margin:10px 0 30px auto;
}
.img-prologue img:first-child{
	width: 72px;
    margin-right: -8px;
	margin-bottom:10px;
}
.img-grouwth img:first-child{
	width:72px;
	margin-top:4rem;
	margin-right: -12px;
	margin-bottom:10px;
}

.img-enlargement img:first-child{
	width:92px;
	margin-top:4rem;
	margin-right: -16px;
	margin-bottom:10px;
}

.history .history-flex section{
	margin-bottom:3.6rem;
}
.history .history-flex section:last-child{
	margin-bottom:0;
}
.history .history-flex section h2{
	font-weight: 900;
	margin-bottom:1.8rem;
	line-height: 1.5;
	display: flex;
    align-items: flex-end;
}
.history .history-flex section .wc{font-size:2.4rem;}
.history .history-flex section .gengo{font-size:1.6rem;margin-bottom: 0.4rem;}
.history .history-flex section img{
	width:100%;
	display: block;
	margin-top:1.8rem;
}

.sec-history-logomark{
	width: 100%;
	background: url(../img/about/history-logomark_sp.webp) no-repeat center bottom;
	background-size: cover;
	border-radius: 12px;
	padding:20px 36px 80px 36px;
	text-align: center;
	margin-top:-1.2rem;
}

.sec-history-logomark h2{
	background: rgb(255 255 255 / 0.5);
	border-radius: 6px;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
	padding:8px;
}
.history .sec-history-logomark  img{
	width:125px;
	display: block;
	margin:1.2rem auto;
}




/*-----------------
ビジョン　Vision
-----------------*/
.vision-mv{
	position: relative;
	margin-bottom:6.5rem;
}
.vision-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.vision-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.vision-mv picture img{
	border-radius: 12px;
}
.vision-mv figure{
	position: absolute;
	right:16px;
	top:-24px;
}
.vision-mv figure img{
	width:116px;
}

.about-vision section{
	margin-bottom:4.5rem;
}
.about-vision section h2{
	margin-bottom:4.5rem;
}
.sec-vision01 > h2{
	width:221px;
}
.sec-vision02 > h2{
	width:333px;
}
.sec-vision03 > h2{
	width:256px;
}
.about-vision section > p{
	margin-bottom:1.8rem;
}
/*-----------------
福利厚生
-----------------*/

.benefits-message{
	font-size:3.2rem;
	line-height: 1.2;
	margin-bottom:4.8rem;
}
.benefits-message img{
	width: 320px;
}
.about-benefits > p{
	margin-bottom:2rem;
}
.sec-benefits{
	margin-bottom:2rem;
}
.label-benefits {
	position: relative;
	padding: 20px 30px 20px 60px;
	background:#9ee62a;
	font-size: 2rem;
	line-height: 1.2;
	border-radius: 12px;
}

.label-benefits:hover {
	cursor: pointer;
}
.label-benefits::before {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 33px;
	height: 33px;
	transform: translateY(-50%);
	content: "";
}
.benefit01 .label-benefits::before {
	background: url(../img/about/icon_time.svg) no-repeat center left/contain;
}
.benefit02 .label-benefits::before {
	background: url(../img/about/icon_calender.svg) no-repeat center left/contain;
}
.benefit03 .label-benefits::before {
	background: url(../img/about/icon_life.svg) no-repeat center left/contain;
}
.benefit04 .label-benefits::before {
	background: url(../img/about/icon_money.svg) no-repeat center left/contain;
}
.benefit05 .label-benefits::before {
	background: url(../img/about/icon_care.svg) no-repeat center left/contain;
}
.benefit06 .label-benefits::before {
	background: url(../img/about/icon_other.svg) no-repeat center left/contain;
}
.label-benefits::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 29px;
	height: 29px;
	transform: translateY(-50%);
	background: url(../img/icon_arrow_lg.svg) no-repeat center left/contain;
	content: "";
	transition: 0.3s;
}
.label-benefits.minus:hover::after {
	transform: translateY(-50%) rotate(90deg);
}

.label-benefits.minus::after {
	transform: translateY(-50%) rotate(90deg);
	background-image: url(../img/icon_arrow_lg.svg);
}

.detail-benefits {
	display: none;
	padding: 20px;
	background: #f5fcea;
}
.detail-benefits li {
	position: relative;
    padding-left: 1.6rem; 
}
.detail-benefits li:before {
  content: "●";
  color:#9ee62a;;
  position: absolute;
	left: 0;
}
.detail-benefits li span{
	display: block;
	font-weight: 700;
}
.detail-benefits li span > span{
	font-weight: 500;
	display: inline;
}

.detail-benefits p {
	margin-bottom: 1rem;
}

/*-----------------
サステナビリティプロジェクト
-----------------*/
.contents.about.sustainability .rec-inner{
	overflow-x: hidden;
}
.sustainability-mv{
	position: relative;
}
.sustainability-mv picture{
	width: 100%;
	overflow: hidden;
	display: block;
}
.sustainability-mv picture img{
	width: 100%;
	transform: scale(1.2);
	animation: scale 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.sustainability-mv picture img{
	border-radius: 12px;
}
.sustainability-mv figure{
	position: absolute;
	right:16px;
	top:-24px;
}
.sustainability-mv figure img{
	width:116px;
}

.sec-sustainability01,
.sec-sustainability03,
.sec-sustainability05{
	padding-top:5.4rem;
	background: rgb(230 230 230 / 0.6);
	margin-bottom:5.4rem;
}

.sec-sustainability01{
	padding-top:2.7rem;
}

.intro-sustainability{
	margin-bottom:3.6rem;
}

.flex-sustainability-1 img,
.flex-sustainability-2 img,
.pic-sustainability img{
	border-radius: 12px;
	width: 100%;
}

.about-sustainability section h2{
	margin-bottom:2.4rem;
}
.about-sustainability section h2 > img{
	width:178px;
	margin-bottom:2rem;
	display: block;
}
.sec-sustainability01 h2 > picture img{
	width:331px;
}
.sec-sustainability02 h2 > picture img{
	width:256px;
}
.sec-sustainability03 h2 > picture img{
	width:264px;
}
.sec-sustainability04 h2 > picture img{
	width:325px;
}
.sec-sustainability05 h2 > picture img{
	width:281px;
}
.pic-sustainability img{
	width: 100%;
	margin-bottom:4rem;
}
.flex-sustainability-1 p,
.flex-sustainability-2 p{
	margin-bottom:4rem;
}
.flex-sustainability-1,
.flex-sustainability-2{
	padding-bottom:5.4rem;
}
.flex-sustainability-2 h3 img{
	height:22px;
	width:auto;
	margin-bottom:1.8rem;
}
@media (max-width: 370px) {
	.ceo-message .ceo-img{
		margin-top: -210px;
	}
}


@media (min-width: 768px) {
	.about .page-ttl .page-ttl-label img{
		width:312px;
	}

	/*-----------------
	CEO
	-----------------*/
	.about-message img {
        width: 89.25%;
    }
	.about-ceo-message-01,
	.about-ceo-message-02{
		overflow: visible;
		justify-content: space-between;
		gap: 5%;
		display: flex;
		align-items: flex-start;
	}
	.about-ceo-message-02{
	  flex-direction: row-reverse;
  	}
	.about-ceo-message figure,
	.about-ceo-message figure{
		width: 47.5%;
		position: sticky;
		 top: 80px;
		align-self: flex-start;
	}
	.about-ceo-message-01 div,
	.about-ceo-message-02 div{
		width: 47.5%;
		position: relative;	
		 padding-bottom: 25vh;
	}
	  /* 画像の暴走防止 */
	.works-interview-01 > figure img ,
	.works-interview-01 > figure img {
		width: 100%;
		height: auto;
		display: block;
	}
	.ceo-message:before {
        background: url(../img/about/bg_lightgreen.svg) no-repeat center top;
        background-size: 100%;
    }
	.about-ceo-message h2 {
		width: 882px;
	}
	.ceo-message-flex {
        display: flex;
        align-items: flex-start;
		justify-content: space-between;
		flex-direction: row-reverse;
        padding: 0 3rem;
    }
	.ceo-message-flex > div {
		width: 70.5%;
	}
	.ceo-message h2 img {
		width: 100%;
	}
	.ceo-message p {
		padding-left:0;
	}
	.ceo-message .ceo-img {
        margin-top: 0;
        margin-bottom: 0;
        width: 67.2%;
        margin-right: -40.7%;

	}
	.company-table h3 {
		margin: 2rem 0 3rem;
	}
	.company-table table th {
		width: 13.5%;
		font-size: 1.6rem;
	}
	.company-table table td {
		font-size: 1.8rem;
	}
	.external-evaluation img {
		width: 12.5%;
	}
	.external-evaluation div {
		width: 85.0%;
	}
	/*-----------------
	数字で見る
	-----------------*/
	.number-area{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.number-area section h2 {
		padding: 4px 12px;
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.number-area section h2 span{
		font-size: 1.3rem;
	}
	/*-----------------
	歴史
	-----------------*/
	.inner-prologue,
	.inner-growth,
	.inner-enlargement{
		border-left:4px solid #c49e67;
		padding: 6px 60px 36px 60px;
		width:85%;
	}


	/*-----------------
	ビジョン　Vision
	-----------------*/
	.sec-vision01 > h2{
		width:68.0%;
	}
	.sec-vision02 > h2{
		width:53%;
	}
	.sec-vision03 > h2{
		width:72.9%;
	}
	/*-----------------
	福利厚生
	-----------------*/
	.benefits-message img {
		width: 91.9%;
	}
	/*-----------------
	サステナビリティプロジェクト
	-----------------*/
	.sec-sustainability01 h2 > picture img {
		width: 85.3%;
	}
	.sec-sustainability02 h2 > picture img {
		width:70.8%;
	}
	.sec-sustainability03 h2 > picture img {
		width: 72.1%;
	}
	.sec-sustainability04 h2 > picture img {
		width: 70.8%;
	}
	.sec-sustainability05 h2 > picture img {
		width: 69.2%;
	}
	.flex-sustainability-1,
	.flex-sustainability-2{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.flex-sustainability-1{
		flex-direction: row-reverse;
	}
	.flex-sustainability-1 img,
	.flex-sustainability-1 > p,
	.flex-sustainability-2 > p,
	.flex-sustainability-2 img,
	.flex-sustainability-2 div{
		width:47.5% ;
	}
}

@media (min-width: 1280px) {
	.about .page-ttl .page-ttl-label img{
		width:625px;
	}
	.about .page-ttl .about-label {
		font-size: 2.8rem;
		margin-top: 1.6rem;
		letter-spacing: 1px;
	}
	
	/*-----------------
	CEO
	-----------------*/
    .ceo-mv {
        margin-top: 0rem;
        margin-bottom: 4.8rem;
    }
	.ceo-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.ceo-mv figure img{
		width:223px;
	}
	.about-ceo{
		margin-bottom:9rem;
	}
	.about-ceo .ceo-name {
		font-size: 5.4rem;
		margin-left: 3rem;
	}
	.about-ceo .label-company{
		font-size: 2.2rem;
	}
	.about-ceo .label-ceo{
		margin-top:4px;
		font-size: 1.4rem;
	}

	.about-ceo-message h2 {
		margin-bottom: 8rem;
	}
	.about-company h2 span ,
	.about-ceo-message h2 span {
        font-size: 2.4rem;
    }
	.about-ceo-message h3 {
		font-size:3.6rem;
		margin-bottom: 4rem;
	}
	.about-ceo-message h3 img {
		height: 44px;
		margin-bottom: 3rem;
	}
	.about-ceo-message p {
		margin-bottom: 7.2rem;
		line-height: 2.2;
	}
	.about-ceo-message section figure img,
	.ceo-mv picture img{
		border-radius:24px;
	}

	.about-message {
		margin-bottom: 8rem;
	}
	.about-ceo-message h2 {
        width: 1071px;
    }
	.ceo-message {
		padding: 8rem 0rem 9rem;
	}
	.ceo-message:before{
		background: url(../img/works/bg_lightgreen.svg) no-repeat center top 2rem;
		background-size:100%;
	}
	.ceo-message h2 {
        margin-top: 12rem;
    }
	.ceo-message h2 img {
		width:882px;
	}
	.ceo-message p {
		margin-bottom: 4rem;
		line-height: 2.2;
	}
	.ceo-message-img img {
		width: 719px;
	}

	.ceo-message-flex {
        width: 1200px;
        margin: auto;
        padding: 0;
    }
	.about-company h2{
		width: 617px;
	}
	.company-table {
		border-left: 10px solid #9ee62a;
		padding: 0 0 0 3rem;
		margin-bottom: 6rem;
	}
    .company-table h3 {
        font-size: 2rem;
    }
	.about-manegement__item {
		margin:10rem 0 6rem;
	}
	.about-manegement__item a::after {
		border-radius: 100px;
	}
	.about-manegement__img {
		border-radius: 100px;
	}
	.about-manegement__img img {
		border-radius: 100px;
	}

	.about-manegement__title {
		font-size: 5.2rem;
	}
	.about-manegement__text {
		line-height:18px;
		height: 18px;
	}
	.about-manegement__item a .corp img {
		height: 30px;
	}
	.about-manegement__item a .corp {
		bottom: 60px;
		left: 38px;
	}
		
	/*-----------------
	数字で見る
	-----------------*/
    .number-mv {
        margin-top: 0rem;
        margin-bottom: 6rem;
    }
	.number-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.number-mv figure img{
		width:223px;
	}
	.number-area section {
		width: 47%;
		border-radius: 24px;
		border: 5px solid #9ee62a;
		margin-bottom: 6%;
		padding:3%;
	}
	 .number-area section h2 {
        padding: 3px 12px;
        font-size: 2.8rem;
        margin-bottom: 3rem;
		border-radius: 24px;
    }
	 .number-area section h2 span{
        font-size: 1.8rem;
    }
	/*-----------------
	歴史　History
	-----------------*/
    .history-mv {
        margin-top: 0rem;
    }
	.history-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.history-mv figure img{
		width:223px;
	}

	.history-prologue {
		padding-top: 8.4rem;
		margin-top: -2.4rem;
	}
	.history-prologue-txt {
		margin-bottom: 6rem;
	}
    .inner-prologue, 
	.inner-growth, 
	.inner-enlargement {
        border-left: 5px solid #c49e67;
        padding: 72px 0px 72px 36px;
        width: 936px;
    }
	.history .history-flex section {
		margin-bottom: 7.2rem;
	}
	.history .history-flex section h2 {
		margin-bottom: 3.6rem;
	}
	.history .history-flex section .wc{font-size: 6.8rem;}
	.history .history-flex section .gengo{font-size: 4rem;margin-bottom: 0.8rem;}

	.history .history-flex section img {
		margin-top: 3.6rem;
	}
	.img-prologue, 
	.img-grouwth, 
	.img-enlargement {
		width: 225px;
	}
	.img-prologue img,
	.img-grouwth img,
	.img-enlargement img{
		width:189px;
		display: block;
		margin:20px 0 60px auto;
	}
	.img-prologue img:first-child{
		width: 225px;
		margin-right: -36px;
		margin-bottom: 20px;
    }
	.img-grouwth img:first-child{
		width:225px;
		margin-right: -36px;
		margin-bottom: 20px;
	}

	.img-enlargement img:first-child{
		width:225px;
		margin-right: -32px;
		margin-bottom: 20px;
	}
	.history-prologue section img,
	.history-growth section img,	
	.history-enlargement section img{
		border-radius: 24px;
	}
	.sec-history-logomark {
		background: url(../img/about/history-logomark.webp) no-repeat center top;
		background-size: cover;
		border-radius:24px;
		padding: 150px 0 500px 0;
		text-align: center;
		margin-top: -2.4rem;
	}
	.sec-history-logomark h2 {
		border-radius: 12px;
		font-size: 3.2rem;
		padding: 16px;
	}
	.flex-logomark{
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		text-align: left;
	}
	.history .sec-history-logomark img {
		width: 314px;
		margin:0 0 0 100px;
	}
	/*-----------------
	ビジョン　Vision
	-----------------*/
    .vision-mv {
        margin-top: 0rem;
        margin-bottom: 6rem;
    }
	.vision-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.vision-mv figure img{
		width:223px;
	}
	.about-vision section {
		margin-bottom: 12rem;
	}
	.about-vision section h2 {
		margin-bottom: 10rem;
	}
	.about-vision section > p {
		margin-bottom: 3.6rem;
	}
	
	/*-----------------
	福利厚生
	-----------------*/
	.about-benefits{
		padding-bottom:6rem;
	}
	.benefits-message {
		margin-bottom: 9.6rem;
	}
	.about-benefits > p {
		margin-bottom: 4.8rem;
	}
	.sec-benefits {
		margin-bottom:4rem;
	}
	.label-benefits {
		padding: 24px 80px 24px 110px;
		font-size: 6rem;
		border-radius: 24px;
	}
	.detail-benefits li {
		position: relative;
		padding-left: 2.4rem; 
	}
	.label-benefits::before {
		left: 30px;
		width: 65px;
		height: 65px;
	}
	.label-benefits::after {
		right: 30px;
		width: 58px;
		height: 58px;
	}
	.detail-benefits {
		padding: 30px 110px;
	}
	/*-----------------
	サステナビリティプロジェクト
	-----------------*/
    .sustainability-mv {
        margin-top:0rem;
        margin-bottom: 0;
    }
	.sustainability-mv figure {
        top: -42px;
        width: 1200px;
        text-align: right;
        right: 0;
        margin: auto;
        left: 0;
	}
	.sustainability-mv figure img{
		width:223px;
	}
	.pic-sustainability img,
	.flex-sustainability-1 img,
	.flex-sustainability-2 img,
	.sustainability-mv picture img{
		border-radius: 24px;
	}
	.sec-sustainability01, 
	.sec-sustainability03, 
	.sec-sustainability05 {
		padding-top: 7.6rem;
		margin-bottom: 6.8rem;
	}
	.intro-sustainability {
		margin-bottom: 9.2rem;
	}
	.about-sustainability section h2 {
		margin-bottom: 10rem;
	}
	.about-sustainability section h2 > img {
		width: 464px;
		margin-bottom: 4.2rem;
	}
	.pic-sustainability img {
		margin-bottom: 10rem;
	}
	.flex-sustainability-1, 
	.flex-sustainability-2 {
		padding-bottom: 11rem;
	}
	.flex-sustainability-2 h3 img{
		height:44px;
		margin-bottom: 3.6rem;
	}
}

/*----------------------------------
Recruitment 採用情報 新着情報 news
----------------------------------*/
.news-content h1{
	font-size: 3rem;
	line-height: 1.2;
	margin-bottom:5rem;
	font-weight: bold;
}
.news-archive a{
	display: block;
	border-radius: 12px;
	padding:18px;
	margin:0 0 20px;
	background:#ececec;
}

.news-archive a.cate-new{background:#f5fcea;}
.news-archive a.cate-career{background:#fdf6f3;}
.news-archive a.cate-disability{background:#ecfafe;}
.news-archive a.cate-internship{background:#fefde5;}

.news-archive a h2{
	font-size: 1.45rem;
	font-weight: bold;
	margin-bottom:1.4rem;
}

.new-mark{color:#eb5000;}
.news-article .date-cate,
.news-archive a .date-cate{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom:2rem;
}
.news-article .date-cate time,
.news-archive a .date-cate time{
	display: block;
	font-size: 1.3rem;
	font-weight: bold;
}
.news-article .date-cate span,
.news-archive a .date-cate span{
	display: block;
	font-size: 1rem;
	line-height: 1;
	background:#999999;
	color: #fff;
	text-align: center;
	padding:4px;
	min-width:9rem;
}
.news-article .cate-new .date-cate span,
.news-archive a.cate-new .date-cate span{background:#9ee62a;}
.news-article .cate-career .date-cate span,
.news-archive a.cate-career .date-cate span{background:#f0aa8c;}
.news-article .cate-disability .date-cate span,
.news-archive a.cate-disability .date-cate span{background:#41d2f1;}
.news-article .cate-internship .date-cate span,
.news-archive a.cate-internship .date-cate span{background:#faee00;}

.article-area{padding-bottom:4rem;}

.post-nav{text-align: center;}


.pager ul {/* ページャー */
  display: flex;
  gap:1rem;
  list-style: none;
  padding: 0;
	justify-content:center;
}
.pager a,
.pager span {
	display:flex;
	align-items:center;
	justify-content:center;
  padding: 6px 10px;
  border: 1px solid #ccc;
  text-decoration: none;
  border-radius: 50%;
  width: 50px;
	height:50px;
}
.pager a{
	transition: .5s;
}

.pager .is-current span {
  background: #323232;
  color: #fff;
}
.pager a:hover  {
  background: #323232;
  color: #fff;
}

.post-nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 80px 0;
}

.post-nav a {
position: relative;
  padding: 8px 24px;
  border: 1px solid #323232;
  border-radius: 6px;
  text-align: center;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  background: #323232;
}

.post-nav a:hover {
  background: #fff;
  color: #323232;
  border-color: #323232;
}

/* ===== 前の記事 ===== */
.post-nav .prev-post {
  text-align: left;
  padding-left: 56px;
}

.post-nav .prev-post::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-left: 2px solid#fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s ease;
}

.post-nav .prev-post:hover::before {
	transform: translate(-4px, -50%) rotate(45deg);
	border-left: 2px solid#323232;
	border-bottom: 2px solid #323232;
}

/* ===== 次の記事 ===== */
.post-nav .next-post {
  text-align: right;
  padding-right: 56px;
}

.post-nav .next-post::after {
  content: '';
  position: absolute;
  right: 24px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.3s ease;
}

.post-nav .next-post:hover::after {
	transform: translate(4px, -50%) rotate(45deg);
	border-right: 2px solid #323232;
	border-top: 2px solid #323232;	
}



@media (min-width:768px) {
	.news-archive a h2{
		font-size: 2rem;
		margin-bottom:2rem;
	}
	.news-archive a{
		margin:0 0 4rem;
	}
}

@media (min-width:1280px) {
	.news-content h1{
		font-size: 6rem;
		margin-bottom:9rem;
	}
	.news-archive a{
		border-radius: 24px;
		padding:36px;
		margin:0 0 8rem;
	}
	.news-article .date-cate,
	.news-archive a .date-cate{
		margin-bottom:4rem;
	}
	.news-article .date-cate time,
	.news-archive a .date-cate time{
		font-size: 2.4rem;
	}
	.news-article .date-cate span,
	.news-archive a .date-cate span{
		font-size: 1.8rem;
		min-width: 160px;
	}
	.news-archive a h2{
		font-size: 3.5rem;
		margin-bottom:3rem;
	}
	.news-archive a p{
		font-size: 2rem;
	}
	.article-area{padding-bottom:10rem;}
}




/*----------------------------------
Recruitment 採用情報 エントリー
----------------------------------*/
.new-graduate .bread-nav span{color:#9ee62a;}
.career .bread-nav span{color:#f0aa8c;}
.disability .bread-nav span{color:#41d2f1;}


.career .page-ttl{
	background:url(../img/icon_arrow_lr.svg) no-repeat left  top ;
	background-size: 29px auto;
}
.disability .page-ttl{
	background:url(../img/icon_arrow_lb.svg) no-repeat left  top ;
	background-size: 29px auto;
}

.disability .page-ttl .page-ttl-label img,
.career .page-ttl .page-ttl-label img,
.new-graduate .page-ttl .page-ttl-label img{
	width:192px;
}

.r-new > h1,
.r-career > h1,
.r-disability > h1,
.r-new-fq h2,
.r-career-fq h2,
.r-disability-fq h2{
	font-size: 2.7rem;
	margin-bottom:4.8rem;
}
.r-new-fq,
.r-career-fq,
.r-disability-fq{
	padding-bottom:9rem;
}

table.recruitment-table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin:1.5rem 0 5rem;
	border-top:1px solid #d6d6d6;
	padding:0;
	font-size: 1.2rem;
}
table.recruitment-table th {
	margin:0;
	border-bottom:1px solid #d6d6d6;
	padding:1.8rem  1.6rem;
	text-align:center;
	vertical-align: middle;
	font-weight: 700;
	min-width:9.8rem;
	white-space: nowrap;
}
table.recruitment-table td {
	margin:0;
	border-bottom:1px solid #d6d6d6;
	padding:1.8rem 1.6rem;
	text-align:left;
		vertical-align: middle;
}

.r-new .recruitment-table th{background: #e7f9ca;}
.r-career .recruitment-table th{background: #fbeae2;}
.r-disability .recruitment-table th{background: #cff4fb;}

.r-career .recruitment-table a{color:#be1e1e;text-decoration: underline;}

.r-new .recruitment-table span{color: #9ee62a;margin-right:0.2rem;}
.r-career .recruitment-table span{color: #f0aa8c;margin-right:0.2rem;}
.r-disability .recruitment-table span{color: #41d2f1;margin-right:0.2rem;}

.faq-wrap{
	margin-bottom:20px;
}
.question {
	position: relative;
	padding: 20px 30px 20px 20px;
	background:#e7f9ca;
	line-height: 1.2;
	border-radius: 12px;
}
.r-career-fq .question {
	background:#fbeae2;
}
.r-disability-fq .question {
	background:#cff4fb;
}
.question:hover {
	cursor: pointer;
}
.question::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 29px;
	height: 29px;
	transform: translateY(-50%);
	background: url(../img/icon_arrow_lg.svg) no-repeat center left/contain;
	content: "";
	transition: 0.3s;
}
.r-career-fq .question::after {
	background: url(../img/icon_arrow_lr.svg) no-repeat center left/contain;
}
.r-disability-fq .question::after {
	background: url(../img/icon_arrow_lb.svg) no-repeat center left/contain;
}
.question.minus:hover::after {
	transform: translateY(-50%) rotate(90deg);
}

.question.minus::after {
	transform: translateY(-50%) rotate(90deg);
	background-image: url(../img/icon_arrow_lg.svg);
}
.r-career-fq .question.minus::after {
	transform: translateY(-50%) rotate(90deg);
	background-image: url(../img/icon_arrow_lr.svg);
}
.r-disability-fq .question.minus::after {
	transform: translateY(-50%) rotate(90deg);
	background-image: url(../img/icon_arrow_lb.svg);
}
.answer {
	display: none;
	padding: 20px 30px 0px 40px;
	margin-top: -6px;
}

.q-list,
.a-list {
	display: flex;
}
.q-list {
	align-items: center;
}
.q-mark,
.a-mark {
	display: flex;
	/*flex: 0 0 39px;*/
	align-items: self-start;
	justify-content: center;
	height: 29px;
	margin-right: 12px;
	font-weight: 700;
	font-size: 2.2rem;
}
.a-mark {
	color: #9ee62a;
}
.r-career-fq .a-mark {
	color: #f0aa8c;
}
.r-disability-fq .a-mark {
	color: #41d2f1;
}
.q-txt {
	font-weight: 700;
	transition: all 0.3s ease 0s;
}
.a-txt {
	margin-top: -6px;
}
.a-txt p{
	margin-top: 12px;
}
.r-new-entry .rec-entry-btn,
.r-career-entry .rec-entry-btn,
.r-disability-entry .rec-entry-btn{
	width:100%;
	max-width: 700px;	
	background: #9ee62a;
	padding:54px;
	border-radius: 48px;
	margin-bottom: 100px;
}

.r-career-entry .rec-entry-btn{background: #f0aa8c;}
.r-disability-entry .rec-entry-btn{background: #41d2f1;}

.r-new-entry .rec-entry-btn span ,
.r-career-entry  .rec-entry-btn span ,
.r-disability-entry .rec-entry-btn span {
    font-size: 1.6rem;
	letter-spacing: 1px;
}


@media (min-width:768px) {
	table.recruitment-table{
		font-size: 1.6rem;
	}
	table.recruitment-table th {
		min-width:25%;
		padding:2.4rem;
	}
	table.recruitment-table td {
		padding:2.4rem;
	}
}


@media (min-width:1280px) {
    .career .page-ttl {
        background: url(../img/icon_arrow_lr.svg) no-repeat left top;
        background-size: 58px auto;
    }
    .disability .page-ttl {
        background: url(../img/icon_arrow_lb.svg) no-repeat left top;
        background-size: 58px auto;
    }

	.disability .page-ttl .page-ttl-label img,
	.career .page-ttl .page-ttl-label img,
	.new-graduate .page-ttl .page-ttl-label img{
		width:385px;
	}
	.r-new > h1,
	.r-career > h1,
	.r-disability > h1,
	.r-new-fq h2,
	.r-career-fq h2,
	.r-disability-fq h2{
		font-size: 6rem;
		margin-bottom:9.6rem;
	}
	table.recruitment-table{
		margin:3.6rem auto 10rem;
		font-size: 2.2rem;
	}
	table.recruitment-table th {
		padding:3.6rem 3.6rem;
		font-weight: 700;
		min-width:250px;
	}
	table.recruitment-table td {
		padding:3.6rem 3.6rem;
	}
	.faq-wrap{
		margin-bottom:4rem;
	}
	.question {
		padding: 36px;
		border-radius: 24px;
	}
	.question::after {
		right: 24px;
		width: 58px;
		height: 58px;
	}
	.q-mark, 
	.a-mark {
		height: 34px;
		font-size: 2.8rem;
	}
	.a-txt {
		margin-top: -9px;
	}
	.rec-entry-btn{
		border-radius: 48px;
	}
	.r-new-entry .rec-entry-btn,
	.r-career-entry .rec-entry-btn,
	.r-disability-entry .rec-entry-btn{
		width:768px;
		max-width: none;
	}
	.r-new-entry .rec-entry-btn span,
	.r-career-entry .rec-entry-btn span,
	.r-disability-entry .rec-entry-btn span {
		font-size:3.4rem;
	}
	/*.r-new-entry .btn-newgraduate,
	.r-new-entry .btn-voice,
	.r-career-entry .btn-voice,
	.r-disability-entry .btn-voice{
        max-width: 100%;
    }*/
}


@media (min-width: 1680px) {
	.rec-entry-btn img {
        width: 251px;
    }
}
/*----------------------------------
Recruitment 採用情報 24・25年入社の社員の声 voice
----------------------------------*/
.voice-content h1{
	font-size: 3rem;
	line-height: 1.2;
	margin-bottom:5rem;
	font-weight: bold;
}
.chart-box02,
.chart-box{
	padding:3rem 0 0;
	width:100%;
	margin:auto;
}
.chart-box02 h2,
.chart-box h2{
	font-size: 2rem;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
}
.chart-box02{
	margin:6rem auto;
}
.chart-box02 h2{
	text-align:left;
	margin-bottom: 3rem;
}

.chart-box02 li{
	background: #e7f9ca ;
	padding:24px 16px;
	border-radius: 12px;
	margin:2.4rem 0;
}

.chart-box02 img{
	border-radius: 12px;
}
.txt-supplementary{
	text-align: right;
	font-size: 90%;
}

@media (min-width:768px) {
	.chart-box-flex{
		display: flex;
		align-items: flex-end;
		justify-content: space-around;
		flex-wrap: wrap;
	}
	.chart-box{
		width:49%;
	}
}
@media (min-width:1280px) {
	.voice-content h1{
		font-size: 5.2rem;
		margin-bottom:9rem;
	}
	.chart-box02,
	.chart-box{
		padding:6rem 0 0;
	}
	.chart-box02 h2,
	.chart-box h2{
		font-size: 3rem;
	}
	.chart-box02{
		margin:6rem auto;
	}
	.chart-box02 h2{
		margin-bottom: 6rem;
	}
	.chart-box02 li{
		padding:48px 32px;
		border-radius: 24px;
		margin:4.8rem 0;
	}
	.chart-box02 img{
		border-radius: 24px;
	}
	.chart-box-flex{
		justify-content: space-between;
	}
	.voice .rec-entry-btn ,
	.voice .r-new-entry .btn-newgraduate{
		max-width: 768px;
	}
}
@media (min-width:1680px) {
    .voice .r-new-entry .btn-newgraduate {
		max-width: 1520px;
	}
	.voice .rec-entry-btn  {
        width: 1200px;
		max-width:none;
    }
}
/*----------------------------------
プライバシーポリシー　privacy-policy
----------------------------------*/
.privacy-policy h1{
	 font-size: 2.4rem;
	 margin-bottom:3.6rem;
}
.privacy-policy p{
	 margin-bottom:2.6rem;
}
.privacy-policy h2{
	 font-size: 2rem;
	margin-bottom:2rem;
}
.ki-style{
	text-align:center;
}
.sign-style{
	text-align: right;
}

ul.nakaguro {
	 margin-bottom:2.6rem;
}
ul.nakaguro > li:before {
  content: "・";
  text-indent: -1.3rem;
}
@media (min-width:768px) {
	.privacy-policy h1{
		font-size: 3.6rem;
		margin-bottom:4.8rem;
	}
	.privacy-policy h2{
		font-size: 2.4rem;
		margin-bottom:3rem;
	}
	.privacy-policy p{
		margin-bottom:4rem;
	}

}
@media (min-width:1280px) {
	.privacy-policy h1{
		font-size: 4.8rem;
		margin-bottom:6rem;
	}
	.privacy-policy h2{
		font-size: 3.6rem;
		margin-bottom:4.8rem;
	}
	.privacy-policy p{
		margin-bottom:6rem;
	}
	ul.nakaguro {
		margin-bottom:4.8rem;
	}
}


/*----------------------------------
404.php
----------------------------------*/
.error404{
	text-align:center;
	min-height:50vh;
}
.error-title{
	font-size:3.6rem;
	margin-bottom:2.4rem;
}
.error-text{
		margin-bottom:1.8rem;
}
.btn-home{
	display: block;
	line-height: 1;
	color:#323232;
	background: #fff;
	border:1px solid #323232;
	border-radius: 12px;
	text-align: center;
	max-width:300px;
	margin:40px auto ;
	padding:16px;
	transition-duration: .3s;
}
.btn-home:hover{
	color:#fff;
background: #323232;
}

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