@charset "utf-8";

@media(max-width: 768px) {

/* --------------------
common
-------------------- */
.snsbox{
    position:relative;
    top:inherit;
    right: inherit;
    height: auto;
    padding: 20px 0 20px;
    width: auto;
    background:none;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    text-align: center;
}
.snsbox img{
    width: 36px;
    height: 36px;
    display: inline-block;
    margin: 0 0 18px 12px;
}
a.blue1 {
    color: #0094F7;
}
a.blue2 {
    color: #0067D3;
}
.morelink{
    display: block;
    font-size: 15px;
    font-weight: 400;
}
.morelink a:hover,.morelink a:active{
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: #0094F7;
}

/* --------------------
header & nav
-------------------- */
nav{
    width: 100%;
    background: #000;
    color: #EAEAEA;
    font-size: 12px;
    height: 47px;
}
nav a{
    height: 47px;
    line-height: 47px;
    color: #D6D6D6;
    text-decoration: none;
    display: block;
}
nav a:hover{
    color: #fff;    
}
nav  a:active {
    color: #D6D6D6;    
}
.nav-lt li:nth-child(n + 2){
    display: none;
}
.nav-rt li.contact{
    display: none;
}
.nav-rt li.menu{
    margin: 13px 10px 0;
    cursor: pointer;
}
.nav-lt li.logo a{
    height: 28px;
    line-height: 28px;
}
.nav-lt li.logo {
    margin: 7px 58px 0 10px;
}
.nav-rt{
    float: right;
}
.nav-rt li.lg{
    margin:0 15px 0;
    font-size: 14px;
}
.nav-rt li.lg a {
    display: inline;
}
.nav-rt li.tw a, .nav-rt li.ig a {
    height: 18px;
    line-height: 18px;
}
.nav-rt li.tw {
    margin: 14px 20px 0;
}
.nav-rt li.ig {
    margin: 15px 5px
        0 0;
}


/* --------------------
footer
-------------------- */
footer{
    width: 100%;
    background: #000;
    color: #D6D6D6;
    font-size: 11px;
    text-align: center;
    position: relative;
    height: 140px;
    margin: 30px 0 0;
}
.prof footer{
    margin: -30px 0 0;
}
footer a{
    color: #D6D6D6;
}
footer a:hover {
    color: #fff;    
}
footer a:active {
    color: #D6D6D6;    
}
.pagetop{
    width: 50px;
    position: absolute;
    right: 3%;
    top:-25px;
}
.ft-nav{
    padding: 35px 20px 10px;
    font-size: 12px;
}

/* --------------------
home
-------------------- */
#home h2{
    font-size: 30px; 
    line-height: 1.2;
    font-weight: 700;
    width: 100%;
    text-align: center;
    margin: 0 0 20px;
}
#home .works h2{
    margin: 0 0 30px;
}
#home h2 span{
    display: block;
    font-size: 12px; 
    margin: 5px 0 20px;
    font-weight: 300;
}

/* topimg */

.imgbox{
    width: 80%;
    padding: 38px 0 0;
    margin: 0 auto 10px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.imgbox li{
    float: left;
    margin:0 2% 5px 0;
    width: 32%;
}
.imgbox li:nth-of-type(3n){
    margin-right:0;
}
.imgbox li img{
    width: 100%;
    height: 95px;
    object-fit:cover;
    border-radius: 4px;
}

#topimg{
    height: calc(100vh - 128px);
    position: relative;
}
#title{
    width: 90%;
    margin: 0 auto;
}
#title h1{
    font-family: 'Reggae One', cursive;
    font-size: 32px;
    text-align: center;
    line-height: 1;
    font-weight: 400;
    margin: 0px 0 8px;
}
#title h1 span:nth-of-type(1){
    font-size: 75%;   
}
#title h1 span:nth-of-type(2){
    display: block;
    width: 90%;
    text-align: center;
    font-size: 13px;
    margin: 18px auto 0;
    padding: 7px 0 8px;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
#title p{
    font-size: 10px;
    width: 90%;
    margin: 0 auto;
    font-weight: 700;
    line-height: 1.4;
}

