@charset "UTF-8";
/* CSS Document */
body{margin: 0px !important;}
h1,h2,h3,h4,h5,h6{margin: 0;}
ul {
    display: block;
    list-stslideyle-type: disc;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}
*{
    min-height: 0;
    min-width : 0;
}
#bl{
    padding: 0;
    font-family: yu-gothic-pr6n, sans-serif;
    margin: 0 auto;
    line-height: 2.0;
    font-size: 11px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #172334;
    -webkit-text-size-adjust: 100%;
	overflow: hidden;
}
#bl a {
	text-decoration: none;
	color: #2b2b2b;
}
#bl p {
    margin: 0;
}
#bl　a:hover {
	opacity: 1;
}
#bl .clear{
	clear: both;
}
#bl img{
    width: 100%;
    line-height: 0;
}
#bl ul,#bl li {
	list-style: none;
	padding: 0;
	margin: 0;
}
.f-en {font-family: "Georgia", serif;}

/**opening (シャッターアニメーションに変更)
*********************************************/
.opening {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff; /* 背景色 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  /* fadeOutからshutterUpに変更 */
  animation: shutterUp 1.0s cubic-bezier(0.7, 0, 0.3, 1) forwards;
  animation-delay: 1.0s; /* 少し待ってからシャッターを上げる */
}

.opening .opening-logo {
  width: 62%; 
  /* シャッターが上がる前にロゴが消えないように調整 */
  animation: logoFade 1.2s forwards;
}

/* シャッターが上にスライドするアニメーション */
@keyframes shutterUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
    visibility: hidden;
  }
}

/* ロゴの挙動（任意：シャッターと一緒に上がる、または先に少し薄くするなど） */
@keyframes logoFade {
  0% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}

@media only screen and (min-width: 769px) {
	.opening .opening-logo {
		width: 40%;
		max-width: 480px;
	}
}
@media only screen and (max-width: 768px)  {
	#bl {
		font-size: 11px;
	}
}

#main_visual{
	position: relative;
}

#main_visual .ttl{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 62%;
}
@media only screen and (min-width: 768px)  {
	#main_visual .ttl{
	width: 34%;
	}
}
#bl .sub_ttl{
	margin: 10% auto 5%;
}
#bl .sub_ttl .sub_logo{
	width: 35%;
	margin: 0 auto 2%;
}
#bl .sub_ttl p{
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}
@media only screen and (min-width: 768px)  {
	#bl .sub_ttl p{
	font-size: 24px;
	}
}
#bl .sub_ttl .read{
	text-align: center;
    margin: 7% auto;
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
	font-weight: 600;
}

#bl .text{
	width: 90%;
    margin: 0 auto 10%;
	text-align: center;
}
#bl .text .center{
	text-align: center;
}
#bl .text .center span{
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
	font-weight: 600;
}

#bl .time{
	margin: 0 auto 10%;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
}
#bl .time span{
	display: block;
	font-size: 12px;
	font-weight: 600;	
}
#bl .time .pre{
	margin: 0 auto 10%;	
} 
#bl .time span:nth-of-type(2){
	display: block;
    font-size: 10px;
    font-weight: 300;
}
#bl .pic_p{
	margin: 0 auto;
	width: 45%;
}
#bl .button-23 a {
  font-family: 'Noto Serif JP', serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  border: 1px solid #333;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 240px;
  text-align: center; 
  padding: 12px 30px;
  margin: 5% auto 10%;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  z-index:999;
  transition: all 0.3s;
}
@media only screen and (min-width: 768px)  {
	#bl .button-23 a {
    font-size: 13px;
    max-width: 280px;
    padding: 15px 30px;
    }
}
#bl .button-23 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 1px;
  background: #333;
  transition: all 0.3s ease;
}

#bl .button-23 a:hover::after {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}

@keyframes OutIn-Line {
    0% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50.1% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }

    100% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
}
@media only screen and (min-width: 768px)  {
	#bl .sub_ttl{
	margin: 8% auto;
	}
	#bl .sub_ttl .sub_logo{
	width: 20%;
	margin: 0 auto 2%;
	}
	#bl .sub_ttl .read {
    margin: 2% auto;
	font-size: 15px;
    }
	#bl .text{
	text-align: center;
	}
	#bl .time .pre {
    margin: 0 auto 5%;
	}
	#bl .flex{
	display: flex;
    width: 1200px;
    margin: 0 auto;
	justify-content: space-around;
	align-items: flex-start;
	}
	#bl .child{
		width: 45%;
	}
	#bl .button-23{
		
	}
	
}
#bl .profile{
	width: 90%;
	margin: 16% auto;
}
#bl .profile .name{
	font-weight: 500;
	text-align: center;
	font-size: 12px;
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
}
#bl .profile .name span{
	display: block;
	margin: 0 auto 3%;
	font-size: 10px;
}
#bl .profile .prof_txt{
	letter-spacing: 1.1px;
}
#bl .profile .sns{
	display: flex;
    margin: 5% auto;
    width: 40%;
    justify-content: space-between;
	align-items: center;
}
#bl .profile .sns .icon{
	width: 50%;
	text-align: center;
}

