@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;
}
#contents{
	padding: 0;
	margin: 0;
}
@media (min-width: 769px) {
    #contents {
		margin-bottom: 0 !important;
	}
}
.speedoFooter{
	margin-top: 0 !important;
}
#cl{
    padding: 0;
    margin: 0 auto;
    line-height: 0;
    font-size: 10px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #111;
    -webkit-text-size-adjust: 100%;
	position: relative;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
}
#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 !important;
}
#cl ul,#cl li {
	list-style: none;
	padding: 0;
	margin: 0;
}
#cl .absolute {
	position: absolute;
}
#cl video {
	width: 100%;
}


@media only screen and (min-width: 769px)  {
	#cl {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		font-size: 13px;
	}
}


/** header
****************************************/
#cl #cl_header {
	width: 100%;
	line-height: 0;
	position: fixed;
	top: 0;
	z-index: -10;
}
#cl #cl_header .mask {
	width: 100%;
    height: 100vh;
	background: #11111138;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
#cl #cl_header .ttl {
	position: absolute;
	width: 42%;
	margin: 0 auto;
	top: 35%;
	left: 0;
	right: 0;
	z-index: 3;
}
@media only screen and (min-width: 769px)  {
	#cl #cl_header {
		width: 40%;
		height: 100vh;
		position: sticky;
	}
	#cl #cl_header .ttl {
		max-width: 240px;
		top: 35%;
	}
}
/** contents
**************************************************/
#cl #contents {
	background: #cbccc4;
    margin-top: 100vh;
    position: relative;
}
#cl #contents .menu {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s;
	padding: 3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 5%;
    left: 0;
    z-index: 99;
}
#cl #contents .menu.menu.is-show {
  opacity: 1;
  visibility: visible;
}
#cl #contents .menu a {
	width: 27%;
}

/* menu内：Speedoロゴのみ非表示（レイアウト維持） */
#cl #contents .menu a.menu_speedo.is-visually-hidden {
	visibility: hidden;
	pointer-events: none;
}

#cl #contents section {
	position: relative;
}
#cl #contents section:nth-of-type(1) div {
	width: 50%;
    margin: 0 auto;
    padding: 20% 0;
}
#cl #contents section:nth-of-type(2) .sec1 {
	position: relative;
    height: 135vw;
    margin-bottom: 20%;
}
#cl #contents section .main_credit {
	position: absolute;
	font-size: 13px;
	line-height: 1.8;
}
#cl #contents section .main_credit span {
	display: block;
	font-size: 78%;
}
#cl #contents section .main_credit .yaji {
	width: 6px;
    margin: 0 0 1.5% 6%;
}
#cl #contents section:nth-of-type(2) .main_credit {
	top: 6%;
    left: 6%;
}
#cl #contents section:nth-of-type(2) .sec1 .video {
	width: 70%;
    position: absolute;
    top: 22%;
    right: 0;
}
#cl #contents section:nth-of-type(2) .sec2 {
	position: relative;
	height: 165vw;
	margin-bottom: 20%;
}
#cl #contents section:nth-of-type(2) .sec2 div:nth-of-type(1) {
	width: 44%;
    top: 0%;
    left: 13%;
    z-index: 3;
}
#cl #contents section:nth-of-type(2) .sec2 div:nth-of-type(2) {
	width: 48%;
	top: 20%;
	right: 0;
	z-index: 2;
}
#cl #contents section:nth-of-type(2) .sec2 div:nth-of-type(3) {
	width: 45%;
	bottom: 0%;
	left: 23%;
	z-index: 1;
}



@media only screen and (min-width: 769px) {
	#cl #contents {
		width: 60%;
		margin-top: 0;
	}
	#cl #contents section .main_credit {
		font-size: 16px;
	}
	#cl #contents section .main_credit .yaji {
		width: 7px;
        margin: 0 0 1px 8px;
	}
	#cl #contents section:nth-of-type(1) div {
		width: 38%;
        max-width: 340px;
        padding: 140px 0;
	}
	/********************/
	#cl #contents section:nth-of-type(2) .sec1 {
		height: 57vw;
		margin-bottom: 180px;
	}
	#cl #contents section:nth-of-type(2) .sec1 .video {
		width: 54%;
		max-width: 550px;
		top: 150px;
		right: 4%;
	}
	#cl #contents section:nth-of-type(2) .main_credit {
		top: 80px;
		left: 6%;
	}
	#cl #contents section:nth-of-type(2) .sec2 {
		height: 100vw;
		margin-bottom: 200px;
	}
	#cl #contents section:nth-of-type(2) .sec2 div:nth-of-type(1) {
		
	}
	#cl #contents section:nth-of-type(2) .sec2 div:nth-of-type(2) {
		
	}
}



/*********************************************/
#cl #contents section:nth-of-type(3) {
	margin-bottom: 26%;
}
#cl #contents section:nth-of-type(3) .back {
	top: 14%;
    left: 0;
    width: 64%;
}
#cl #contents section:nth-of-type(3) .sec1 {
	height: 156vw;
	position: relative;
	margin-bottom: 26%;
}
#cl #contents section:nth-of-type(3) .main_credit {
	top: 6%;
    left: 6%;
}
#cl #contents section:nth-of-type(3) .main_credit a {
	color: #fff;
}
#cl #contents section:nth-of-type(3) div:nth-of-type(2) {
	top: 13%;
    right: 7%;
    width: 56%;
}
#cl #contents section:nth-of-type(3) div:nth-of-type(3) {
	bottom: 0%;
    right: 0%;
    width: 77%;
}
#cl #contents section:nth-of-type(3) .sec2 {
	position: relative;
	height: 88vw;
	width: 100% !important; 
	top: auto !important;
    right: auto !important;
}
#cl #contents section:nth-of-type(3) .sec2 div:nth-of-type(1) {
	top: 0%;
    left: 7%;
    width: 30%;
}
#cl #contents section:nth-of-type(3) .sec2 div:nth-of-type(2) {
	top: auto;
	bottom: 0%;
    left: 7%;
    width: 30%;
}
#cl #contents section:nth-of-type(3) .sec2 .video {
	top: 18%;
    right: 8%;
    width: 43%;
}
#cl #contents section:nth-of-type(3) .credit {
	top: -24%;
    right: 4%;
    width: 80%;
    text-align: right;
}
#cl #contents section:nth-of-type(3) .credit a {
	display: block;
	color: #fff;
	line-height: 2.0;
}


