
.sec_main {
	width:100%;
	background:url(../images/top/main.jpg) center center / cover;
	position:relative;
	max-height: calc(100vh - 100px);
	overflow: hidden;
}
.sec_main:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../images/top/main_ami.png) center center repeat;
	opacity: 0.7;
}

.sec_main .scroll {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
	z-index:2;
}

.sec_main .main_inner {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:2;
	display:flex;
	justify-content: center;
	align-items:center;
	padding:2% 20px 0;
	color:#fff;
}

.sec_main .main_inner > div {
	padding:20px 0;
	width:100%;
	margin-bottom: 12%;
	position: relative;
	z-index: 10;
}
@media screen and (max-width: 1280px){
.sec_main .main_inner > div {
	/*margin-bottom: 25%;*/
}
}


.sec_main h3 {
	font-size:76px;
	line-height:1.6;
	text-align:center;
	margin:0 0 30px;
	font-weight: 900;
}
.sec_main h3 span {
	display:block;
	font-size:0.5em;
	font-weight: 600;
}
.sec_main .btn {
	max-width:750px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
}
body.login .sec_main .btn {
	display:none;
}
.sec_main .btn li {
	width:47.06%;
}
.sec_main .btn li a {
	display:block;
	padding:10px 0 10px 30px;
	display:flex;
	justify-content: start;
	font-size:26px;
	font-weight: 900;
	line-height:1.4;
	letter-spacing:0.05em;
	position:relative;
	transition: all 0.3s ease-in-out;
}
.sec_main .btn li a:after {
	content:"";
	position:absolute;
	top:0;
	right:30px;
	width:30px;
	height:100%;
	background:url(../images/common/btn_icon01.png) center center no-repeat;
	transition: all 0.3s ease-in-out;
}
.sec_main .btn li a:hover:after {
	right:20px;
}
.sec_main .btn li a span {
	margin:0 6% 0 0;
}
.sec_main .btn li a span:last-child {
	padding:2px 0 0 0;
	margin:0 0 0 0;
}
.sec_main .btn li a span small {
	font-size:0.6em;
	font-weight: 400;
}
.sec_main .btn li a span:last-child {
	margin:0 0 0 0;
}
.sec_main .btn li:nth-child(1) a {
	background:#007030;
}
.sec_main .btn li:nth-child(1) a:hover {
	background:#00451d;
}
.sec_main .btn li:nth-child(2) a {
	background:#ff8400;
}
.sec_main .btn li:nth-child(2) a:hover {
	background:#d46e00;
}

@media screen and (max-width: 1280px){
	.sec_main {
		height:600px;
	}	
	.sec_main .main {
		display:none;
	}
	.sec_main h3 {
		font-size:48px;
	}
}
@media screen and (max-width: 920px){
	.sec_main .btn li a {
		font-size:24px;
	}
}

@media screen and (max-width: 767px){
	
	.sec_main .main_inner {
		align-items:center;
	}
	.sec_main h3 {
		margin:0 0 0 0;
	}
	.sec_main h3 .ex {
		margin-bottom: 10px;
	}
	.sec_main .btn {
		display:none;
	}
	.sec_main {
		/*height:calc(100vh - 98px);*/
		height: 55vh;
		background:url(../images/top/main.jpg) 47% center / cover;
	}
	.sec_main h3 {
		font-weight:900;
		line-height: 1.1;
		letter-spacing: -0.05em;
		font-size:8.5vw;
	}
	.sec_main h3 span {
		font-weight:500;
		margin:0 0 5px;
		font-size:0.4em;
		font-size: 5vw;
	}
}


.sec1 {
	width:100%;
	background:#f9f9f9;
	padding:60px 0;
}
.sec1 .col {
	display:flex;
	justify-content: space-between;
	align-items:center;
	flex-direction: row-reverse;
}
.sec1 .col li:nth-child(2) {
	width:45.16%;
}
.sec1 .col li:nth-child(1) {
	width:52.35%;
}
.sec1 .t1 {
	font-size:36px;
	font-size: 36px;
	font-feature-settings: "palt";
	letter-spacing: -0.025em;
	color:#03b74f;
	line-height:1.4;
}

