@charset "utf-8";

/********** common **********/
body {
	font: 16px "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	line-height: 2;
	letter-spacing: 0.1em;
	overflow-x: hidden;
}

a {
	text-decoration: none;
}

header {
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

#top header {
	z-index: 3;
}

nav#pc {
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	opacity: 1;
	position: fixed;
	top: 0;
	left: 0;
	transition: transform .5s, opacity .3s;
	z-index: 100;
}

nav.hide {
	transform: translateY(-90px);
}

nav.none {
	opacity: 0 !important;
	pointer-events: none;
}

nav#pc {
	display: block;
}

nav#sp {
	display: none;
}

nav .wrap {
	width: calc(100% - 40px);
	margin: 0 auto;
	border-bottom: #9cc900 1px solid;
	display: flex;
	align-items: center;
	position: relative;
}

nav .wrap h1 {
    font: 35px 'EB Garamond', serif;
    padding-left: 30px;
}

nav .wrap h1 a {
	color: #fff;
}

nav#pc .wrap .menu-box {
	position: relative;
}

nav#pc .wrap .menu-box ul#main-menu {
	display: flex;
	align-items: center;
}

nav#pc .wrap .menu-box ul#main-menu > li {
    font: 18px 'Roboto Condensed', sans-serif;
	text-align: center;
}

nav#pc .wrap .menu-box ul#main-menu > li a {
	color: #9cc900;
	width: 100%;
	padding: 30px 20px;
	display: block;
}

nav#pc .wrap .menu-box ul#main-menu > li:first-child a {
	padding: 30px;
}

nav#pc .wrap .menu-box #sub-menu {
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: calc(100vw - 40px);
	margin: auto;
	text-align: left;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 82px;
	z-index: -1;
	transform: translate(0, -100%);
	transition: all .3s .1s;
}

nav#pc .wrap .menu-box ul.sub-menu-box {
	width: 100%;
	padding-left: 35%;
	position: relative;
	display: flex;
}

nav#pc .wrap .menu-box ul#main-menu > li:nth-child(2):hover #sub-menu {
	opacity: 1;
	transform: translate(0, 0);
}

nav#pc .wrap .menu-box #slide-line,
nav#pc .wrap .menu-box #slide-line-sub {
	background: #9cc900;
    position: absolute;
    bottom: 0;
    height: 5px;
    transition: all .3s ease;
}

nav#pc .wrap #btn-contact {
	background: #fff;
	position: relative;
	margin-left: calc(100% - (287.3px + 50% + 450.583px + 111.35px));
}

nav#pc .wrap #btn-contact a {
	display: block;
	position: relative;
	overflow: hidden;
}

nav#pc .wrap #btn-contact::before {
	content: '';
	background: #9cc900;
	width: 100%;
	height: 8px;
	position: absolute;
	left: 0;
	bottom: -8px;
	transition: .5s;
}

nav#pc .wrap #btn-contact a:hover::before {
	background: #fff;
}

nav#pc .wrap #btn-contact a p {
	font: 18px 'Roboto Condensed', sans-serif;
	color: #9cc900;
	padding: 30px 15px;
	display: block;
	transition: .5s;
	position: relative;
	z-index: 2;
}

nav#pc .wrap #btn-contact a p:hover {
	color: #fff;
}

nav#pc .wrap #btn-contact a span {
	content: '';
	background: #000;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transform: translateX(-100%);
	transition: .5s;
}

nav#pc .wrap #btn-contact a:hover span {
	transform: translateX(0%);
	transform-origin: left;
}

header #main-image {
	height: 400px;
	margin-top: 82px;
}

#top header #main-image {
	margin-top: 0;
}

h2 {
	font: bold 80px 'Roboto Condensed', sans-serif;
	color: #fff;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0 0 100px;
	letter-spacing: 0.1em;
	animation-name: title;
	animation-duration: 1s;
}

@keyframes title {
	0% {
		opacity: 0;
		transform: translateX(-5%);
	}
	100% {
		opacity: 1;
		transform: translateX(0%);
	}
}

h2 span {
	font: 16px "MS ゴシック", Osaka, 'メイリオ', Meiryo, sans-serif;
	font-size: 30px;
	line-height: 2.5;
	display: block;
}

@media all and (-ms-high-contrast: none) {
	main {
		display: block;
	}
}

main#lower {
	background: #fff;
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
}

main#lower #content {
	background: #fff;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	top: -50px;
	z-index: 2;
}

main#lower #breadcrumb {
	font: bold 16px 'Roboto Condensed', sans-serif;
	padding: 15px 20px 0 0;
	text-align: right;
}

main#lower #breadcrumb a {
	font-weight: bold;
	color: #000;
}

main#lower #breadcrumb span {
	font-weight: bold;
	color: #85bd00;
}

main#lower h3 {
	font-size: 24px;
	font-weight: bold;
	background: #fff;
	padding: 100px 0 0 90px;
	text-align: justify;
	position: relative;
}

main#lower h3::before {
	content: '';
	background: #000;
	width: 40px;
	height: 3px;
	position: absolute;
	left: 0;
	top: calc(50% - 1.5px + 45px);
}

main#lower dl {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
}

footer {
	background: #fff;
	width: calc(100% - 40px);
	margin: 0 auto;
	padding: 75px 0 30px;
	position: relative;
}

footer ul {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	display: flex;
	align-items: center;
}

footer p {
	font: 12px 'Roboto Condensed', sans-serif;
	text-align: center;
	letter-spacing: 0;
}

footer p a {
	color: #000;
}

#top footer {
	position: fixed;
	bottom: 0;
	left: 20px;
}

#page-top {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 10;
}

#page-top a {
	transition: .5s;
}

#page-top a:hover {
	opacity: .5;
}

@media screen and (min-width: 1800px) {
	nav#pc .wrap .menu-box {
		margin-left: 50%;
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - (287.3px + 50vw - 20px));
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(287.3px + 50% + 110.917px);
	}
}

@media screen and (max-width: 1799px) {
	nav#pc .wrap .menu-box {
		margin-left: 30%;
	}

	nav#pc .wrap #btn-contact {
		margin-left: calc(100% - (287.3px + 30% + 450.583px + 111.35px));
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - (287.3px + 30vw - 10px));
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(287.3px + 30% + 110.917px);
	}
}

@media screen and (max-width: 1300px) {
	nav#pc .wrap .menu-box {
		margin-left: 20%;
	}

	nav#pc .wrap #btn-contact {
		margin-left: calc(100% - (287.3px + 20% + 450.583px + 111.35px));
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - (287.3px + 20vw - 10px));
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(287.3px + 20% + 110.917px);
	}
}

@media screen and (max-width: 1100px) {
	nav#pc .wrap .menu-box {
		margin-left: 5%;
	}

	nav#pc .wrap #btn-contact {
		margin-left: calc(100% - (287.3px + 5% + 450.583px + 111.35px));
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - (287.3px + 5vw));
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(287.3px + 5% + 110.917px);
	}
}

@media screen and (max-width: 950px) {
	nav#pc .wrap h1 {
		font-size: 2.4vw;
		width: 21vw;
		padding-left: 2.4vw;
	}

	nav#pc .wrap .menu-box ul li:first-child a {
	    padding: 40px 2.4vw;
	}

	nav#pc .wrap #btn-contact {
		margin-left: calc(100% - (21vw + 5% + 450.583px + 111.35px));
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - (21vw + 5vw));
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(21vw + 5% + 110.917px);
	}
}

@media screen and (max-width: 800px) {
	nav#pc .wrap h1 {
		width: 20vw;
	}

	nav#pc .wrap .menu-box {
		margin-left: 0;
	}

	nav#pc .wrap #btn-contact {
		margin-left: calc(100% - (20vw + 450.583px + 111.35px));
	}

	nav#pc .wrap .menu-box #sub-menu {
		left: calc(0px - 20vw);
	}

	nav#pc .wrap .menu-box ul.sub-menu-box {
		padding-left: calc(20vw + 110.917px);
	}
}

