@charset "utf-8";

@media(max-width: 1024px) {
.loading_cover.start {
	-webkit-animation: loadingSlide 0.5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
	animation: loadingSlide 0.5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.section_aboutus .inner_wrap {
	height: 65vw;
}
.aboutus_caption {
	width: 50%;	
}
.section_aboutus .inner_wrap .about_figure {
	width: 50%;
	top: 10vw;
	right: -3vw;
}
.section_aboutus .inner_wrap .about_figure img {
	width: 100%;
	height: auto;	
}
}

@media(max-width: 767px) {
	
section h2,
.service_col h4 {
	font-size: 15px;	
}
section h3 {
	font-size: 16px;
}
.service_figure .no,
.technology_figure .no {
	font-size: 15px; 	
}


.loading_logo {
	width: 160px;
}
.hero:before {
	height: 75vw;
	background: url(../images/top_upper_bg_sp.png) no-repeat right bottom;
	background-size: cover;
}
.hero_inner {
	padding: 0 20px;
}
.sign:after {
	transform-origin: top left;
	transform: scale(0.3);
	top: 0;
	left: 0;
}
.hero_catch .sign {
	width: 154px;
	margin-bottom: 0;
	position: relative;
	top: -10vw;
}
.hero_catch {
	transform: translateY(-12vw);	
}

.hero_catch h1 {
	font-size: 13px;
	letter-spacing: 0px;	
}
.hero:after {
	content: '';
	display: block;
	height: 35vw;
	width: 100%;
	background: url(../images/top_hero_parts_bg_sp.png) no-repeat right bottom;
	background-size: 100%;
	position: absolute;
	bottom: -2px;
	left: 0;	
}

.hero .scroll p {
    width: 40px;
}
.scroll p:after {
	top: 46px;
	left: 19px;
}

.section_aboutus .inner_bg:before,
.section_aboutus .inner_bg:after {
	display: none;	
}
.top_wrap {
	background: url(../images/top_section_bg1_sp.png) no-repeat 0 0;
	background-size: 100%;	
}
.section_aboutus .inner_wrap {
	height: auto;
	margin-bottom: 60px;	
}

section h2 {
	text-align: center;
}
section h2 span:after {
	margin: 0 auto;	
}
.section_aboutus {
	padding-top: 80px;	
}
.section_aboutus .inner_wrap {
	display: block;
	padding: 0 20px;	
}
.section_aboutus .inner_wrap .about_figure {
	position: static;
	top: inherit;
	left: inherit;
	right: inherit;
	width: 80%;
	margin: 0 auto;	
}
.section_aboutus .inner_wrap .about_figure img {
	width: 100%;
	height: auto;	
}
section h3 {
	text-align: center;
	letter-spacing: 0;
	margin: 0 0 15px;
}
.aboutus_caption {
	width: auto;
	padding: 0;
	margin: 0 0 20px;
}
.section_aboutus .linkbtn {
	margin-right: auto;
	margin-left: auto;	
}


.section_service {
	padding: 60px 0 80px;
	background: url(../images/top_section_bg2_sp.png) no-repeat right bottom;
	background-size: 100%;
}
.service_caption {
	width: auto;	
}
.service_caption .lead {
	margin: 0 0 30px;	
}

.service_col_flex {
	display: block;	
}
.service_col {
	width: 70%;
	margin: 0 auto 40px;	
}
.service_caption .lead {
	text-align: left;	
}
.service_col .service_figure {
	padding: 20px 0 0;
}


.service_col img {
  -webkit-mask-size: 600px auto;
  -webkit-mask-position: -600px 0;
}

.service_col img.active {
	animation: moveEffect 2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.technology_flex {
	display: block;	
}
.technology_flex .technology_col:nth-of-type(2) {
	border-left: none;
	border-right: none;
	border-top: 1px solid #3C4659;
	border-bottom: 1px solid #3C4659;
}
.technology_figure {
	padding-top: 30px;	
}
.technology_caption {
	padding: 0;	
}
.technology_caption .lead {
	text-align: left;	
}
.service_figure .no:after,
.technology_figure .no:after {
	width: 15px;
	height: 6px;
	left: 2px;
}

.section_news {
	padding: 40px 0 160px;
	background: url(../images/top_news_bg_sp.png) no-repeat center top;
	background-size: 100%;
}
.news_body th,
.news_body td {
	display: block;
	padding: 0;
	width: auto;
	white-space: inherit;
	border: none;
}
.news_body th {
	padding: 15px 0;	
}
.news_body td {
	padding: 0 0 15px;
	border-bottom: 1px solid #3C4659;
}
.news_body:before,
.news_body:after {
	height: 35px;
}
.news_body:before {
	top: -35px;
}
.news_body:after {
	bottom: -35px;
}
span.tag {
	font-size: 10px;
	height: 17px;
	line-height: 18px;
}

}

@media(max-width: 320px) {
.hero_catch h1 {
	font-size: 12px;
	letter-spacing: 1px;	
}
section h3,
.service_col h4 {
	font-size: 15px;	
}
.service_col {
	width: 80%;
}
	
}

