@charset "utf-8";

:root {
  --black: rgba(75,90,107,1);
  --dark-gray: rgba(102,102,102,1);
  --gray: rgba(140,140,140,1);
  --light-gray: rgba(200,200,200,1);
  --blue: rgba(110,200,220,1);
	--dark-blue: rgba(0,142,207,1);
	--light-blue: rgba(187,225,245,1);
  --white: rgba(250,253,255,1);
  --brown: rgba(134,70,29,1);
  --orange: rgba(237,121,102,1);
  --pink: rgba(240,101,156,1);
  --light-pink: rgba(255,223,223,1);
}

.text-black { color: var(--black);}
.bg-black { background-color: var(--black);}
.text-dark-gray { color: var(--dark-gray);}
.bg-dark-gray { background-color: var(--dark-gray);}
.text-gray { color: var(--gray);}
.bg-gray { background-color: var(--gray);}
.text-light-gray { color: var(--light-gray);}
.bg-light-gray { background-color: var(--light-gray);}
.text-blue { color: var(--blue);}
.bg-blue { background-color: var(--blue);}
.text-dark-blue { color: var(--dark-blue);}
.bg-dark-blue { background-color: var(--dark-blue);}
.text-light-blue { color: var(--light-blue);}
.bg-light-blue { background-color: var(--light-blue);}
.text-white { color: var(--white);}
.bg-white { background-color: var(--white);}
.text-brown { color: var(--brown);}
.bg-brown { background-color: var(--brown);}
.text-orange { color: var(--orange);}
.bg-orange { background-color: var(--orange);}
.text-pink { color: var(--pink);}
.bg-pink { background-color: var(--pink);}
.text-light-pink { color: var(--light-pink);}
.bg-light-pink { background-color: var(--light-pink);}

.img-responsive {
  width: 100%;
  height: auto;
}
a:link, a:visited, a:hover ,a:active {
  color: var(--black);
  text-decoration: none;
}
.flex { display: flex;}

.m-auto { margin: auto;}
.mt-60 { margin-top: 60px;}
.mt-55 { margin-top: 55px;}
.mt-50 { margin-top: 50px;}
.mt-45 { margin-top: 45px;}
.mt-40 { margin-top: 40px;}
.mt-35 { margin-top: 35px;}
.mt-30 { margin-top: 30px;}
.mt-25 { margin-top: 25px;}
.mt-20 { margin-top: 20px;}
.mt-15 { margin-top: 15px;}
.mt-10 { margin-top: 10px;}
.mt-5  { margin-top:  5px;}

.mb-60 { margin-bottom: 60px;}
.mb-55 { margin-bottom: 55px;}
.mb-50 { margin-bottom: 50px;}
.mb-45 { margin-bottom: 45px;}
.mb-40 { margin-bottom: 40px;}
.mb-35 { margin-bottom: 35px;}
.mb-30 { margin-bottom: 30px;}
.mb-25 { margin-bottom: 25px;}
.mb-20 { margin-bottom: 20px;}
.mb-15 { margin-bottom: 15px;}
.mb-10 { margin-bottom: 10px;}
.mb-5  { margin-bottom:  5px;}

.ml-60 { margin-left: 60px;}
.ml-55 { margin-left: 55px;}
.ml-50 { margin-left: 50px;}
.ml-45 { margin-left: 45px;}
.ml-40 { margin-left: 40px;}
.ml-35 { margin-left: 35px;}
.ml-30 { margin-left: 30px;}
.ml-25 { margin-left: 25px;}
.ml-20 { margin-left: 20px;}
.ml-15 { margin-left: 15px;}
.ml-10 { margin-left: 10px;}
.ml-5  { margin-left:  5px;}

.mr-60 { margin-right: 60px;}
.mr-55 { margin-right: 55px;}
.mr-50 { margin-right: 50px;}
.mr-45 { margin-right: 45px;}
.mr-40 { margin-right: 40px;}
.mr-35 { margin-right: 35px;}
.mr-30 { margin-right: 30px;}
.mr-25 { margin-right: 25px;}
.mr-20 { margin-right: 20px;}
.mr-15 { margin-right: 15px;}
.mr-10 { margin-right: 10px;}
.mr-5  { margin-right:  5px;}