.more{
    width: 80px;
    height: 20px; 
    position: absolute;
    display: block;
    margin: 0 auto 0;
    z-index: 1000 !important;
    bottom:25px;
    left:calc(50% - 32px);
    opacity: 0.6;
}
.more:hover{
    opacity: 0.5;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
    transition: all  0.1s ease;
}
.more{
    animation: more1 3s ease-out infinite;
}

@keyframes more1 {
  5% { transform:translateY(0) }
10% { transform:translateY(0) }
60% { transform:translateY(-15px) }
100% { transform:translateY(0) }
}

/* works */

.works{
    background: #000;
    width: 100%;
    padding: 40px 0 10px;
    text-align: center;
}
.works h2{
    color: #fff;
}
.works ul{
    width: 80%;
    margin: 0 auto 25px;
    clear: both;
}
.works ul li{
    float: left;
    width: calc(50% - 6px);
    margin:0 12px 10px 0;
}
.works ul li:nth-of-type(2n){
    margin-right:0;
}
.works ul li:nth-of-type(5){
    float: right;
    margin: 10px 0px;
    font-size: 14px;
    font-weight: 300;
    width: 100%;
    text-align: right;
    height: auto;
}
.works li img{
    width: 100%;
    height: 150px;
    border-radius: 4px;
    object-fit: cover;
}

/* NFT */
    
body.nft{
    background: #EDEDED;
}

#nft1, #nft2{
    width: 100%;
    height: inherit;
    text-align: center;
    background: #242323;
    float: left;
    font-size: 16px;
    font-weight: 700;
}
#nft1 img{
    margin: 20px 0 50px;
    width: 80%;
    border-radius: 18px;
}
#nft2 img{
    margin: 20px 0 50px;
    width: 80%;
    border-radius: 18px;
}
#nft1 h2{
    color: #fff;
    margin:40px 0 10px;
}
#nft2{
    background: #EDEDED;
    float: right;
}
#nft2 h2{
    color: #040707;
    margin:40px 0 10px;
}

/* blog */

.blog-home{
    margin: 40px auto 30px;
    width: 100%;
    min-width: 100%;
    text-align: center;
    clear: both;
}
.blog-home h2{
    margin:70px 0 0px;
}
.blog-home .blog-main-ul{
    margin: 30px auto 0;
    width: 90%;
}

/* --------------------
page
-------------------- */

/* works */

#page-tl{
    color: #eaeaea;
    font-size: 28px;
    border-top: 1px solid #4D4D4D;
    border-bottom: 1px solid #4D4D4D;
    padding: 20px 10px;
    text-align: center;
    font-weight: 700;
    line-height: 20px;
}
.pop #page-tl{
    color: #1d1d1f;/**/
    border-top: 1px solid #D2D2D7;
    border-bottom: 1px solid #D2D2D7;
}
.nft #page-tl{
    border-bottom: 1px solid #000;
    background: #000;
}
#page-tl h1{
    font-size: 12px;
    display: block;
    font-weight: 400;
    margin: 10px 0 0;
    line-height: 1;
    line-height: 1;
}
.blog #page-tl h1{
    font-size: 32px;
    font-weight: 700;
    margin: 0 15px 0 0;
    text-align: left;
}
.blog #page-tl span{
    font-size: 12px;
    font-weight: 400;
}
.gallery{
    color: #eaeaea;
    width: 90%;
    margin: 25px auto 25px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.pop .gallery{
    color: #1d1d1f;
}
.gallery li{
    float: left;
    width: 48%;
    margin:0 4% 15px 0;
    text-align: center;
    padding: 15px 0;
    border-radius: 4px;
    background: #242323;
}
.pop .gallery li{
    background: #f0f0f0;
}
.gallery li:nth-of-type(3n){
    margin-right:inherit;
}
.gallery li:nth-of-type(2n){
    margin-right:0;
}
.gallery li img{
    width: 85%;
    height: 100px;
    border-radius:6px;
    object-fit: cover;
}
.gallery li h2{
    font-size: 16px;
    margin: 10px 0 0;
    font-weight: 700;
    line-height: 1.2;
}
.gallery li span{
    font-size: 12px;
    display: block;
    font-weight: 400;
    margin: 5px 0 0;
}


/* profile */

.profile{
    height: inherit;
    color: #eaeaea; 
    background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.55) 100%), url(../img/profile/profile_bg.jpg) no-repeat 68% center/ auto 100%;
}
.prof-ct{
    width: 90%;
    padding: 30px 20px 50px;
    color: #9D9D9D;
}
.prof-ct h2{
    font-family: 'Roboto', sans-serif;
    font-size: 55px;
    font-weight: 100;
    line-height: 1;
    color: #eaeaea;
    text-align: center;
}
.prof-ct h2 span{
    display: block;
    font-size: 45px;
    font-weight: 700;
    margin: 0px 0 0;
    font-family: 'Noto Sans JP', sans-serif;
}
.prof-ct strong{
    font-size: 16px;
    font-weight: 700;
}
.prof-ct h3{
    font-size: 21px;
    font-weight: 700;
}
.prof-ct .record{
    margin: 30px 0;    
}
.prof-ct .history{
    margin: 30px 0;    
}

