@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap');



/* ==============================================
setting
============================================== */

html {
font-size: calc(100vw * 1 / 375);
line-height: calc(100vw * 1 / 375);
}
@media screen and (min-width:960px) {
html {
font-size: 1.4px;
line-height: 1.4px;
}
}
body {
background: url("../images/dt_bg.jpg");
background-size: 375rem 300rem;
}
body::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #000;
z-index: -1;
animation: bg 2.0s ease-out 0.0s both;
}
@keyframes bg {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@media screen and (min-width:960px) {
@keyframes bg {
0% {
opacity: 1;
}
100% {
opacity: 0.2;
}
}
}
*{
font-family: 'Roboto','Noto Sans JP',Meiryo,sans-serif;
font-size: 14rem;
line-height: 22rem;
letter-spacing: 0.8rem;
font-weight:500;
color:#fff;
margin:0;
padding:0;
box-sizing: border-box;
}
img{
width: 100%;
height: auto;
border:none;
vertical-align:top;
}
table {
border-collapse:collapse;
border-spacing:0;
}
ul{
list-style:none;
}
ul:after{
content:".";
clear:both;
height:0;
display:block;
visibility:hidden;
}
a{
text-decoration:none;
}



.pc{
display:none!important;
}



/* ==============================================
header
============================================== */

header{
}
header p{
text-align: center;
padding: 64rem 0 0 20rem;
}
header p a{
}
header p a img{
width: 92rem;
filter: drop-shadow(0 0 8rem rgba(0,0,0,1.0));
}



/* ==============================================
main
============================================== */

main{
margin: auto;
}
@media screen and (min-width:960px) {
main{
width: 600px;
}
}



main article{
}



main nav{
}
main nav ul{
position: fixed;
top: 0;
bottom: 0;
right: 10rem;
right: -30rem;
margin: auto;
width: 20rem;
height: 160rem;
transition: 0.4s ease-out;
z-index: 10;
}
main nav.on ul{
right: 10rem;
}
main nav ul li{
}
main nav ul li a{
font-size: 0rem;
line-height: 0rem;
display: block;
width: 20rem;
height: 20rem;
padding: 6rem 0 0 6rem;
}
main nav ul li a::before{
content: "";
display: inline-block;
width: 8rem;
height: 8rem;
border-radius: 4rem;
background: #0071be;
filter: drop-shadow(0 0 4rem rgba(0,0,0,1.0));
}
main nav ul li.on a::before{
background: #fff;
filter: drop-shadow(0 0 4rem rgba(0,113,190,1.0));
}



main nav div{
position: fixed;
bottom: -85rem;
left: 0;
right: 0;
width: 84rem;
margin: auto;
transition: 0.4s ease-out;
z-index: 10;
}
main nav.on div{
bottom: 0;
}
main nav div figure{
}
main nav div figure img{
}
main nav div p{
position: absolute;
top: 0;
left: 0;
opacity: 0;
z-index: -1;
transition: 0.4s ease-out;
}
main nav div p.on{
opacity: 1;
z-index: 1;
}
main nav div p a{
font-size: 12rem;
line-height: 16rem;
letter-spacing: 0.4rem;
font-weight: 700;
text-align: center;
color: #0071be;
display: block;
width: 84rem;
height: 85rem;
padding: 62rem 0 0 0;
}



main article section{
/* ▼コンテンツ表示区間 */
padding-top: 800rem;
/* ▼コンテンツ切り替え時間差 */
padding-bottom: 200rem;
}
main article section hr{
opacity: 0;
margin: 0;
padding: 0;
height: 0;
}
main article section .inner{
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
margin: -40rem auto 0 auto;
display: table;
opacity: 0;
z-index: -1;
transition: 0.4s ease-out;
}
@media screen and (min-width:960px) {
main article section .inner{
width: 600px;
}
}



@media screen and (min-width:960px) {

@media screen and (max-height:900px) {
main article section .inner{
transform: scale(0.9,0.9);
}
}
@media screen and (max-height:800px) {
main article section .inner{
transform: scale(0.8,0.8);
}
}
@media screen and (max-height:750px) {
main article section .inner{
transform: scale(0.7,0.7);
}
}
@media screen and (max-height:700px) {
main article section .inner{
transform: scale(0.65,0.65);
}
}
@media screen and (max-height:650px) {
main article section .inner{
transform: scale(0.6,0.6);
}
}

@media screen and (max-height:900px) {main article #title .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #title .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #title .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #title .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #title .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:600px) {main article #title .inner{margin: -60px auto 0 auto;}}

@media screen and (max-height:900px) {main article #data-01 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #data-01 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #data-01 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #data-01 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #data-01 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:600px) {main article #data-01 .inner{margin: -60px auto 0 auto;}}

@media screen and (max-height:900px) {main article #data-02 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #data-02 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #data-02 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #data-02 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #data-02 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:600px) {main article #data-02 .inner{margin: -60px auto 0 auto;}}

@media screen and (max-height:900px) {main article #data-03 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #data-03 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #data-03 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #data-03 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #data-03 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:600px) {main article #data-03 .inner{margin: -60px auto 0 auto;}}

@media screen and (max-height:900px) {main article #data-04 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #data-04 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #data-04 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #data-04 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #data-04 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:600px) {main article #data-04 .inner{margin: -60px auto 0 auto;}}

@media screen and (max-height:900px) {main article #data-05 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:800px) {main article #data-05 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:750px) {main article #data-05 .inner{margin: -50px auto 0 auto;}}
@media screen and (max-height:700px) {main article #data-05 .inner{margin: -60px auto 0 auto;}}
@media screen and (max-height:650px) {main article #data-05 .inner{margin: -90px auto 0 auto;}}
@media screen and (max-height:600px) {main article #data-05 .inner{margin: -120px auto 0 auto;}}

}



main article section.on .inner{
opacity: 1;
z-index: 1;
}
main article section .inner .data{
display: table-cell;
vertical-align: middle;
}
main article section .inner .data h1{
}
main article section .inner .data h1 img{
filter: drop-shadow(0 0 8rem rgba(0,113,190,1.0));
}
main article section .inner .data h2{
}
main article section .inner .data h2 img{
filter: drop-shadow(0 0 8rem rgba(0,113,190,1.0));
}
main article section .inner .data p{
text-align: center;
margin: 20rem 0 0 0;
}
main article section .inner .data p + p{
margin: 8rem 0 0 0;
}
main article section .inner .data .note{
font-size: 10rem;
line-height: 14rem;
font-weight: 400;
letter-spacing: 0.4rem;
}
main article section .inner .data .scroll{
overflow: hidden;
overflow-x: scroll;
margin: 0 0 -12rem 0;
padding: 24rem 0 12rem 0;
width: 375rem;
}
@media screen and (min-width:960px) {
main article section .inner .data .scroll{
width: 600px;
}
main article section .inner .data .scroll::-webkit-scrollbar{
height: 8px;
}
main article section .inner .data .scroll::-webkit-scrollbar-track{
background: #000;
cursor: pointer;
}
main article section .inner .data .scroll::-webkit-scrollbar-thumb{
background: #0071be;
border-radius: 4px;
cursor: pointer;
}
}
main article section .inner .data .scroll ul{
white-space: nowrap;
padding: 0 0 0 32rem;
}
main article section .inner .data .scroll ul li{
display: inline-block;
margin: 0 10rem 0 0;
}
main article section .inner .data .scroll ul li:last-child{
margin: 0 40rem 0 0;
}
main article section .inner .data .scroll ul li img{
width: 240rem;
border-radius: 4rem;
filter: drop-shadow(0 0 8rem rgba(0,113,190,1.0));
}



/* ==============================================
#introduction
============================================== */

#introduction{
padding: 0 32rem 800rem 32rem;
overflow: hidden;
}
@media screen and (min-width:960px) {
#introduction{
padding: 0 0 800rem 0;
overflow: inherit;
}
}
#introduction .inner{
}
#introduction .inner figure{
}
#introduction .inner figure img{
filter: drop-shadow(0 0 8rem rgba(0,113,190,1.0));
}
@media screen and (min-width:960px) {
#introduction .inner figure{
margin-right: 0!important;
margin-left: 0!important;
}
#introduction .inner figure img{
border-radius: 32rem!important;
}
}
#introduction .inner p{
font-size: 13rem;
line-height: 28rem;
}
#introduction .inner p img{
filter: drop-shadow(0 0 8rem rgba(0,113,190,1.0));
}



#introduction .inner .image-01{
margin: 64rem 0 0 -32rem;
}
#introduction .inner .image-01 img{
width: 230rem;
border-radius: 0 32rem 32rem 0;
}
#introduction .inner .image-02{
text-align: right;
margin: -64rem -32rem 0 0;
}
#introduction .inner .image-02 img{
width: 176rem;
border-radius: 32rem 0 0 32rem;
}
#introduction .inner .image-02 + p{
margin: -57rem -32rem 0 -32rem;
}
#introduction .inner .image-02 + p + p{
margin: 28rem 0 0 0;
}
#introduction .inner .image-03{
margin: 64rem 0 0 -32rem;
}
#introduction .inner .image-03 img{
border-radius: 0 32rem 32rem 0;
}
#introduction .inner .image-03 + p{
text-align: right;
margin: 56rem 0 0 0;
}
#introduction .inner p:last-child{
margin: 56rem -32rem 0 -32rem;
}