@media screen and (max-width: 1080px){
	.sec1 .col {
		display:block;
	}
	.sec1 .col li:nth-child(2) {
		width:100%;
		padding: 0 30px;
		text-align:center;
	}
	.sec1 .col li:nth-child(1) {
		width:100%;
		margin:0 0 50px;
		text-align:center;
	}
}

@media screen and (max-width: 767px){
	.sec1 {
		padding:40px 0;
	}
	.sec1 .col li:nth-child(1) p:nth-child(2) {
		text-align:left;
	}
	.sec1 .t1 {
		font-size:5.4vw;
		letter-spacing:-0.03em;
		font-weight: 900;
		line-height: 1.5;
	}
	.sec1 .t1 span {
		font-size:130%;
	}
	.sec1 .col li:nth-child(1) p.read2 {
		text-align:left;
	}
	.read2 {
		font-size: 14px;
	}
}
@media screen and (max-width: 480px){
	.sec1 .col li:nth-child(1) {
		margin:0 0 30px;
	}
	.sec1 .col li:nth-child(2) img {
/*		width:240px;*/
		width: 92%;
		max-width: 350px;
		margin-left: 8%;
	}
}

.sec2 {
	width:100%;
	background:#f9f9f9;
	color:#fff;
	padding:60px 0 45px;
	background:url(../images/top/bg02.jpg) center center / cover;
}
.sec2 .conts {
	width:100%;
	padding:0 40% 0 0;
	position:relative;
}
.sec2 .conts .s1 {
	position:absolute;
	bottom:-45px;
	right:0;
	width:40%;
}
.sec2 dl.d1 {
	display:flex;
	align-items: start;
	margin:0 0 5px;
}
.sec2 dl.d1 dt {
	width:90px;
	margin:0 10px 0 0;
	text-align:center;
}
.sec2 dl.d1 dd {
	width:calc(100% - 100px);
}
.sec2 .t1 {
	padding:0 0 0 100px;
}
@media screen and (max-width: 1080px){

	.sec2 .conts {
		padding:0 0 0 0;
	}
	.sec2 .conts p:nth-child(1) {
		text-align:center;
	}
	.sec2 .conts .s1 {
		position:static;
		width:100%;
		padding:0 30%;
		text-align:center;
		margin:0 0 40px;
	}
	.sec2 dl.d1 {
		margin:0 0 10px;
	}
	.sec2 dl.d1 dt {
		width:60px;
		margin:0 20px 0 0;
		text-align:center;
	}
	.sec2 dl.d1 dd {
		width:calc(100% - 80px);
	}
	.sec2 .t1 {
		padding:0 0 0 0;
	}
}
@media screen and (max-width: 767px){
	.sec2 {
		padding:40px 0;
	}
	.sec2 .conts p:first-child {
		padding:0 8%;

	}
	.sec2 .conts .s1 {
		padding:0 15%;

	}
	.sec2 dl.d1 dt {
		width:40px;
		margin:0 20px 0 0;
		text-align:center;
	}
	.sec2 dl.d1 dd {
		width:calc(100% - 60px);
	}
	.sec2 .read {
		font-size: 14px;
	}
}

