@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

#mv {
	position: relative;
	line-height: 0;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	header .slide_nav li.parent:first-child {
		border-bottom: 2px solid #6faf69;
	}
	
	#mv h2 {
		width: 68.1%;
		line-height: 0;
		position: absolute;
		top: 41%;
		left: 15.95%;
		z-index: 5;
	}
	
	#mv span.cloud01 {
		width: 21.6%;
		line-height: 0;
		position: absolute;
		top: 30.3%;
		left: -0.4%;
		z-index: 3;
	}
	
	#mv span.cloud02 {
		width: 19.5%;
		line-height: 0;
		position: absolute;
		bottom: 38.9%;
		right: 9.9%;
		z-index: 3;
	}
	
	section h3.u_line {
		font-size: 2.5rem;
        font-size: clamp(calc((2.5rem * 0.672)), 1.74vw, 2.5rem);
	}
	
	main h4 {
		font-size: clamp(calc(4.0rem * 0.672), 2.79vw, 4.0rem);
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: 0.06em;
		margin-bottom: 0.75em;
	}
	
	main h4 small{
		font-size: 50%;
		display: block;
	}
	
	main h4 + p {
		font-size: clamp(calc(1.4rem * 0.672), 0.97vw, 1.4rem);
		line-height: 2.4;
		letter-spacing: 0.06em;
	}
	
	main a.more,
	section.environ div.section_inner ul li span.more,
	section.understanding div.section_inner div.fl_block div.interview ul li span.more{
		width: 15.4vw;
		width: 15.4cqw;
		max-width: 220px;
		height: clamp(calc(44px * 0.672), 3.07vw, 44px);
		height: clamp(calc(44px * 0.672), 3.07cqw, 44px);
		padding: 0 1.25em;
		background: #70964a;
		font-size: clamp(calc(1.4rem * 0.672), 0.97vw, 1.4rem);
		line-height: 1;
		color: #fff;
		border-radius: 0 clamp(calc(14px * 0.672), 0.98vw, 14px) 0 clamp(calc(14px * 0.672), 0.98vw, 14px);
		display: flex;
        align-items: center;
        justify-content: space-between;
	}
	
	main a.more img,
	section.environ div.section_inner ul li span.more img,
	section.understanding div.section_inner div.fl_block div.interview ul li span.more img{
		width: 14px;
        width: clamp(calc(14px * 0.672), 0.97vw, 14px);
        flex: 0 0 auto;
    }
	
	section.about {
		margin-top: clamp(calc(92px * 0.672), 6.43vw, 92px);
		padding-bottom: clamp(calc(165px * 0.672), 11.53vw, 165px);
	}
	
	section.about div.section_inner{
		width: 83.9%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	
	section.about div.section_inner h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: 0;
		right: 0;
	}
	
	section.about div.section_inner h3 span{
		border-bottom: none;
		border-left: 2px solid #000;
	}
	
	section.about div.section_inner h4{
		writing-mode: vertical-rl;
		position: absolute;
		top: 0;
		right: 5.5%;
	}
	
	section.about div.section_inner span.block {
		display: block;
		position: relative;
		z-index: 5;
	}
	
	section.about div.section_inner div.text_block {
		width: 44.16%;
		font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
		line-height: 3.75;
		letter-spacing: 0.02em;
		background: #FFF;
		padding: 0 2em 2em 0;
		border-radius: clamp(calc(3.0rem * 0.672), 2.09vw, 3.0rem);
		position: relative;
		z-index: 3;
	}
	
	section.about div.section_inner div.btn_block {
		width: 20.4%;
		background: #FFF;
		padding: clamp(calc(10px * 0.672), 6.99vw, 10px) 0 clamp(calc(35px * 0.672), 2.44vw, 35px) 0;
		padding: clamp(calc(10px * 0.672), 6.99cqw, 10px) 0 clamp(calc(35px * 0.672), 2.44cqw, 35px) 0;
		border-radius: 0 0 clamp(calc(3.0rem * 0.672), 2.09vw, 3.0rem) 0;
		position: relative;
		z-index: 3;
	}
	
	section.about div.section_inner div.photo {
		width: 66.6%;
		overflow: hidden;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		position: absolute;
		top: clamp(calc(80px * 0.672), 5.59vw, 80px);
		top: clamp(calc(80px * 0.672), 5.59cqw, 80px);
		left: 16.25%;
		z-index: 0;
		line-height: 0;
	}
	
	section.about div.section_inner {
		
	}
	
	section.about div.section_inner span.chara01{
		width: 10.1%;
        max-width: 122px;
        line-height: 0;
        display: inline-block;
        position: absolute;
        right: -1%;
        top: 32.5%;
        z-index: 5;
	}
	
	section.about div.section_inner span.cloud01{
		width: 23.33%;
		max-width: 280px;
        line-height: 0;
        display: inline-block;
        position: absolute;
        left: 24%;
        bottom: 29%;
		z-index: 8;
	}
	
	section.about div.section_inner span.cloud02{
		width: 25.8%;
        max-width: 310px;
        line-height: 0;
        display: inline-block;
        position: absolute;
        left: 3%;
        bottom: -13%;
        z-index: 8;
	}
	
	section.understanding {
		padding-bottom: clamp(calc(165px * 0.672), 11.5vw, 165px);
	}
	
	section.understanding div.section_inner{
		width: 83.9%;
		max-width: 1200px;
		margin: 0 auto;
	}
	
	section.understanding div.section_inner div.fl_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.understanding div.section_inner div.fl_block div.job{
		width: 40%;
		position: relative;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: -6%;
		left: 0;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3 span{
		border-bottom: none;
		border-left: 2px solid #000;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3 span .vertical-dot {
		inline-size: 1em;
		block-size: 1em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	section.understanding div.section_inner div.fl_block div.job h3 span .vertical-dot::before {
		content: "";
		inline-size: .2em;
		block-size: .2em;
		border-radius: 50%;
		background: currentColor;
	}
	
	section.understanding div.section_inner div.fl_block div.job div.text_block {
		padding-left: 18.2%;
	}
	
	section.understanding div.section_inner div.fl_block div.job div.photo {
		width: 126%;
		overflow: hidden;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		line-height: 0;
		margin-top: clamp(calc(33px * 0.672), 2.3vw, 33px);
		margin-left: -24%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview{
		width: 56%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul{
		margin-top: clamp(calc(42px * 0.672), 2.93vw, 42px);
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li{
		width: 19%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo{
		width: auto;
		height: 28.1vw;
		height: 28.1cqw;
		max-height: 402px;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo.photo5{
		margin-left: -10%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo img{
		width: auto;
		height: 100%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more{
		width: 100%;
		margin-top: 1em;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more span{
		display: inline-block;
		font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
		line-height: 1.2;
		letter-spacing: 0.1em;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more span small{
		font-size: 70%;
		display: block;
	}
	
	section.understanding div.section_inner div.fl_block div.interview span.chara02{
		width: 6.92vw;
		width: 6.92cqw;
		max-width: 99px;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: 31%;
        bottom: 8%;
		z-index: 5;
	}
	
	section.understanding div.section_inner div.fl_block div.interview span.cloud03{
		width: 21.6vw;
		width: 21.6cqw;
		max-width: 310px;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: -2%;
        top: -2%;
		z-index: 5;
	}
	
	section.environ {
		background: #5b9843;
		padding: clamp(calc(25px * 0.672), 1.74vw, 25px) 0 clamp(calc(60px * 0.672), 4.19vw, 60px);
	}
	
	section.environ div.section_inner{
		width: 83.9%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		color: #FFF;
	}
	
	section.environ div.section_inner h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: 13%;
		right: 0;
	}
	
	section.environ div.section_inner h3 span{
		border-bottom: none;
		border-left: 2px solid #FFF;
	}
	
	section.environ div.section_inner ul{
		width: 93.7%;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: -6.5%;
	}
	
	section.environ div.section_inner ul li{
		width: 48%;
		position: relative;
	}
	
	section.environ div.section_inner ul li:nth-child(n + 3){
		margin-top: 45px;
	}
	
	section.environ div.section_inner ul li div.photo{
		overflow: hidden;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		line-height: 0;
	}
	
	section.environ div.section_inner ul li span.more{
		position: absolute;
		background: #FFF;
		color: #000;
		bottom: 1.5em;
		left: -2em;
	}
	
	section.recruit {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		z-index: 5;
	}
	
	section.recruit div.photo{
		width: 60%;
		line-height: 0;
	}
	
	section.recruit div.text_block{
		width: 40%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: relative;
	}
	
	section.recruit div.text_block div.block{
		display: inline-block;
	}
	
	section.recruit div.text_block div.block a.more,
	section.understanding div.job a.more{
		margin-top: 2em;
	}
	
	section.recruit div.text_block div.block span.chara03{
		width: 14.3vw;
		width: 14.3cqw;
		max-width: 205px;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: 20%;
		top: -20%;
		z-index: 5;
	}
}


@media screen and (min-width:961px) and (max-width: 1430px){
	
	section.environ div.section_inner ul li:nth-child(n + 3){
		margin-top: 3.14vw;
		margin-top: 3.14cqw;
	}
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	#mv h2 {
		width: 88.8%;
		line-height: 0;
		position: absolute;
		top: 50%;
		left: 5.6%;
		z-index: 5;
	}
	
	#mv span.cloud01 {
		width: 44.6%;
        line-height: 0;
        position: absolute;
        top: 30.3%;
        left: -12.4%;
        z-index: 3;
	}
	
	#mv span.cloud02 {
		width: 38.5%;
        line-height: 0;
        position: absolute;
        bottom: 10.9%;
        right: 7.9%;
        z-index: 3;
	}
	
	main h4 {
		font-size: clamp(calc(8rem * 0.375), 8.33vw, 8rem);
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0.06em;
		margin-bottom: 0.75em;
	}
	
	main h4 small{
		font-size: 50%;
		display: block;
	}
	
	main h4 + p {
		font-size: clamp(calc(3.4rem * 0.375), 3.54vw, 3.4rem);
		line-height: 2;
		letter-spacing: 0.06em;
	}
	
	main a.more,
	section.environ div.section_inner ul li span.more,
	section.understanding div.section_inner div.fl_block div.interview ul li span.more {
		width: 50vw;
		width: 50cqw;
		padding: 1em 1.25em;
		background: #70964a;
		font-size: clamp(calc(3.0rem * 0.375), 3.12vw, 3.0rem);
		line-height: 1;
		color: #fff;
		border-radius: 0 clamp(calc(18px * 0.375), 1.88vw, 18px) 0 clamp(calc(18px * 0.375), 1.88vw, 18px);
		display: flex;
        align-items: center;
        justify-content: space-between;
	}
	
	main a.more img,
	section.environ div.section_inner ul li span.more img,
	section.understanding div.section_inner div.fl_block div.interview ul li span.more img{
        width: clamp(calc(36px * 0.375), 3.75vw, 36px);
        flex: 0 0 auto;
    }
	
	section.about {
		margin-top: 12vw;
		padding-bottom: 20vw;
	}
	
	section.about div.section_inner{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	
	section.about div.section_inner h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: 0;
		right: 0;
	}
	
	section.about div.section_inner h3 span{
		border-bottom: none;
		border-left: 2px solid #000;
	}
	
	section.about div.section_inner h4{
		writing-mode: vertical-rl;
		position: absolute;
		top: 0;
		right: 12%;
		line-height: 1.2;
	}
	
	section.about div.section_inner span.block {
		display: block;
		position: relative;
		z-index: 5;
		padding-top: 44vw;
		padding-top: 44cqw;
	}
	
	section.about div.section_inner div.text_block {
		width: 73%;
		font-size: clamp(calc(3.4rem * 0.375), 3.54vw, 3.4rem);
		line-height: 2.75;
		letter-spacing: 0.02em;
		background: #FFF;
		padding: 0 0 1em 0;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		position: relative;
		z-index: 3;
	}
	
	section.about div.section_inner div.btn_block {
		width: 20.4%;
		background: #FFF;
		padding: clamp(calc(10px * 0.672), 6.99vw, 10px) 0 clamp(calc(35px * 0.672), 2.44vw, 35px) 0;
		padding: clamp(calc(10px * 0.672), 6.99cqw, 10px) 0 clamp(calc(35px * 0.672), 2.44cqw, 35px) 0;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		position: relative;
		z-index: 3;
	}
	
	section.about div.section_inner div.photo {
		width: 75%;
		overflow: hidden;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		line-height: 0;
	}
	
	section.about div.section_inner span.chara01{
		width: 23.1%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        right: -1%;
        top: 56.5%;
        z-index: 5;
	}
	
	section.about div.section_inner span.cloud01{
		width: 51.33%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        left: -14%;
        top: 23%;
        z-index: 8;
	}
	
	section.about div.section_inner span.cloud02{
		width: 63.8%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        right: -22%;
        bottom: -3%;
        z-index: 8;
	}
	
	section.understanding {
		padding-bottom: clamp(calc(165px * 0.672), 11.5vw, 165px);
	}
	
	section.understanding div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section.understanding div.section_inner div.fl_block{
		display: block;
	}
	
	section.understanding div.section_inner div.fl_block div.job{
		width: 100%;
		position: relative;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: -8%;
		left: 0;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3 span{
		border-bottom: none;
		border-left: 2px solid #000;
	}
	
	section.understanding div.section_inner div.fl_block div.job h3 span .vertical-dot {
		inline-size: 1em;
		block-size: 1em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	section.understanding div.section_inner div.fl_block div.job h3 span .vertical-dot::before {
		content: "";
		inline-size: .2em;
		block-size: .2em;
		border-radius: 50%;
		background: currentColor;
	}
	
	section.understanding div.section_inner div.fl_block div.job div.text_block {
		padding-left: 18.2%;
	}
	
	section.understanding div.section_inner div.fl_block div.job div.photo {
		width: 90vw;
		width: 90cqw;
		overflow: hidden;
		border-radius: clamp(calc(15px * 0.672), 1.04vw, 15px);
		line-height: 0;
		margin-top: clamp(calc(33px * 0.672), 2.3vw, 33px);
		margin-left: -5vw;
		margin-left: -5cqw;
	}
	
	section.understanding div.section_inner div.fl_block div.interview{
		width: 100%;
		margin-top: 8vw;
		position: relative;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul{
		margin-top: 5vw;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 3%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li{
		width: 31%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li:nth-child(n + 4){
		margin-top: 4vw;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo{
		width: auto;
		height: 76vw;
		height: 76cqw;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo.photo5{
		margin-left: -10%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li div.photo img{
		width: auto;
		height: 100%;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more{
		width: 100%;
		margin-top: 1em;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more span{
		display: inline-block;
		font-size: clamp(calc(3.0rem * 0.375), 3.12vw, 3.0rem);
		line-height: 1.2;
		letter-spacing: 0.1em;
	}
	
	section.understanding div.section_inner div.fl_block div.interview ul li span.more span small{
		font-size: 75%;
		display: block;
	}
	
	section.understanding div.section_inner div.fl_block div.interview span.chara02{
		width: 19.92vw;
		width: 19.92cqw;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: 0;
        bottom: 4.5%;
		z-index: 5;
	}
	
	section.understanding div.section_inner div.fl_block div.interview span.cloud03{
		width:50vw;
		width: 50cqw;
		line-height: 0;
		display: inline-block;
		position: absolute;
		right: -12%;
        top: -6%;
		z-index: 5;
	}
	
	section.environ {
		background: #5b9843;
		padding: 10vw 0 15vw;
	}
	
	section.environ div.section_inner{
		width: 80%;
		margin: 0 0 0 5%;
		position: relative;
		color: #FFF;
	}
	
	section.environ div.section_inner h3{
		writing-mode: vertical-rl;
		position: absolute;
		top: 20vw;
		right: -10%;
	}
	
	section.environ div.section_inner h3 span{
		border-bottom: none;
		border-left: 2px solid #FFF;
	}
	
	section.environ div.section_inner ul{
		width: 93.7%;
		list-style: none;
		margin-top: -20vw;
	}
	
	section.environ div.section_inner ul li{
		width: 100%;
		position: relative;
	}
	
	section.environ div.section_inner ul li + li{
		margin-top: 6vw;
	}
	
	section.environ div.section_inner ul li div.photo{
		overflow: hidden;
		border-radius: 3vw;
		line-height: 0;
	}
	
	section.environ div.section_inner ul li span.more{
		position: absolute;
		background: #FFF;
		color: #000;
		bottom: 1.5em;
		left: -2.5vw;
	}
	
	section.recruit {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		z-index: 5;
	}
	
	section.recruit div.photo{
		width: 100%;
		line-height: 0;
	}
	
	section.recruit div.text_block{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: relative;
		padding: 12vw 5%;
	}
	
	section.recruit div.text_block div.block{
		display: inline-block;
	}
	
	section.recruit div.text_block div.block a.more,
	section.understanding div.job a.more {
		margin-top: 2em;
	}
	
	section.recruit div.text_block div.block span.chara03{
		width: 35vw;
		width: 35cqw;
        line-height: 0;
        display: inline-block;
        position: absolute;
        right: 15%;
        top: -12%;
        z-index: 5;
	}
	
}
