﻿/*!
* Created by Kroplet (https://www.kroplet.com) 
* The easiest way to create Bootstrap 4 themes. 
*/

/*Google fonts*/
@import url('https://fonts.googleapis.com/css?family=Rubik:400,500,700');

html,
body {
    width: 100%;
    height: 100%;
}
body{
    font-family: 'Rubik', sans-serif;
    font-size: 16px;
}
h1,h2,h3,h4,h5,h6{
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}
b, strong{
    font-weight: 500;
}
.brand-logo{
    width: 180px;
}

nav .logo {
    margin: 10px;
}

@media (max-width: 568px){
    nav .logo {
        width: 130px;
        margin: 0px 0px 0px 3px;
    }
}



.navbar{
    min-height: 80px;
}
.navbar-nav .nav-item .nav-link{
    font-weight: 700;
    font-family: 'Noto Sans JP';
    color: black;
}
.navbar-brand {
    font-weight: 700;
}
.navbar-inverse .navbar-nav .nav-link, .navbar .navbar-brand, .navbar-toggler span {
    color: #369;
}
.navbar .nav-item .active, .navbar .nav-link:hover,.navbar .nav-link:focus, .navbar .navbar-brand:hover{
    color: #ABACAB !important;
}
.sticky-navigation{
    top: 0px;
    background-color: transparent;
}
.coverd {
    background: #fff;
    height: 100vh;
    width: 100%;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -999;
}
.hero{
    height: 100vh;
    min-height: 500px;
    padding: 100px 0;
}
.hero .brand{
    margin-top: 100px;
}
@media (max-width: 768px){
    .hero .brand {
        margin-top: 0px; 
    }
}


.store-img
{
    width: 170px;
}
.hero h1{
    font-weight: 100;
} 
.hero h1 b{
    font-weight: 700;
} 
a {
    color: #65aaef;
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}
a:hover,
a:focus {
    color: #d81b60 !important;
    outline: 0;
    text-decoration: none !important;
}
section{
    padding: 50px 0px 10px 0px;
}
.img-team{
    width: 150px;
    box-shadow: 3px 2px 3px rgba(0, 0, 0, 0.15);
    -webkit-transition: 350ms ease all;
    transition: 350ms ease all;
}
.img-team:hover{
    box-shadow: 6px 6px 25px rgba(0, 0, 0, 0.15);
}
.team h5{
    padding: 35px 0 15px 0;
    font-weight: 500;
}
.team p{
    color: #999;
}
.card-outline-primary{
    border: solid 1px #d81b60;
}
.small-xl{
    font-size: 90%;
}
.small-xs{
    font-size: 70%;
}
.badge {
    color: #fff; 
}



/*----border---*/
hr {
border-width:2px 0 0 0;
border-color:#ffffff;
width: 42%;
}

hr.line1 {
    border-width:1px 0 0 0;
    border-color:#9c9c9c;
    width: 100%;
    }

hr.line2 {
    border-width:2px 0 0 0;
    border-color:#cecece;
    border-style: dotted;
    width: 100%;
    }

