@charset "utf-8";

@media screen and (max-width: 1024px){
/* Init tags
================================================*/
/*--- reset */
* {
    margin:0;
    padding:0;
    outline:0;
    vertical-align:baseline;
}


h1, h2, h3, h4, h5, h6, p {
	margin: 0;
}

address, em, cite, dfn, var {
  font-style: normal;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

ul {
	list-style:none;
	padding:0;
}
li {
	padding:0;
}

table {
  border-collapse: collapse;
}

table th{
  vertical-align:top;
}

input, select {
    vertical-align:middle;
}

a{
	text-decoration:underline;
	color: #1a264c;
}

a {
    -webkit-tap-highlight-color:transparent;
}

a:hover{
	color: #aaa;
	text-decoration:none;
}

a img {
    border-style:none;
}

	
html,body {  
  -webkit-text-size-adjust: none;  
} 


body {
    margin:0;
	width:100%; 
    font: 14px/20px 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro',Verdana,Arial,sans-serif;
	color: #191919;
	background:#000;
}



.center{
	text-align:center;
	margin:0 auto;
}

.right{
	text-align:right;
}

img{
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}


.clearfix:after {
	content: ".";
	display: block;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0; 
	clear: both;
	visibility: hidden; 
}


/* ---------------------------------------------------------------------
none
--------------------------------------------------------------------- */

.sp-none,
.loginform,
#menu-wrapper,
#menu-wrap,
.company-photo{
	display:none;
}



/* ---------------------------------------------------------------------
header
--------------------------------------------------------------------- */
#main{
	margin:0;
	overflow:hidden;
}

#main{background:none}
body::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../images/bg.jpg) center/cover no-repeat;
  -webkit-background-size:cover;
  }
  
#header {
	width: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 42px;
	z-index:1000;
	background:#fff;
	border-bottom: 2px solid #000;
	
}


#top{
	width:100%;
	height: 25px;
	z-index: 900;
}

.top-inner{
	margin:0 auto;
	width:100%;
	position: relative;

}

.spmenu{
	position: absolute;
	top:3px;
	left: 5px;
}

.spmenu img{
	width: 36px;
	height: 36px;
}

h1{
	margin:0;
	font-weight:normal;
	float:left;
	font-size:4px;
	line-height: 4px;
	width: 100px;
}

h2{
	font-weight:normal;
	float:left;
	font-size:4px;
	line-height: 4px;
}

.header-inner{
	margin:0 auto;
	text-align:center;
}


h3{
	padding-top: 6px;
}

h3 img{
	width:100px;
	height: auto;
}

.video-container {
  position: relative;
  text-align: center;
}

.toptop {
	position: absolute;
	text-align: center;
	padding:0;
	font-size: 14px;
	color: #fff;
	text-shadow:1px 1px 0px #000;
	line-height: 34px;
	top: 60%;
    left: 0;
	right: 0;
	bottom: 0;
	transform: translate(0%, -50%);
  margin: 0 auto;
  filter: drop-shadow(2px 1px 1px rgba(0,0,0,1.0));
  }
video {
	width: 200%;
	transform: translate(-25%, 0%);
 	display: block;
}



#top-banner{
	width: 100%;
	background:url(../images/sp-header.jpg) 0 0 no-repeat;
	background-size:cover;
	text-align:center;
	padding:100px 0;
	font-size: 18px;
	color: #fff;
	text-shadow:1px 1px 0px #000;
	line-height: 34px;
}

.contents{
	margin: 0 auto;
	padding:20px;
	text-align:left;
	background:#fff;
}

.title{
	margin: 5px auto 20px;
	text-align:center;
	padding-bottom:10px;
	border-bottom:1px solid #eee;
	font-size:20px;	
	width: 90%;
	line-height: 1.2;
}

.s-title{
	text-align:center;
	font-size:14px;	
}

.news-area{
	margin: 10px auto;
	text-align:left;
}

.news-area dl {
	padding:10px;
	border-bottom:1px solid #eee;
}

.news-area dt {
  float:left;
 
}

.news-area dd {
 margin-left:90px;
 	color:#333;
}

.news-area dl:hover {
	color: #191919;
}

.platform{
	margin: 0 auto;
	padding:20px 0;
	text-align: center;
	color: #fff;
}

h4{
	font-size:16px;
	font-weight:normal;
	margin-bottom: 15px;
}

.dsp01 img{
	width: 120px;
	height:120px;	
}

.dsp02{
	margin: 20px 10px;
}

.dsp03{
	padding-top: 20px;
}

.dsp04{
	padding-top: 10px;
	text-align: center;
}