@media screen and (max-width: 750px) {
	body {
		background: #fff;
	}

	header {
		width: 100%;
	}

	h2 {
		font-size: 8vw;
		padding: 20vw 0 0 10vw;
	}

	h2 span {
		font-size: 3.2vw;
		line-height: 2;
	}

	nav#pc {
		display: none;
	}

	nav#sp {
		width: 100%;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
	}

	nav#sp .wrap {
		background: #85bd00;
		background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
		background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
		background: linear-gradient(to right, #85bd00 20%,#030000 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
		width: 100%;
		height: 18vw;
		display: flex;
		justify-content: space-between;
	}

	nav#sp .wrap h1 {
		font-size: 7vw;
		padding-left: 4vw;
		letter-spacing: -0.025em;
	}

	nav#sp .wrap .nav-button {
		width: 7.467vw;
		height: 11vw;
		margin-right: 8vw;
		position: relative;
		cursor: pointer;
	}

	nav#sp .wrap .nav-button span {
		background: #fff;
		height: 0.533vw;
		position: absolute;
		transition: transform .5s;
	}

	nav#sp .wrap .nav-button span:first-child {
		width: 7.467vw;
		right: 0;
		top: calc(100% / 3);
	}

	nav#sp .wrap .nav-button span:last-child {
		width: 5.333vw;
		right: 0;
		top: calc(100% / 3 * 2);
	}

	nav#sp .wrap .nav-button.open span:first-child {
		transform: rotate(45deg) translate(1.25vw, 1.25vw);
	}

	nav#sp .wrap .nav-button.open span:last-child {
		width: 7.467vw;
		transform: rotate(-45deg) translate(1.25vw, -1.25vw);
	}

	nav#sp .menu-box {
		background: -moz-linear-gradient(left, rgba(133,189,0,0.9) 0%, rgba(133,189,0,0.9) 20%, rgba(3,0,0,0.9) 100%);
		background: -webkit-linear-gradient(left, rgba(133,189,0,0.9) 0%,rgba(133,189,0,0.9) 20%,rgba(3,0,0,0.9) 100%);
		background: linear-gradient(to right, rgba(133,189,0,0.9) 0%,rgba(133,189,0,0.9) 20%,rgba(3,0,0,0.9) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e685bd00', endColorstr='#e6030000',GradientType=1 );
		width: 100%;
		height: calc(100vh - 18vw);
		padding-top: 3vw;
		position: absolute;
		transform: translateX(100%);
		transition: transform .5s;
	}

	nav#sp .menu-box.open {
		transform: translateX(0%);
	}

	nav#sp .menu-box li {
		font: bold 4vw 'Roboto Condensed', sans-serif;
		opacity: 0;
	}

	nav#sp .menu-box li:first-child {
		transition: opacity .2s .3s;
	}

	nav#sp .menu-box li:nth-child(2) {
		transition: opacity .2s .4s;
	}

	nav#sp .menu-box li:nth-child(3) {
		transition: opacity .2s .5s;
	}

	nav#sp .menu-box li:nth-child(4) {
		transition: opacity .2s .6s;
	}

	nav#sp .menu-box li:nth-child(5) {
		transition: opacity .2s .7s;
	}

	nav#sp .menu-box li:nth-child(6) {
		transition: opacity .2s .8s;
	}

	nav#sp .menu-box li:nth-child(7) {
		transition: opacity .2s .9s;
	}

	nav#sp .menu-box.open li {
		padding-left: 8vw;
	}

	nav#sp .menu-box.open li:first-child {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .3s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(2) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .4s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(3) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .5s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(4) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .6s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(5) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .7s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(6) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .8s;
		animation-fill-mode: forwards;
	}

	nav#sp .menu-box.open li:nth-child(7) {
		animation-name: menu;
		animation-duration: .5s;
		animation-delay: .9s;
		animation-fill-mode: forwards;
	}

	@keyframes menu {
		0% {
			opacity: 0;
		}
		50% {
			opacity: 1;
			transform: translateX(15%);
		}
		100% {
			opacity: 1;
			transform: translateX(0%);
		}
	}

	nav#sp .menu-box li a {
		color: #fff;
		width: 100%;
		padding: 3vw 0 3vw 4vw;
		display: block;
	}

	nav#sp .menu-box li div {
		background: #fff;
	}

	nav#sp .menu-box.open li div {
		width: 66.667vw;
		height: 100%;
		padding-left: 0;
	}

	nav#sp .menu-box li:last-child a {
		color: #000;
	}

	main {
		overflow-x: hidden;
	}

	main#lower {
		width: 100%;
	}

	main#lower #content {
		background: none;
		top: -6.667vw;
	}

	main#lower #breadcrumb {
		font-size: 3.2vw;
		background: #fff;
		width: 88%;
		margin: 0 auto;
		padding: 2vw 2.667vw 1vw 0;
		letter-spacing: 0;
	}

	main#lower h3 {
		font-size: 5.333vw;
		padding: 5vw 0 0 13vw;
	}

	main#lower h3::before {
		width: 5.333vw;
		top: calc(50% - 2.667vw + 5vw);
		left: 5vw;
	}

	main#lower dl {
		margin-top: 0;
	}

	footer {
		width: 100%;
		padding: 5vw 0;
		position: relative;
	}

	#top footer {
		left: 0;
	}

	footer p {
		font-size: 3.733vw;
	}

	#page-top {
		bottom: 8vw;
		right: 5vw;
	}

	#page-top img {
		width: 13.333vw;
	}
}
/********** /common **********/

/********** index **********/
#top .opening {
	animation-name: fix;
	animation-duration: 2s;
	animation-delay: 4s;
	animation-fill-mode: forwards;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	z-index: 9999;
}

@keyframes fix {
	100% {
		opacity: 0;
		z-index: 0;
	}
}

#top .opening .box {
	font: 100px 'EB Garamond', serif;
	color: #fff;
	width: 650px;
	margin: 0 auto;
	padding-top: calc(50vh - 50px);
	letter-spacing: -0.05em;
	line-height: 0.65;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	z-index: 11;
}

#top .opening .box span {
	animation-name: opening;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	opacity: 0;
}

#top .opening .box span:nth-child(5n) {
	animation-duration: 1.5s;
	animation-delay: 1s;
	transform: translateX(-175%);
}

#top .opening .box span:nth-child(5n+1) {
	animation-duration: 1.3s;
	animation-delay: 1.2s;
	transform: translateX(-115%);
}

#top .opening .box span:nth-child(5n+2) {
	animation-duration: 1.35s;
	animation-delay: 1.15s;
	transform: translateX(-130%);
}

#top .opening .box span:nth-child(5n+3) {
	animation-duration: 1.45s;
	animation-delay: 1.05s;
	transform: translateX(-160%);
}

#top .opening .box span:nth-child(5n+4) {
	animation-duration: 1.4s;
	animation-delay: 1.1s;
	transform: translateX(-145%);
}

@keyframes opening {
	25% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		left: 0;
		transform: translateX(0);
	}
}

#top header #main-image {
	background: #000;
	height: 100vh;
	position: relative;
}

#top header #main-image .logo-box {
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
}

#top header #main-image .logo-box .box1 {
	font: 100px 'EB Garamond', serif;
	color: #fff;
	width: 650px;
	margin: 0 auto;
	padding-top: calc(50vh - 50px);
	letter-spacing: -0.05em;
	line-height: 0.65;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	z-index: 11;
}

#top header #main-image .logo-box .box2 {
	font-size: 18px;
	color: #fff;
	width: 550px;
	margin: 20px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 11;
}

#top header #main-image .main-image-box {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
}

#top header #main-image .main-image-box.start .image {
    width: 100%;
    height: 100vh;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    animation: main-image 30s 0s infinite;
}

#top header #main-image .main-image-box.start .image:first-child {
	background: url(../images/top_main_01.jpg) no-repeat center center;
	background-size: cover;
}

#top header #main-image .main-image-box.start .image:nth-child(2) {
	background: url(../images/top_main_02.jpg) no-repeat center center;
	background-size: cover;
	animation-delay: 10s;
}

#top header #main-image .main-image-box.start .image:last-child {
	background: url(../images/top_main_03.jpg) no-repeat center center;
	background-size: cover;
	animation-delay: 20s;
}

@keyframes main-image {
 	0% {
        opacity: 0;
    }
    16% {
        opacity: 1;
    }
    34% {
        opacity: 1;
    }
    50% {
        opacity: 0;
        transform: scale(1.2) ;
        z-index: 9;
    }
    100% {
		opacity: 0
	}
}

#top main {
	background: #fff;
	width: calc(100% - 40px);
	margin: 0 auto;
	padding-bottom: 100px;
}

#top main #contents01 {
	color: #fff;
	background: url(../images/bg_top_01.jpg) no-repeat top center;
	background-size: cover;
	margin: 0 auto;
	padding: 70px 30px;
	text-align: center;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

#top main #contents01 h3 {
	font-size: 30px;
	line-height: 1.5;
	position: relative;
	z-index: 2;
}

#top main #contents01 p {
	font-size: 18px;
	margin-top: 25px;
	line-height: 1.8;
	position: relative;
	z-index: 2;
}