#bl .profile .sns .icon img{
	width: 50%;
}
#bl .footer{
	border-top: 1px solid #000;
    padding-top: 20%;
}
#bl .footer .logo{
	width: 55%;
	margin: 0 auto 20%;
}
@media only screen and (min-width: 768px)  {
	#bl .profile{
	width: 90%;
	margin: 0 auto 10%;
	}
	#bl .profile .name span {
    margin: 0 auto 1.5%;
	}
	#bl .profile .prof_txt {
    width: 580px;
	margin: 0 auto;
	}
	#bl .profile .sns{
	width: 250px;
    }
	#bl .profile .sns .icon img{
	width: 35%;
	}
	#bl .footer .logo {
    width: 25%;
    margin: 0 auto 10%;
	}
	#bl .footer {
    padding-top: 12%;
	}
	#bl .pic{
	max-width: 1400px;
	width: 48%;
	margin: 0 auto;
	}
	
}

/*********content***********/
#content {
	margin: 10% auto 20%;
}
@media only screen and (min-width: 768px)  {
	#content {
	margin: 10% auto 12%;
}	
}
#content .look_area{
	position: relative;
	margin: 0 auto 10%;
	height: 150vw;
}
#content section:nth-of-type(2) .look_area{
	height: 208vw;
}
@media only screen and (min-width: 768px)  {
	#content section:nth-of-type(2) .look_area{
	height: auto;
	}
}
#content .look_area .a_1{
	margin-right: 0;
	width: 53%;
}
#content .look_area .a_2{
	width: 40%;
    margin: 10% 0 20% 17%;
}
#content .credit{
	font-size: 9px;
	position: absolute;
	right: 5%;
	top: 10%;
	width: 40%;
}
@media only screen and (min-width: 768px)  {
	#content .credit{
	font-size: 12px;
	}	
}
#content section:nth-of-type(3) .credit{
	top: 37%;
	width: 42%;

}
#content section:nth-of-type(5) .credit{
	position: static;
	width: 95%;
    margin-left: 5%;
	
}
@media only screen and (min-width: 768px)  {
	#content section:nth-of-type(5) .credit{
	margin-left: 0;
	}
	
}
#content section:nth-of-type(6) .credit{
	position: static;
	width: 48%;
    margin: 0 3% 0 2%;
}
#content .credit .item_box{
	display: flex;
	justify-content: space-between;
	margin: 0 auto 5%;
}
#content .credit .item_box .item{
	width: 100%;
}
@media only screen and (min-width: 768px)  {
	#content .credit .item_box{
	align-items: center;
	}
}
#content .credit .item_box .arrow{
	margin: 2% auto 0;
	width: 13%;
}

@media only screen and (min-width: 768px)  {
	#content section:nth-of-type(3) .credit .item_box .arrow{
	width: 6%;
	}
	#content section:nth-of-type(4) .credit .item_box .arrow{
	width: 6%;
	}
	#content section:nth-of-type(5) .credit .item_box .arrow{
	width: 5%;
	}
	#content section:nth-of-type(6) .credit .item_box .arrow{
	width: 5%;
	}
}
#content .look_sub{
	position: absolute;
	right:0;
	top: 32%;
	width: 40%;
}
#content .look_area .look_sub .polaa{
	width: 70%;
	
}
#content .look_area .look_sub .looka_3{
	position: absolute;
    top: 55%;
    right: 0;
    width: 85%;
	
}
@media only screen and (min-width: 768px)  {
	#content .look_area{
	height: auto;
	}
	#content .look_area .credit{
	font-size: 12px;
	right: 0;
	}
	#content .look_area .credit .item_box .arrow {
    margin: 0 auto 0;
    width: 5%;
	}
}
#content .look_area ul{
	position: relative;
	margin: 0 0 0 10%;
}
#content .look_area ul li:nth-child(1){
	transition: 2.5s all 0.3s ease;
	width: 20%;
	margin-left: 1%;
	
}
#content .look_area ul li:nth-child(2){
	transition: 2.5s all 0.6s ease;
	width: 20%;
	position: absolute;
	top: 15%;
	left: 7%;
	transform: rotate(15deg);
}
#content .look_area ul li:nth-child(3){
	transition: 2.5s all 0.9s ease;
	width: 20%;
	transform: rotate(-15deg);
}
#content .look_area .lookb_1{
	position: absolute;
    width: 55%;
    right: 0;
    top: 3%;
}
#content section:nth-of-type(2) .look_area .credit {
	top: 43%;   
}
#content section:nth-of-type(4) .credit {
	top: 53%;   
}
@media only screen and (min-width: 768px)  {
	#content section:nth-of-type(2) .look_area .credit {
	top: 48%;
	}
}
#content .look_area .b_2{
	width: 41%;
    margin: 13% auto 10% 0;
	
}
#content .look_area .b_3{
	width: 70%;
    margin: 10% 0 10% auto;
	
}
@media only screen and (min-width: 768px)  {
	#content .look_area .b_3 {
    width: 50%;
    }
}
#content .lookc{
	line-height: 0;
	margin: 30% auto;
	width: 70%;
	position: relative;
}