@media only screen and (min-width: 769px)  {
	#cl #contents section:nth-of-type(3) .back {
		top: 9%;
		left: 0;
		width: 66%;
	}
	#cl #contents section:nth-of-type(3) .sec1 {
		height: 86vw;
		margin-bottom: 180px;
	}
	#cl #contents section:nth-of-type(3) div:nth-of-type(2) {
		top: 140px;
		width: 56%;
		max-width: 540px;
	}
	#cl #contents section:nth-of-type(3) div:nth-of-type(3) {
		width: 72%;
		max-width: 740px;
	}
	#cl #contents section:nth-of-type(3) .sec2 {
		max-width: unset !important;
		height: 54vw;
	}
	#cl #contents section:nth-of-type(3) .credit {
		top: -15%;
	}
}

/*********************************************/
#cl #contents section:nth-of-type(4) .back {
	bottom: 0;
    left: 0;
    width: 100%;
}
#cl #contents section:nth-of-type(4) .sec1 {
	height: 158vw;
	position: relative;
}
#cl #contents section:nth-of-type(4) .sec1 div:nth-of-type(1) {
	width: 90%;
	margin: 0 auto;
}
#cl #contents section:nth-of-type(4) .main_credit {
	top: 40%;
    left: 6%;
}
#cl #contents section:nth-of-type(4) div:nth-of-type(2) {
	top: 50%;
    right: 0;
    width: 46%;
}
#cl #contents section:nth-of-type(4) .sec2 {
	width: 100% !important;
	padding: 24% 0;
}
#cl #contents section:nth-of-type(4) .sec2 div {
	width: 36%;
	margin: 0 auto;
}
#cl #contents section:nth-of-type(4) .sec2 .text {
    width: 80%;
    margin: 10% auto 0;
	font-family: "noto-sans", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.8;
}
#cl #contents section:nth-of-type(4) .sec2 .sec2_seeall {
	text-align: center;
	margin-top: 10%;
	width: fit-content;
}
#cl #contents section:nth-of-type(4) .sec2 .sec2_seeall_btn {
	display: inline-block;
	border: 1px solid #2b2b2b;
	color: #2b2b2b;
	padding: 0.95em 2.5em;
	font-family: "Roboto", sans-serif;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.14em;
	line-height: 1;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
#cl #contents section:nth-of-type(4) .sec2 .sec2_seeall_btn:hover {
	background-color: #2b2b2b;
	color: #cbccc4;
	border-color: #2b2b2b;
}
@media only screen and (min-width: 769px)  {
	#cl #contents section:nth-of-type(4) .sec1 {
		height: 82vw;
	}
	#cl #contents section:nth-of-type(4) .sec1 div:nth-of-type(1) {
		width: 80%;
	}
	#cl #contents section:nth-of-type(4) div:nth-of-type(2) {
		width: 42%;
	}
	#cl #contents section:nth-of-type(4) .main_credit {
		top: 41%;
		left: 11%;
	}
	#cl #contents section:nth-of-type(4) .sec2 {
		padding: 180px 0;
	}
	#cl #contents section:nth-of-type(4) .sec2 div {
		width: 28%;
	}
	#cl #contents section:nth-of-type(4) .sec2 .text {
		width: 70%;
		font-size: 11px;
	}
	#cl #contents section:nth-of-type(4) .sec2 .sec2_seeall {
		margin-top: 48px;
	}
	#cl #contents section:nth-of-type(4) .sec2 .sec2_seeall_btn {
		font-size: 12px;
		padding: 1em 2.8em;
		letter-spacing: 0.12em;
	}
	
}

/** footer-curensology
**************************************************/
#cl #contents #footer-curensology {
    position: relative;
    padding: 13% 0 0%;
    text-align: center;
    border-top: solid 1px;
}
#cl #contents #footer-curensology .footer-curensology_logo {
	width: 42%;
    margin: 0% auto 10%;
}
#cl #contents .footer-curensology_logo a {
	display: block;
}
#cl #contents .footer-curensology_logo img {
	width: 100% !important;
}
#cl #contents .copy-curensology {
	text-align: center;
	font-size: 8px;
	line-height: 2.5;
	letter-spacing: .8px;
}
@media only screen and (min-width: 769px)  {
	#cl #contents #footer-curensology {
		padding: 80px 0 0px;
	}
	#cl #contents #footer-curensology .footer-curensology_logo {
		width: 30%;
		max-width: 240px;
		margin: 0% auto 65px;
	}
}

/** js
**************************************************/
#cl .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#cl .anim.ac {
	opacity: 1;
	transform: translate(0);
}

/****************************************
                view
****************************************/
.spview {
	display: block;
}
.pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
     .spview {
		display: none;
	}	
	.pcview {
		display: block;
	}
}