#top main #contents01 .hover {
    background: rgba(0,0,0,.6);
    width: 100%;
    height: calc(100% / 15);
    position: absolute;
    left: 0;
    transform: scale(0,1);
    transition: all .4s ease-in-out .2s;
}

#top main #contents01 #hover-animation01 {
    top: 0;
    transform-origin: 60%;
}

#top main #contents01 #hover-animation02 {
    top: calc(100% / 15);
    transform-origin: 5%;
    transition: all .6s ease-in-out .3s;
}

#top main #contents01 #hover-animation03 {
    top: calc(100% / 15 * 2);
    transform-origin: 55%;
    transition: all .3s ease-in-out .4s;
}

#top main #contents01 #hover-animation04 {
    top: calc(100% / 15 * 3);
    transform-origin: 35%;
    transition: all .4s ease-in-out .2s;
}

#top main #contents01 #hover-animation05 {
    top: calc(100% / 15 * 4);
    transform-origin: 10%;
    transition: all .6s ease-in-out .3s;
}

#top main #contents01 #hover-animation06 {
    top: calc(100% / 15 * 5);
    transform-origin: 30%;
    transition: all .3s ease-in-out .4s;
}

#top main #contents01 #hover-animation07 {
    top: calc(100% / 15 * 6);
    transform-origin: 8%;
    transition: all .4s ease-in-out .2s;
}

#top main #contents01 #hover-animation08 {
    top: calc(100% / 15 * 7);
    transform-origin: 40%;
    transition: all .6s ease-in-out .3s;
}

#top main #contents01 #hover-animation09 {
    top: calc(100% / 15 * 8);
    transform-origin: 95%;
    transition: all .3s ease-in-out .4s;
}

#top main #contents01 #hover-animation10 {
    top: calc(100% / 15 * 9);
    transform-origin: 32%;
    transition: all .4s ease-in-out .2s;
}

#top main #contents01 #hover-animation11 {
    top: calc(100% / 15 * 10);
    transform-origin: 70%;
    transition: all .6s ease-in-out .3s;
}

#top main #contents01 #hover-animation12 {
    top: calc(100% / 15 * 11);
    transform-origin: 60%;
    transition: all .3s ease-in-out .4s;
}

#top main #contents01 #hover-animation13 {
    top: calc(100% / 15 * 12);
    transform-origin: 72%;
    transition: all .4s ease-in-out .2s;
}

#top main #contents01 #hover-animation14 {
    top: calc(100% / 15 * 13);
    transform-origin: 10%;
    transition: all .6s ease-in-out .3s;
}

#top main #contents01 #hover-animation15 {
    top: calc(100% / 15 * 14);
    transform-origin: 90%;
    transition: all .3s ease-in-out .4s;
}

#top main #contents01.show .hover {
    transform: scale(1,1);
}

#top main #other h3 {
	font-weight: bold;
	padding-top: 100px;
	position: relative;
}

#top main #other h3::before {
	content: '';
	background: #000;
	width: 45px;
	height: 3px;
	position: absolute;
	left: 0;
	top: 118px;
}

#top main #contents02 {
	background: #000;
	position: relative;
	z-index: 2;
}

#top main #contents02 #wrap {
	background: url(../images/bg_top_02.jpg) no-repeat top center;
	background-size: cover;
	margin: 0 auto 698px;
	padding: 100px 0;
	text-align: center;
	box-sizing: border-box;
}

#top main #contents02 #wrap {
	opacity: 0;
	transform: translateX(25%);
	transition: .5s;
}

#top main #contents02 #wrap.show {
	opacity: 1;
	transform: translateX(0%);	
}

#top main #contents02 ul {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

#top main #contents02 ul li {
	width: calc(100% / 3 - 80px / 3);
}

#top main #contents02 ul li:nth-child(n+2) {
	margin-left: 40px;
}

#top main #contents02 ul li p {
	font: bold 30px 'Roboto Condensed', sans-serif;
	color: #fff;
	transform: translateX(-25%);
	opacity: 0;
	transition: .5s ease-in-out .2s;
}

#top main #contents02 #wrap.show ul li p {
	transform: translateX(0%);
	opacity: 1;
}

#top main #contents02 ul li .image {
	width: 100%;
	margin-top: 10px;
	transform: translateX(25%);
	opacity: 0;
	transition: .5s ease-in-out .5s;
}

#top main #contents02 #wrap.show ul li .image {
	background: #fff;
	transform: translateX(0%);
	opacity: 1;
}

#top main #contents02 ul li .image img {
	width: 100%;
	max-width: 440px;
	vertical-align: bottom;
}

#top main #contents02 ul li .btn {
	font-size: 18px;
	width: 75%;
	max-width: 330px;
	margin: 20px auto 0;
	text-align: center;
}

#top main #contents02 ul li .btn a {
	color: #fff;
	background: #000;
	width: 100%;
	transform: translateX(-25%);
	border: #fff 1px solid;
	display: block;
	opacity: 0;
	position: relative;
	transition: .5s ease-in-out .8s;
}

#top main #contents02 #wrap.show ul li .btn a {
	transform: translateX(0%);
	opacity: 1;
	overflow: hidden;
}

#top main #contents02 ul li .btn .btn-wrap .btn-in {
	width: 100%;
	padding: 8px 0;
    position: relative;
    display: block;
}

#top main #contents03 {
	background: #fff;
	width: calc(100% - 40px);
	position: fixed;
	bottom: 179px;
}

#top main #contents03 #wrap {
	width: 100%;
	height: 500px;
	position: relative;
}

#top main #contents03 h3 {
	font: bold 30px 'Roboto Condensed', sans-serif;
	width: calc(100% - 100px);
	max-width: 1378px;
	margin: 0 auto;
	padding: 0 30px;
}

#top main #contents03 ul {
	width: calc(100% - 100px);
	max-width: 1378px;
	margin: 50px auto 0;
	padding: 0 30px 25px;
	border-bottom: #ddd 1px solid;
	display: flex;
	flex-wrap: wrap;
}

#top main #contents03 ul li:first-child {
	font-size: 15px;
	width: 16%;
	padding-top: 18px;
}

#top main #contents03 ul li:nth-child(2) {
	font-size: 18px;
	width: calc(84% - 190px);
	padding-top: 15px;
}

#top main #contents03 ul li a {
	color: #000;
}

#top main #contents03 ul li:last-child a {
	width: 190px;
	display: block;
	overflow: hidden;
	position: relative;
}

#top main #contents03 ul li:last-child a:hover {
	color: #fff;	
}

#top main #contents03 ul li:last-child a p {
	font: bold 14px 'Roboto Condensed', sans-serif;
	width: 190px;
	padding: 16px 0;
	border: #000 1px solid;
	text-align: center;
	position: relative;
	z-index: 1;
	transition: .5s;
}

#top main #contents03 ul li:last-child a span {
	background: #000;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	transform: translateX(-100%);
	transition: .5s;
}

#top main #contents03 ul li:last-child a:hover span {
	transform: translateX(0%);
}

@media screen and (min-width: 751px) {
	#top main #contents02 ul li .btn a:hover .btn-in::after,
	#top main #contents02 ul li .btn .btn-wrap:hover::after,
	#top main #contents02 ul li .btn a:focus .btn-in::after,
	#top main #contents02 ul li .btn .btn-wrap:focus::after {
	    animation: lights .5s;
	}

	#top main #contents02 ul li .btn a .btn-in::after,
	#top main #contents02 ul li .btn .btn-wrap::after {
	    position: absolute;
	    top: 50%;
	    left: 0;
	    display: block;
	    content: '';
	    width: 0;
	    height: 100%;
	    background-color: rgba(255, 255, 255, 0.3);
	    transform: translate(-50%, -50%);
	    opacity: 0;
	}
}

@media screen and (max-width: 900px) {
	#top main #contents02 #wrap {
		margin: 0 auto 798px;
	}

	#top main #contents03 #wrap {
		height: 650px;
	}

	#top main #contents03 ul li:first-child {
		width: 30%;
	}

	#top main #contents03 ul li:nth-child(2) {
		width: 70%;
	}

	#top main #contents03 ul li:last-child {
		width: 100%;
	}

	#top main #contents03 ul li:last-child a {
		margin: 20px auto 0;
	}
}

