@charset "utf-8";

/***** header *****/
header {
    text-align: center;
/*
	position: relative;
	padding: min(20vw, 30px) 0 min(16vw, 40px);
	background: var( --color_bg );
*/
}
header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}
.header_logo {
	will-change: animation; 
	animation: fadeIn 1.2s forwards;
	margin: 0 auto;
	width: 20%;
	max-width: 100px;
	
	z-index: 2;
	position: absolute;
	top: min(5vw, 20px);
	left: min(2vw, 20px);
	transition: none;
}
.header_logo a:hover {
/*	opacity: 0.7;*/
}

@media only screen and (min-width: 520px){
	header.fixed_pc {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}
/*	header {
		padding: min(20vw, 50px) 0 min(16vw, 40px);
	}*/
}
@media only screen and (max-width: 519px) {
/*	header {
		padding: min(10vw, 30px) 0 min(8vw, 25px);
	}*/
}
@media only screen and (orientation:landscape) and (max-height: 500px) {
/*	header {
		padding: min(20vw, 25px) 0 min(16vw, 20px);
	}
	.header_logo {
		max-width: 150px;
	}*/
}
@media only screen and (orientation:landscape) and (max-height: 400px) {
/*	header {
		padding: min(20vw, 20px) 0 min(15vw, 15px);
	}
	.header_logo {
		max-width: 100px;
	}*/
}
/***** /header *****/

/***** main_visual *****/
#main_visual {
    position: relative;
	margin: 0 auto;
	text-align: center;
	background: var( --color_bg );
}
/*
#main_visual .sec_bg svg {
    fill: var( --color_bg );
}
article #main_visual .sec_bg svg {
    fill: #fff;
}
*/


/* ------------------------------
   slider
------------------------------ */
/* slick CSS custom */
.slick-slide {
	height: 100vh;
}
.slick-slide > div {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
}
.slick-slide > div img {
	width: auto;
	height: 100vh;
}

.slick-list, .slick-track { touch-action:pan-y; }

.slick-prev, .slick-next {
	z-index: 1;
	width: 30px;
	height: 30px;
}
.slick-prev::before, .slick-next::before {
	font-family: 'remixicon';
	text-shadow: 1px 2px 2px #777;
	font-size: 30px;
	line-height: 1;
}
.slick-prev::before {
	content: "\EA63";
}
.slick-next:before {
	content: "\EA6D";
}
.slick-prev {
	left: 10px;
}
.slick-next {
	right: 10px;
}

@media (max-width: 1200px) {
	.slick-slide > div.pos_left_1200 {
		justify-content: flex-start;
	}
	.slick-slide > div.pos_left_1200 img {
		transform: translateX(-3%) scale(1.06);
	}
}
@media (min-aspect-ratio: 1920/1280) {
	.slick-slide > div img {
		width: 100vw;
		height: auto;
	}
}
@media (min-width: 640px) { /* Split View / タブレット / SP 横向き large */
/*
	.slick-slide {
		position: relative;
		margin: 0 60px;
		padding: 60px 0;
	}
	.slick-slide div {
		transition-duration: .4s;
		transition-timing-function: ease-in-out;
		opacity: 0.8;
		box-shadow: 7px 7px 15px -5px #666;
		overflow: hidden;
		transform: scale(0.8);
	}
	.slick-slide.slick-current div {
		transform: scale(1.0);
		opacity: 1;
	}
	.slick-slide div img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
*/
	.slick-prev, .slick-next {
		opacity: 0;
		transition: .3s;
	}
	.slider:hover .slick-prev, .slider:hover .slick-next {
		opacity: 1;
	}
}


/* スライド｜エリア全体 */
/*
.mv_wrap.slider {
	padding: 3.7em 0 2.7em;
	overflow: hidden;
	display: flex;
	align-items: center;
}
*/

/* スライド｜要素　枠 */
/*
  @keyframes slide_loop { from{ transform: translateX(-200%); } to{ transform: translateX(-100%); } }
.mv_slide {
	display: flex;
	animation: slide_loop 30s infinite linear 1.4s both;
}
.fast_start .mv_slide {
	animation: slide_loop 30s infinite linear .2s both;
}
.mv_slide:first-of-type {
	margin-right: 0.5vw;
}
*/

/* スライド｜要素 */
/*
.mv_wrap.slider li {
	display: flex!important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 800 / 1600;
	  height: 450px;
	height: min(60vw, 450px);
	gap: 1.8em;
}
.mv_wrap.slider li a {
	display: block;
	position: relative;
	text-align: right;
}
.mv_wrap.slider li a .photo {
	z-index: 1;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 90%;
	overflow: hidden;
	border-radius: 50%;
}
.mv_wrap.slider li a .photo img:first-of-type {
	z-index: 1;
	position: relative;
}
.mv_wrap.slider li a .photo img:last-of-type {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
}
.mv_wrap.slider li a .frame {
	z-index: 2;
	position: relative;
}
.mv_wrap.slider li a svg.txt {
	z-index: 3;
	position: absolute;
	top: 0;
	right: 0;
	overflow: visible;
}
.mv_wrap.slider li a svg.txt path {
	fill: none;
	stroke: none;
}
.mv_wrap.slider li a svg.txt text {
	font-weight: 700;
	font-size: max(8vw, 6em);
	fill: #e7602a;
	letter-spacing: 0.1em;
}
.mv_wrap.slider li a svg.txt text.txt_sub {
	fill: #fff!important;
}
.mv_wrap.slider li a svg.txt text.txt_sub textPath {
	font-size: 1.2em;
	letter-spacing: 0;
}
.mv_wrap.slider ul li:nth-of-type(4n+1) .iv:first-of-type svg.txt text { fill: #e7602a; }
.mv_wrap.slider ul li:nth-of-type(4n+1) .iv:last-of-type  svg.txt text { fill: #858bbc; }
.mv_wrap.slider ul li:nth-of-type(4n+2) .iv:first-of-type svg.txt text { fill: #ea8189; }
.mv_wrap.slider ul li:nth-of-type(4n+3) .iv:first-of-type svg.txt text { fill: #ef9300; }
.mv_wrap.slider ul li:nth-of-type(4n+3) .iv:last-of-type  svg.txt text { fill: #57b36f; }
.mv_wrap.slider ul li:nth-of-type(4n)   .iv:first-of-type svg.txt text { fill: #389aad; }
*/