@media only screen and (min-width: 768px)  {
	#content .lookc {
    margin: 15% auto;
    width: 60%;
	}
}
#content .lookc .c_child:nth-child(2){
	
}
#content .lookc .c_child:nth-child(3){
	position: absolute;
    width: 37%;
    right: -4%;
    transform: rotate(10deg);
    bottom: -10%;
}
#content .lookc_sub{
	position: relative;
}
@media only screen and (min-width: 768px)  {
	#content .lookc_sub{
    margin: 30% auto;
	}
}
#content .lookc_sub .c_3{
	margin-right: auto;
	width: 70%;
}
#content .lookd{
	position: relative;
	margin: 12% auto;
}
@media only screen and (min-width: 768px)  {
	#content .lookd{
	}
}
#content .lookd .d_1{
	width: 60%;
	margin-left: auto;
}
@media only screen and (min-width: 768px)  {
	#content .lookd .d_1{
	width: 56%;
	}
}
#content .lookd .polad{
	width: 23%;
    position: absolute;
    top: 10%;
    left: 5%;
    transform: rotate(-7deg);
	
}
#content .d_2{
	width: 75%;
	margin-right: auto;
}
@media only screen and (min-width: 768px)  {
	#content .d_2{
    margin: 0 auto 0 10%;
   	width: 62%;
	}
}
#content .lookd_sub{
	position: relative;
	margin: 12% auto;
}
@media only screen and (min-width: 768px)  {
	#content .lookd_sub{
	
	}
}
#content .lookd_sub .d_3{
	margin-right: auto;
	width: 50%;
}
#content .lookd_sub .polad_1{
	width: 27%;
    position: absolute;
    top: -6%;
    right: 5%;
    transform: rotate(8deg);
}
@media only screen and (min-width: 768px)  {
	#content .lookd_sub .polad_1 {
    width: 20%;
    
	}
}
#content .e_1{
	width: 90%;
    margin: 0 auto 5%;
}
@media only screen and (min-width: 768px)  {
	#content .e_1{
	width: 60%;
	}
}
#content .looke_sub{
	display: flex;
}
#content .e_3{
	position: relative;
}
#content .e_3 .polae{
	position: absolute;
    bottom: -20%;
    right: 10%;
    width: 54%;
    transform: rotate(-8deg);
}
@media only screen and (min-width: 768px)  {
	#content .e_3 .polae{
	bottom: -40%;
	}	
}
#content .lookf{
	position: relative;
	height: 94vw;
}
@media only screen and (min-width: 768px)  {
	#content .lookf{
	height: 60vw;
	}
}
#content .lookf .f_1{
	width: 55%;
    margin: 10% auto 0 0;
	
}
#content .lookf .f_2{
	width: 42%;
    position: absolute;
    top: 30%;
    right: 0;
}
#content .lookf_sub{
	display: flex;
	justify-content: space-between;
	align-items: center
}
#content .lookf_sub .f_3{
	width: 47%;
}
#content .f_4{
	width: 90%;
    margin: 10% auto 0;
}
@media only screen and (min-width: 768px)  {
	#content section{
	max-width: 1400px;
	width: 65%;
	margin: 0 auto;
	}
	#content .f_4{
	width: 65%;
    margin: 10% auto 0;
	}
}

.cms{
	color: #8D8D8D;
}

/*********MARK***********/
mark{
  --color1: #0055b245;
  --color2: #0055b245;
  --bg-height: 40%;
  all: unset;
  background-image: linear-gradient(var(--color1), var(--color2));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 var(--bg-height);
  animation: highlight 800ms 1 ease-out;
  animation-fill-mode: forwards;
  animation-play-state: paused;

}
@-webkit-keyframes highlight {
  to {
    background-size: 100% var(--bg-height);
  }
}
@keyframes highlight {
  to {
    background-size: 100% var(--bg-height);
  }
}
/********* END MARK ***********/

/**************************************************
                js
**************************************************/
#bl .anim {
	 opacity: 0;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
#bl .anim.ac {
	-webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: .8s;
}
@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
.anim{
		opacity: 0;
		transition: 1.5s all 0s ease;
}

.anim.ac{
		opacity:1;
}

/*===========
inview
===========*/

.fadeIn_left {
  opacity: 0;
  transform: translate(-5%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 5%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_right {
  opacity: 0;
  transform: translate(5%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/****************************************
                view
****************************************/
.spview {
	display: block;
}
.pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
     .spview {
		display: none;
	}	
	.pcview {
		display: block;
	}
}