@charset "UTF-8";
/* CSS Document */
body{
	margin: 0px !important;
	scroll-behavior: smooth;
}
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;
}
#cl{
    padding: 0;
    margin: 0 auto;
    line-height: 2.0;
    font-size: 11px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #111;
    -webkit-text-size-adjust: 100%;
	position: relative;
	font-family: "Hanken Grotesk", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
#cl a {
	text-decoration: none;
	color: #2b2b2b;
}
#cl p {
    margin: 0;
}
#cl　a:hover {
	opacity: 1;
}
#cl .clear{
	clear: both;
}
#cl img {
    width: 100%;
    line-height: 0;
}
#cl ul,#cl li {
	list-style: none;
	padding: 0;
	margin: 0;
}
#cl .f-en {font-family: aktiv-grotesk, sans-serif;}
#cl .absolute {
	position: absolute;
}
@media only screen and (max-width: 768px)  {
	#cl {
		font-size: 11px;
	}
}


/** header
****************************************/
#cl #cl_header {
	background-image: url(https://www.dot-st.com/static/docs/curensology/pages/260305_uo/assets/images/top.jpg);
    background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
}
#cl .topimg {
	position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
}
#cl .topimg .logo {
	position: absolute;
	width: 36%;
	top: 44%;
}
#cl .topimg .logo:nth-of-type(1) {
	left: 2%;
}
#cl .topimg .logo:nth-of-type(2) {
	right: 2%;
}
#cl .read {
	margin-top: 100vh;
    height: 100vh;
    background: #000000a8;
    color: #fff;
    position: relative;
}
#cl .read p {
	width: 80%;
    margin: 0 auto;
	position: absolute;
    top: 36%;
    right: 0;
    left: 0;
}
#cl .read p span {
	display: block;
	font-size: 150%;
	font-weight: 600;
	text-align: center;
	margin: 0 0 5%;
}

@media only screen and (min-width: 769px)  {
	#cl #cl_header {
		width: 100%;
		background-image: url("https://www.dot-st.com/static/docs/curensology/pages/260305_uo/assets/images/top-pc.jpg");
	}
	#cl .topimg .logo {
		width: 18%;
		top: 42%;
	}
	#cl .topimg .logo:nth-of-type(1) {
		left: 5%;
	}
	#cl .topimg .logo:nth-of-type(2) {
		right: 5%;
	}
	#cl .read p {
		width: 40%;
		max-width: 480px;
		font-size: 12px;
	}
	#cl .read p span {
		font-size: 22px;
	}
}
/****************************************
               contents
****************************************/
#cl .container {
	position: relative;
	overflow: visible !important;
	
}
#cl .container section {
	overflow: hidden;
	position: relative;
	background: #fff;
}
#cl .container section.yellow {
	background: #edebd3;
}
@media only screen and (min-width: 769px) {
	#cl .container section:nth-of-type(1) .pic {
		display: block;
		width: 34%;
        max-width: 540px;
        margin: 88px auto 0;
	}
}


#cl .container section:nth-of-type(2) img {
	display: block;
	width: 92%;
	margin: 28% auto 0;
}

#cl .container section:nth-of-type(3) {
	position: sticky;
    top: 0;
    left: 0;
}
#cl .container section:nth-of-type(4) {
	position: sticky;
    top: 0;
    left: 0;
	padding-bottom: 5%;
}
#cl .container section:nth-of-type(4) img  {
	display: block;
    width: 68%;
    margin: 12% auto 0;
}
#cl .container section:nth-of-type(5) img  {
    margin: 0% auto 6%;
}
#cl .container section:nth-of-type(6) img {
    width: 74%;
    margin: 2% auto 0;
}
#cl .container .line {
	width: 100%;
	height: 1px;
	background-color: #111;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .3s ease-out;
	margin-top: 8%;
}

#cl .container .line.is-active {
	transform: scaleX(1); 
}
#cl .container section .no {
	text-align: center;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
    margin: 8% 0 4%;
}
#cl .container section .text {
	width: 82%;
    margin: 0 auto 8%;
    line-height: 1.8;
}
#cl .container .cate {
	background: #fff;
    margin-top: -4%;
    padding: 2% 0;
    z-index: 3;
    position: relative;
}
#cl .container .credit {
	width: fit-content;
	margin: 4% auto 0;
}
#cl .container .credit a {
	display: block;
}
#cl .container .cate .credit {
	margin: 0 auto 0;
}