.sec3 {
	width:100%;
	padding:80px 0 40px;
}
.sec3 h3 {
	font-size:40px;
	line-height:1.4;
	text-align:center;
}
.sec3 h3 span {
	color:#009e41;
}
.sec3 .qna {
	margin:0 0 50px;
	font-weight:bold;
}
.sec3 .cap_txt {
	font-size:16px;
	line-height:1.8;
	color:#000;
	margin:10px 0 0 0;
}
.sec3 dl {
	font-size:28px;
	line-height:1.2;
	margin:0 0 30px;
}
.sec3 dl dt {
	padding:0 0 20px;
	position:relative;
	display:flex;
	align-items: center;
	border-bottom:1px dashed #000;
}
.sec3 dl dt span.qa {
	width:60px;
	height:60px;
	line-height:60px;
	text-align:center;
	background:#000;
	color:#009e41;
	margin:0 20px 0 0;
}
.sec3 dl dt p {
	width:calc(100% - 140px);
	font-size: 20px;
}
.sec3 dl dt span.arrow {
	position:absolute;
	bottom:30px;
	right:0;
	width:40px;
	height:16px;
	background:url(../images/top/arrow.png) center center no-repeat;
	background-size: 100% auto;
	cursor:pointer;
	transition: all 0.3s ease-in-out;
}
.sec3 dl dt span.arrow:hover {
	opacity:0.7;
}
.sec3 dl dd {
	display:none;
	margin:20px 0 0 0;
}
.sec3 dl dd div.a1 {
	display:flex;
	color:#009e41;
	align-items: center;
}
.sec3 dl dd div.a1.a2 {
	align-items:center;
}
.sec3 dl dd div.a1 span.qa {
	width:60px;
	height:60px;
	line-height:60px;
	text-align:center;
	background:#68b145;
	color:#000;
	margin:0 20px 0 0;
}
.sec3 dl dd div.a1 p {
	width:calc(100% - 100px);
	font-size: 21px;
}

@media screen and (max-width: 1080px){
	.sec3 dl {
		font-size:20px;
	}	
}

@media screen and (max-width: 767px){
	.sec3 .qna {
		margin:0 0 30px;
	}
	.sec3 dl {
		font-size:20px;
	}
	.sec3 .cap_txt {
		font-size:13px;
		/*font-size:14px;*/
		line-height:1.4;
		margin:5px 0 0 0;
	}
	.sec3 dl dt {
		display:block;
		padding:0 0 10px;
	}

	.sec3 dl dt span.qa {
		width:100%;
		height:40px;
		line-height:40px;
		margin:0 0 10px 0;
		display:block;
	}
	.sec3 dl dt p {
		width:100%;
		font-size: 14px;
		/*font-size: 15px;*/
		text-align: center;
	}

	.sec3 dl dd div.a1 {
		display:block;
	}
	.sec3 dl dd div.a1 span.qa {
		display:block;
		width:100%;
		height:40px;
		line-height:40px;
		margin:0 0 10px 0;
	}
	.sec3 dl dd div.a1 p {
		width:100%;
		font-size: 15px;
		/*font-size: 16px;*/
	}

	.sec3 dl dt span.arrow {
		position:static;
		display:block;
		width:100%;
		height:30px;
		background-size: 9% auto;
	}

	.sec3 {
		padding:40px 0 10px;
	}
	.sec3 h3 {
		font-size:24px;
	}
}

@media screen and (max-width: 480px){
	.sec3 dl {
		font-size:18px;
	}
}

.sec4 {
	width:100%;
	padding:35px 0;
	background:url(../images/top/teambg.jpg) center center / cover;
	position:relative;
	color:#fff;
}
.sec4:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../images/top/ami.png) center center repeat;
}
.sec4 .sec_inner {
	position:relative;
	z-index:2;
}
.sec4 h3 {
	font-size:46px;
	line-height:1.4;
	text-align:center;
	letter-spacing:0.1em;
}
.sec4 h3 span {
	color:#009e41;
}
.sec4 .t1 {
	font-size:24px;
	line-height:1.6;
}
@media screen and (max-width: 767px){
	.sec4 {
		padding:30px 0;
	}
	.sec4 h3 {
		font-size:28px;
	}
	.sec4 .t1 {
		font-size:16px;
	}
}
.sec4 .team_wra {
	width:100%;
	padding:0 0 50px;
}
.sec4 .team {
	margin:0 12px;
}
.sec4 .team p {
	max-width:400px;
}
.sec4 .team p.team_img {
	margin:0 0 10px;
	background-position: center center;
	background-size: cover;    
}
.sec4 .team p.team_name {
	font-size:20px;
	line-height:1.4;
	margin:0 0 5px;
}
.sec4 .team p.team_msg {
	line-height:1.4;
	font-size:16px;
}

