@charset "utf-8";
@font-face { 
  font-family: "gpb"; 
  src: url("../font/gpb.ttf") format("truetype") 
}
@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:none;
	color: #7e7859;
}

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-family: "Noto Sans JP", sans-serif;
	color: #333;
	background:#fff;
}



.center{
	text-align:center;
	margin:0 auto;
}

.left{
	text-align:left;
}


.right{
	text-align:right;
}

.right2 {
	text-align:right;
	padding-right: 30px;
}

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; 
}

.service{
	margin: 0px auto;
	text-align:left;
	font-size: 14px;
	line-height: 20px;
}

.s-img{
	margin: 10px 0;	
}

/* ---------------------------------------------------------------------
none
--------------------------------------------------------------------- */

.sp-none{
	display:none;
}



/* ---------------------------------------------------------------------
header
--------------------------------------------------------------------- */
#main{
	margin:0;
	overflow:hidden;
}



.mv {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
}
 
.mv-wrap {
  position: relative;
  height: 400px;
}
 
video {
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
 
.mv-bg {
  display: block;
  width: 100%;
  height: 400px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.top{
  position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
	width: 80%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  z-index: 3;
}

.top2{
  position: absolute;
  width: 94%;
  left: 3%;
  bottom: 5%;
  z-index: 3;
}

.live{
	position: absolute;
    top: 2%;
	right: 2%;
	z-index: 3;
	width: 20%;
	-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}

@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}



/* ---------------------------------------------------------------------
contents
--------------------------------------------------------------------- */

.title{
	margin: 20px auto;
	font-size: 26px;
	line-height: 46px;
	letter-spacing: -0.1em;
	font-weight: bold;
	text-align:center;
	background: linear-gradient(90deg, #ec48b8 20%, #8476b2 100%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;

}

.title2{
	text-align: right;
	font-size: 18px;
	line-height: 30px;
	margin:0 10px 0 4px;
}

.title3{
	font-size: 36px;
	line-height: 46px;
	background: #000;
	color: #fff;
	padding: 3px 10px;
	font-family: "gpb"; 
}

.title4{
	font-size: 36px;
	line-height: 46px;
	background: linear-gradient(90deg, #ec48b8 20%, #8476b2 100%);
	color: #000;
	padding: 3px 10px;
	font-family: "gpb"; 
}

.txt{
	margin: 30px 20px;
	text-align: left;
}

.section{
	margin: 0 auto;
	width: 100%;
}

.contents{
	width: 100%;
	padding: 20px 0;
	margin-bottom: 30px;
	background: #000;
	color: #fff;
}

.t-img{
	margin: 10px auto;
	text-align: center;
	width: 90%;
}

.faq{
	margin: 30px 20px;
}



.btn{
	margin: 30px auto;
	width: 80%;
	background: #000;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}

.btn a{
	color: #fff;
	display: block;
	padding: 25px 0;
}

.btn:hover{
	background: #ec48b8;	
}


@media screen and (min-width: 420px) and (max-width: 729px) {

.mv {
  width: 100%;
  height: 700px;
  position: relative;
  overflow: hidden;
}

.mv-wrap {
  position: relative;
  height: 700px;
}
 
video {
  display: block;
  width: 100%;
  height: 700px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
 
}


@media screen and (min-width: 730px) and (max-width: 1024px) {




.mv {
  width: 100%;
  height: 1200px;
  position: relative;
  overflow: hidden;
}

.mv-wrap {
  position: relative;
  height: 1200px;
}
 
video {
  display: block;
  width: 100%;
  height: 1200px;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
 
}
/* ---------------------------------------------------------------------
Footer
--------------------------------------------------------------------- */


#footer{
	padding:0;
	text-align:center;
	background: #000;
	color: #fff;
	padding: 30px 0 0;
}

.logo{
	width: 100px;
	text-align: center;
	margin: 0 auto;
}
.accordion {
  width: 100%;
  margin: 30px auto 0;
  overflow: hidden;  
}


.accordion-trigger {
  width: 100%;
  background: #000;
  font-size: 20px;
  color: #fff;
  padding: 0;
  text-align: center;
  justify-content: space-between;
  align-items: center;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}

.accordion-icon {
  transition: transform 0.2s;
}

.accordion-trigger[aria-expanded="true"] .accordion-icon {
  transform: scale(1, -1);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-in-out;
}

.accordion-content.open {
  max-height: 1400px;
}

.accordion-body {
  padding: 1rem;
}


address {
	margin:0px auto;
	padding:20px 0;
	font-size: 12px;
}


@media screen and (max-width: 320px){
.mv-wrap {
  height: 200px;
}


}

