@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans+JP:wght@100..900&display=swap');

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

a:hover{
	opacity: 0.9;
}

body{
	font-family: "Noto Sans JP", serif;
	color:#333;
	
}

header{
	width: 100%;
	position: fixed;
	top: 0px;
	z-index: 8000;
	background-color: #fff;
	box-shadow: 0px 0px 3px 0px #333;
	height: 90px!important;
}

footer{
	width: 100%;
	background-color: #d00;
	color: #fff;
	position: relative;
	z-index: 6000;
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: 15px;
}

p,td,th{
	font-size: 15px;
	line-height: 1.8;
	color: #333;
}

section{
	display: block;
}

a {
	text-decoration: none;
	cursor:pointer;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

.wrapper{
	width: 100%;
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.wrapper_960{
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.red{
	color: #d00!important;
}

.txt72{
	font-size: 72px;
}

.relative{
	position: relative;
}

.fadein{
	opacity: 0;
	transform : translate(0, 30px);
	transition : all 1s;
}

.fadein.active{
	opacity: 1;
	transform : translate(0, 0);
}

.sp_br{
	display: none;
}



/*---------------------メニュー------------------*/

#head_logo{
	margin-top: 10px;
	width: 200px;
	position: relative;
}

#head_logo img{
	width: 200px;
}

#header_wrap{
	display: flex;
	justify-content: space-between;
	margin-left: 2%;
	margin-right: 2%;
	flex-wrap: wrap;
}

#gnav{
	margin-top: 10px;
	display: inline-block;
}

#gnav ul li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	padding: 0px 0 10px 0;
	color: #333;
	font-size: 14px;
}

@media screen and (max-width:1050px){
	#gnav ul li a {
	font-size: 13px;
}
}

#gnav ul li a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #d00;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}

#gnav ul li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

#gnav ul {
	list-style: none;
	overflow: hidden;
	padding-top: 5px;
	display: flex;
}
 
#gnav li {
  text-align: center;
  font-size: 14px;
  margin-left: 25px;
  margin-top: 20px;
}

#gnav li:first-child {
  margin-left: 0px;
}

#gnav li a {
	text-decoration: none;
	color: #333;
}

.dl_btn{
	background-color: #d25b14;
	display: inline;
	text-align: center;
	padding: 10px 20px;
	margin-top: 10px!important;
	height: 40px!important;
	border-radius: 5px;
}

.dl_btn a{
	color: #fff!important;
}

.contact_btn{
	background-color: #dd0000;
	display: inline;
	text-align: center;
	padding: 10px 20px;
	margin-top: 10px!important;
	height: 40px!important;
	border-radius: 5px;
}

.contact_btn a{
	color: #fff!important;
}




/*---------------------トップ画像-------------------------------*/

.main{
	width: 100%;
	height: calc(100vw / 1.9);
	position: relative;
	background-color: #d00;
	margin-top: 60px;
	margin-bottom: 100px;
}

.main a{
	position:absolute;
	z-index: 80;
	right: 0;
	top: 0px;
	width:100%;
}

.main img{
	position: absolute;
	top: 60px;
}

.top_img{
	position: absolute;
	z-index: 100;
	left: 50px;
	top: 0px;
	width: 100%;
	pointer-events: none;
}

.top_img img{
	width: 100%;
}

.c-video{
	position:absolute;
	z-index: 50;
	right: 0;
	top: 50px;
	width:54%;
}

.c-video__embed{
	display:block;
	width:100%;
	height:100%;
	-o-object-fit:cover;
	object-fit:cover;
}




/*---------------------トップページ導入部分------------------*/

.top_intro_left{
	width: 60%;
}

.top_intro_left h2{
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 20px;
}

.top_intro_left h2 span{
	color: #dd0000;
}

.top_intro_right{
	width: 40%;
}



/*---------------------トップページ活用部分------------------*/


#top_use{
	margin-bottom: 80px;
}

#top_use h2{
	color: #dd0000;
	font-size: 27px;
	text-align: center;
	margin-bottom: 25px;
	font-weight: 700;
	position: relative;
}