/* ==============================================
footer
============================================== */

footer{
display: table;
width: 100%;
}
footer div{
display: table-cell;
vertical-align: middle;
}
footer h2{
font-size: 20rem;
line-height: 35rem;
letter-spacing: 0.8rem;
font-weight: 700;
text-align: center;
margin: 24rem 0 0 0;
}
footer p{
text-align: center;
}
footer p a{
}
footer p a img{
width: 92rem;
filter: drop-shadow(0 0 8rem rgba(0,0,0,1.0));
}
footer figure{
text-align: center;
margin: 24rem 0 0 0;
}
footer figure img{
width: 91rem;
}
footer figure + p{
margin: 28rem 0 0 0;
}
footer p:last-child{
font-size: 10rem;
line-height: 14rem;
font-weight: 400;
text-align: center;
margin: 32rem 0 0 0;
}



/* ==============================================
animation
============================================== */

.animated {
animation-duration: 1s;
animation-fill-mode: both;
}
.animated.hinge {
animation-duration: 2s;
}



.fadeIn {
animation-name: fadeIn;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}



.fadeInUp {
animation-name: fadeInUp;
}
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(40rem);
}

100% {
opacity: 1;
transform: translateY(0);
}
}



.fadeInDown {
animation-name: fadeInDown;
}
@keyframes fadeInDown {
0% {
opacity: 0;
transform: translateY(-40rem);
}
100% {
opacity: 1;
transform: translateY(0);
}
}



.fadeInLeft {
animation-name: fadeInLeft;
}
@keyframes fadeInLeft {
0% {
opacity: 0;
transform: translateX(-40rem);
}
100% {
opacity: 1;
transform: translateX(0);
}
}



.fadeInRight {
animation-name: fadeInRight;
}
@keyframes fadeInRight {
0% {
opacity: 0;
transform: translateX(40rem);
}

100% {
opacity: 1;
transform: translateX(0);
}
}



.zoomIn {
animation-name: zoomIn;
}
@keyframes zoomIn {
0% {
opacity: 0;
transform: scale(0.8,0.8);
}
100% {
opacity: 1;
transform: scale(1.0,1.0);
}
}