@media screen and (max-width: 750px) {
	#top .opening .box {
		font-size: 12vw;
		width: 100%;
		padding-top: calc(50vh - 12vw);
	}

	#top header {
		margin-top: 18vw;
	}

	#top header #main-image {
		height: 112vw;
	}

	#top header #main-image .logo-box {
		height: 112vw;
	}

	#top header #main-image .logo-box .box1 {
		font-size: 12vw;
		width: 100%;
		padding-top: 50vw;
	}

	#top header #main-image .logo-box .box2 {
		font-size: 2.667vw;
		width: 100%;
		margin-top: 1.5vw;
	}

	#top header #main-image .main-image-box {
	    height: 112vw;
	}

	#top header #main-image .main-image-box.start .image {
		height: 112vw;
	}

	#top header #main-image .main-image-box.start .image:first-child {
		background: url(../images/top_main_01_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	#top header #main-image .main-image-box.start .image:nth-child(2) {
		background: url(../images/top_main_02_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	#top header #main-image .main-image-box.start .image:last-child {
		background: url(../images/top_main_03_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	#top main {
		width: 100%;
	}

	#top main #contents01 {
	    background: url(../images/bg_top_01_sp.jpg) no-repeat top center;
	    background-size: cover;
	    height: 85.333vw;
	    padding: 16vw 5vw 0;
	}

	#top main #contents01 h3 {
		font-size: 4.8vw;
		line-height: 1.2;
	}

	#top main #contents01 h3 span {
		display: inline-block;
	}

	#top main #contents01 p {
		font-size: 2.667vw;
		margin-top: 3vw;
	}

	#top main #contents01 p span {
		display: inline-block;
	}

	#top main #other h3 {
		padding-top: 4vw;
	}

	#top main #other h3::before {
		width: 6vw;
		left: 4vw;
		top: 7vw;
	}

	#top main #other ul li {
		min-height: 100%;
		padding-bottom: 6vw;
	}

	#top main #contents02 #wrap {
		background: #000;
		margin: 0 auto 103vw;
		padding: 8vw 0;
	}

	#top main #contents02 #wrap ul {
		flex-wrap: wrap;
	}

	#top main #contents02 #wrap ul li {
		width: 100%;
		position: relative;
	}

	#top main #contents02 #wrap ul li:nth-child(n+2) {
		margin: 10vw 0 0 0;
	}

	#top main #contents02 #wrap ul li p {
		font-size: 4.4vw;
		margin: auto;
		position: absolute;
		top: 21vw;
		left: 0;
		right: 0;
		z-index: 2;
	}

	#top main #contents02 ul li .image {
		margin-top: 0;
	}

	#top main #contents02 #wrap.show ul li .image {
		background: none;
	}

	#top main #contents02 ul li .image img {
		max-width: 77.333vw;
	}

	#top main #contents02 ul li .btn {
		font-size: 4vw;
		width: 50vw;
		max-width: 375px;
	}

	#top main #contents02 ul li .btn .btn-wrap .btn-in {
		padding: 1vw 0;
	}

	#top main #contents03 {
		width: 100%;
		bottom: 36vw;
	}

	#top main #contents03 #wrap {
		height: auto;
	}

	#top main #contents03 h3 {
		font-size: 8vw;
		width: 100%;
		padding: 0 4vw;
	}

	#top main #contents03 ul {
	    width: 92%;
	    margin: 4vw auto 0;
	    padding: 0 0 2vw;
	}

	#top main #contents03 ul li:first-child {
		font-size: 4vw;
		width: 100%;
	}

	#top main #contents03 ul li:nth-child(2) {
		font-size: 4.267vw;
		width: 100%;
		padding-top: 0;
		line-height: 1;
	}

	#top main #contents03 ul li:last-child {
		display: none;
	}
}
/********** /index **********/

/********** advertisement **********/
#advertisement header #main-image {
	background: url(../images/bg_header_advertisement.jpg) no-repeat top center;
	background-size: cover;
	height: 726px;
}

#advertisement h2 {
	padding-top: 400px;
}

#advertisement main {
	background: url(../images/bg_advertisement.jpg) top center;
}

#advertisement main #content {
	background: none;
}

#advertisement main #content #breadcrumb {
	background: #fff;
}

#advertisement main #content .wrap .different {
	padding: 100px 100px 0;
}

#advertisement main #content .wrap .different::before {
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100px;
	height: 10px;
	left: 100px;
	top: inherit;
	bottom: -30px;
}

#advertisement main #content .wrap .text01 {
	font-size: 18px;
	margin: 50px 100px 0;
	padding: 50px 0 60px;
	border-bottom: #dddddd 1px solid;
	text-align: justify;
}

#advertisement main #content .wrap .list {
	width: 100%;
	margin: 30px 0 0 30px;
	text-align: justify;
	display: flex;
	flex-wrap: wrap;
}

#advertisement main #content .wrap .list li {
	width: 50%;
}

#advertisement main #content .wrap .list li:first-child {
	padding: 80px 100px 0 100px;
}

#advertisement main #content .wrap .list li:last-child {
	padding: 150px 30px 0 50px;
}

#advertisement main #content .wrap .list li img {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
	object-fit: cover;
}

#advertisement main #content .wrap .box {
	color: #fff;
	background: #000;
	width: 75%;
	max-width: 900px;
	margin: 50px auto 0;
	padding: 80px;
	text-align: justify;
}

#advertisement main #content .wrap .box h4 {
	font-size: 24px;
	position: relative;
}

#advertisement main #content .wrap .box h4::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 54.054%;
	max-width: 400px;
	height: 10px;
	display: block;
	position: absolute;
	left: 0;
	top: 50px;
}

#advertisement main #content .wrap .box .text02 {
	font-size: 18px;
	margin-top: 50px;
	letter-spacing: 0.08em;
}

#advertisement main #content .wrap .box .text03 {
	font-size: 14px;
	margin-top: 50px;
}

#advertisement main #content .wrap .box .btn {
	font-size: 14px;
	background: #85bd00;
	width: 67.568%;
	max-width: 500px;
	margin: 30px auto 0;
}

#advertisement main #content .wrap .box .btn a {
	font-weight: bold;
	color: #fff;
	width: 100%;
	padding: 14px 30px;
	text-align: center;
	display: block;
}

@media screen and (max-width: 1200px) {
	#advertisement main #content .wrap .list li:first-child {
		padding: 80px 50px 80px 100px;
	}

	#advertisement main #content .wrap .list li:last-child {
		padding: 150px 80px 150px 50px;
	}
}

@media screen and (max-width: 1050px) {
	#advertisement main #content .wrap .text01 br {
		display: none;
	}
}

@media screen and (max-width: 900px) {
	#advertisement h2 {
		padding-left: 5vw;
	}
}

@media screen and (min-width: 751px) and (max-width: 1200px) {
	#advertisement main {
		background: #fff;
	}
}

@media screen and (max-width: 750px) {
	#advertisement header #main-image {
		background: url(../images/bg_header_advertisement_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 72vw;
		margin-top: 18vw;
	}

	#advertisement h2 {
		padding: 25vw 0 0 10vw;
	}

	#advertisement main {
		background: #fff;
		padding-bottom: 5vw;
	}

	#advertisement main #content .wrap .different {
		padding: 5vw 6vw 0;
		line-height: 1.5;
		position: relative;
	}

	#advertisement main #content .wrap .different::before {
	    width: 21.333vw;
	    height: 1.333vw;
	    left: 6vw;
	    bottom: -4vw;
	}

	#advertisement main #content .wrap .text01 {
	    font-size: 3.2vw;
	    margin: 7.5vw 0 0;
	    padding: 0 6vw 4vw;
	    border-bottom: #dddddd 1px solid;
	}

	#advertisement main #content .wrap .list {
	    margin: 5vw 0 0 0;
	}

	#advertisement main #content .wrap .list li {
		font-size: 3.2vw;
		width: 100%;
	}

	#advertisement main #content .wrap .list li:first-child {
		padding: 0 6vw;
		order: 1;
	}

	#advertisement main #content .wrap .list li:nth-child(2) {
		order: 2;
	}

	#advertisement main #content .wrap .list li:nth-child(3) {
		order: 4;
	}

	#advertisement main #content .wrap .list li:last-child {
		padding: 0 6vw;
		order: 3;
	}

	#advertisement main #content .wrap .list li:nth-child(n+2) {
		margin-top: 4vw;
	}

	#advertisement main #content .wrap .box {
	    width: 100%;
	    margin-top: 0;
	    padding: 5vw;
	}

	#advertisement main #content .wrap .box h4 {
		font-size: 5.444vw;
	}

	#advertisement main #content .wrap .box h4::before {
		width: 21.333vw;
		height: 1.333vw;
		top: 12vw;
	}

	#advertisement main #content .wrap .box .text02 {
	    font-size: 4.267vw;
	    margin-top: 4.5vw;
	    line-height: 1.5;
	    letter-spacing: 0;
	}

	#advertisement main #content .wrap .box .text03 {
	    font-size: 3.2vw;
	    margin-top: 2vw;
	}

	#advertisement main #content .wrap .box .btn {
		font-size: 3.2vw;
		width: 100%;
		max-width: 100%;
		margin-top: 3vw;
	}

	#advertisement main #content .wrap .box .btn a {
		padding: 3vw 0;
		letter-spacing: 0;
	}
}
/********** /advertisement **********/