#top_use h2::before{
	content: "";
	background-image: url("../images/top_use_icn.svg");
	background-repeat: no-repeat;
	position: absolute;
	left: 100px;
	top: -50px;
	width: 120px;
	height: 130px;
	z-index: 0;
}

.top_use_box{
	width: 32%;
	border: solid 1px #dd0000;
	border-radius: 5px;
	margin-bottom: 30px;
}

.top_use_box_blank{
	border: none;
	width: 32%;
	margin-bottom: 30px;
}

.top_use_upper{
	background-color: #ffeeee;
	padding: 20px;
	margin-bottom: 20px;
	position: relative;
}

.top_use_upper::after{
	content: "";
	background-image: url("../images/top_use_under_arrow.svg");
	background-repeat: no-repeat;
	width: 58px;
	height: 14px;
	position: absolute;
	bottom: -14px;
	left: calc(50% - 29px);
}

.top_use_upper .flex_bet_pc img{
	width: 84px;
}

.top_use_box h3{
	font-size: 18px;
	color: #dd0000;
	text-align: center;
	font-weight: 700;
	margin-bottom: 15px;
}

.top_use_box p span{
	color: #dd0000;
}

.top_use_btn{
	background-color: #dd0000;
	color: #fff;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
}

.top_use_btn a{
	display: block;
	padding: 5px;
	color: #fff;
}

.top_use_btn::after{
	content: "";
	background-image: url("../images/btn_right_arrow.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
	position: absolute;
	right: 10px;
	top: calc(50% - 6px);
}




/*---------------------トップページサンプル動画部分------------------*/

.light_red_bg{
	background-color: #ffeeee;
	padding-top: 80px;
	padding-bottom: 80px;
}

.general_h2{
	font-size: 16px;
	text-align: center;
	margin-bottom: 30px;
}

.general_h2 span{
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	letter-spacing: 1px;
	font-size: 42px;
	color: #dd0000;
	display: inline-block;
	margin-bottom: 10px;
}

.red_btn,.orange_btn{
	background-color: #dd0000;
	color: #fff;
	text-align: center;
	font-weight: 600;
	width: 30%;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
	margin-left: 20px;
	margin-right: 20px;
}

.orange_btn{
	background-color: #d25b14;
}

.red_btn a,.orange_btn a{
	color: #fff;
	display: block;
	padding: 20px;	
}

.red_btn::after,.orange_btn::after{
	content: "";
	background-image: url("../images/btn_right_arrow.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
	position: absolute;
	right: 10px;
	top: calc(50% - 6px);
}

.player{
	width: 100%;
}




/*---------------------ループテンプレート部分---------------------*/


@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.d-demo__wrap {
	display: flex;
	overflow: hidden;
	margin-top: 25px;
	margin-bottom: 60px;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 60s infinite linear 0.5s both;
}

.d-demo__item{
	width: 320px;
	height: 180px;
}

.d-demo__item img{
	width: 100%;
}




/*---------------------SHO-VIEの独自サービス-------------------*/

.red_bg{
	background-color: #dd0000;
	padding-top: 80px;
	padding-bottom: 80px;
}

#original_h2{
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	margin-bottom: 25px;
}

.original_box{
	background-color: #fff;
	width: 330px;
	border-radius: 10px;
}

.original_box h3{
	font-size: 18px;
	font-weight: 700;
	color: #dd0000;
	margin-bottom: 10px;
}

.original_under{
	padding: 20px;
}




/*---------------------トップページニュース部分-------------------*/

.news_table{
	max-width: 750px;
	width: 100%;
	margin-left: auto!important;
	margin-right: auto!important;
	margin-bottom: 50px;
}

.news_table td{
	padding-right: 20px;
	padding-bottom: 5px;
	line-height: 1.5;
	font-size: 15px;
	vertical-align: middle;
}

.red_box{
	background-color: #ddd;
	width: 100px;
	height: 40px;
	padding: 5px;
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	border-radius: 5px;
}

.white_btn{
	background-color: #fff;
	color: #fff;
	text-align: center;
	font-weight: 600;
	width: 30%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
	border: solid 1px #dd0000;
}

.white_btn a{
	color: #dd0000;
	display: block;
	padding: 20px;
}

.white_btn::after{
	content: "";
	background-image: url("../images/btn_right_arrow_red.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
	position: absolute;
	right: 10px;
	top: calc(50% - 6px);
}

.youtube-link{
	cursor:pointer;
}



/*---------------------LONVIEコーナー----------------------*/

#lonvie_bg{
	background-color: #333;
	padding-bottom: 80px;
	padding-top: 60px;
}

#lonvie_top{
	display: flex;
	width: 100%;
	margin-bottom: 30px;
}