/* nft */

.nft #nft1 h2, .nft #nft2 h2{
    font-family: 'Roboto', sans-serif;
    font-size: 60px;
    font-weight: 100;
    line-height: 1;
}


/* --------------------
blog
-------------------- */
.blog-wp{
    width: 100%;
    min-width: inherit;
    margin: 10px auto 25px;
}
.blog-wp h2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 22px;
    line-height: 1;
    margin: 0 0 15px 5px;
}
.blog-main{
    float: none;
    width: 96%;
    margin: 0 auto;
}
.article{
    width: 92%;
}
.blog-side{
    float: inherit;
    width: 100px;
    position: absolute;
    top:60px;
    right: 10px;
    cursor :pointer;
}
.blog-side:hover{
    opacity: 0.8;
}
    
.blog-side li:nth-child(n + 2){
   display: none;
}
.blog-main-ul{
    margin: 0 auto;
    width: 100%;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.blog-main-ul li{
    float: left;
    width: calc(50% - 32px);
    margin:0 12px 20px 0;
    text-align: left;
    padding: 15px 12px 20px;
    border-radius: 4px;
}
.blog-main-ul li{
    border: 1px solid #D6D6D6;
}
.blog-main-ul li:nth-of-type(3n){
    margin-right:inherit;
}
    .blog-main-ul li:nth-of-type(2n){
    margin-right:0;
}
.blog-main-ul li .blogimg{
    width: 100%;
    height: 100px;
    margin: 0 auto 5px;
    border-radius:6px;
}
.blog-main-ul li img{
    width: 100%;
    height: 100px;
    border-radius: 4px;
    object-fit: cover;
}
.blog-main-ul li h2{
    font-size: 16px;
    margin: 15px 0;
    font-weight: 400;
    line-height: 1.2;
}
.blog-main-ul li h3{
    margin: 10px 0 10px;
    font-weight: 400;
    line-height: 1.2;
}
.blog-main-ul li span{
    font-size: 10px;
    display: block;
    font-weight: 400;
}
.blog-main-ul li label{
    margin: 0 10px 0 0;
    color: #888;
    padding: 0 0 0 15px;
    
}
.blog-main-ul li span{
    color: #888;
    font-size: 11px;
    display: inline-block;
}
.blog-home .blog-main-ul li .blogimg, .blog-home .blog-main-ul li img {
height: 90px !important;
}

.blog-side li{
    text-align: center;
    background: #F7F7F7;
    font-size: 14px;
    height: 42px;
    line-height: 42px;
    margin: 3px 0 0;
    padding: 0 10px;
}
.blog-side li.active{
    background: #000;
    color: #fff;
}
.blog-side li.active a, .blog-side li.active a:hover, .blog-side li.active a:active{
    background: #000;
    color: #fff;
}

.article h1{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700 !important;
    font-size: 32px;
    line-height: 1.2;
    margin: 0;
}
.article{
    font-size: 16px;
    line-height: 1.8;
}
.article h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 0 8px;
    border-bottom: 1px solid #040707;
    margin: 30px 0 20px;
}
.article h4{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 0 0 10px;
    border-left: 8px solid #040707;
    margin: 30px 0 20px    ;
}
.article .article-img{
    width:100%;
    margin: 20px 0;    
}
.article .article-img img{
    object-fit: cover;
    width: 100%;
    height: auto;
}
.article ul{
    margin: 30px 0;
}
.article li{
    background: url("/img/common/list.svg")  no-repeat top 6px left/ auto 14px;
    margin: 0 0 10px;
    padding: 0 0 0 20px;
}

