@charset "UTF-8";

/*COMMON*/

body,
html {
	text-align: left;
	text-decoration: none;
	 scroll-behavior: auto;
}

body {
	-webkit-font-smoothing: antialiased
}


 body {
	  margin: 0;
   
  }

img {

	image-rendering: -webkit-optimize-contrast !important;

}

*:focus {
	outline: none;
}

#wrapper {
	width: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
}


@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@-ms-viewport {
	width: auto;
	initial-scale: 1
}

@viewport {
	width: device-width;
	initial-scale: 1
}

div,
h1,
h2,
h3,
h4,
p {
font-family:"Inter", sans-serif;
}


.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 27900;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000; /* 半透明の背景 */

}


.loading_u {
	margin-top: 0;
		position: fixed;
		width: 100vw;
		height: 100vh;
		background-color: #000;
		background-position: center top 45%;
		z-index: 4500;
}

@media screen and (min-width:320px) and (max-width:1050px) {
	
	.loading {
  margin-top: 0;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    z-index: 27900;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000; /* 半透明の背景 */
    
	}
		.loading_u {
		margin-top: 0;
		position: fixed;
		width: 100vw;
		height: 100vh;
		background-color: #000;
		background-position: center top 45%;
		z-index: 4500;
	}
}

	@media screen and (min-width:768px) and (max-width:1050px) {
  .loading {
  margin-top: 0;
    position: fixed;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    z-index: 27900;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000; /* 半透明の背景 */

	}
}


.bgslider {
	position: fixed !important;
	width: 100vw;
	height: 100vh;
	max-width: 100vw;
	max-height: 100vh;
	min-height: 100vh;
	background-position: center top -100;
	background-size: cover;
  -webkit-transition: all .3s;
	transition: all .3s;


}

.bgslider_t {
	position: relative;
	width: 100%;
	height: 70vh;
	max-width: 70vw;
	max-height: 70vh;
	
	background-position: center top -100;
	background-size: cover;
  -webkit-transition: all .3s;
	transition: all .3s;
	z-index:500;

}

@media screen and (min-width:320px) and (max-width:1050px) {
  .bgslider_t {
	position: relative;
	width: 100%;
	height: 80vh;
	max-width: 100vw;
	max-height: 50vh;
    margin-top:70px;
    
	
	background-position: top center;
	background-size: cover;
  -webkit-transition: all .3s;
	transition: all .3s;
	z-index:500;

}
}


.contents_inner {
	position: relative;
	margin-top: 0;
	width: 80%;
	height: auto;
	margin-left: auto;
	margin-right: auto;

}



@media screen and (min-width:1050px) and (max-width:1350px) {

	.contents_inner {
		position: relative;
		padding: 0 0 0 0;
		text-align: justify;
		width: 90%;
		margin-left: auto;
		margin-right: auto;

	}
}

@media screen and (min-width:320px) and (max-width:1050px) {

	.contents_inner {
		position: relative;
		padding: 0 0% 0 0%;
		text-align: justify;
		width: 90%;
		margin-left: auto;
		margin-right: auto;

	}
	}



.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden
}

.clearfix {
	min-height: 1px
}

.wdt100 {
	width: 100%
}

@media screen and (min-width:320px) and (max-width:1050px) {
	.rspsv {
		width: 100%
	}
}

.rightbox {
	float: right;
	height: auto;

}

.leftbox {
	float: left;
	height: auto
}


[id*="trigger"] {
	position: absolute;
	margin-top: 0px;
}

#unchor1 {
	position: absolute;
	margin-top: -10%;
}


/*デバイス用*/
@media only screen and (min-device-width: 720px) and (max-device-width: 1050px) {
	#triggersub {
		margin-top:30%;
	}
}

.pagetopact {
	position: fixed;

	right: 20px;
	bottom: 20px;
	z-index: 4000;
}

.clearimg {
	-webkit-backface-visibility: hidden;
}

.overlaywrp_dot {
	position: fixed;
	width: 100vw;
	height: 101vh;
	top: -1px;
	background-image: url(../img/common/04.png);
	opacity: 0.8;
	z-index: 10 !important;
}


.js-load {
	display: none
}

.js-load.active {
	display: block
}


.brn {
	border-right: none !important;
}



.indent-1 {
	padding-left:0.3em;
	text-indent:-0.3em;
}
.indent-2 {
	padding-left:1em;
	text-indent:-1em;
}
.indent-3 {
	padding-left:2.1em;
	text-indent:-2.1em;
}
.indent-4 {
	padding-left:2.1em;
	text-indent:-2.1em;
}

.textarea_ll {
	font-size: min(3.3vw, 60px);
}
@media screen and (min-width:320px) and (max-width:1050px) {
  .textarea_ll {
	font-size: min(7vw, 55px);
}
}

.drop_s {
-webkit-filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, .8));
  filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, .8));
  }