#lonvie_top img{
	margin-left: -100px;
	margin-top: -120px;
	width: 50%;
}

#lonvie_top h2{
	color: #ffc103;
	font-size: 27px;
	margin-left: 60px;
}

#lonvie_top h2 span{
	font-size: 84px;
	font-weight: 600;
}

#lonvie_bg p{
	color: #ffc103;
}

.lonvie_3box{
	color: #ffc103;
	background-color: #5c502a;
	width: 32%;
	padding: 20px;
	text-align: center;
}

#lonvie_linkage{
	background-color: #ffc103;
	padding: 20px 50px;
	margin-bottom: 50px;
}

#lonvie_linkage p{
	font-size: 24px;
	font-weight: 600;
	color: #333;
}

#lonvie_linkage img{
	width: 330px;
}

.lonvie_btn{
	color: #fff;
	text-align: center;
	font-weight: 600;
	width: 30%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
	border: solid 1px #ffc103;
}

.lonvie_btn a{
	color: #ffc103;
	display: block;
	padding: 20px;
}

.lonvie_btn::after{
	content: "";
	background-image: url("../images/btn_right_arrow_yellow.svg");
	background-repeat: no-repeat;
	width: 8px;
	height: 12px;
	position: absolute;
	right: 10px;
	top: calc(50% - 6px);
}



/*---------------------フッター----------------------*/

footer{
	color: #fff;
}

footer a{
	color: #fff;
}

#footer_wrap{
	display: flex;
	justify-content: space-between;
	margin-left: 3%;
	margin-right: 3%;
	border-bottom: solid 1px #fff;
	align-items: center;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

#foot_left{
	width: 210px;
}

#foot_right{
	margin-top: 10px;
	display: inline-block;
}

#foot_right a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	padding: 0px 0 10px 0;
	font-size: 14px;
}

#foot_right {
	list-style: none;
	overflow: hidden;
	padding-top: 5px;
	display: flex;
}
 
#foot_right li {
  text-align: center;
  font-size: 14px;
  margin-left: 25px;
  margin-top: 10px;
}

#foot_right li:first-child {
  margin-left: 0px;
}

#foot_right .dl_btn{
	background-color: #fff;
	margin-top: 0px!important;
}

#foot_right .dl_btn a{
	color: #d00!important;
}

#foot_right .contact_btn{
	background-color: #fff;
	margin-top: 0px!important;
}

#foot_right .contact_btn a{
	color: #d00!important;
}

#foot_under{
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}

#foot_under li{
	margin-left: 20px;
	position: relative;
}

#foot_under li:first-child{
	margin-left: 0px;
}

#foot_under li:first-child::before{
	background-image: url("../images/icn_foot_company.svg");
	background-repeat: no-repeat;
	content: "";
	width: 16px;
	height: 16px;
	position: absolute;
	left: -20px;
	top: 3px;
}

footer p{
	text-align: center;
	color: #fff;
	margin-left: auto;
	margin-right: auto;
}