/********** company **********/
#company header #main-image {
	background: url(../images/bg_header_company.jpg) no-repeat top center;
	background-size: cover;
}

#company main #content .wrap {
	padding: 0 50px;
}

#company main dl dt {
	background: #eee;
	width: 30%;
	margin-top: 20px;
	padding: 20px 0 0 50px;
}

#company main dl dd {
	width: 70%;
	margin-top: 20px;
	padding: 20px 0 20px 80px;
	letter-spacing: 0.05em;
	word-break: break-all;
}

#company main dl dd a {
	color: #000;
}

@media screen and (max-width: 750px) {
	#company header #main-image {
		background: url(../images/bg_header_company_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 40vw;
		margin-top: 18vw;
	}

	#company header #main-image h2 {
		padding-top: 10vw;
	}

	#company main #content .wrap {
		padding: 0 2%;
	}

	#company main dl dt {
		font-size: 3.733vw;
		width: 100%;
		margin-top: 0;
		padding: 1.5vw 3vw 1.5vw;
	}

	#company main dl dd {
		font-size: 3.733vw;
	    width: 100%;
	    margin-top: 0;
	    padding: 2vw 3vw;
	}

	#company main dl dd span {
		display: inline-block;
	}
}
/********** /company **********/

/********** contact **********/
#contact header #main-image {
	background: url(../images/bg_header_contact.jpg) no-repeat top center;
	background-size: cover;
}

#contact main #content .wrap {
	background: #eee;
	margin-top: 120px;
	padding-bottom: 100px;
}

#contact main #content .wrap #step {
	display: flex;
	align-items: center;
}

#contact main #content .wrap #step li {
	font-size: 16px;
	font-weight: bold;
	width: calc(100% / 3);
	padding: 20px 0 20px 50px;
	position: relative;
}

#contact main #content .wrap #step li span {
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: bold;
}

#contact main #content .wrap #step li:first-child::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	top: -10px;
}

#contact main #content .wrap #step li:nth-child(n+2) {
	background: #fff;
}

#contact main #content .wrap .required {
	font-weight: bold;
	color: #de0803;
	margin-top: 20px;
	padding-left: 50px;
}

#contact main #content .wrap form {
	padding: 0 60px;
}

#contact main #content .wrap form div:nth-of-type(2n+1) span {
	font-weight: bold;
	color: #de0803;
}

#contact main #content .wrap form div:nth-of-type(2n) {
	margin-bottom: 25px;
}

#contact main #content .wrap form input[type="text"],
#contact main #content .wrap form input[type="email"],
#contact main #content .wrap form input[type="tel"] {
	font-size: 16px;
	width: 100%;
	height: 40px;
	padding-left: 10px;
	border: #000 1px solid;
	border-radius: 0;
	box-shadow: none;
}

#contact main #content .wrap form #address {
	width: 180px;
}

#contact main #content .wrap form select {
	font-size: 16px;
	background: url(../images/select.png) no-repeat center right 10px #fff;
	width: 180px;
	height: 46px;
	padding-left: 10px;
	border: #000 1px solid;
	border-radius: 0;
	vertical-align: top;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    cursor: pointer;
}

#contact main #content .wrap form .address {
	margin-top: 20px;
}

#contact main #content .wrap form ul {
	margin-top: -20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#contact main #content .wrap form ul li {
	margin: 20px 30px 0 0;
}

#contact main #content .wrap form textarea {
	font-size: 16px;
	width: 100%;
	height: 100px;
	margin-top: 20px;
	border: #000 1px solid;
	border-radius: 0;
}

#contact main #content .wrap form input[type="radio"] {
	display: none;
}

#contact main #content .wrap form ul li label span {
	padding: 3px 0 0 45px;
	position: relative;
	cursor: pointer;
}

#contact main #content .wrap form ul li label span:before {
	content: "";
	background: #fff;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	border: 1px solid #000;
}

#contact main #content .wrap form input[type="radio"]:checked + span::after {
	content: '';
	background: url(../images/check.png) no-repeat;
	width: 27PX;
	height: 32px;
	position: absolute;
	top: -6px;
	left: 6px;
}

#contact main #content .wrap form input[type="submit"],
#contact main #content .wrap form input[type="button"] {
	font: bold 14px 'Roboto Condensed', sans-serif;
	color: #fff;
	background: #85bd00;
	width: 100%;
	padding: 16px 0;
	border: none;
	border-radius: 0;
	text-decoration: center;
	letter-spacing: 0.1em;
	display: block;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}

#contact main #content .wrap form input[type="submit"]::-webkit-search-decoration,
#contact main #content .wrap form input[type="button"]::-webkit-search-decoration {
	display: none;
}

#contact main #content .wrap form input[type="submit"]::focus,
#contact main #content .wrap form input[type="button"]::focus {
	outline-offset: -2px;
}

#contact main .btn.back {
	margin-top: 20px;
}

#contact main .btn .btn-wrap {
	width: 190px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

#contact main .btn .btn-wrap input {
    position: relative;
    display: block;
}

#contact.confirm main #content .wrap {
	padding-bottom: 50px;
}

#contact.confirm main #content .wrap .question {
	font-size: 24px;
	margin-top: 50px;
	text-align: center;
}

#contact.confirm main #content .wrap #step li {
	background: #fff;
}

#contact.confirm main #content .wrap #step li:nth-child(2) {
	background: #eee;
}

#contact.confirm main #content .wrap #step li:first-child::before {
	width: 0;
	height: 0;
}

#contact.confirm main #content .wrap #step li:nth-child(2)::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	top: -10px;
}

#contact.confirm main #content .wrap form dl {
	display: flex;
}

#contact.confirm main #content .wrap form dl dt {
	width: 35%;
	padding: 50px 0;
}

#contact.confirm main #content .wrap form dl dd {
	font-size: 14px;
	width: 65%;
	padding: 50px 0;
}

#contact.complete main #content .wrap {
	padding-bottom: 150px;
}

#contact.complete main #content .wrap .title {
	font-size: 20px;
	font-weight: bold;
	margin-top: 150px;
	text-align: center;
}

#contact.complete main #content .wrap .text {
	font-size: 14px;
	margin-top: 10px;
	line-height: 2.2;
	text-align: center;
}

#contact.complete main #content .wrap #step li {
	background: #fff;
}

#contact.complete main #content .wrap #step li:last-child {
	background: #eee;
}

#contact.complete main #content .wrap #step li:first-child::before {
	width: 0;
	height: 0;
}

#contact.complete main #content .wrap #step li:last-child::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	top: -10px;
}

@media screen and (min-width: 751px) {
	#contact main .btn .btn-wrap:hover input::after,
	#contact main .btn .btn-wrap:hover::after,
	#contact main .btn .btn-wrap:focus input::after,
	#contact main .btn .btn-wrap:focus::after {
	    animation: lights .5s;
	}

	#contact main .btn .btn-wrap input::after,
	#contact main .btn .btn-wrap::after {
	    position: absolute;
	    top: 50%;
	    left: 0;
	    display: block;
	    content: '';
	    width: 0;
	    height: 100%;
	    background-color: rgba(64, 57, 153, 0.3);
	    transform: translate(-50%, -50%);
	    opacity: 0;
	}
}

