@charset "utf-8";



*:focus {
  outline: none;
}
body{
    margin: 0;
    padding:0;
}

.Notosans{
    font-family: "Noto Sans JP", sans-serif;
}
.NotoSerifJP{
    font-family: "Noto Serif JP", sans-serif;
}
.Inter{
	font-family: "Inter", sans-serif;
}
.Futura{
	font-family: futura-pt, sans-serif;
}
.Helvetica{
	font-family: helvetica-lt-pro, sans-serif;
}



#ha_wrap{
	width: 100%;
	text-align: center;
    position: relative;
	padding:0;
    margin: 0 auto;
	color: #333333;
	background: #FFFFFF;
	line-height: 1.65em;
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 1px;
	overflow: hidden;
}

#ha_wrap img{
    width: 100%;
    border: 0;
    line-height: 0;
    vertical-align:top;
} 
#ha_wrap ul,#ha_wrap li{
	padding: 0;
    margin: 0 auto;
    list-style: none;
}

#ha_wrap a{
    text-decoration: none;
}
#ha_wrap a:hover{
    opacity: 1;
}
#ha_wrap .ha_head{
	width: 100%;
	position: relative;
	margin: 0 auto;
	padding:0;
	display:inline-block;
}
#ha_wrap .visual{
	width: 100%;
	aspect-ratio:2/3;
	position: relative;
}
#ha_wrap .title{
	position: absolute;
	width: 90%;
	display: inline-block;
	top: 38%;
	left: 5%;
	font-size: 30px;
	z-index: 20;
	font-family: futura-pt, sans-serif;
	color: #FFFFFF;
	font-weight: 500;
	letter-spacing: 0.09em;
}


#ha_wrap .lead{
	font-size: 15px;
	text-align: center;
	margin: 10% auto 0%;
	line-height: 2em;
	letter-spacing: 0.08em;
}
#ha_contents{
    width: 100%;
    position: relative;
	margin: 10% auto;
	padding: 0;
	display: block;
}
#ha_contents section{
	width: 100%;
	display: inline-block;
	text-align: center;
	margin:10% auto;
	position: relative;
	padding: 0;
	overflow: hidden;
}
#ha_contents section .inner{
	width: 100%;
	display: inline-block;
	margin: 0 auto;
	position: relative;
	padding: 0;
}
/*LOOK1*/
#ha_contents section .look{
	width: 100%;
	aspect-ratio: 3/4;
	position: relative;
	display: inline-block;
}
#ha_contents section .more{
    position: absolute;
    width: 26px;
    bottom: 8px;
    right: 8px;
	z-index: 20;
}
#ha_contents section .look a{
	display: block;
}
#ha_contents section .look_s1{
	width: 50%;
	margin-top: 10%;
	position: relative;
	display: inline-block;
	float: left;
}
#ha_contents section .look_s2{
	width: 50%;
	float: right;
	margin-top: 25%;
	position: relative;
	display: inline-block;
}
#ha_contents section .look_s3{
	width: 100%;
	margin-top:10%;
	position: relative;
	display: inline-block;
}
#ha_contents section .credit{
	width: 35%;
	position: relative;
	display: inline-block;
	margin: 1% auto;
	float: right;
}
#ha_contents section .txt{
	font-size: 10px;
	line-height: 1.5em;
	text-align: left;
	margin: 0 auto;
	font-family: futura-pt, sans-serif;
}
#ha_contents section .credit_2{
	width: 37%;
	position: relative;
	display: inline-block;
	margin: 1.5% 0 0% 3%;
	float: left;
}
/*LOOK2*/
#ha_contents section:nth-of-type(2) .look_s1{
	width: 50%;
	margin-top: 3%;
	position: relative;
	display: inline-block;
	margin-left: 50%;
}
#ha_contents section:nth-of-type(2) .look_s2{
	width: 70%;
	margin-top: 10%;
	float: left;
	aspect-ratio: 3/4;
}
#ha_contents section:nth-of-type(2) .credit{
	width: 35%;
	float: left;
	margin-left: 3%;
}
/*LOOK3*/
#ha_contents section:nth-of-type(3) .look{
	width: 65%;
	position: relative;
	display: inline-block;
	text-align: center;
}
/*LOOK4*/
#ha_contents section:nth-of-type(4) .look_s1{
	margin-top: 0%;
}
#ha_contents section:nth-of-type(4) .look_s2{
	margin-top: 0%;
}
#ha_contents section:nth-of-type(4) .look_s3{
	width: 50%;
	float: right;
	margin-top: 0%;
}
#ha_contents section:nth-of-type(4) .credit{
	width: 35%;
	margin: 2% auto 8%;
}