/*🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲活用シーンページ🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/

#scene .lower_main h1{
	color: #dd0000;
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0.0));
	top: 38%;
}

#scene .lower_main p{
	position: absolute;
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0.0));
	top: 65%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	left: 50%;
	font-size: 21px;
	font-weight: 500;
}

#scene .lower_main p span{
	color: #dd0000;
}

#scene_top_band{
	background-color: #dddddd;
	padding: 30px;
	text-align: center;	
	position: relative;
	margin-bottom: 50px;
}

#scene_top_band h2{
	font-size: 27px;
	font-weight: 600;
}

#scene_top_band::after{
	content: "";
	background-image: url("../images/scene_arrow.svg");
	background-repeat: no-repeat;
	width: 90px;
	height: 22px;
	position: absolute;
	bottom: -20px;
	left: calc(50% - 45px);
}

.scene_case_block{
	width: 48%;
	margin-bottom: 30px;
}

.scene_case_block h3{
	background-color: #333;
	display: inline-block;
	color: #fff;
	font-size: 21px;
	font-weight: 600;
	padding: 5px 20px;
	margin-bottom: 10px;
}

.case_btn{
	width: 100%;
	border: solid 1px #333;
	border-radius: 5px;
}

.case_btn a{
	color: #333;
	padding: 20px;
	display: block;
	position: relative;
}

.case_btn:hover{
	opacity: 0.8;
}

.case_btn a::after{
	content: "";
	background-image: url("../images/scene_btn_arrow.svg");
	background-repeat: no-repeat;
	width: 20px;
	height: 10px;
	position: absolute;
	top: calc(50% - 5px);
	right: 20px;
}

.scene_solution {
	background-color: #ffeeee;
	padding: 50px;
}

.scene_solution h2{
	font-size: 30px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}

.scene_solution h2 span{
	color: #d00;
}

.scene_ttl{
	font-size: 27px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 40px;
}

.scene_ttl span{
	display: inline-block;
	color: #fff;
	background-color: #333;
	padding: 5px 20px;
	margin-right: 20px;
}

.scene_solution_block{
	width: 46%;
}

.scene_solution_block h3{
	width: 100%;
	color: #fff;
	background-color: #d00;
	padding: 10px 20px;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: 600
}

.scene_solution_block h4{
	font-size: 18px;
	font-weight: 600;
}

.scene_solution_block p{
	font-size: 14px;
	margin-bottom: 30px;
}

.scene_solution_block img{
	width: 100%;
}

.scene_tate img{
	width: 70%!important;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.scene_flow_bg{
	background-color: #d00;
	color: #fff;
	font-size: 30px;
	font-weight: 600;
	padding: 50px;
	text-align: center;
	margin-bottom: 70px;
	position: relative;
}

.scene_flow_bg::after{
	content: "";
	background-image: url("../images/scene_red_arrow.svg");
	background-repeat: no-repeat;
	position: absolute;
	width: 90px;
	height: 22px;
	bottom: -20px;
	left: calc(50% - 45px);
}

#scene_flow_img{
	margin-bottom: 30px;
	margin-top: 40px;
}





/*🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲サービス・料金🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/


.lower_main{
	margin-top: 70px;
	overflow: hidden;
	position: relative;
	width: 100%;
	margin-bottom: 80px;
	text-align: center;
}

.lower_main img {
	text-align: center;
	width: 100%;
	height: auto;
}

.lower_main h1{
	font-weight: 700;
	position: absolute;
	color: #fff;
	font-size: 32px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.5));
}

#service_sec h2{
	font-size: 36px;
	font-weight: 600;
	text-align: center;
	color: #dd0000;
	margin-bottom: 20px;
}

#service_sec h2 span{
	font-size: 65px;
	display: inline-block;
}

.service_block{
	background-color: #fff;
	padding: 50px;
	padding-top: 40px;
	filter: drop-shadow(0 0 2px #999);
	border-radius: 10px;
	width: 60%;
	position: relative;
	z-index: 1;
}

.service_right{
	margin: 0 0 0 auto;
}

#service_sec h3{
	font-size: 24px;
	font-weight: 700;
	border-bottom: solid 1px #dd0000;
	margin-bottom: 10px;
	padding-bottom: 8px;
}

#service_sec h3 span{
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-size: 150%;
	letter-spacing: 1px;
	color: #dd0000;
	display: inline-block;
	margin-right: 30px;
}

.service_img{
	position: absolute;
	right: 0;
	top: -40px;
	z-index: 0;
}

.service_img_2{
	position: absolute;
	left: 0;
	top: -40px;
	z-index: 0;
}

.service_img img,.service_img_2 img{
	border-radius: 10px;
}

.service_main_p{
	text-align: center;
	color: #dd0000;
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 10px;
}

.service_main_p span{
	font-size: 24px;
}

.annotation{
	font-size: 13px;
}

.service_block table{
	margin-bottom: 30px;
}

.service_block th{
	font-size: 16px;
	font-weight: 600;
	vertical-align:middle;
	padding-bottom: 8px;
}

.service_block td{
	font-size: 16px;
	font-weight: 600;
	color: #dd0000;
	vertical-align:middle;
	padding-bottom: 8px;
}

.service_block td img{
	width: 64px;
	vertical-align:middle;
}

.white_bg{
	padding-top: 80px;
	padding-bottom: 80px;
}

.anchor_btn{
	background-color: #fff;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 5px;
	margin-bottom: 20px;
	position: relative;
	border: solid 1px #dd0000;
}

.anchor_btn a{
	display: block;
	padding: 5px;
	padding-bottom: 8px;
	color: #dd0000;
}

.anchor_btn::after{
	content: "";
	background-image: url("../images/btn_under_arrow_red.svg");
	background-repeat: no-repeat;
	width: 12px;
	height: 8px;
	position: absolute;
	right: 10px;
	top: calc(50% - 4px);
}

.flow_block{
	background-color: #fff;
	border-radius: 10px;
	filter: drop-shadow(0 0 2px #999);
	padding: 20px 50px;
	position: relative;
	margin-bottom: 20px;
}

.flow_block::after{
	content: "";
	background-image: url("../images/flow_arrow.svg");
	width: 70px;
	height: 24px;
	position: absolute;
	left: calc(50% - 35px);
	bottom: -20px;
}

.flow_block:last-child::after{
	background-image: none;
	width: 0px;
	height: 0px;
}

.flow_icn{
	width: 130px;
}

.flow_number{
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-size: 44px;
	letter-spacing: 1px;
	color: #dd0000;
	margin-right: 40px;
}

.flow_box h3{
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 8px;
}




/*🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲サンプル動画🔲🔲🔲🔲🔲🔲🔲🔲🔲🔲*/