/*===============================================
* Background Colors
================================================*/
.bg-texture{
    background: transparent -webkit-radial-gradient(circle farthest-side at right bottom, #DDD 5%, #999 25%, #333 80%, #666 98%) repeat scroll 0% 0%;
    background: transparent -o-radial-gradient(circle farthest-side at right bottom, #DDD 5%, #999 25%, #333 80%, #666 98%) repeat scroll 0% 0%;
    background: transparent -moz-radial-gradient(circle farthest-side at right bottom, #DDD 5%, #999 25%, #333 80%, #666 98%) repeat scroll 0% 0%;
    background: transparent radial-gradient(circle farthest-side at right bottom, #DDD 5%, #999 25%, #333 80%, #666 98%) repeat scroll 0% 0%;
}
.bg-texture-collage{
    background:-webkit-linear-gradient(-45deg, #ffb300 33%, transparent 0%),
        linear-gradient(-45deg, #333 67%, transparent 33%),
        linear-gradient(-45deg, #ffb300 100%, transparent 67%);
    background:-moz-linear-gradient(-45deg, #ffb300 33%, transparent 0%),
        linear-gradient(-45deg, #333 67%, transparent 33%),
        linear-gradient(-45deg, #ffb300 100%, transparent 67%);
    background:linear-gradient(-45deg, #DDD 33%, transparent 0%),
        linear-gradient(-45deg, #999 67%, transparent 33%),
        linear-gradient(-45deg, #DDD 100%, transparent 67%);
}
.bg-alt {
    background-color: #fff;
}
.bg-faded{
    background-color: #FAFAFA;
}
.bg-primary{
    background-color: #d81b60 !important;
}
.bg-footer{
    background-color: #171717;
}
/*===============================================
* Text Colors
================================================*/
.text-faded {
    color: #FAFAFA;
}
.text-dark {
    color: #37474F;
}
.text-muted{
    color: #999 !important;
}
.text-white {
    color: #fff;
}
.text-primary {
    color: #BBB !important;
}
.text-primary-light{
    color: #ca2f2f;
}

/*===============================================
* Icon Sizes
================================================*/
.icon-lg {
    font-size: 60px;
    line-height: 18px;
}
.icon-md {
    font-size: 50px;
    line-height: 14px;
}
.icon-sm {
    font-size: 30px;
    line-height: 14px;
}
/*===============================================
* Colored Buttons
================================================*/
.btn{
    box-shadow: 3px 2px 3px rgba(0, 0, 0, 0.15);
    -webkit-transition: 350ms ease all;
    transition: 350ms ease all;
    text-transform: uppercase;
    font-weight: 500;
    padding: .6rem 1.5rem;
    cursor: inherit;
}
.btn:hover, .btn:focus {
    box-shadow: 6px 6px 25px rgba(0, 0, 0, 0.15);
}
.btn-white {
    color: #333 !important;
    background-color: #fff;
    border-color: #fff;
}
.btn-white:hover{
    color: #333;
}
.btn-primary{
    background-color: #333 !important;
    border-color: #333 !important;
}
.btn-primary:hover, .btn-primary:focus{
    color: #fff !important;
}
.btn-radius{
    border-radius: 50px;
}

.btn-blue {
    max-width: 100%;
    padding: 1.2rem 3rem;
    background-color: #277fd1;
    font-weight: bold;
}
.btn-red {
    max-width: 100%;
    padding: 1.2rem 3rem;
    background-color: #d12727;
    font-weight: bold;
}

/* link-button */
.list-button {
    list-style-type: none;
    margin-left: 0;
    padding-left: 0;
}
.list-button button {color:#454545;background:transparent;border-width:2px;border-style: solid;border-color: #454545;position:relative;margin:1em;display:inline-block;padding:0.5em 1em;transition:all 0.3s ease-in-out;width: 90%;text-align: left;cursor: pointer;}
.list-button button:before,.list-button button:after {content:'';display:block;position:absolute;border-color:#454545;box-sizing:border-box;border-style:solid;width:1em;height:1em;transition:all 0.3s ease-in-out}
.list-button button:before {top:-6px;left:-6px;border-width:2px 0 0 2px;z-index:5;}
.list-button button:after {bottom:-6px;right:-6px;border-width:0 2px 2px 0;}
.list-button button:hover:before,.list-button button:hover:after {width:calc(100% + 12px);height:calc(100% + 12px);border-color:#fff}
.list-button button:hover {color:#353535;background-color:#fff;border-color:#CCC}
.panel {max-width:535px;position:relative;margin:auto;text-align:center;}


/*===============================================
* Borders Utilities
================================================*/
.border-none{
    border: none !important;
    border-color: transparent !important;
}
.border-all{
    border: 1px solid #DEE5E5 !important;
}
.border-left{
    border-left: 1px solid #DEE5E5 !important;
}
.border-right{
    border-right: 1px solid #DEE5E5 !important;
}
.border-top{
    border-top: 1px solid #DEE5E5 !important;
}
.border-bottom{
    border-bottom: 1px solid #DEE5E5 !important;
}
/*===============================================
* Social Icons
================================================*/
.text-twitter-alt, .text-facebook-alt, .text-linkedin-alt, .text-google-alt, .text-github-alt{
    color:#d81b60;
}
.text-twitter, .text-twitter-alt:hover{
    color:#00aced;
}
.text-facebook, .text-facebook-alt:hover{
    color: #3b5998;
}
.text-google, .text-google-alt:hover{
    color: #dd4b39;
}
.text-linkedin, .text-linkedin-alt:hover{
    color: #007bb6;
}
.text-github, .text-github-alt:hover{
    color: #000000;
}
/*===============================================
* Cards
================================================*/
.card{
    border: none;
    margin-bottom: 30px;
    border-width: 1px;
    border-style: solid;
    border-color: #d9d9d9;
    height: 90%;
}
.card .card-body .icon-box{
    padding: 20px 0;
    color: #d81b60;
}
.card .card-body h6{
    padding-bottom: 15px;
    font-size: 1.2rem;
    font-weight: 500;
}
.card:hover{
    box-shadow: 6px 6px 25px rgba(0, 0, 0, 0.15);
}
/*
Pricing tables & lists
*/
.pricing-list{
    padding-top: 25px;
    padding-bottom: 25px;
}
.pricing-list li {
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 15px;
}
.list-default{
    list-style: none;
    padding-left: 25px;
}
.list-default>li {
    position: relative;
    padding: 6px 0;
    line-height: 1.55em;
    font-size: 0.94rem;
}
.list-default>li:before {
    content: "\f21b";
    position: absolute;
    left: -25px;
    top: 8px;
    font-size: 10px;
    color: #d81b60;
    font-family: "Ionicons";
}
::selection {
    color: #fff;
    text-shadow: none;
    background: #d81b60;
}

.back-image-ms {
    height: 10vh;
    background-image: url(../svg/MESSAGE.svg);
    background-repeat: no-repeat;
    background-position: 3%;
    background-size: contain;
    background-origin: content-box;
    margin-bottom: 15px;
}

.back-image-et {
    height: 10vh;
    background-image: url(../svg/ENTRY.svg);
    background-repeat: no-repeat;
    background-position: 3%;
    background-size: contain;
    background-origin: content-box;
    margin-bottom: 15px;
}

.back-image-au {
    height: 10vh;
    background-image: url(../svg/ABOUTUS.svg);
    background-repeat: no-repeat;
    background-position: 3%;
    background-size: contain;
    background-origin: content-box;
    margin-bottom: 15px;
}

.bottom-txt {
    background-color: #000;
    padding: 0.6rem;
    font-size: small;
}
.top-left {
    position: absolute;
    bottom: 110px;
    background-color: rgba(0, 0, 0, 0.9);
    left: 5px;
    font-size: 1.2rem;
    padding: 0.3rem 0.8rem;
  }

  @media (max-width:768px) {
    .bottom-txt {
        font-size: 0.8rem;
    }
    .top-left {
      font-size: 0.9rem;
    }
    #entry p{
        font-size: 0.8rem;
    }

  }

.column1 {
  order:1;
}

.column2 {
  order:2;
}

.column3 {
  order:3;
}

.column4 {
    order:4;
  }

@media screen and (max-width: 576px) {
    .column1 {
        order:2;
      }
      
    .column2 {
        order:1;
      }
    .column3 {
        order:3;
      }
      .column4 {
        order:4;
      }
}

@media screen and (max-width: 768px){
    .pc-only {display: none; }
    }


/* SNS BOX */
.sns-box {
    display: flex;
    justify-content: center;
    align-items: end;
}

/* Pararax */
#main {
    background-image:url(../img/bg01.png);
    background-position: center;
    height: 100vh; 
    margin: 0 auto;
}

@media screen and (max-width: 1024px){
    #main {
        background-image:url(../img/bg01_sp.png);
        background-position: center;
        height: 100vh; 
        margin: 0 auto;
    }
    
}



#main .container {
    background:rgb(0 0 0 / 60%);
    max-width: 580px;
    padding:2.8rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    background-image:
      radial-gradient(#000000 20%, transparent 40%);
      background-size: 5px 5px;

}


@media screen and (max-width: 767px) {
    #main .container {
        max-width: 80%;
    }

}

@media screen and (max-width: 576px) {
    #main .container {
        padding: 2rem;
    }

}



/* Pararax */
.bg-pr {
    background-image:url(../img/bg03.png);
    margin: 0 auto;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-repeat: no-repeat;
}

.bg-art {
    background-image:url(../img/bg04.jpg);
    margin: 0 auto;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-repeat: no-repeat;
}

.bg-net {
/*
    background-image:url(../img/bg05.jpg);
*/
    margin: 0 auto;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-repeat: no-repeat;
}
.bg-net-1,.bg-net-2,.bg-net-3,.bg-net-4 {
    margin: 0 auto;
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-repeat: no-repeat;
    padding: 0;
}
.bg-net-1 {
    background-image:url(../img/netimg01.jpg);
}
.bg-net-2 {
    background-image:url(../img/netimg02.jpg);
}
.bg-net-3 {
    background-image:url(../img/netimg03.jpg);
}
.bg-net-4 {
    background-image:url(../img/netimg04.jpg);
}
.fade-mask {
    background: rgba(255,255,255,.8);
    padding: 0;
    margin: 0;
    height: 100%;
}
.fade-mask:hover {
    background: rgba(0,0,0,.2);
}

.pararax {
    -webkit-background-size: cover;
         -o-background-size: cover;
            background-size: cover;
    background-repeat:  no-repeat;
    background-attachment: fixed;
}
@media screen and (max-width: 750px) {
    .pararax {
        background-size: cover;
        background-attachment: scroll;
    }
}

#bg-prog {
    background:url(../img/bg02.jpg) 0 50% no-repeat fixed;
    color: white;
    width: 40%;
    height: 100vh;
    margin: 0 auto;
}

.bg-redline {
    padding: .2rem;
    background: rgba(216, 27, 96,.9);
    color: #FFF;
    line-height: 140%;
}
@media (max-width: 576px) {
    #bg-prog {
        display: none;
    }
}

.navbar {
    min-height: auto !important;
}
@media (max-width: 768px){
    .collapse.show {
/*        height: 100vh;
*/
    }
    .navbar-nav .nav-item.mr-3 {
/*
        background: rgba(255,255,255,.2);
*/
    }

    .navbar-nav .nav-item.mr-3 a {
        padding-top: 2rem;
        padding-bottom: 1rem;
        text-align: center;
        color: rgb(18, 38, 58) !important;
    }
}

.pos-r {
    position: relative;
}
.bgp-1 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.pos-1 {
    position: absolute;
    top: 10%;
    left: 5%;
}
.pos-2 {
    position: absolute;
    top: 5%;
    right: 10%;
}
.pos-3 {
    position: absolute;
    top: 60%;
    left: 20%;
}
.pos-4 {
    position: absolute;
    top: 40%;
    right: 10%;
}

.blc-A {
    min-height: 300px;
}


.bg-pr .list-button button {
    background: rgba(255,255,255,.8);
}

.sub-title,
#art .lead {
    font-size: 1.1rem;
    margin-top: 1rem;
    color: #9f9f9f;
}

.bg-gray {
    background: #DDD;
    color: #FFF;
}
#internet h6 {
    font-size: 140%;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* floating menu */
dl.price-list{
  width: 100%;
  overflow: hidden;
  border-bottom: 1px solid #ccc;
  border-top: none;
}
dl.price-list dt{
  width: 70%;
  float: left;
  border-top: 1px solid #ccc;
  box-sizing: border-box;
}
dl.price-list dd{
  margin-left: 70%;
  border-top: 1px solid #ccc;
  margin-bottom: 0;
  font-size: 80%;
}
dl.price-list dd span {
    color: #960;
    font-weight: bold;
    font-size: 120%;
}
@media screen and (max-width: 768px){
    dl.price-list dt{
        width: 100%;
        float: none;
        border-top:none;
    }
    dl.price-list dt:before {
        content: "● ";
    }
    dl.price-list dd{
        margin-left: 0%;
        float: none;
        border-top:none;
        margin-bottom: 2rem;
    }
}
.grad-wrap {
    position: relative;
    margin-bottom: 2rem;
}
.grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 148px;
    margin: auto;
    padding: .2em 0;
    border-radius: 2px;
    border: 1px solid #000;
    background: rgba(255,255,255,1);
    color: #000;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.grad-btn::before {
  content: "続きを読む";
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 80px;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  content: "";
}
.grad-item.white::before {
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-item.gray::before {
  background: -webkit-linear-gradient(top, rgba(248,249,250,0) 0%, rgba(248,249,250,0.9) 50%, rgba(248,249,250,0.9) 50%, #f8f9fa 100%);
  background: linear-gradient(top, rgba(248,249,250,0) 0%, rgba(248,249,250,0.9) 50%, rgba(248,249,250,0.9) 50%, #f8f9fa 100%);
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる";
}
.grad-trigger:checked ~ .grad-item {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
  display: none;
}