/*LOOK5*/
#ha_contents section:nth-of-type(5) .look{
	width: 62.5%;
	position: relative;
	display: inline-block;
	float: right;
}
#ha_contents section:nth-of-type(5) .credit{
	width: 30%;
	margin-top: 40%;
	margin-left: 5%;
	float: left;
}
/*LOOK6*/
#ha_contents section:nth-of-type(6) .credit{
	width: 35%;
}	
/*LOOK7*/
#ha_contents section:nth-of-type(7) .look{
	width: 80%;
	float: right;
}
#ha_contents section:nth-of-type(7) .credit{
	margin: 2% 50% 0%;
}
#ha_contents section:nth-of-type(7) .look_s1{
	width: 50%;
	margin-top: 10%;
	position: relative;
	display: inline-block;
	float: left;
}
#ha_contents section:nth-of-type(7) .look_s2{
	width: 50%;
	float: right;
	margin-top: 40%;
	position: relative;
	display: inline-block;
}
#ha_contents section:nth-of-type(7) .credit2{
	margin: 27% 0 0 25%;
	float: left;
}

#ha_footer{
	width: 100%;
	display: block;
	margin: 5% auto;
	position: relative;
}
#ha_footer .ttl{
	margin: 5% auto 0%;
	display: inline-block;
	font-size: 18px;
	font-family: futura-pt, sans-serif;
	text-align: center;
	line-height: 1em;
	font-weight: 500;
	
}
#ha_footer .img{
	width: 62%;
	text-align: center;
	margin: 0 auto;
	position: relative;
	display: block;
}
#ha_footer .staff_credit{
	margin: 10% auto;
	display: inline-block;
	font-size: 11px;
	font-family: futura-pt, sans-serif;
	text-align: center;
	line-height: 2em;
	
}

/************************************************************
               button
************************************************************/
.btn_area{
	width: 100%;
	background: #920617;
	display: inline-block;
	padding: 20% 0;
	position: relative;
	margin: 0 auto;
}

.btn_all a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
	margin: 0 auto;
    width: 90%;
    padding: 3.5% 0%;
    color: #ab0317;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    font-size: 18px;
    float: none;
    border-radius: 0px;
    line-height: 2em;
	background: #FFFFFF;
	font-family: joly-display, sans-serif;
	font-style: italic;
}

.btn_all a:after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #920617;
    border-right: 2px solid #920617;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}



.pc{
	display: none;
}
.sp{
	display: block;
}


.small{
	font-size:60%;
}

.clear {
	clear: both;
}


/************************************************************
                pc
************************************************************/