/*フィルター*/
.search_wrap {
	margin-top: 30px;
	border: solid 1px #d00;
	padding: 40px;
	margin-bottom: 40px;
}

.search_box{
	display: flex;
	justify-content: center;
	align-items: center;
}

.search_box:first-child{
	margin-bottom: 30px;
}

.search_box dt{
	font-size: 20px;
	font-weight: 700;
	color: #d00;
}

.search_box dt:first-child::before{
	content: "";
	background-image: url("../images/icn_genre.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	display: inline-block;
	width: 21px;
	height: 21px;
	margin-right: 5px;
	margin-bottom: -4px;
}

#second_dt::before{
	content: "";
	background-image: url("../images/icn_time.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	display: inline-block;
	width: 21px;
	height: 21px;
	margin-right: 5px;
	margin-bottom: -4px;
}

.search_box dd{
	margin-left: 20px;
	margin-right: 20px;
}

input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
	margin-right: 8px;
	vertical-align: middle;
	cursor: pointer;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}


/*リスト*/
.search-list li {
    box-sizing: border-box;
	border: solid 1px #999;
	list-style:none;
	margin-left: 5%;
	margin-right: 5%;
	margin-bottom: 5%;
}

.search-list li a{
	display: block!important;
	padding: 20px;
}

.search-list li:nth-child(3n){
	margin-right: 0%;
}
    
.search-list span {
	visibility: hidden; 
}

.search-list img{
	width: 100%;
}

.sort{
	border: none!important;
	padding: 0px!important;
	margin-left: 0!important;
	margin-right: 0!important;
}

.sort_blank{
	box-shadow:none!important;
	border: none!important;
	padding: 0px!important;
	margin-left: 0!important;
	margin-right: 0!important;
}



/*ページネーション*/
.search-list__pagination {
  margin-top: 30px;
  text-align: center;
}

.search-list__pagination-items {
	display: inline-flex;
	list-style: none;
}

.video{
	display: none;
}



/*動画部分*/
.sample_wrap {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	position: relative;
	align-items: flex-start;
}