.pt-60 { padding-top: 60px;}
.pt-55 { padding-top: 55px;}
.pt-50 { padding-top: 50px;}
.pt-45 { padding-top: 45px;}
.pt-40 { padding-top: 40px;}
.pt-35 { padding-top: 35px;}
.pt-30 { padding-top: 30px;}
.pt-25 { padding-top: 25px;}
.pt-20 { padding-top: 20px;}
.pt-15 { padding-top: 15px;}
.pt-10 { padding-top: 10px;}
.pt-5  { padding-top:  5px;}

.pb-60 { padding-bottom: 60px;}
.pb-55 { padding-bottom: 55px;}
.pb-50 { padding-bottom: 50px;}
.pb-45 { padding-bottom: 45px;}
.pb-40 { padding-bottom: 40px;}
.pb-35 { padding-bottom: 35px;}
.pb-30 { padding-bottom: 30px;}
.pb-25 { padding-bottom: 25px;}
.pb-20 { padding-bottom: 20px;}
.pb-15 { padding-bottom: 15px;}
.pb-10 { padding-bottom: 10px;}
.pb-5  { padding-bottom:  5px;}

.pl-60 { padding-left: 60px;}
.pl-55 { padding-left: 55px;}
.pl-50 { padding-left: 50px;}
.pl-45 { padding-left: 45px;}
.pl-40 { padding-left: 40px;}
.pl-35 { padding-left: 35px;}
.pl-30 { padding-left: 30px;}
.pl-25 { padding-left: 25px;}
.pl-20 { padding-left: 20px;}
.pl-15 { padding-left: 15px;}
.pl-10 { padding-left: 10px;}
.pl-5  { padding-left:  5px;}

.pr-60 { padding-right: 60px;}
.pr-55 { padding-right: 55px;}
.pr-50 { padding-right: 50px;}
.pr-45 { padding-right: 45px;}
.pr-40 { padding-right: 40px;}
.pr-35 { padding-right: 35px;}
.pr-30 { padding-right: 30px;}
.pr-25 { padding-right: 25px;}
.pr-20 { padding-right: 20px;}
.pr-15 { padding-right: 15px;}
.pr-10 { padding-right: 10px;}
.pr-5  { padding-right:  5px;}

header {
  width: 100%;
  padding: 5px 0;
  position: fixed;
  top: 0;
  background-image:
    linear-gradient(var(--light-blue), var(--white));
  z-index: 2;
}
.nav-unshown {
  display:none;
}
h1 {
  display: none;
}
#nav-content {
  display: flex;
  justify-content: space-between;
}
header ul {
  display: flex;
  position: relative;
}
.brand {
  padding: 10px 15px;
}
.menu a {
  color: var(--black);
  text-decoration: none;
}
.pc-none {
  display: none;
}

@media (max-width: 560px) {
  .pc-none {
    display: inline;
  }
  .sp-none {
    display: none;
  }
  header {
  padding:10px;
  background: transparent;
  }
  h1 {
    display: inline;
    position: absolute;
    top: 5px;
    left: 0;
    font-size: 5vw;
    color: var(--blue);
  }
  .brand {
    display: none;
  }
  #nav-drawer {
    position: relative;
  }
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
  }
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;
    width: 30px;
    border-radius: 3px;
    background: var(--black);
    display: block;
    top: 10px;
    right: 0;
    content: '';
    cursor: pointer;
    z-index: 3;
    transition: .3s ease-in-out;
  }
  #nav-open span:before {
    background: var(--black);
    top: -10px;
  }
  #nav-open span:after {
    background: var(--black);
    bottom: 5px;
  }
  #nav-input:checked ~ #nav-open span {
    background: var(--light-blue);
  }
  #nav-input:checked ~ #nav-open span:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
  }
  #nav-input:checked ~ #nav-open span:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }
  #nav-close {
    display: none;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black);
    opacity: 0;
    transition: 1s ease;
  }
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2;
    width: 60%;
    max-width: 330px;
    height: 100%;
    background: var(--light-blue);
    padding-top: 50px;
    transition: .4s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
  }
  #nav-content .brand {
    text-align: center;
    font-size: 5vw;
  }
  #nav-content ul {
    margin-top: 30px;
    flex-flow: column;
  }
  #nav-content li {
    margin-bottom: 15px;
    font-size: 4vw;
  }
  #nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
  }
  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
  }
}


@keyframes hide {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes active {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