@media screen and (max-width: 750px) {
	#contact header #main-image {
		background: url(../images/bg_header_contact_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 40vw;
		margin-top: 18vw;
	}

	#contact header #main-image h2 {
		padding-top: 10vw;
	}

	#contact main #content .wrap {
		width: 96%;
		margin: 8vw auto 0;
		padding-bottom: 8vw;
	}

	#contact main #content .wrap #step li {
	    font-size: 4.267vw;
	    width: calc(100% / 3);
	    padding: 2vw 0 2vw 2.5vw;
	    line-height: 1.5;
	}

	#contact main #content .wrap #step li span {
		display: inline-block;
	}

	#contact main #content .wrap .required {
		font-size: 3.2vw;
	    margin-top: 2vw;
	    padding-left: 2.5vw;
	}

	#contact main #content .wrap form {
	    padding: 0 2.5vw;
	}

	#contact main #content .wrap form div {
		font-size: 3.733vw;
	}

	#contact main #content .wrap form input[type="text"],
	#contact main #content .wrap form input[type="email"],
	#contact main #content .wrap form input[type="tel"] {
		height: 12.533vw;
		width: calc(100% - 2.5vw);
		padding-left: 1.5vw;
	}

	#contact main #content .wrap form div:nth-of-type(2n) {
		margin-bottom: 4vw;
	}

	#contact main #content .wrap form #address {
		width: 31.666vw;
	}

	#contact main #content .wrap form #address + span {
		display: none;
	}

	#contact main #content .wrap form select {
		background: url(../images/select.png) no-repeat center right 10px #fff;
		width: 47vw;
		height: 15vw;
		padding-left: 1.5vw;
	}

	#contact main #content .wrap form .address {
		margin-top: 2.5vw;
	}

	#contact main #content .wrap form ul {
		margin-top: 1vw;
	}

	#contact main #content .wrap form ul li {
		margin-top: 0;
		width: 100%;
		margin-right: 0;
	}

	#contact main #content .wrap form ul li:nth-child(n+2) {
		margin-top: 3vw;
	}

	#contact main #content .wrap #step li:first-child::before {
		height: 1.333vw;
		top: -1.333vw;
	}

	#contact main #content .wrap form ul li label span {
	    padding: 2vw 0 0 10vw;
	}

	#contact main #content .wrap form ul li label span::before {
		width: 8vw;
		height: 8vw;
	}

	#contact main #content .wrap form input[type="radio"]:checked + span::after {
		content: '';
		background-size: 100%;
		width: 7.2vw;
		height: 8.267vw;
		position: absolute;
		top: -1.5vw;
		left: 1.8vw;
	}

	#contact main #content .wrap form textarea {
		height: 28.533vw;
		margin-top: 3vw;
	}

	#contact main .btn {
		margin-top: 5vw;
	}

	#contact main .btn .btn-wrap {
		width: 50.667vw;
	}

	#contact main #content .wrap form input[type="submit"],
	#contact main #content .wrap form input[type="button"] {
		font-size: 3.733vw;
		padding: 3vw 0;
		letter-spacing: 0.05em;
	}

	#contact.confirm main #content .wrap .question {
		font-size: 4vw;
		margin-top: 8vw;
	}

	#contact.confirm main #content .wrap form dl dt {
		font-size: 3.733vw;
		width: 100%;
		padding: 5vw 0 0;
	}

	#contact.confirm main #content .wrap form dl dd {
	    font-size: 3.733vw;
	    width: 100%;
	    padding: 0 0 0 2vw;
	}

	#contact.confirm main #content .wrap form dl dd p {
		margin-top: 1vw;
	}

	#contact main .btn.back {
		margin-top: 2.5vw;
	}

	#contact.complete main #content .wrap {
		padding-bottom: 8vw;
	}

	#contact.complete main #content .wrap .title {
	    font-size: 4.267vw;
	    margin-top: 8vw;
	}

	#contact.complete main #content .wrap .text {
	    font-size: 3.733vw;
	    margin-top: 1vw;
	    padding: 0 5vw;
	}

	#contact.confirm main #content .wrap #step li:nth-child(2)::before,
	#contact.complete main #content .wrap #step li:last-child::before {
		height: 1.333vw;
		top: -1.333vw;
	}
}
/********** /contact **********/

/********** news **********/
#news header #main-image {
	background: url(../images/bg_header_news.jpg) no-repeat top center;
	background-size: cover;
}

#news main #content .wrap {
	padding: 0 100px;
}

#news main #content h3 {
	padding-left: 10px;
	line-height: 1.5;
}

#news main #content h3::before {
	width: 0;
	height: 0;
}

#news main #content h3::after {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0;
	bottom: -25px;
}

#news main #content .date {
	font-size: 18px;
	margin-top: 50px;
	padding-left: 10px;
}

#news main #content .text {
	padding: 0 0 60px 10px;
	border-bottom: #ddd 1px solid;
}

#news main #content ul {
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
}

#news main #content ul li:last-child {
	margin-left: 20px;
}

#news main #content ul li .btn {
	font: bold 14px 'Roboto Condensed', sans-serif;
	background: #85bd00;
	width: 190px;
}

#news main #content ul li .btn a {
	color: #fff;
	width: 100%;
	text-align: center;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

#news main #content ul li .btn .btn-wrap .btn-in {
	width: 100%;
	padding: 16px 0;
    position: relative;
    display: block;
}

@media screen and (min-width: 751px) {
	#news main #content ul li .btn a:hover .btn-in::after,
	#news main #content ul li .btn .btn-wrap:hover::after,
	#news main #content ul li .btn a:focus .btn-in::after,
	#news main #content ul li .btn .btn-wrap:focus::after {
	    animation: lights .5s;
	}

	#news main #content ul li .btn a .btn-in::after,
	#news main #content ul li .btn .btn-wrap::after {
	    position: absolute;
	    top: 50%;
	    left: 0;
	    z-index: -1;
	    display: block;
	    content: '';
	    width: 0;
	    height: 100%;
	    background-color: rgba(64, 57, 153, 0.3);
	    transform: translate(-50%, -50%);
	    opacity: 0;
	}
}

@media screen and (max-width: 750px) {
	#news header #main-image {
		background: url(../images/bg_header_news_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 40vw;
		margin-top: 18vw;
	}

	#news header #main-image h2 {
		padding-top: 10vw;
	}

	#news main #content .wrap {
		width: 96%;
		margin: 0 auto;
		padding: 8vw 4vw 0;
	}

	#news main #content h3 {
		padding-left: 0;
	}

	#news main #content h3::after {
		bottom: -3vw;
	}

	#news main #content .date {
	    font-size: 3.2vw;
	    margin-top: 4.5vw;
	    padding-left: 0;
	}

	#news main #content .text {
		font-size: 3.2vw;
		margin-top: 2vw;
	    padding: 0 0 5vw;
	}

	#news main #content ul {
		margin-top: 4vw;
		flex-wrap: wrap;
		justify-content: center;
	}

	#news main #content ul li {
		width: 100%;
	}

	#news main #content ul li:last-child {
		margin: 2.5vw 0 0;
	}

	#news main #content ul li .btn {
		font-size: 3.733vw;
		width: 50.667vw;
		margin: 0 auto;
	}

	#news main #content ul li .btn .btn-wrap .btn-in {
		padding: 3vw 0;
	}
}
/********** /news **********/

/********** recruit **********/
#recruit header #main-image {
	background: url(../images/bg_header_recruit.jpg) no-repeat top center;
	background-size: cover;
}

#recruit main #content .wrap {
	padding: 0 60px;
}

#recruit main #content .wrap p {
	font-size: 20px;
	margin: 50px 0 0 25px;
	padding: 0 0 50px 0;
}

#recruit main #content .wrap p::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100%;
	height: 10px;
	position: relative;
	left: 0;
	top: 90px;
	display: block;
}

#recruit main #content .wrap dl {
	margin-top: 80px;
	flex-wrap: wrap;
}

#recruit main #content .wrap dl dt {
	width: 40%;
	padding: 30px 0 30px 120px;
	border-bottom: #ddd 1px solid;
}

#recruit main #content .wrap dl dd {
	width: 60%;
	padding: 30px 0 30px 20px;
	border-bottom: #ddd 1px solid;
}

#recruit main #content .wrap dl dt:last-of-type,
#recruit main #content .wrap dl dd:last-of-type {
	border-bottom: none;
}

#recruit main #content .wrap dl dd a {
	color: #000;
}

@media screen and (max-width: 750px) {
	#recruit header #main-image {
		background: url(../images/bg_header_recruit_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 40vw;
		margin-top: 18vw;
	}

	#recruit header #main-image h2 {
		padding-top: 10vw;
	}

	#recruit main #content .wrap {
		width: 96%;
		margin: 0 auto;
		padding: 0;
	}

	#recruit main #content .wrap p {
	    font-size: 3.733vw;
	    margin: 0;
	    padding: 0 0 0 4vw;
	    letter-spacing: 0;
	    position: relative;
	}

	#recruit main #content .wrap p::before {
		height: 1.333vw;
		position: absolute;
		top: inherit;
		bottom: -4vw;
		z-index: 2;
	}

	#recruit main #content .wrap p span {
		display: block;
	}

	#recruit main #content .wrap dl {
		margin-top: 0;
		flex-wrap: wrap;
	}

	#recruit main #content .wrap dl dt {
		font-size: 3.733vw;
	    width: 100%;
	    padding: 3vw 0 0 4vw;
	    border-bottom: none;
	}

	#recruit main #content .wrap dl dd {
		font-size: 3.733vw;
	    width: 100%;
	    margin: 0 4vw;
	    padding: 1.5vw 0 3.5vw;
	    text-align: justify;
	}
}
/********** /recruit **********/

