@charset "UTF-8";

/* top
---------------------------------------------------------------------------*/
.fix-title {
	display: none;
}

.sec-lead .illust img,
.sec-skill .illust img {
	display: block;
	position: relative;
	z-index: 1;
}

.illust .mono {
	z-index: 1;
}

.illust .color {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 0 !important;
}

.bg-sec {
	position: relative;
}

.bg-sec:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	background-color: #F5FCEE;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	z-index: -1;
}

/* media query
-----------------------------------*/
@media (max-width: 1300px) {
	.bg-sec:after {
		width: 1300px;
		margin-left: -650px;
	}
}


/* .top-movie
---------------------------------------------------------------------------*/
.top-movie {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 100000;
	opacity: 0;
}

.top-movie-bg {
	display: block;
	position: absolute;
	background:-webkit-gradient(linear, left top, right bottom, color-stop(0, #81C15A), color-stop(1, #00773D));
	background: linear-gradient(180deg, #81C15A 0%, #00773D 100%);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.top-movie .close {
	display: none;
	position: absolute;
	top: 35px;
	right: 35px;
	cursor: pointer;
	transition: .2s ease-out;
	z-index: 1;
	opacity: 0;
}

.top-movie .close:hover {
	opacity: 0.5 !important;
}

.top-movie-inner {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	background-color: #000000;
	width: 1000px;
	opacity: 0;
	z-index: 1;
}

.top-movie-inner .movie-cover {
	background-image: url(../img/top/img-movie-cm.jpg);
}


/* .top-main
---------------------------------------------------------------------------*/
.top-main {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	padding-top: 58%;
	z-index: 1;
}

/* bk220921_通常時
.top-drone {
	display: none;
	position: absolute;
	top: 11%;
	right: 50%;
	margin: -55px -535px 0 0;
	z-index: 3;
	opacity: 0;
}

.top-drone a {
	display: block;
}
*/

.top-drone.special {
	display: none;
	position: absolute;
	top: 11%;
	right: 50%;
	margin: -55px -535px 0 0;
	z-index: 3;
	opacity: 0;
}

.top-drone.special a { display: block; transform: scale(1.15); }
.top-drone.special a:hover { opacity: 1 !important; }

.top-drone.special a .flag4 img { transition: .15s ease-out !important; }
.top-drone.special a:hover .flag4 img { opacity: 0.6; }

.top-drone.special span {
	display: block;
}

.top-drone.special .drone {
	position: relative;
	z-index: 4;
	transform-origin: center top;
}

.top-drone.special .flag {
	position: relative;
	width: 103px;
	height: 293px;
	margin: -2px 0 0 47px;
}

.top-drone.special .flag1 {
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: top center;
	z-index: 3;
}

.top-drone.special .flag-txt {
	position: absolute;
	top: 52px;
	left: 18px;
	overflow: hidden;
	width: 68px;
/* 	height: 233px; */
	height: 2px;
	margin: 0 !important;
	z-index: 1;
}

.top-drone.special .flag2 {
	position: relative;
	z-index: 0;
}

/* 55周年
.top-drone.special .flag4 {
	position: absolute;
	top: 19px;
	left: 9px;
	z-index: 1;
}*/

.top-drone.special .flag4 {
	position: absolute;
	top: 22px;
	left: 2px;
	z-index: 1;
}

.top-drone.special .flag4 img {
	width: 65px;
}

.top-drone.special .flag3 {
	position: absolute;
	bottom: 232px;
	left: 0;
	z-index: 2;
}

/* .top-main .txt
------------------------------------*/
.top-main .txt {
	position: absolute;
	top: 14%;
	left: 8%;
	margin: -85px 0 0;
	z-index: 3;
	opacity: 0;
}

.top-main .txt h2 {
	width: 200px;
	margin-bottom: 20px;
}

.top-main .txt h3 {
	margin: 0 0 20px 4px;
}

.top-main .txt p {
	margin-left: 4px;
	color: #000000;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

/* media query
-----------------------------------*/
@media (min-width: 1401px) {
	.top-main .txt {
		top: 14%;
		left: 50%;
		margin: -95px 0 0 -578px;
	}
	.top-main .txt h2 {
		width: 240px;
		margin-bottom: 25px;
	}
	.top-main .txt h2 img {
		width: 100%;
		height: auto;
	}
	.top-main .txt p {
		margin-left: 4px;
		font-size: 16px;
		line-height: 1.9;
		letter-spacing: 0.15em;
	}
}
@media (min-width: 1501px) {
	.top-main .txt h2 {
		width: 270px;
		margin-bottom: 30px;
	}
}

/* .top-img
------------------------------------*/
.top-img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-bottom: 52.5%;
	z-index: 1;
}

.top-img > div {
	position: absolute;
	opacity: 0;
}

.top-img .img1 {
	bottom: 0;
	left: 0;
	width: 100%;
	transform-origin: center bottom;
	z-index: 1;
}

.top-img .img1.bg-sec:after {
	background-color: #EDF6E4;
	top: 100%;
	height: 415px;
}

.top-img .img2 {
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

.top-img .hand {
	bottom: 30%;
	right: -7%;
	width: 24%;
	z-index: 3;
}

.top-img img {
	display: block;
	width: 100%;
	height: auto;
}

/* .cm-btn
------------------------------------*/
.cm-btn {
	position: fixed;
	top: calc(100vh - 180px);
	left: 58px;
	cursor: pointer;
	z-index: 3;
}

.cm-btn.btm {
	position: absolute;
	top: initial;
	bottom: 44px;
}

.cm-btn > div {
	transform-origin: center bottom;
	opacity: 0;
}

.cm-btn .cm-txt {
	position: absolute;
	top: -41px;
	left: 35px;
	z-index: 1;
}

.cm-btn .btn {
	position: relative;
	box-shadow: 6px 6px 8px 0 rgba(0,0,0,0.11);
	border-radius: 4px;
	z-index: 2;
}

.cm-btn .lamp {
	position: absolute;
	top: -38px;
	left: -22px;
	z-index: 1;
}

.cm-btn .men {
	position: absolute;
	bottom: -22px;
	left: -18px;
	z-index: 3;
}

.cm-btn .tree {
	position: absolute;
	bottom: -22px;
	left: 36px;
	z-index: 3;
}


/* .top-main-news
---------------------------------------------------------------------------*/
.top-main-news-wrap {
	position: relative;
	width: 1054px;
	margin: -40px auto 120px;
	padding-top: 40px;
	z-index: 2;
}

.top-main-news {
	position: relative;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border-radius: 7px;
	box-shadow: 12px 12px 11px 0 rgba(0,0,0,0.11);
	width: 100%;
	padding: 5px 25px 5px 162px;
}

.top-main-news .title {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #00773D;
	border-radius: 7px 0 0 7px;
	width: 113px;
	height: 100%;
	color: #FFFFFF;
}

.top-main-news .title:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: -38px;
	background: url(../img/share/bg-triangle.png) no-repeat left top;
	background-size: 100% 100%;
	width: 38px;
	height: 100%;
}

.top-main-news .title h2 {
	position: absolute;
	top: 22px;
	left: 25px;
}

.top-main-news .title h2 em {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	letter-spacing: 0.15em;
}

.top-main-news .title h2 strong {
	display: block;
	font-size: 13px;
	letter-spacing: 0.15em;
}

.top-main-news .title .btn {
	position: absolute;
	bottom: 25px;
	left: 25px;
}

.top-main-news .title .btn a {
	padding: 5px 8px 6px 10px;
	font-size: 13px;
}

.top-main-news .title .btn a:hover {
	background-color: #379840;
	opacity: 1;
}

.top-main-news article { border-bottom: 1px solid #DADADA; }
.top-main-news article:last-of-type { border-bottom: none; }

.top-main-news .news-title time {
	top: 21px;
	left: 12px;
}

.top-main-news .news-title .post-categories {
	top: 19px;
}

.top-main-news .news-title h2 > span,
.top-main-news .news-title h2 > a {
	padding-top: 14px;
	padding-bottom: 15px;
}

.top-main-news .news-title h2 > a:hover {
	background-color: #FFFFFF;
}


/* .sec-lead
---------------------------------------------------------------------------*/
.sec-lead {
	position: relative;
	width: 1054px;
	margin: 0 auto 190px;
	z-index: 3;
}

.sec-lead figure {
	overflow: hidden;
}

.sec-lead figure img {
	display: block;
	float: left;
}

.sec-lead figure img:first-of-type { margin-right: 44px; }
.sec-lead figure img:last-of-type{ float: right; }

.sec-lead .sec-inner {
	position: relative;
	box-sizing: border-box;
	padding: 100px 0 0 345px;
}

.sec-lead .illust1,
.sec-lead .illust2,
.sec-lead .illust3,
.sec-lead .illust4 {
	display: block;
	position: absolute;
	height: auto;
}

.sec-lead .illust1 { top: -10px; left: -25px; width: 64px; }
.sec-lead .illust2 { top: 40px; right: 227px; width: 76px; }
.sec-lead .illust3 { top: -42px; right: 24px; width: 110px; }
.sec-lead .illust4 { bottom: -18px; right: -16px; width: 94px; }

.sec-lead .sec-title {
	overflow: hidden;
	position: absolute;
	top: 45px;
	left: 30px;
}

.sec-lead .sec-title h2 {
	float: right;
	width: 12px;
	margin-top: 64px;
	color: #00773D;
	font-size: 12px;
	letter-spacing: 0.8em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.sec-lead .sec-title h3 {
	overflow: hidden;
	float: right;
	margin-right: 25px;
}

.sec-lead .sec-title h3 strong {
	display: block;
	float: right;
}

.sec-lead .sec-title h3 em {
	display: block;
	float: right;
	margin: 65px 33px 0 0;
}

.sec-lead p {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.sec-lead .btn-set {
	overflow: hidden;
	margin: 38px 0 0 -2px;
}

.sec-lead .btn {
	float: left;
	margin-right: 20px;
}

.sec-lead .btn a {
	background-size: 19px 24px;
	background-position: left 20px center;
	border-radius: 3px;
	padding: 15px 24px 16px 60px;
	font-size: 16px;
}


/* .sec-skill
---------------------------------------------------------------------------*/
.sec-skill {
	position: relative;
	width: 1065px;
	margin: 0 auto 110px;
	text-align: center;
}

.sec-skill > .illust {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 960px;
}

.sec-skill.bg-sec:after {
	top: 125px;
	height: calc(100% - 125px + 360px);
}

.sec-skill .illust1 {
	position: absolute;
	top: -175px;
	right: -20px;
	transform: scale(0.65);
}

.sec-skill .illust2 {
	position: absolute;
	top: -10px;
	left: -100px;
	transform: scale(0.85);
}

.sec-skill .illust3 {
	position: absolute;
	top: 165px;
	right: -110px;
	transform: scale(0.75);
}

.sec-skill .ico {
	margin-bottom: 32px;
}

.sec-skill .ico img {
	display: inline-block;
	width: 34px;
	height: 34px;
	margin: 0 2px;
}

.sec-skill h2 {
	margin-bottom: 30px;
}

.sec-skill .txt-lead {
	margin-bottom: 140px;
}

.sec-skill .txt-lead p {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.sec-skill .btn-set {
	margin-top: 65px;
}

.sec-skill .btn-set .btn {
	width: 49%;
	margin: 0;
}

.sec-skill .btn-set .btn:nth-child(even) {
	float: right;
}

.sec-skill .btn-set .btn a {
	display: block;
	background-size: 19px 24px;
	background-position: left 23px center;
	border-radius: 3px;
	padding: 22px 40px 23px 60px;
	font-size: 16px;
	text-align: center;
}


/* .sec-link
---------------------------------------------------------------------------*/
.sec-link {
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto 110px;
	padding: 0 36px;
	text-align: center;
	white-space: nowrap;
}

.sec-link .link {
	position: relative;
	float: left;
	box-sizing: border-box;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 49%;
}

.sec-link .link:nth-child(even) {
	float: right;
}

.link-town { background-image: url(../img/top/img-town2.jpg); }
.link-csr { background-image: url(../img/top/img-csr.jpg?241011); }

.sec-link .link a {
	position: relative;
	display: block;
	padding: 40px;
	color: #FFFFFF;
}

.sec-link .link a:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.5;
	transition: .25s ease-out;
}

.sec-link .link a:hover { opacity: 1; }
.sec-link .link a:hover:before { opacity: 0.25; }

.sec-link .inner {
	display: block;
	position: relative;
	border: 7px solid #FFFFFF;
	padding: 50px 0;
	z-index: 2;
}

.sec-link h2 {
	margin-bottom: 40px;
	font-size: 36px;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.sec-link h3 {
	margin-bottom: 40px;
	font-size: 21px;
	letter-spacing: 0.06em;
}

.sec-link h3 span {
	display: inline-block;
	border-bottom: 2px solid #FFFFFF;
	padding: 0 2px 4px 4px;
}

.sec-link .btn span {
	background-color: #00793B;
	transition: .3s ease-out;
}

.sec-link .link a:hover .btn span {
	background-color: #81C15A;
}


/* .sec-blog-top
---------------------------------------------------------------------------*/
.sec-blog-top .title-set {
	margin-bottom: 75px;
	text-align: center;
}

.sec-blog-top .title-set h2 {
	margin-bottom: 22px;
}

.sec-blog-top .title-set h2 a {
	display: inline-block;
	position: relative;
	padding: 0 55px 0 60px;
	color: #00773D;
	font-size: 29px;
	letter-spacing: 0.1em;
}

.sec-blog-top .title-set h2 a:before,
.sec-blog-top .title-set h2 a:after {
	display: block;
	content: '';
	position: absolute;
	top: -5px;
	background: url(../img/share/logo-mark.svg) no-repeat;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
}

.sec-blog-top .title-set h2 a:before { left: 0; }
.sec-blog-top .title-set h2 a:after { right: 0; }

.sec-blog-top .title-set p {
	font-size: 15px;
}

.sec-blog-top .blog-list {
	width: 1140px;
	margin: 0 auto;
}

.sec-blog-top .blog-list article,
.sec-blog-top .blog-list article:nth-of-type(3n) {
	margin-right: 33px !important;
}

.sec-blog-top .blog-list article:nth-of-type(4n) {
	margin-right: 0 !important;
}