/* スライド｜hover */
/*
.mv_wrap.slider li a:hover {
	transform: translate(3px, -3px);
}
.mv_wrap.slider li a:link .photo {
	z-index: -1;
}
.mv_wrap.slider li a:hover .photo img:first-of-type {
	transform: scale(1.3);
}
*/

/* スライド｜要素 inview */
/*
.mv_wrap.slider ul li:nth-of-type(6n+1) .iv:first-of-type,
.mv_wrap.slider ul li:nth-of-type(6n+3) .iv:last-of-type,
.mv_wrap.slider ul li:nth-of-type(6n)   .iv:first-of-type {
	animation-delay: 0s;
}
.mv_wrap.slider ul li:nth-of-type(6n+2) .iv:first-of-type,
.mv_wrap.slider ul li:nth-of-type(6n+5) .iv:first-of-type {
	animation-delay: .3s;
}
.mv_wrap.slider ul li:nth-of-type(6n+1) .iv:last-of-type,
.mv_wrap.slider ul li:nth-of-type(6n+4) .iv:first-of-type {
	animation-delay: .6s;
}
.mv_wrap.slider ul li:nth-of-type(6n+3) .iv:first-of-type,
.mv_wrap.slider ul li:nth-of-type(6n+5) .iv:last-of-type {
	animation-delay: .9s;
}
*/

/* スライド 停止時 */
/*
.fixed_effect .mv_slide {
	animation-play-state: paused;
}
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+1) .iv:first-of-type,
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+3) .iv:last-of-type,
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n)   .iv:first-of-type {
	animation-delay: 0s;
}
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+2) .iv:first-of-type,
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+5) .iv:first-of-type {
	animation-delay: 0s;
}
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+1) .iv:last-of-type,
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+4) .iv:first-of-type {
	animation-delay: 0s;
}
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+3) .iv:first-of-type,
.fixed_effect .mv_wrap.slider ul li:nth-of-type(6n+5) .iv:last-of-type {
	animation-delay: 0s;
}


@media only screen and (min-width: 401px){
	.mv_wrap.slider li a svg.txt text {
		  font-size: 5.5em;
		font-size: min(15vw, 5.5em);
	}
}
@media only screen and (min-width: 751px){
	.mv_wrap.slider li {
		  height: 420px;
		height: min(45vw, 420px);
	}
	.mv_wrap.slider li a svg.txt text {
		  font-size: 5em;
		font-size: min(9vw, 5em);
	}
}
@media only screen and (min-width: 1280px){
	.mv_wrap.slider li a svg.txt text {
		  font-size: 4.2em;
		font-size: min(8vw, 4.2em);
	}
}
@media only screen and (max-width: 519px){
}
@media only screen and (orientation:landscape) and (max-height: 500px) {
	.mv_wrap.slider li {
		  height: 300px;
		height: min(60vw, 300px);
	}
}
@media only screen and (orientation:landscape) and (max-height: 400px) {
	.mv_wrap.slider li {
		  height: 200px;
		height: min(60vw, 200px);
	}
}
*/

/*** scroll down ***/
.scrolldown {
	opacity: 0;
	z-index: 99;
	position: absolute;
	pointer-events: none;
	width: 2em;
	color: #726d5f
}

@media only screen and (min-width: 769px) {
	.scrolldown {
		right:2.5rem;
		bottom: 5.3rem;
		font-size: max(10px,.9375vw)
	}
}

@media only screen and (max-width: 768px) {
	.scrolldown {
		font-size:1.2rem;
		transform: scale(.8);
		transform-origin: right bottom;
		right: 1rem
	}
}

@media only screen and (max-width: 768px) {
	.scrolldown--sp_main {
		bottom:3rem
	}
}

@media only screen and (max-width: 768px) {
	.scrolldown--sp_top {
		position:absolute;
		color: #fff;
		bottom: 9.1rem
	}
}

@media only screen and (max-width: 768px) and (max-height: 550px) {
	.scrolldown--sp_top {
		bottom:auto;
		top: calc(100vh - 14.3rem)
	}
}

.scrolldown_text {
	font-family: effra,sans-serif;
	font-weight: 500;
	font-style: normal;
	display: block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 2
}

.scrolldown_border {
	position: absolute;
	display: block;
	width: 1px;
	overflow: hidden;
	height: 100%;
	top: 0;
	left: 0
}

.scrolldown_border:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: currentColor;
	animation: scrolldown 2.5s ease-in-out infinite
}

@keyframes scrolldown {
	  0% { opacity: 1; transform: translateY(-101%); }
	 90% { transform: translateY(101%); }
	 91% { opacity: 1; }
	 92% { opacity: 0; transform: translateY(101%); }
	 93% { opacity: 0; }
	100% { opacity: 0; transform: translateY(-101%); }
}
/***** /main_visual *****/