/********** system **********/
#system header #main-image {
	background: url(../images/bg_header_system.jpg) no-repeat top center;
	background-size: cover;
	height: 726px;
}

#system h2 {
	padding-top: 400px;
}

#system main {
	background: url(../images/bg_system.jpg) top center;
}

#system main #content {
	background: none;
}

#system main #content #breadcrumb {
	background: #fff;
}

#system main #content .wrap .different {
	padding: 100px 100px 0;
}

#system main #content .wrap .different::before {
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100px;
	height: 10px;
	left: 100px;
	top: inherit;
	bottom: -30px;
}

#system main #content .wrap .text01 {
	font-size: 18px;
	margin: 10px 100px 0;
	padding: 50px 0 60px;
	border-bottom: #dddddd 1px solid;
	text-align: justify;

}

#system main #content .wrap .list {
	width: 100%;
	margin-left: -30px;
	display: flex;
	flex-wrap: wrap;
}

#system main #content .wrap .list li {
	padding: 50px 0;
}

#system main #content .wrap .list li:first-child {
	width: 50%;
}

#system main #content .wrap .list li:nth-child(2) {
	width: 50%;
	padding: 80px 30px 0 50px;
}

#system main #content .wrap .list li:nth-child(3) {
	width: 50%;
	padding: 130px 100px 0 100px;
}

#system main #content .wrap .list li:nth-child(4) {
	width: calc(50% - 50px);
	margin-right: 50px;
}

#system main #content .wrap .list li:nth-child(5) {
	width: 50%;
	margin-left: 80px;
	border-top: #ddd 1px solid;
}

#system main #content .wrap .list li:last-child {
	width: calc(50% - 130px);
	padding: 100px 30px 0 50px;
	border-top: #ddd 1px solid;
}

#system main #content .wrap .list li img {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
	object-fit: cover;
}

#system main #content .wrap .box {
	color: #fff;
	background: #000;
	width: 75%;
	max-width: 900px;
	margin: 50px auto 0;
	padding: 50px 100px;
}

#system main #content .wrap .box h4 {
	font-size: 24px;
	position: relative;
}

#system main #content .wrap .box h4::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 54.054%;
	max-width: 400px;
	height: 10px;
	display: block;
	position: absolute;
	left: 0;
	top: 50px;
}

#system main #content .wrap .box .text02 {
	font-size: 18px;
	margin-top: 30px;
	letter-spacing: 0.08em;
}

#system main #content .wrap .box .text03 {
	font-size: 14px;
	margin-top: 50px;
}

#system main #content .wrap .box .inner {
	color: #000;
	background: #fff;
	width: 100%;
	margin-top: 20px;
	padding: 60px 50px 60px 70px;
	outline: #000 8px solid;
	outline-offset: -13px;
}

#system main #content .wrap .box .inner h5 {
	font-size: 20px;
	margin: 0;
	line-height: 1.5;
}

#system main #content .wrap .box .inner p {
	font-size: 14px;
	margin-top: 30px;
}

@media screen and (min-width: 751px) and (max-width: 1200px) {
	#system main {
		background: #fff;
	}
}

@media screen and (max-width: 750px) {
	#system header #main-image {
		background: url(../images/bg_header_system_sp.jpg) no-repeat top center;
		background-size: cover;
		height: 72vw;
		margin-top: 18vw;
	}

	#system h2 {
		font-size: 6.4vw;
		padding-top: 25vw;
	}

	#system main {
		background: #fff;
		padding-bottom: 5vw;
	}

	#system main #content .wrap .different {
		padding: 5vw 6vw 0;
		line-height: 1.5;
		position: relative;
	}

	#system main #content .wrap .different::before {
	    width: 21.333vw;
	    height: 1.333vw;
	    left: 6vw;
	    bottom: -4vw;
	}

	#system main #content .wrap .text01 {
	    font-size: 3.2vw;
	    margin: 7.5vw 0 0;
	    padding: 0 6vw 4vw;
	    border-bottom: #dddddd 1px solid;
	    letter-spacing: 0.09em;
	}

	#system main #content .wrap .list {
	    margin: 5vw 0 0;
	}

	#system main #content .wrap .list li {
		font-size: 3.2vw;
		width: 100%;
		margin-top: 4vw;
		padding: 0;
		text-align: justify;
	}

	#system main #content .wrap .list li:first-child {
		width: 100%;
		order: 2;
	}

	#system main #content .wrap .list li:nth-child(2) {
		width: 100%;
		margin-top: 0;
		padding: 0 6vw;
		order: 1;
	}

	#system main #content .wrap .list li:nth-child(3) {
		width: 100%;
		padding: 0 6vw;
		order: 3;
	}

	#system main #content .wrap .list li:nth-child(4) {
		width: 100%;
		margin-right: 0;
		order: 4;
	}

	#system main #content .wrap .list li:nth-child(5) {
		width: 100%;
		margin-left: 0;
		order: 6;
	}

	#system main #content .wrap .list li:last-child {
		width: 100%;
		padding: 0 6vw;
		border-top: none;
		order: 5;
	}

	#system main #content .wrap .box {
	    width: 100%;
	    margin-top: 0;
	    padding: 5vw;
	    text-align: justify;
	}

	#system main #content .wrap .box h4 {
		font-size: 5.444vw;
	}

	#system main #content .wrap .box h4::before {
		width: 21.333vw;
		height: 1.333vw;
		top: 12vw;
	}

	#system main #content .wrap .box .text02 {
	    font-size: 4.267vw;
	    margin-top: 4.5vw;
	    line-height: 1.5;
	    letter-spacing: 0;
	}

	#system main #content .wrap .box .text03 {
	    font-size: 3.2vw;
	    margin-top: 2vw;
	}

	#system main #content .wrap .box .inner {
	    margin-top: 3vw;
	    padding: 6vw 5vw;
	    outline: #000 1.2vw solid;
	    outline-offset: -2vw;
	}

	#system main #content .wrap .box .inner h5 {
		font-size: 3.733vw;
	}

	#system main #content .wrap .box .inner p {
	    font-size: 3.2vw;
	    margin-top: 3vw;
	}
}
/********** /system **********/

/********** web_design **********/
#web header #main-image {
	background: url(../images/bg_header_web.jpg) no-repeat top center;
	background-size: cover;
	height: 726px;
}

#web h2 {
	padding-top: 400px;
}

#web main {
	background: url(../images/bg_web.jpg) top center #fff;
}

#web main #content {
	background: none;
}

#web main #content #breadcrumb {
	background: #fff;
}

#web main #content .wrap .different {
	padding: 100px 100px 0;
}

#web main #content .wrap .different::before {
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 100px;
	height: 10px;
	left: 100px;
	top: inherit;
	bottom: -30px;
}

#web main #content .wrap .text01 {
	font-size: 18px;
	margin: 10px 100px 0;
	padding: 50px 0 60px;
	border-bottom: #dddddd 1px solid;
	text-align: justify;
}

#web main #content .wrap .list {
	width: calc(100% + 100px);
	margin-left: -80px;
	display: flex;
	flex-wrap: wrap;
}

#web main #content .wrap .list li {
	padding: 50px 0;
	text-align: justify;
}

#web main #content .wrap .list li:first-child {
	width: calc(50% - 80px);
	margin-left: 80px;
	padding: 70px 30px 0 100px;
}

#web main #content .wrap .list li:nth-child(2) {
	width: 50%;
}

#web main #content .wrap .list li:nth-child(3) {
	width: 50%;
}

#web main #content .wrap .list li:nth-child(4) {
	width: 50%;
	padding: 60px 30px 0 100px;
}

#web main #content .wrap .list li:nth-child(5) {
	width: 50%;
	padding: 50px 0 0 130px;
	position: relative;
	z-index: 2;
}

#web main #content .wrap .list li:last-child {
	width: 50%;
	margin-left: -25px;
}

#web main #content .wrap .list li img {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
	object-fit: cover;
}

#web main #content .wrap .box {
	color: #fff;
	background: #000;
	width: 75%;
	max-width: 900px;
	margin: 50px auto 0;
	padding: 50px 90px;
	text-align: justify;
}

#web main #content .wrap .box h4 {
	font-size: 24px;
	position: relative;
}