@media only screen and (min-width: 769px) {
	#ha_wrap{
		width: 1500px;
	}
	#ha_wrap .visual_pc{
		width: 100%;
		display: inline-block;
		margin: 0 auto;
		padding: 0;
	}
	#ha_wrap .visual_l{
		width: 50%;
		float: left;
	} 
	#ha_wrap .visual_r{
		width: 50%;
		float: right;
	}
	#ha_wrap .title{
		font-size: 40px;
	}
	#ha_wrap .lead{
		margin: 5% auto 0;
	}
	#ha_contents{
		width: 1100px;
	}
	#ha_contents section{
		margin: 5% auto;
	}
	#ha_contents section .look{
		width: 60%;
		float: none;
		text-align: center;
		margin: 0 auto;
	}
	#ha_contents section .look_s3{
		width: 70%;
	}
	#ha_contents section .more{
		width: 35px;
		bottom: 12px;
		right: 12px;
	}
	#ha_contents section .credit_box{
		width: 100%;
		display: inline-block;
		margin: 0 auto;
		position: relative;
	}
	#ha_contents section .credit{
		width: 30%;
		margin-right: 2%;
	}
	#ha_contents section .credit_2{
		width: 30%;
		margin-left: 15%;
	}
	#ha_contents section .txt{
		font-size: 12px;
	}
	#ha_contents section:nth-of-type(2) .look{
		width: 60%;
		float:left;
		text-align: center;
		margin: 0 auto;
	}
	#ha_contents section:nth-of-type(2) .credit{
		margin: 78.5% auto 0;
		margin-left: 2%;
	}
	#ha_contents section:nth-of-type(2) .look_s1{
		width: 30%;
		margin-left:70%;
	}
	#ha_contents section:nth-of-type(2) .look_s2{
		width: 50%;
		margin-top: -20%;
	}
	#ha_contents section:nth-of-type(3) .look{
		width: 35%;
		display: flex;
		flex-wrap: wrap;
	}
	#ha_contents section:nth-of-type(4) .credit{
		margin: 2% -2% 5% 0;
	}
	#ha_contents section:nth-of-type(5) .look{
		width: 45%;
		margin-right: 22%;
	}
	#ha_contents section:nth-of-type(5) .credit{
		width: 12%;
		margin-top: 30%;
		margin-left: 10%;
	}
	#ha_contents section:nth-of-type(6) .look{
		float: left;
	}
	#ha_contents section:nth-of-type(6) .credit{
		width: 30%;
		margin: 79% auto 0;
		margin-right: 7%;
	}
	#ha_contents section:nth-of-type(7) .look{
		width: 60%;
	}
	#ha_contents section:nth-of-type(7) .credit{
		width: 15%;
		margin-right: 45%;
	}
	#ha_contents section:nth-of-type(7) .credit2{
		margin-left: 38%;
	}
	#ha_footer .img{
		width: 32.5%;
	}
	#ha_footer .ttl{
		width: 100%;
		line-height: 1em;
		margin: 4% auto 2.5%;
		font-size: 20px;
	}
	#ha_footer .staff_credit{
		margin: 0 auto;
		font-size: 14px;
	}
	.small{
		font-size:80%;
	}

    .pc {
		display:block;
	}
	.sp {
		display:none;
	}

}

/* ================================================ 
　　　　　　　　　　　　css動き
================================================ */
.slider{
	position: absolute;
	inset: 0;
	opacity: 0;
	animation: anime 4s 0s infinite;
	z-index: 2;
}

.slider:nth-of-type(2) {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}
.slider img{
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
}

@keyframes anime {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
60% {
opacity: 0;
z-index: 10;
}
100% {
opacity: 0;
}
}



/* ================================================ 
　　　　　　　　　　　　JS動き
================================================ */

.fade01{
	opacity: 0;
	transition: 1.8s all 0.2s ease;
}
.fade02{
	opacity: 0;
	transition: 1.8s all 0.5s ease;
}
.fade03{
	opacity: 0;
	transition: 1.8s all 0.8s ease;
}
.fade04{
	opacity: 0;
	transition: 1.8s all 1.1s ease;
}
.fade01.ac,.fade02.ac,.fade03.ac,.fade04.ac{
	opacity: 1;
    transform: translate(0);
}
.anim01 {
    opacity: 0;
    transform: translateY(50px);
    transition: 2s all 0.2s ease;
}
.anim02 {
    opacity: 0;
    transform: translateY(50px);
    transition: 1.5s all 0.4s ease;
}
.anim03 {
    opacity: 0;
    transform: translateY(50px);
    transition: 1.5s all 0.6s ease;
}

.anim01.ac,.anim02.ac,.anim03.ac {
	opacity: 1;
    transform: translate(0);
}


