/* screens smaller than 640---------------------------------------------------------- */
@media only screen and (max-width:640px) {

/*box*/
/*------------------------------------------------------------------------------*/
.box3_01 .unit {
	width: 100%;
}
.box3_01 .unit:last-child:nth-child(3n-1) {
	margin-right: 0;
	margin-left: 0;
}

/*mainimage*/
/*------------------------------------------------------------------------------*/
#mainimage {
	margin-top: 70px;
	height: 79.69vw;
	padding-top: 0;
}
#mainimage .img100 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mainimage video {
	display: none;
}
.mainimage_in {
	height: 79.69vw;
	width: 94%;
}
.main_text p {
	position: relative;
	font-size: 4vw;
	margin-bottom: 3.125vw;
	text-align: center;
}
.main_text p:before {
	width: 25px;
	height: 2px;
}
.main_text h2 {
	font-size: 10vw;
	margin-bottom: 3.125vw;
	text-align: center;
}
.main_text .btn a {
	padding: 2.8vw 28px 2.8vw 18px;
	margin: 0 auto;
	max-width: 220px;
}

/*top_solution*/
/*------------------------------------------------------------------------------*/
#top_solution {
	padding: 40px 0 0;
}
#top_solution .lead01 {
	margin-bottom: 30px;
}
.tabs {
	display: none;
}
.tabs_container {
	margin-top: 0;
	padding: 0;
	margin-bottom: 40px;
	background: none;
}
.tab_content {
	margin-bottom: 50px;
	background: #FFF;
	display: block;
}
.sp_tab_switch {
	display: block;
	text-align: center;
	font-size: 5.47vw;
	line-height: 1.2;
	padding: 20px 60px;
	border-bottom: 1px solid #CCC;
	position: relative;
	cursor: pointer;
}
.sp_tab_switch:before {
	content: '';
	width: 300px;
	height: 6px;
	background: #000;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}
.sp_tab_switch .arr {
	background: url(../image/common/point01.png) no-repeat;
	width: 35px;
	height: 35px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0,-50%);
}
.sp_tab_switch .arr:before {
	content: '';
	width: 20px;
	height: 2px;
	background: #FFF;
	position: absolute;
	top: 50%;
	right: 7px;
	transform: translate(0,-50%);
}
.select.active .sp_tab_switch .arr:after,
.sp_tab_switch .arr:after {
	content: '';
	width: 2px;
	height: 20px;
	background: #FFF;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translate(0,-50%);
	transition: 0.3s;
}
.select .sp_tab_switch .arr:after,
.active .sp_tab_switch .arr:after {
	top: 8px;
	right: 15px;
	transform: rotate(90deg) translate(0,0);
}
.sp_accordion {
	padding: 40px 0;
	display: none;
}
.select .sp_accordion {
	display: block;
}
.active .sp_accordion {
	display: block;
}
.select.active .sp_accordion {
	display: none;
}
#top_solution .tabs_container .unit {
	margin-bottom: 40px;
}
.btn_wrap {
	text-align: center;
	max-width: initial;
	max-width: auto;
	width: auto;
	position: static;
	transform: translate(0,0);
}
.btn_wrap .btn {
	width: auto;
	display: block;
}
.btn_wrap .btn a {
	width: 100%;
	text-align: center;
	font-size: 5.47vw;
	line-height: 1.2;
	padding: 20px 60px;
	background: #FFF;
	position: relative;
}
.btn_wrap .btn a:before {
	content: '';
	width: 300px;
	height: 6px;
	background: #000;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0);
}
.tab-2_in:after {
	content: '';
	clear: both;
	display: block;
}
.tab-2_in .box3_01 {
	margin: 0;
}
.tab-2_in .btn02 {
	position: static;
	float: right;
	margin-bottom: 20px;
}

/*top_pickup*/
/*------------------------------------------------------------------------------*/
#top_pickup .slider-container {
	padding: 0 50px;
}
#top_pickup .slider {
	display: block;
}
#top_pickup .slider dl {
	margin: 0 5px;
}
.slider-arrow {
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	cursor: pointer;
	width: 40px;
	height: 40px;
}
.slider-prev {
	left: 0;
	background: url(../image/common/arr04.png) no-repeat;
	transition: 0.3s;
}
.slider-next {
	right: 0;
	background: url(../image/common/arr05.png) no-repeat;
}
.slider-arrow:hover {
	opacity: 0.7;
}

/*top_news*/
/*------------------------------------------------------------------------------*/
#top_news_in .rss_date {
	float: none;
	width: 100%;
	margin-bottom: 10px;
}
#top_news_in .rss_title {
	padding-left: 0;
}

/*top_media*/
/*------------------------------------------------------------------------------*/
#top_media_in dl {
	width: 49%;
}
#top_media_in dl:last-child:nth-child(4n-1) {
	margin-left: 0;
}
#top_media_in dl:nth-last-child(2):nth-child(4n-2){
	margin-left: auto;
}
#top_media_in dl:last-child:nth-child(4n-2){
	margin-right: auto;
}
#top_media_in dl:nth-last-child(2):nth-child(4n-3){
	margin-left: auto;
}


/*top_support*/
/*------------------------------------------------------------------------------*/
#top_support {
	background: url("../image/top_support_bg02.jpg") no-repeat center center;
	background-size: cover;
	padding: 30px 0 5px;
}
#top_support li {
	width: 100%;
	border-left: none;
	border-top: 1px solid rgba(255,255,255,.3);
	text-align: left;
}
#top_support li:last-child {
	border-right: none;
}
#top_support .icon {
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px 0 0;
	text-align: center;
	width: 33%;
}
#top_support li a {
	font-size: 15px;
	padding: 14px 0;
	display: block;
}
#top_support .toptitle03_01 {
	margin-bottom: 30px;
}
#top_support .toptitle03_01:before {
	bottom: 50px;
}
#top_support .toptitle03_01 .sub {
	margin-top: 25px;
}





/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/


/* screens smaller than 500---------------------------------------------------------- */
@media only screen and (max-width:499px) {

/*top_case*/
/*------------------------------------------------------------------------------*/
#top_case li {
	width: 41vw;
	height: 41vw;
}
#top_case li a {
	padding-top: 6vw;
	font-size: 16px;
}
#top_case li a .icon {
	display: block;
	height: 72px;
	position: relative;
	margin-bottom: 4vw;
}





/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/



/* screens smaller than 420---------------------------------------------------------- */
@media only screen and (max-width:419px) {




/*------------------------------------------------------------------------------*/
}
/*------------------------------------------------------------------------------*/