.dsp04 li{
	margin: 10px 0;
}


.ssp-area{
	margin-top: 10px;
}

.ssp01{
	margin: 20px 10px;
}

.ssp02 img{
	width: 120px;
	height:120px;	
}

.ssp03{
	padding-top: 20px;
}

.asp-area {
	margin-top: 10px;
}
.asp01 img{
	width: 120px;
	height:120px;	
}
.asp02{
	margin: 20px 10px;
}


.btn-sign{
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #cecece;
	padding: 10px 0;
	background: url(../images/arrow.png) no-repeat right #fff;
	width: 300px;
	text-align: center;
	font-size: 16px;
}

.btn-sign:hover {
	background: url(../images/arrow.png) no-repeat right #ddd;
	color: #191919;
}

.btn-sign2{
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #cecece;
	padding: 10px 0;
	background: url(../images/arrow.png) no-repeat right #e77c07;
	width: 300px;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.btn-sign2:hover {
	background: url(../images/arrow.png) no-repeat right #ec9639;
	color: #191919;
}

.btn-sign3{
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #cecece;
	padding: 10px 0;
	background: url(../images/arrow.png) no-repeat right #fff;
	width: 300px;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.btn-sign3:hover {
	background: url(../images/arrow.png) no-repeat right #eee;
	color: #191919;
}

.btn-sign4{
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid #cecece;
	padding: 10px 0;
	background: url(../images/arrow.png) no-repeat right #f5b1c0;
	width: 300px;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.btn-sign4:hover {
	background: url(../images/arrow.png) no-repeat right #f7c1cd;
	color: #191919;
}

.contact-area{
	margin: 0px auto;
	text-align:center;
	padding: 30px 0;
	background-color: rgba(0,0,0,0.4);
	width: 90%;
	font-size: 16px;
	line-height: 30px;
	color: #fff;
}

.btn-contact{
	display: inline-block;
	box-sizing: border-box;
	border: 3px solid #191919;
	padding: 10px 0;
	background: url(../images/arrow.png) no-repeat right #fff;
	width: 90%;
	text-align: center;
	font-size: 16px;
	margin-top: 30px;
}

.btn-contact:hover {
	background: url(../images/arrow.png) no-repeat right #ddd;
	color: #191919;
}

#company{
width: 100%;
background: url(../images/sp-company.jpg) no-repeat;
background-size: cover;
background-position: center center;
text-align: center;
padding: 10px 0;
min-height: 240px;
}


.company-area{
	margin: 10px auto;
	text-align:left;
	font-size: 14px;
	line-height: 30px;
	color: #fff;
	background-color: rgba(0,0,0,0.4);
	width: 90%;
}

.company-area dl {
	padding:10px;
}

.company-area dt {
	float:left;
 
}

.company-area dd {
 	margin-left:120px;
	
}

.about{

}

.company-photo{
	float:left;
	width: 500px;
	height: 260px;
}

#map {
	height:320px;
	width:100%;
	margin:0;
}

/*SSP DSP
================================================*/

#contents-title{
	margin: 0 auto;
	padding:100px 0 0;
	text-align:center;
	border-bottom: 10px solid #191919;
	/* background:url(../images/sp-contents.jpg) 0 0 no-repeat; */
	background-size:cover;
}

#contents-title img{
	width:200px;
	height: 44px;
}

.contents-title-area{
	background-color: rgba(255,255,255,0.8);
	line-height: 30px;
	padding: 10px 0;
}

.contents-title{
	font-size:24px;
	color: #fff;
	font-weight:bold;
	padding: 20px 0 10px;
}

.contents-title02{
	font-size:18px;
	color: #fff;
	font-weight:bold;
	padding: 0 0 50px;
}

.ssp-contents{
	text-align: center;
	padding: 10px 0;
}

.ssp-contents2{
	text-align: left;
	padding: 10px 10px;
}

.indentback{
  text-indent: -3em;
  padding-left: 2.5em;
}

.ssp-txt01{
	font-size: 24px;
}

.title02{
	margin: 10px auto;
	text-align:center;
	padding-bottom:20px;
	border-bottom:2px solid #191919;
	font-size:20px;	
	line-height: 1.2;
}

.service{
	margin: 0 auto;
}

.service li{
	float:left;
	width:50%;
	text-align: center;
}

.service li img{
	width:200px;
	height: auto;
}

.service-title{
	border: 1px solid #a7a7a7;
	color: #707070;
	width: 95%;
	margin: 15px auto;
	font-size: 12px;
}

.flow{
	margin: 0 auto 30px;
}