.sample_wrap li{
	width: 350px;
	margin-bottom: 50px!important;
	line-height: 0;
	position: relative;
	box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .2);
	padding: 0px!important;
	color: #333!important;
	margin-right: 35px!important;
}

.sample_wrap li:nth-of-type(3n){
	margin-right: 0px!important;
}

@media screen and (max-width:1120px){
	.sample_wrap li:nth-of-type(3n){
		margin-right: 35px!important;
	}
	
}

.sample_wrap li img{
	width: 100%;
}

.sample_wrap li p{
	line-height: 1.5em;
	font-size: 13px;
	text-align: center;
	color: #555;
	width: 100%;
	padding: 15px;
	background-color: #fff;
 }

.sample_wrap li p span{
	visibility: visible;
	margin-left: 15px;
	margin-right: 15px;
}

.sample_wrap li p span:nth-child(1)::before{
	content: "";
	background-image: url("../images/icn_id.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	margin-bottom: -4px;
}

.sample_wrap li p span:nth-child(2)::before{
	content: "";
	background-image: url("../images/icn_genre.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	margin-bottom: -4px;
}

.sample_wrap li p span:nth-child(3)::before{
	content: "";
	background-image: url("../images/icn_time.svg");
	background-repeat: no-repeat;
	background-position: bottom center;
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	margin-bottom: -4px;
}









/*---------------------よくある質問----------------------*/

.tabbox h2{
	font-size: 24px;
	text-align: center;
	margin-bottom: 40px;
	margin-top: 50px;
}

.cp_qa{
	margin-bottom: 80px;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 30px 0;
	color: #1b2538;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6em;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	cursor: pointer;
	background: rgba(27,37,56,0.1);
}

.q_icn {
	background-color: #595757;
	color: #fff;
	text-align: center;
	width: 72px;
	padding-top: 25px;
	padding-bottom: 25px;
	display: inline-block;
	margin-right: 20px;
}

.cp_qa .cp_actab td {
	padding-bottom: 25px;
}

.a_icn {
	background-color: #d00;
	color: #fff;
	text-align: center;
	width: 72px;
	padding-top: 25px;
	padding-bottom: 25px;
	display: inline-block;
	margin-right: 20px;
}

.cp_qa .cp_actab label:hover {
	transition: all 0.3s;
	color: #00838f;
}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
	font-size: 1.7em;
	font-weight: bold;
	line-height: 2em;
	position: absolute;
	top: 12px;
	right: 0;
	content: '+';
	display: inline-block;
	width: 2em;
	height: 2em;
	-webkit-transition: transform 0.4s;
	        transition: transform 0.4s;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 20px;
	transition: all 0.3s 0.0s ease;
}

.cp_qa .cp_actab .cp_actab-content p {
	margin: 1em 1em 1em 0;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	padding-top: 20px;
	padding-bottom: 20px;
	max-height: 100em;
	border: 10px solid rgba(27,37,56,0.1);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
	color: #00838f;
	border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}

.cp_actab p{
	line-height: 1.7;
}

#qa_txt{
	text-align: center;
	margin-bottom: 50px;
	font-size: 18px;
}


/* ▼タブ機能の掲載領域の装飾(※必須ではありません) */
.tabbox { 
	margin-left: auto;
	margin-right: auto;
	padding: 1em;
	background-color: #fff;
	width: 100%;
	margin-bottom: 60px;
}

   /* ▼タブ機能を制御するラジオボタン(非表示にする) */