.slick-arrow {
	width:25px;
	height:40px;
	border:0px;
	font-size:0;
	line-height:0;
	cursor:pointer;
	padding:0;
	position:absolute;
	transition: all 0.3s ease-in-out;
	z-index:2;
}
.slick-arrow:hover {
	opacity:0.7;
}
.slick-prev {
	background:url(../images/top/l_arrow.png) center center no-repeat;
	bottom:0;
	left:0;
}
.slick-next {
	background:url(../images/top/r_arrow.png) center center no-repeat;
	bottom:0;
	right:0;
}

.slick-dots {
	position:absolute;
	bottom:10px;
	left:0;
	padding:0 40px;
	width:100%;
	display:flex;
	align-items: center;
	justify-content: center;
}
.slick-dots li {
	margin:0 5px 0 0;
	text-align:center;
}
.slick-dots li:last-child {
	margin:0 0 0 0;
}
.slick-dots li button {
	font-size:0;
	line-height:0;
	width:19px;
	height:19px;
	border:3px solid #ccc;
	background:#ccc;
	border-radius:10px 10px 10px;
	cursor:pointer;
	transition: all 0.3s ease-in-out;
	outline: none;
}
.slick-dots li button:hover {
	background:#fff;
	border:3px solid #ccc;
	width:19px;
	height:19px;
}
.slick-dots li.slick-active button {
	background:#fff;
	border:3px solid #ccc;
	width:19px;
	height:19px;
}
@media screen and (max-width: 767px){
	.sec4 .team p.team_name {
		font-size:18px;
	}
	.sec4 .team p.team_msg {
		font-size:14px;
	}
}
@media screen and (max-width: 480px){
	.sec4 .team {
		margin-right:0px;
	}
	.slick-arrow {
		width:15px;
		background-size:100% auto;
	}
	.sec4 .team_wra {
		max-width: 300px;
		margin: 0 auto;
		padding:0 0 40px;
	}
}

.sec_info {
	padding:50px 0;
}
.sec_info h3 {
	text-align:center;
	font-size:46px;
	line-height:1.4;
	letter-spacing:-0.05em;
	font-weight:bold;
}
.sec_info h3 span {
	color:#009e41;
}
.sec_info h3 a {
	color:#0000cc;
	font-size:0.4em;
	margin:0 0 0 20px;
	/*font-weight:normal;*/
}
.sec_info dl {
	padding:0 0 15px;
	margin:0 0 15px;
	border-bottom:1px solid #ccc;
	display:flex;
	font-size:18px;
	font-weight: 600;
	line-height:1.6;
}
.sec_info dl dt {
	width:150px;
}
.sec_info dl dd {
	width:calc(100% - 150px);
}
.sec_info dl dd a {
	color:#0000cc;
}

@media screen and (max-width: 767px){
	.sec_info {
		padding:30px 0;
	}
	.sec_info h3 {
		font-size:24px;
	}
	.sec_info h3 a {
		font-size:14px;
	}

	.sec_info dl {
		font-size:14px;
	}
	.sec_info dl dt {
		width:110px;
	}
	.sec_info dl dd {
		width:calc(100% - 110px);
	}
}
@media screen and (max-width: 480px){
	.sec_info h3 a {
		/*display:block;
		margin:0 0 0 0;*/
	}
	.sec_info dl {
		display:block;
	}
	.sec_info dl dt {
		width:100%;
		margin:0 0 5px;
	}
	.sec_info dl dd {
		width:100%;
	}
}



.scr_wrap {
	position:absolute;
	top:0;
	left:50%;
	margin:0 0 0 -90px;
	width:160px;
	height:100%;
	max-height: calc(100vh - 100px);
	background:url("../images/top/scroll_bg.png") center bottom no-repeat;
	z-index:9;
	pointer-events: none;
}
.scr_wrap .scr_inner {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:60px;
}
.scr_wrap .scr_inner .scroll {
	pointer-events: all;
	position:absolute;
	bottom:10px;
	left:0;
	right:0;
	margin:auto;
	line-height:0;
	text-align:center;
	animation: scr 1s both infinite alternate;
	-webkit-animation: scr 1s both infinite alternate;
}
@-webkit-keyframes scr {
  0% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0);
  }
}

@keyframes scr {
  0% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 4px, 0);
    transform: translate3d(0, 4px, 0);
  }
}