@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  PC スマホ共通
**************************************************
--------------------------------------------------*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

/***************************************************
 * Generated by SVG Artista on 12/9/2021, 10:50:36 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/

svg .svg-main-1 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s;
}

svg.active .svg-main-1 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-2 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.55s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.55s;
}

svg.active .svg-main-2 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-3 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s;
}

svg.active .svg-main-3 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-4 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.65s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.65s;
}

svg.active .svg-main-4 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-5 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s;
}

svg.active .svg-main-5 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-6 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.75s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.75s;
}

svg.active .svg-main-6 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-7 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

svg.active .svg-main-7 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-8 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.85s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.85s;
}

svg.active .svg-main-8 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-9 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

svg.active .svg-main-9 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-10 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.95s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 0.95s;
}

svg.active .svg-main-10 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-11 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.0s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.0s;
}

svg.active .svg-main-11 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-12 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.05s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.05s;
}

svg.active .svg-main-12 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-13 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

svg.active .svg-main-13 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-14 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.15s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.15s;
}

svg.active .svg-main-14 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-15 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
}

svg.active .svg-main-15 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-16 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.25s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.25s;
}

svg.active .svg-main-16 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-17 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

svg.active .svg-main-17 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-18 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.35s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.35s;
}

svg.active .svg-main-18 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-19 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
}

svg.active .svg-main-19 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-20 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.45s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.45s;
}

svg.active .svg-main-20 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-21 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}

svg.active .svg-main-21 {
  fill: rgb(255, 228, 0);
}

svg .svg-main-22 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.55s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.55s;
}

svg.active .svg-main-22 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-23 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}

svg.active .svg-main-23 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-24 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.65s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.65s;
}

svg.active .svg-main-24 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-25 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
}

svg.active .svg-main-25 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-26 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.75s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.75s;
}

svg.active .svg-main-26 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-27 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}

svg.active .svg-main-27 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-28 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.85s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.85s;
}

svg.active .svg-main-28 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-29 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
}

svg.active .svg-main-29 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-30 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.95s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 1.95s;
}

svg.active .svg-main-30 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-31 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.0s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.0s;
}

svg.active .svg-main-31 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-32 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.05s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.05s;
}

svg.active .svg-main-32 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-33 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}

svg.active .svg-main-33 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-34 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.15s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.15s;
}

svg.active .svg-main-34 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-35 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}

svg.active .svg-main-35 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-36 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.25s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.25s;
}

svg.active .svg-main-36 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-37 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}

svg.active .svg-main-37 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-38 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.35s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.35s;
}

svg.active .svg-main-38 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-39 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
}

svg.active .svg-main-39 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-40 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.45s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.45s;
}

svg.active .svg-main-40 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-41 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
}

svg.active .svg-main-41 {
  fill: rgb(255, 255, 255);
}

svg .svg-main-42 {
  fill: transparent;
  -webkit-transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
          transition: fill 0.5s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
}

svg.active .svg-main-42 {
  fill: rgb(255, 255, 255);
}



/*--------------------------------------------------
**************************************************
  PC用
**************************************************
--------------------------------------------------*/
@media screen and (min-width: 768px) {
	
	
/* ----
#top_main {
	width:calc(50% + 600px);
	margin-top:50px;
	margin-left:auto;
	display:flex;
	justify-content:space-between;
}
#top_main .main_text_area {
	width:34%;
	margin-top:60px;
}
#top_main .main_text_area .main_act {
	margin-top:30px;
	width:88%;
}
#top_main .main_text_area .main_text {
	margin-top:30px;
	font-size:18px;
	line-height:1.8em;
}
#top_main .main_visual {
	width:62.14%;
}
#top_main .main_visual img {
	width:100%;
	height:auto;
	display:block;
}
---- */

/* ----
#top_main {
	width:calc(50% + 600px);
	height:500px;
	margin-top:50px;
	margin-left:auto;
	position:relative;
}
#top_main .main_text_area {
	width:36%;
	top:60px;
	position:relative;
	z-index:1;
}
---- */
	
	#top_main {
		width:100vw;
		height:100vh;
		position:relative;
		background:url(../imgs/top/main_bg.jpg) no-repeat center top;
		background-size:cover;
	}
	#top_main .main_text_area {
		top:30vh;
		left:0;
		right:0;
		margin:auto;
		text-align:center;
		position:absolute;
		z-index:1;
	}
	
	#top_main .main_text_area .main_act {
		margin-top:30px;
		width:88%;
	}
	#top_main .main_text_area .main_text {
		margin-top:30px;
		font-size:21px;
		line-height:1.8em;
		font-weight:500;
		color:#FFF;
	}
	
	.fadein_image {
		opacity: 0;
			animation-name: fadein-image;
			animation-duration: 3.5s;
			animation-timing-function: ease-out;
			animation-fill-mode: forwards;
		}
		@keyframes fadein-image {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}
		80% {
			opacity: 0;
			transform: translateY(20px);
		}
		90% {
			opacity: 0.5;
			transform: translateY(5px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
	.fadein_text {
		opacity: 0;
			animation-name: fadein-text;
			animation-duration: 4.2s;
			animation-timing-function: ease-out;
			animation-fill-mode: forwards;
		}
		@keyframes fadein-text {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}
		80% {
			opacity: 0;
			transform: translateY(20px);
		}
		90% {
			opacity: 0.5;
			transform: translateY(5px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	#top_main .main_visual {
		width:73%;
		height:500px;
		position:absolute;
		right:0;
		top:0;
	}
	#top_main .main_visual img {
		width:100%;
		height:500px;
		object-fit:cover;
		display:block;
	}
	/*
	.cls-1 {
		stroke:#111;
		stroke-dasharray: 2000;
		stroke-dashoffset: 0;
		stroke-width: 1;
		-webkit-animation: hello 4s ease-in 0s;
		animation: hello 4s ease-in 0s;
	}
	@-webkit-keyframes hello {
	0% {
		stroke-dashoffset: 2000;
		fill:transparent;
		}
	40% {
		stroke-dashoffset: 2000;
		fill:transparent;
		}
	50% {
		fill:transparent;
		}
	100% {
		stroke-dashoffset: 0;
		fill:#000;
		}
	}
	
	.cls-2{
		stroke:#e63c3c;
		stroke-dasharray: 2000;
		stroke-dashoffset: 0;
		stroke-width: 1;
		-webkit-animation: hello1 4s ease-in 0s;
		animation: hello1 4s ease-in 0s;
	}
	@-webkit-keyframes hello1 {
	0% {
		stroke-dashoffset: 2000;
		fill:transparent;
	}
	40% {
		stroke-dashoffset: 2000;
		fill:transparent;
	}
	50% {
		fill:transparent;
	}
	100% {
		stroke-dashoffset: 0;
		fill:#e63c3c;
		}
	}
	
	.cls-3{
		fill:#FFF;
		stroke:#e63c3c;
		stroke-dasharray: 3000;
		stroke-dashoffset: 0;
		stroke-width: 1;
		-webkit-animation: hello 6s ease-in 0s;
		animation: border 6s ease-in 0s;
	}
	@-webkit-keyframes border {
		0% {
		stroke-dashoffset: 3000;
		fill:transparent;
		}
		40% {
		stroke-dashoffset: 3000;
		fill:transparent;
		}
		50% {
		fill:transparent;
		}
		100% {
		stroke-dashoffset: 0;
		fill:#FFF;
		}
	}
	*/
	
	/* aboutus */
	#top_aboutus {
		margin-top:90px;
		display:flex;
		justify-content:space-between;
	}
	#top_aboutus .image {
		width:50%;
	}
	#top_aboutus .image img {
		width:100%;
		height:auto;
		display:block;
	}
	#top_aboutus .aboutus_content {
		width:50%;
		padding-left:40px;
	}
	#top_aboutus .aboutus_content .line_text {
		margin-top:50px;
		font-size:16px;
		color:#e63c3c;
	}
	#top_aboutus .aboutus_content .line_text span {
		position:relative;
		padding-left:70px;
	}
	#top_aboutus .aboutus_content .line_text span::before {
		content:"";
		width:60px;
		height:1px;
		background:#e63c3c;
		position:absolute;
		left:0;
		top:10px;
	}
	#top_aboutus .aboutus_content h2 {
		margin-top:50px;
		font-size:46px;
		font-weight:700;
		white-space:nowrap;
		line-height:1.5em;
	}
	#top_aboutus .aboutus_content h2 span {
		color:#e63c3c;
	}
	#top_aboutus .aboutus_content .text {
		margin-top:50px;
		line-height:1.9em;
		font-size:16px;
	}
	#top_aboutus .btn_arrow {
		margin-top:60px;
		width:210px;
		height:60px;
		text-align:center;
	}
	#top_aboutus .btn_arrow a {
		width:210px;
		height:60px;
		background:#e63c3c;
		color:#FFF;
		font-size:16px;
		line-height:60px;
		display:block;
		font-weight:500;
	}
	#top_aboutus .btn_arrow a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	#top_aboutus .btn_arrow a span::after {
		content: '';
		width: 60px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:20px;
	}
	#top_aboutus .btn_arrow a:hover {
		text-decoration:none;
	}
	
	
	/* -- top business -- */
	#top_business {
		margin-top:190px;
		background: linear-gradient(90deg, #e63c3c 0%, #e63c3c calc(50% + 650px), #fff calc(50% + 650px), #fff 100%);
		position:relative;
		color:#FFF;
		padding-bottom:90px;
	}
	#top_business .top_image {
		position:relative;
		top:-70px;
		width:calc(50% + 600px);
		margin-left:auto;
	}
	#top_business .top_image img {
		width:100%;
		height:auto;
		display:block;
	}
	#top_business h2 {
		max-width:1200px;
		width:100%;
		margin:-20px auto;
		font-size:50px;
		letter-spacing:0.05em;
	}
	#top_business h2 span {
		font-size:58px;
	}
	.business_content {
		width:calc(50% + 600px);
		margin-top:100px;
		margin-left:auto;
		display:flex;
	}
	.business_content:nth-child(2n) {
		margin-left:0;
		margin-right:auto;
		display:flex;
		flex-direction:row-reverse;
	}
	.business_content .content_area {
		width:600px;
		padding-right:50px;
		position:relative;
	}
	.business_content:nth-child(2n) .content_area {
		width:600px;
		padding-left:50px;
		padding-right:0;
	}
	.business_content .content_area::after {
		content:"01";
		font-size:120px;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:50px;
		bottom:0;
		line-height:1em;
	}
	.business_content .content_area.b02::after {
		content:"02";
		font-size:120px;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:0;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b03::after {
		content:"03";
		font-size:120px;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:50px;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b04::after {
		content:"04";
		font-size:120px;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:0;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b05::after {
		content:"05";
		font-size:120px;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:50px;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_image {
		width:calc(100% - 600px);
	}
	.business_content .content_image img {
		width:100%;
		height:auto;
		display:block;
	}
	.business_content .title {
		font-size:42px;
		font-weight:700;
		letter-spacing:0.05em;
	}
	.business_content .text {
		font-size:16px;
		margin-top:30px;
		line-height:1.9em;
	}
	.business_content .btn_arrow_red {
		margin-top:40px;
	}
	.business_content .btn_arrow_red a {
		background:#af2e2e;
		border:1px solid #af2e2e;
		color:#FFF;
		font-size:16px;
		padding:12px 30px;
		display:inline-block;
		font-weight:500;
		transition:0.8s;
	}
	.business_content .btn_arrow_red a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.business_content .btn_arrow_red a span::after {
		content: '';
		width: 60px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:20px;
	}
	.business_content .btn_arrow_red a:hover {
		text-decoration:none;
		transition:0.8s;
		background:#FFF;
		border:1px solid #af2e2e;
		color:#af2e2e;
	}
	
	
	/* -- top news -- */
	#top_news {
		margin-top:90px;
		padding:70px 0 90px;
		background:#f5f5f5;
	}
	#top_news h2 {
		text-align:center;
		font-size:60px;
		line-height:1.4em;
	}
	#top_news h2 span {
		position:relative;
		display:block;
		font-size:16px;
		font-weight:400;
		color:#e63c3c;
		padding-left:70px;
		line-height:1.6em;
	}
	#top_news h2 span::before {
		content:"";
		width:60px;
		height:1px;
		background:#e63c3c;
		position:absolute;
		left:calc(50% - 70px);
		top:12px;
	}
	#top_news ul {
		max-width:100%;
		width:1200px;
		margin:30px auto 0;
	}
	#top_news ul li {
		border-bottom:1px solid #dadada;
	}
	#top_news ul li a {
		color:#111;
		padding:20px 3px;
		display:block;
		font-size:16px;
	}
	#top_news ul li a span {
		display:block;
		font-size:14px;
		line-height:1.8em;
	}
	#top_news ul li a:hover {
		text-decoration:none;
		color:#e63c3c;
	}
	
	
	/*-- top supports --*/
	#top_supports {
		margin-top:250px;
		background:url(../imgs/top/support_main.jpg) no-repeat center bottom;
		background-size:cover;
		min-height:400px;
		position:relative;
	}
	#top_supports .support_box {
		width:800px;
		max-width:100%;
		margin:0 auto;
		text-align:center;
		background:#FFF;
		padding:0 70px 60px;
		position:relative;
		top:-120px;
	}
	#top_supports .support_box img {
		width:auto;
		max-width:100%;
		display:block;
		margin:auto;
	}
	#top_supports .support_box .s_title {
		font-size:33px;
		font-weight:700;
		margin-top:20px;
	}
	#top_supports .support_box .s_title span {
		display:block;
		font-size:16px;
		margin-top:5px;
	}
	#top_supports .support_box .btn_arrow {
		position:absolute;
		left:0;
		right:0;
		margin:auto;
		bottom:-25px;
	}
	#top_supports .support_box .btn_arrow a {
		background:#e63c3c;
		color:#FFF;
		font-size:16px;
		padding:12px 30px;
		display:inline-block;
		font-weight:500;
		border:1px solid #e63c3c;
	}
	#top_supports .support_box .btn_arrow a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	#top_supports .support_box .btn_arrow a span::after {
		content: '';
		width: 60px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:20px;
	}
	#top_supports .support_box .btn_arrow a:hover {
		text-decoration:none;
		background:#FFF;
		border:1px solid #e63c3c;
		color:#e63c3c;
	}
	
	

	/*ボタン*/
	.btn_area ul{
		display: flex;
		justify-content: center;
	}
    
    .btn_area li{
    	margin: 70px 10px 0;
    }

	.btn_area li a{
		width: 300px;
		display: block;
	}

	a.btn-flat {
	  overflow: hidden;
	  padding: 1.5rem 6rem;
	  color: #fff;
	  border-radius: 0;
	  background: #333;
	}

	a.btn-flat span {
	  position: relative;
	}

	a.btn-flat:before {
	  position: absolute;
	  top: 0;
	  left: 30px;
	  width: 150%;
	  height: 500%;
	  content: '';
	  -webkit-transition: all .5s ease-in-out;
	  transition: all .5s ease-in-out;
	  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
	  transform: translateX(-98%) translateY(-70%) rotate(135deg);
	  background: #20C46A;
	}

	a.btn-flat:hover:before {
	  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
	  transform: translateX(-9%) translateY(-25%) rotate(135deg);
	}

	

}/* End PC */