#cl .container section .scroll_contents {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}

#cl .container section .scroll_item {
  width: 250px;
  flex-shrink: 0;
}
#cl .container section .container section {
  overflow: hidden; 
}

@media only screen and (min-width: 769px) {
	#cl .container section .no {
		font-size: 30px;
		margin: 50px 0 24px;
	}
	#cl .container .line {
		margin-top: 30px;
	}
	#cl .container section .text {
		text-align: center;
		margin: 0 auto 40px;
	}
	#cl .container section .credit {
        width: 40% !important;
        max-width: 437px;
        margin: 2% auto 0 !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
        text-align: center;
 }
	#cl .container section .credit a {
		width: 30%;
	}
	
	#cl .container section .scroll_item {
		width: 640px;
	}
	#cl .container section:nth-of-type(2) img {
		width: 100%;
		margin: 0;
	}
	#cl .container section:nth-of-type(4) {
		padding: 0 0 60px;
	}
	#cl .container section:nth-of-type(4) img  {
		margin: 40px auto 0;
	}
	#cl .container section:nth-of-type(5) div {
		
	}
	#cl .container section:nth-of-type(5) img {
		margin: 0% auto 0%;
	}
	#cl .container section:nth-of-type(6) img {
		 width: 24%;
		margin: 0 auto;
	}
}


#cl .container section .slide {
	position: relative;
	overflow: hidden;
	width: 50%;
    height: 68vw;
	margin: 0 auto;
}
#cl .container section .slide img {
	display: block;
	position: absolute;
	opacity: 0;
	animation: slideAnime 1.5s ease infinite;
}
#cl .container section .slide img:nth-of-type(1) { animation-delay: 0s }
#cl .container section .slide img:nth-of-type(2) { animation-delay: .5s }
#cl .container section .slide img:nth-of-type(3) { animation-delay: 1s }

@keyframes slideAnime {
   0% { opacity: 0 }
   1% { opacity: 1 }
  40% { opacity: 1 }
  41% { opacity: 0 }
 100% { opacity: 0 }
}

#cl .container section .flex {
	width: 76%;
    margin: 7% auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#cl .container section .flex img {
	width: 49.8%;
    margin-bottom: 0.4%;
}
@media only screen and (min-width: 769px) {
	#cl .container section .slide {
		width: 24%;
        height: 33vw;
	}
	#cl .container section .flex {
		width: 100%;
        flex-wrap: nowrap;
		margin: 60px auto 0;
	}
}
/** footer
**************************************************/
#cl .container section .footer {
	background: #fff;
    position: relative;
    padding: 8% 0 0%;
    text-align: center;
}
#cl .container section .footer .footer_logo {
	width: 42%;
    margin: 12% auto 6%;
}
#cl .container section .footer .footer_logo img {
	width: 100% !important;
}
#cl .container section .footer .copy {
	text-align: center;
	font-size: 8px;
	line-height: 2.5;
	letter-spacing: .8px;
}
@media only screen and (min-width: 769px)  {
	#cl .container section .footer {
		padding: 10px 0 0px;
	}
	#cl .container section .footer .footer_logo {
    width: 20%;
    max-width: 260px;
    margin: 80px auto 60px;
	}
	
}
#cl .bk {
	display: block;
}
.pin-spacer {
	background: #fff;
}
/**************************************************
                js
**************************************************/
#cl .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#cl .anim.ac {
	opacity: 1;
	transform: translate(0);
}
#cl .zoom {
    width: 100%;
	object-fit: cover;
	animation: zoomReset 2.5s ease-out 0s forwards;
	animation-fill-mode: both; 
}
@keyframes zoomReset {
  0% {
    transform: scale(1.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
#cl .mono {
    transition: filter 0.5s ease;
}
#cl .mono.is-gray {
    filter: grayscale(100%);
}
/****************************************
                view
****************************************/
.spview {
	display: block;
}
.pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
     .spview {
		display: none;
	}	
	.pcview {
		display: block;
	}
}