.tabbox input {
	display: none;
}

   /* ▼タブ(共通装飾＋非選択状態の装飾) */
   .tab {
      display: inline-block;
      border-width: 1px 1px 0px 1px;
      border-style: solid;
      border-color: #aaa;
      border-radius: 0.3em 0.3em 0px 0px;
      padding: 1em 3em;
      color: black;
      background-color: #e0e0e0;
      font-weight: bold;
   }

   /* ▼タブにマウスポインタが載った際の装飾 */
   .tab:hover {
      background-color: #ccffcc;
      color: green;
      cursor: pointer;
   }

   /* ▼チェックが入っているラジオボタンの隣にあるタブの装飾(＝選択状態のタブ) */
   input:checked + .tab {
      color: red;
      background-color: #fff;
      position: relative;
      z-index: 10;
   }

   /* ▼タブの中身(共通装飾＋非選択状態の装飾) */
   .tabcontent {
      display: none;
      border: 1px solid #aaa;
      margin-top: -1px;
      padding: 1em;
      position: relative;
      z-index: 0;
      background-color: #fff;
   }

   /* ▼チェックが入っているラジオボタンに対応するタブの中身を表示する */
   /* ▼チェックが入っているラジオボタンに対応するタブの中身を表示する */
   #tabcheck1:checked ~ #tabcontent1 { display: block; }
   #tabcheck2:checked ~ #tabcontent2 { display: block; }
   #tabcheck3:checked ~ #tabcontent3 { display: block; }
	#tabcheck4:checked ~ #tabcontent4 { display: block; }


/*■■■画像の拡大■■■*/

.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width: 320px;	/*画像の幅*/
	height: 187px;	/*画像の高さ*/
}
.imgWrap img {
	display: block;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.imgWrap img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

.banner a:hover {
	opacity: 0.8;
}

.border_link{
	border-bottom: solid 1px #333;
}





/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼企業情報▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/


#company_table{
	width: 100%;
	border-spacing: 0;
	margin-bottom: 100px;
}

#company_table th{
	width: 30%;
	padding: 15px 30px;
	background-color: #eee;
	border: solid 1px #999;
}

#company_table td{
	width: 70%;
	padding: 15px 30px;
	border: solid 1px #999;
}

#company_map iframe{
	width: 100%;
	height: calc(100vw / 2.5);
}





/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼お問い合わせ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/


#form_wrap {
	width:100%;
	background-color: #fff;
	padding: 30px;
}

.formTable{
	width:100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	border-collapse:collapse;
	margin-bottom: 30px;	
}

.formTable input{
	cursor: pointer!important;
}

.formTable td,.formTable th{
	padding:10px;
}

.formTable th{
	width: 35%;
	max-width: 300px;
	font-weight:normal;
	text-align:left;
	vertical-align: middle;
}

.formTable td{
	width: 65%;
}

.formTable input,.formTable select{
	width: 100%;
	background-color: #eee;
	height: 50px;
	-webkit-appearance: none;
	border-color: #ccc;
	border-width: 1px;
	font-size: 16px;
	padding-left: 15px;
	cursor: pointer;
}

.formTable textarea{
	width: 100%;
	max-width: 700px;
	background-color: #eee;
	-webkit-appearance: none;
	border-color: #ccc;
	border-width: 1px;
	font-size: 16px;
	padding-left: 15px;
}

#submit_btn{
	width: 250px;
	font-size: 16px;
	color: #fff;
	padding: 20px;
	background-color: #dd0000;
	border-radius: 5px;
	-webkit-appearance: none;
	margin-bottom: 30px;
	margin-top: 20px;
	margin-right: 20px;
	cursor: pointer;
}

#reset_btn{
	width: 250px;
	font-size: 16px;
	color: #fff;
	padding: 20px;
	background-color: #999;
	border-radius: 5px;
	-webkit-appearance: none;
	border-color: #999; border-width: 1px;
	margin-bottom: 30px;
	margin-top: 20px;
	margin-left: 20px;
	cursor: pointer;
}

#submit_btn:hover,#reset_btn:hover{
	opacity: 0.9;
}

.ppcy {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
	margin-top: 30px;
	width: 100%;
}

.ppcy h2 {
	font-size: 27px;
	margin-bottom: 10px;
	text-align: center;
}

.ppcy .txtBoxWrap {
	border: 1px solid #585757;
	height: 250px;
	overflow: auto;
	padding: 20px;
}

.ppcy .txtBoxWrap p{
	font-size: 90%;
	line-height: 1.5;
}

.formTable th span{
	background-color: #eb6666;
	color: #fff;
	display: inline-block;
	padding: 3px 12px;
	border-radius: 5px;
	margin-left: 10px;
	font-size: 14px;
}

.form_btn{
	text-align: center;
	margin-bottom: 50px;
	cursor: pointer;
}