/* --------------------
contact
-------------------- */

.contact strong {
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    margin: 30px 0 20px;
}
.contact form {
    width: 90%;
    min-width: inherit;
    margin: 0 auto;
}
.contact form .contactForm input,.contact form .contactForm textarea{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ddd;
    height: 44px;
    /*margin: 0 0 20px;*/
    width: 100%;
}
.contact form textarea{
    height: 100px;
    /*margin: 0 0 10px;*/
}
.contact form #check{
    width: 20px;
    height: 20px;
}
.areaContact .contactWrapper .contactTitle {
    text-align: center;
    font-size: 23px;
    color: #323232;
    margin-bottom: 7px;
    letter-spacing: 0.3px;
}
.areaContact .contactWrapper .contactForm .contactFormField {
    overflow: hidden;
    margin-bottom: 19px;
}
.areaContact .contactWrapper .contactForm .contactFormField .contactFormFieldName {
    font-size: 16px;
    color: #323232;
    margin-right: 15px;
    display: inline-block;
    float: left;
    margin-top: 10px;
    font-weight: bold;
}
#submit01{
    width: 100%;
    background: #000;
    color: #fff;
    font-size: 20px;
     -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ddd;
    height: 56px;
    margin: 0 0 20px;
    cursor: pointer;
}
.contactConfirm{
    text-align: center;
    margin: 0 0 20px;
}
.contactConfirm a, .contactConfirm a:hover{
     color: #0094F7;
}
.contactConfirm .check{
    display: inline-block;
}
.contactConfirm label{
    display: inline-block;
    position: relative;
    top:-5px;
}
.contact-ms {
width: 90%;
}
.contact-ms br{
    display: none;
}
.regulation{
    width: 80%;
    margin: 0 auto;
    text-align: left;
}
.regulation h1{
    text-align: center;
    margin: 30px 0;
}
.regulation dt{
    font-size: 16px;
    text-align: left;
    margin: 30px 0 10px;
    font-weight: 700;
}
.regulation .close{
    width: 100px;
    text-align: center;
    margin: 30px auto 70px;
    color: #0094F7;
    display: block;
}
#submit01{
    text-align: center;
}
.confirm{
    background: #f0f0f0;
    margin: 5px 0 30px;
    padding: 10px 10px;
}
.attention{
    color: red;
    display: block;
    text-align: center;
}
.thanks{
    height: calc(100vh - 300px);
}
.thanks strong{
    padding: 200px 0 0;
}

.fancybox-slide--html .fancybox-close-small {
right: -4px;
top: -8px;
}

}

/* --------------------
landscape
-------------------- */
@media screen and (max-width:767px) and (orientation: landscape) {

#topimg {
height: auto;
}
.imgbox {
width: 67%;
}
.imgbox li img {
height: 150px;
}
#title h1 {
font-size: 52px;
}
#title p {
width: 75%;
} 
#title h1 span:nth-of-type(2) {
width: 75%;
}    
.more{
    display: none;
}
.works li img {
height: 240px;
}
.works ul li {
margin: 0 12px 10px 0;
}
.works ul {
width: 60%;
}
.blog-home .blog-main-ul li .blogimg, .blog-home .blog-main-ul li img {
height: 170px !important;
}
.blog-main-ul li h3 {
font-size: 18px;
}
    
}

/* --------------------
375px以下 6/6s/7/8/ X/XS/11 Pro
-------------------- */

@media screen and (max-width: 375px) {
    
.nav-lt li.logo {
margin: 6px 58px 0 10px;
}
nav {
height: 42px;
}
    
.imgbox{
    width: 70%;
    padding: 20px 0 0;
}
.imgbox li img {
    height: 80px;
}
#title {
    width: 80%;
}
#title h1 {
    font-size: 27px;
}
#topimg {
    height: calc(100vh - 122px);
}
.more{
    display: none;
}
.snsbox {
padding: 18px 0 20px;
}  
    
}