#web main #content .wrap .box h4::before {
	content: '';
	background: #85bd00;
	background: -moz-linear-gradient(left, #85bd00 20%, #030000 100%);
	background: -webkit-linear-gradient(left, #85bd00 20%,#030000 100%);
	background: linear-gradient(to right, #85bd00 20%,#030000 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85bd00', endColorstr='#030000',GradientType=1 );
	width: 54.054%;
	max-width: 400px;
	height: 10px;
	display: block;
	position: absolute;
	left: 0;
	top: 50px;
}

#web main #content .wrap .box .text02 {
	font-size: 18px;
	margin-top: 30px;
	letter-spacing: 0.08em;
}

#web main #content .wrap .box .text03 {
	font-size: 14px;
	margin-top: 50px;
}

#web main #content .wrap .box .inner {
	color: #000;
	background: #fff;
	width: 100%;
	margin-top: 30px;
	padding: 60px 50px 60px 70px;
	outline: #000 8px solid;
	outline-offset: -13px;
}

#web main #content .wrap .box .inner h5 {
	font-size: 20px;
	margin: 0;
	line-height: 1.5;
}

#web main #content .wrap .box .inner p {
	font-size: 14px;
	margin-top: 30px;
}

@media screen and (min-width: 751px) and (max-width: 1200px) {
	#web main {
		background: #fff;
	}
}

@media screen and (max-width: 750px) {
	#web h2 {
		padding-top: 25vw;
	}

	#web header #main-image {
	    background: url(../images/bg_header_web_sp.jpg) no-repeat top center;
	    background-size: cover;
	    height: 72vw;
	    margin-top: 18vw;
	}

	#web main {
		background: #fff;
		padding-bottom: 5vw;
	}

	#web main #content .wrap .different {
		padding: 5vw 6vw 0;
		line-height: 1.5;
		position: relative;
	}

	#web main #content .wrap .different::before {
	    width: 21.333vw;
	    height: 1.333vw;
	    left: 6vw;
	    bottom: -4vw;
	}

	#web main #content .wrap .text01 {
	    font-size: 3.2vw;
	    margin: 7.5vw 0 0;
	    padding: 0 6vw 4vw;
	    border-bottom: #dddddd 1px solid;
	}

	#web main #content .wrap .list {
		width: 100%;
	    margin: 5vw 0 0 0;
	}

	#web main #content .wrap .list li {
		font-size: 3.2vw;
		width: 100%;
		padding: 0;
		letter-spacing: 0.05em;
	}

	#web main #content .wrap .list li:first-child {
		width: 100%;
		margin-left: 0;
		padding: 0 6vw;
	}

	#web main #content .wrap .list li:nth-child(2) {
		width: 100%;
	}

	#web main #content .wrap .list li:nth-child(3) {
		width: 100%;
		margin-left: 0;
		order: 4;
	}

	#web main #content .wrap .list li:nth-child(4) {
		width: 100%;
		padding: 0 6vw;
		order: 3;
	}

	#web main #content .wrap .list li:nth-child(5) {
		width: 100%;
		padding: 0 6vw;
		order: 5;
	}

	#web main #content .wrap .list li:last-child {
		width: 100%;
		margin-left: 0;
		order: 6;
	}

	#web main #content .wrap .list li:nth-child(n+2) {
		margin-top: 4vw;
	}

	#web main #content .wrap .box {
	    width: 100%;
	    margin-top: 0;
	    padding: 5vw;
	}

	#web main #content .wrap .box h4 {
		font-size: 5.444vw;
	}

	#web main #content .wrap .box h4::before {
		width: 21.333vw;
		height: 1.333vw;
		top: 12vw;
	}

	#web main #content .wrap .box .text02 {
	    font-size: 4.267vw;
	    margin-top: 4.5vw;
	    line-height: 1.5;
	    letter-spacing: 0;
	}

	#web main #content .wrap .box .text03 {
	    font-size: 3.2vw;
	    margin-top: 2vw;
	}

	#web main #content .wrap .box .inner {
	    margin-top: 3vw;
	    padding: 6vw 5vw;
	    outline: #000 1.2vw solid;
	    outline-offset: -2vw;
	}

	#web main #content .wrap .box .inner h5 {
		font-size: 3.733vw;
	}

	#web main #content .wrap .box .inner p {
	    font-size: 3.2vw;
	    margin-top: 3vw;
	}
}
/********** /web_design **********/

/********** common_works **********/
main #other ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
}

main #other ul li {
	background: #fff;
	width: 50%;
	min-height: 553px;
	position: relative;
}

main #other ul li:nth-child(2),
main #other ul li:nth-child(6) {
	padding: 0 50px 70px;
}

main #other ul li:nth-child(3) {
	padding: 0 50px 70px;
	text-align: right;
}

main #other ul li img {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
	object-fit: cover;
	-webkit-filter: blur(20px);
 	filter: blur(20px);
}

main #other ul li.img-blur img {
	animation: imageblur 1s both;
}

@keyframes imageblur {
	100% {
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}

main #other ul li h3 {
	font-size: 36px;
	background: none;
	padding-left: 70px;
	line-height: 1.3;
}

main #other ul li h3 span {
	font-size: 24px;
}

main #other ul li h3::before {
	top: 120px;
}

main #other ul li:nth-child(3) h3 {
	max-width: 540px;
	width: 100%;
	margin-left: auto;
	text-align: left;
}

main #other ul li .desc {
	font-size: 14px;
	margin: 50px 0 0 70px;
}

main #other ul li:nth-child(3) .desc {
	max-width: 470px;
	width: 100%;
	margin-left: auto;
	text-align: left;
}

main #other ul li .btn {
	font: bold 14px 'Roboto Condensed', sans-serif;
	background: #85bd00;
	width: 190px;
	margin: 40px 0 0 70px;
}

main #other ul li:nth-child(3) .btn {
	margin: 40px 280px 0 auto;
}

main #other ul li .btn a {
	color: #fff;
	width: 100%;
	text-align: center;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

main #other ul li .btn .btn-wrap .btn-in {
	width: 100%;
	padding: 16px 0;
    position: relative;
    display: block;
}

@keyframes lights {
    50% {
        opacity: 1;
    }
    100% {
        width: 200%;
    }
}

@media screen and (min-width: 751px) and (max-width: 1335px) {
	main #other ul li:nth-child(3) .desc,
	main #other ul li:nth-child(3) .btn {
		margin-left: 70px;
	}
}

@media screen and (min-width: 751px) {
	main #other ul li .btn a:hover .btn-in::after,
	main #other ul li .btn .btn-wrap:hover::after,
	main #other ul li .btn a:focus .btn-in::after,
	main #other ul li .btn .btn-wrap:focus::after {
	    animation: lights .5s;
	}

	main #other ul li .btn a .btn-in::after,
	main #other ul li .btn .btn-wrap::after {
	    position: absolute;
	    top: 50%;
	    left: 0;
	    z-index: -1;
	    display: block;
	    content: '';
	    width: 0;
	    height: 100%;
	    background-color: rgba(64, 57, 153, 0.3);
	    transform: translate(-50%, -50%);
	    opacity: 0;
	}
}

@media screen and (max-width: 750px) {
	main #other {
		margin-top: -6.667vw;
	}

	main #other ul li {
	    width: 100%;
	    min-height: 100%;
	}

	main #other ul li:nth-child(2) {
		padding: 0 6vw 5vw;
	}

	main #other ul li:nth-child(3) {
		padding: 0 6vw 5vw;;
		order: 4;
		text-align: left;
	}

	main #other ul li:nth-child(4) {
		order: 3;
	}

	main #other ul li:nth-child(5) {
		order: 5;
	}

	main #other ul li:nth-child(6) {
		padding: 0 6vw 5vw;
		order: 6;
	}

	main #other ul li h3 {
	    font-size: 5.333vw;
	    padding-left: 12vw;
	    letter-spacing: 0.05em;
	}

	main #other ul li:nth-child(3) h3 {
		max-width: 100%;
	}

	main #other ul li h3::before {
		top: 8vw;
	}

	main #other ul li h3 span {
		font-size: 3.733vw;
	}

	main #other ul li .desc {
	    font-size: 2.667vw;
	    margin: 2vw 0 0 12vw;
	    letter-spacing: 0.05em;
	}

	main #other ul li:nth-child(3) .desc {
		max-width: 100%;
		margin-left: 12vw;
	}

	main #other ul li .btn {
	    font-size: 4vw;
	    width: 50.667vw;
	    margin: 5vw auto 0;
	}

	main #other ul li:nth-child(3) .btn {
		margin: 5vw auto 0;
	}

	main #other ul li .btn .btn-wrap .btn-in {
		padding: 3vw 0;
	}
}
/********** /common_works **********/