.form_btn input{
	font-size: 16px;
	padding: 10px 30px;
	cursor: pointer;
}




/*■■■■■■■■■■■■■■■■■■■■サイトマップ■■■■■■■■■■■■■■■■■■■■■■■*/

#sitemap_top_wrap{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-top: calc(100vw / 10);
	margin-bottom: 100px;
}

#sitemap_top_wrap ul{
	margin-bottom: calc(100vw / 50);
}

#sitemap_top_wrap li{
	line-height: 3;
	font-size: 15px;
	border-bottom: solid 1px #ddd;
	font-weight: 500;
}

#sitemap_top_wrap li ul li{
	font-weight: 400;
}

#sitemap_top_wrap ul a{
	color: #d00;
	position: relative;
	display: block;
	transition : all 0.5s ease 0s;
}

#sitemap_top_wrap ul a:hover{
	background-color: rgba(220,0,0,0.1);
}

#sitemap_top_wrap ul li a::after{
	content: "";
	position: absolute;
	right: 0px;
	background-image: url("../images/btn_right_arrow_red.svg");
	background-repeat: no-repeat;
	width: 6px;
	height: 10px;
	top: calc(50% - 5px);
}






/*■■■■■■■■■■■■■■■■■■■■ページ送り■■■■■■■■■■■■■■■■■■■■■■■*/

ul.page-numbers{
	margin-top: 50px;
	text-align: center;
	font-size: 16px;
	margin-bottom: 100px;
}

ul.page-numbers li{
	display: inline-block;
	margin-right: 10px;
}

ul.page-numbers span.current{
	padding: 20px;
	background-color: #eee;
}

ul.page-numbers li a{
	display: block;
	padding: 20px;
}

ul.page-numbers li a:hover{
	color: #cc0000;
	background-color: #eee;
}


ul.page-numbers li a.prev, ul.page-numbers li a.next{
	border: 1px solid #eee;
}

ul.page-numbers li.next{
	margin-right: 0;
}

ul.page-numbers li a.prev:hover, ul.page-numbers li a.next:hover{
	color: #fff!important;
	background-color: #999;
}





/*▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼プライバシーポリシー▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/


#privacy h3{
	font-size: 21px;
	margin-bottom: 10px;
}

#privacy p{
	margin-bottom: 60px;
}

#privacy_box{
	border: solid 1px #333;
	padding: 20px;
	margin-bottom: 30px;
}

#privacy_box p{
	margin-bottom: 10px!important;
}



/*■■■■■■■■■■■■■■■■■■■■GMO■■■■■■■■■■■■■■■■■■■■■■■*/

.l-section-cont {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 80px;
}
 
.l-heading-cont {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 24px;
	text-align: center!important;
	margin-bottom: 0.8rem;
	color: #d00;
}

.p-sentence-cont {
	margin: 0 0 2em;
	line-height: 2.4;
	text-align: left;
}

.c-btn-cont {
	padding: 10px 0 0 0;
	text-align: center;
}

.c-btn-cont a {
	background: #DD0000;
	border-radius: 5px;
	color: #fff !important;
	display: inline-block;
	font-weight: bold;
	padding: 15px 20px;
	position: relative;
	text-decoration: none;
	transition: 0.2s;
	max-width: 500px;
	width: auto;
	font-size: 17px;
	min-width: 300px;
}

.c-btn-cont a:hover {
	opacity: 0.6;
}

.c-nap h2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 26px;
	text-align: center;
}

.c-table {
	border-collapse: collapse;
	text-align: left;
	width: 100%;
	font-size: 14px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.c-table th {
	background: #f7f7f7;
	border-radius: 5px;
	border: 3px solid #fff;
	text-align: left;
	vertical-align: middle;
	width: 25%;
	padding: 10px;
}

.c-table td {
	border: 3px solid #fff;
	vertical-align: middle;
	padding: 10px;
}

.u-p20 {
	padding: 20px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt80{
	margin-top: 80px !important;
}


@media ( max-width: 767px ) {
  .c-btn-cont a {width: 100%;}
  .c-table th {padding:10px 5px;}
  .c-table td {padding:10px 5px;}
}