/*--------------------------------------------------
**************************************************
  SP用
**************************************************
--------------------------------------------------*/
@media screen and (max-width: 767px) {
	
	
	/* ----
	#top_main {
		width:100%;
		margin-top:70px;
		display:flex;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	#top_main .main_text_area {
		width:90%;
		margin:-13vw auto 0;
		position:relative;
		z-index:1;
	}
	---- */
	
	#top_main {
		width:100%;
		height: 100vh;
		background: url(../imgs/top/main_bg_sp.jpg) no-repeat center top;
		background-size:cover;
	}
	#top_main .main_text_area {
		width:80%;
		top:20vh;
		left:10vw;
		position:relative;
		z-index:1;
	}
	
	#top_main .main_text_area .main_catch {
		width:80%;
    margin:0 auto;
	}
  #top_main .main_h_image {
    margin-top:30px;
  }
  #top_main .main_h_image img {
    width: 90%;
    height: auto;
    display: block;
    margin:auto;
  }
	#top_main .main_text_area .main_act {
		margin-top:20px;
		width:80%;
	}
	#top_main .main_text_area .main_text {
		margin-top:30px;
		font-size:3.6vw;
		line-height:2em;
    text-align: center;
    color: #FFF;
    font-weight: 500;
	}
	#top_main .main_visual {
		width:100%;
	}
	#top_main .main_visual img {
		width:100%;
		height:auto;
		display:block;
	}
	
	
	/* aboutus */
	#top_aboutus {
		margin-top:90px; 
	}
	#top_aboutus .image {
		width:100%;
	}
	#top_aboutus .image img {
		width:100%;
		height:auto;
		display:block;
	}
	#top_aboutus .aboutus_content {
		width:100%;
	}
	#top_aboutus .aboutus_content .line_text {
		margin-top:50px;
		font-size:3.6vw;
		color:#e63c3c;
	}
	#top_aboutus .aboutus_content .line_text span {
		position:relative;
		padding-left:50px;
	}
	#top_aboutus .aboutus_content .line_text span::before {
		content:"";
		width:40px;
		height:1px;
		background:#e63c3c;
		position:absolute;
		left:0;
		top:10px;
	}
	#top_aboutus .aboutus_content h2 {
		margin-top:30px;
		font-size:6vw;
		font-weight:700;
		line-height:1.6em;
	}
	#top_aboutus .aboutus_content h2 span {
		color:#e63c3c;
	}
	#top_aboutus .aboutus_content .text {
		margin-top:30px;
		line-height:1.9em;
		font-size:3.6vw;
	}
	#top_aboutus .btn_arrow {
		margin-top:30px;
	}
	#top_aboutus .btn_arrow a {
		background:#e63c3c;
		color:#FFF;
		font-size:3.6vw;
		padding:15px 30px;
		display:inline-block;
		font-weight:700;
	}
	#top_aboutus .btn_arrow a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	#top_aboutus .btn_arrow a span::after {
		content: '';
		width: 30px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:50px;
	}
	#top_aboutus .btn_arrow a:hover {
		text-decoration:none;
	}
	
	
	/* -- top business -- */
	#top_business {
		margin-top:150px;
		background: linear-gradient(90deg, #e63c3c 0%, #e63c3c 95%, #fff 95%, #fff 100%);
		position:relative;
		color:#FFF;
		padding-bottom:60px;
	}
	#top_business .top_image {
		position:relative;
		top:-50px;
		width:95%;
		margin-left:auto;
	}
	#top_business .top_image img {
		width:100%;
		height:auto;
		display:block;
	}
	#top_business h2 {
		width:90%;
		margin:-20px auto;
		font-size:6.5vw;
		letter-spacing:0.05em;
	}
	#top_business h2 span {
		font-size:7.5vw;
	}
	.business_content {
		width:100%;
		margin-top: 60px;
		
	}
	.business_content .content_area {
		width:90%;
		margin: 0 auto;
		position:relative;
		padding-right: 5%;
	}
	.business_content .content_area::after {
		content:"01";
		font-size:18vw;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:5vw;
		bottom:0;
		line-height:1em;
	}
	.business_content .content_area.b02::after {
		content:"02";
		font-size:18vw;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:5vw;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b03::after {
		content:"03";
		font-size:18vw;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:5vw;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b04::after {
		content:"04";
		font-size:18vw;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:5vw;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_area.b05::after {
		content:"05";
		font-size:18vw;
		color:#FFF;
		font-weight:500;
		opacity:0.5;
		position:absolute;
		right:5vw;
		bottom:0;
		line-height:1em;
		letter-spacing:-0.05em;
	}
	.business_content .content_image {
		width:95%;
		margin-left:auto;
		margin-top: 40px;
	}
	.business_content .content_image img {
		width:100%;
		height:auto;
		display:block;
	}
	.business_content .title {
		font-size:6vw;
		font-weight:700;
		letter-spacing:0.05em;
	}
	.business_content .text {
		font-size:3.6vw;
		margin-top:20px;
		line-height:1.9em;
	}
	.business_content .btn_arrow_red {
		margin-top:30px;
	}
	.business_content .btn_arrow_red a {
		background:#af2e2e;
		color:#FFF;
		font-size:3.6vw;
		padding:15px 30px;
		display:inline-block;
		font-weight:700;
	}
	.business_content .btn_arrow_red a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.business_content .btn_arrow_red a span::after {
		content: '';
		width: 30px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:50px;
	}
	#top_aboutus .btn_arrow a:hover {
		text-decoration:none;
	}
	
	
	/* -- top news -- */
	#top_news {
		margin-top:90px;
		padding:50px 0 70px;
		background:#f5f5f5;
	}
	#top_news h2 {
		text-align:center;
		font-size:10vw;
		line-height:1.4em;
	}
	#top_news h2 span {
		position:relative;
		display:block;
		font-size:16px;
		font-weight:400;
		color:#e63c3c;
		padding-left:50px;
		line-height:1.6em;
	}
	#top_news h2 span::before {
		content:"";
		width:40px;
		height:1px;
		background:#e63c3c;
		position:absolute;
		left:0;
		top:14px;
		left:calc(50% - 60px);
	}
	#top_news ul {
		width:90%;
		margin:30px auto 0;
	}
	#top_news ul li {
		border-bottom:1px solid #dadada;
	}
	#top_news ul li a {
		color:#111;
		padding:20px 10px;
		display:block;
		font-size:3.6vw;
	}
	#top_news ul li a span {
		display:block;
		font-size:3.2vw;
		line-height:1.8em;
	}
	
	
	/*-- top supports --*/
	#top_supports {
		margin-top:250px;
		background:url(../imgs/top/sp_support_main.jpg) no-repeat center bottom;
		background-size:cover;
		position:relative;
	}
	#top_supports .support_box {
		width:90%;
		margin:0 auto;
		text-align:center;
		background:#FFF;
		padding:0 30px 50px;
		position:relative;
		top:-150px;
	}
	#top_supports .support_box img {
		width:auto;
		max-width:100%;
		display:block;
		margin:auto;
	}
	#top_supports .support_box .s_title {
		font-size:6vw;
		font-weight:700;
		margin-top:20px;
	}
	#top_supports .support_box .s_title span {
		display:block;
		font-size:3.4vw;
		margin-top:10px;
	}
	#top_supports .support_box .btn_arrow {
		position:absolute;
		left:0;
		right:0;
		margin:auto;
		bottom:-30px;
	}
	#top_supports .support_box .btn_arrow a {
		background:#e63c3c;
		color:#FFF;
		font-size:3.6vw;
		padding:15px 30px;
		display:inline-block;
		font-weight:700;
	}
	#top_supports .support_box .btn_arrow a span {
		position:relative;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	#top_supports .support_box .btn_arrow a span::after {
		content: '';
		width: 40px;
		height: 5px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		margin-left:50px;
	}
	#top_supports .support_box .btn_arrow a:hover {
		text-decoration:none;
	}



}/* End SP */