.flow ul{
	margin:0 auto;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
}
	
.flow li{
	float:left;
	width:50%;
	text-align: center;
}

.flow li img{
	width:200px;
	height:auto;
}

.flow-title{
	margin: 15px auto 5px;
	font-weight: bold;
}

.flow-txt{
	padding: 0 20px;
	text-align: left;
	font-size: 14px;
	line-height: 22px;
}


.ssp-contents table{
    margin: 30px 2%;
    padding: 0;
	border:1px solid #a7a7a7;
	font-size: 14px;
	width: 96%;
}

.ssp-contents tr td {
    margin: 0;
    padding: 5px;
    text-align: center;
	border:1px solid #a7a7a7;
	vertical-align:middle;
}

.ssp-contents th {
    margin: 0;
    padding: 5px;
    text-align: center;
	border:1px solid #a7a7a7;
	background: #eee;
	vertical-align:middle;
}

.b-size{
	width:40%;
}

.reco{
	width:20%;
}

.b-orange{
	color: #e56b06;
	font-size: 18px!important;
}

.txt-contents{
	margin: 0 auto;
	text-align: left;
	padding: 10px 10px;
	line-height: 28px;
}

.midashi{
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #191919;
	margin: 15px 0;
}


.block {
  width: 100%;
  margin: 10px auto;
}

.tab-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tab-area li {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  padding: 10px 20px;
  background: #fff;
  color: #191919;
  cursor: pointer;
  border-bottom: 1px solid #eee;
}
.tab-area li.select {
  cursor: default;
  background: #eee;
}

.tab-content .main-area {

  padding: 30px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tab-content .hide {
  display: none;
}

.indent-1 {
	padding-left:1em;
	text-indent:-1em;
}

.indent-2 {
	padding-left:2em;
	text-indent:-1em;
}

.answer{
	background: #eee;
	padding: 5px 15px;

}

/* ---------------------------------------------------------------------
Form
--------------------------------------------------------------------- */
.contact{
	margin: 10px;
}

.contact table{
	width:100%;
	border:#ccc 1px solid;
	background-color:#fff;
	margin:4px auto 20px;
	font-size: 14px;

}

.contact th{
	width:100%;
	display: block;
	text-align:left;
	padding:20px 0 20px 10px;
	border-bottom:#ccc 1px solid;
	font-weight:bold;
	color:#000;
	background:#eee;
	font-weight:normal;
}


.contact td{
	width:100%;
	padding:10px;
	text-align:left;

	display: block;
}

.need{
	font-size: 12px;
	background: #ff811c;
	padding: 3px 8px;
	border-radius: 5px;
	margin-left: 5px;
    color: #fff;
}

.contct-label{
	padding:20px 0 20px 10px;
	border:#ccc 1px solid;
	text-align: center;
	color:#fff;
	background:#191919;
}

.btn-primary {
	width: 180px!important;
	margin: 0 auto!important;
	display: block!important;
    color: #fff!important;
    border-color: #e66b00!important;
    background-color: #f70!important;
}

.btn-primary:hover {
    color: #fff!important;
    border-color: #a84f00!important;
    background-color: #cc5f00!important;
}



/* ---------------------------------------------------------------------
Footer
--------------------------------------------------------------------- */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	
}

#page-top img{
	width:40px;
	height:40px;

}

#footer{
	background:#191919;
	padding:0;
	text-align:center;
	color:#fff;
}

#footer ul{
	width: 300px;
	margin: 20px auto;
}

#footer li{
	float: left;
	font-size: 12px;
	border-right: 1px solid #fff;
	padding: 0 13px;
}

#footer li:last-child{
	border-right:none;
}

#footer a{
	color: #fff;
	display: block;
}


#footer .logo {
	padding:20px 0 0;
}

#footer .logo img{
	width: 100px;
}

address {
	border-top:1px solid #fff; 
	margin:0px auto;
	font-size: 12px;
	padding:20px 0;
	background: #000;
}



.middle-fix01{
	width:100%;
	padding: 50px 0;
	margin: 0;
	background:url(../images/middle01.jpg);	

}


.cd-fixed-bg {
    background-attachment: fixed;
    background-position: top center;
	-webkit-background-size:750px 501px;
}


}




/* ---------------------------------------------------------------------
iPad
--------------------------------------------------------------------- */

@media screen and (min-width: 768px) and (max-width: 1024px) {
#top-banner{
	width: 100%;
	background:url(../images/header.jpg) no-repeat top center;
	background-size:cover;
	text-align:center;
	padding:100px 0;
	font-size: 24px;
	color: #fff;
	text-shadow:1px 1px 0px #000;
	line-height: 44px;
}
}

/* ---------------------------------------------------------------------
▼2412_修正
--------------------------------------------------------------------- */
@media screen and (max-width: 1024px){
.fv-container {
    margin-top: 42px;
	background-position: right center;
}
.fv-area {
    margin: 0 5%;
	padding: 40px 0;
}
.fv-text {
    background-color: rgba(255, 255, 255, 0.5);
	padding: 20px 0;
	margin: 0 auto 20px;
}
.fv-text img {
    width: 60%;
}
.video-sidebar {
	text-align: center;
	font-size: 18px;
	line-height: 1.6;
}
.video-sidebar .count_text {
    font-size: 18px;
}
.fv-btn-list {
    flex-wrap: wrap;
}
.fv-btn-list li {
    width: 80%;
}
.fv-btn-list li:not(:last-of-type) {
    margin-right: 0%;
	margin-bottom: 20px;
}
.custom-button {
	width: 100%;
}
#contents-title {
	background: url(../images/bance_sp-contents.jpg);
	background-size: cover;
    background-position: center;
	padding: 70px 0 0;
}
#contents-title img {
	width: 200px;
	height: auto;
}

#contents-title.contents-title-dsp{
	background:url(../images/bance_dsp_sp-contents.jpg) 0 0 no-repeat;
	background-size:cover;
	background-position: center;
}
#contents-title.contents-title-ssp{
	background:url(../images/bance_ssp_sp-contents.jpg) 0 0 no-repeat;
	background-size:cover;
	background-position: center;
}
#contents-title.contents-title-asp{
	background:url(../images/bance_asp_sp-contents.jpg) 0 0 no-repeat;
	background-size:cover;
	background-position: center;
}



#contents-title img.asp {
	width: 250px;
}

.contact th, .contact td {
	box-sizing: border-box;
}

input, textarea {
	box-sizing: border-box;
}

.wpcf7-form-control.wpcf7-radio.wpcf7-validates-as-required {
display: inline-block !important;
}
input[type="radio"].wpcf7-validates-as-required {
display: inline-block !important;
}
.wpcf7-form .wpcf7-radio {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
.wpcf7-form .wpcf7-radio label {
display: inline-flex;
align-items: center;
gap: 4px;
white-space: nowrap;
}


.tabs-format .tab-area {
	display: flex;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
	scrollbar-width: none; /* Firefoxでスクロールバー非表示 */
	justify-content: flex-start; 
}
.tabs-format .tab-area::-webkit-scrollbar {
  display: none; /* Chrome / Safari / Edgeでスクロールバー非表示 */
}

.tabs-format .tab-area li {
	flex: 0 0 auto; /* 横に並べて、折り返さない */
	padding: 10px 5px;
	font-size: 13px;
}

.tab-area.dragging {
	cursor: grabbing;
	user-select: none;
}
.tabs-format .tab-content .main-area {
    padding: 30px 0;
}
.tabs-format-box {
    display: flex;
    justify-content: center;
    width: 100%;
	flex-wrap: wrap;
}
.tabs-format-img {
    width: 60%;
}
.tabs-format-box dl {
    width: 100%;
	padding-top: 30px;
}
.tabs-format-box dt {
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.title_item {
	font-size: 22px;
	line-height: 1.4;
}
.partner_logo_list {
    display: grid;
    grid-template-columns: 48% 48%;
    grid-gap: 1rem 4%;
    width: 100%;
    margin: 20px auto;
}

.ssp_img {
	margin-bottom: 20px;
}
.asp_box {
flex-wrap: wrap;
}
.asp_box_img {
    width: 80%;
	margin: 0 auto;
}
.asp_box_txt {
    width: 100%;
}
.asp_img02 {
	margin-bottom: 20px;
}

.asp_list {
flex-wrap: wrap;
}
.asp_list li {
    width: 100%;
}
.asp_list li:not(:last-of-type) {
    margin-bottom: 40px;
}
.asp_list_img {
	max-width: 240px;
}
.asp_list_tit {
    margin-bottom: 10px;
}
.asp_list_txt {
    text-align: center;
}

}


@media screen and (max-width: 768px){
.fv-text img {
	width: 74.62%;
}
.fv-area-text {
    font-size: 14px;
}
.custom-button {
    font-size: 14px;
    border: 2px solid #fff;
}
.fv-btn-list li:not(:last-of-type) {
	margin-bottom: 15px;
}
.custom-button:hover {
	color: #fff;
}
.button-icon {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
}
.button-arrow::after {
    font-size: 14px;
}
}