* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  box-sizing: border-box;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  color: black;
  text-decoration: none; }

.logoSp {
  display: none; }

h1 {
  font-size: 60px;
  text-align: center;
  color: white;
  letter-spacing: 1rem;
  margin-bottom: 30px;
  padding-top: 450px; }

.h1sub {
  font-size: 30px;
  text-align: center;
  color: white;
  letter-spacing: 0.3rem; }

h2 {
  font-size: 40px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-text-orientation: upright;
  display: inline-block;
  vertical-align: top; }

h3 {
  font-size: 45px;
  text-align: center;
  margin-bottom: 200px;
  letter-spacing: 0.7rem; }

h4 {
  font-size: 30px; }

header {
  padding: 50px 0;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  height: 180px;
  z-index: 9999 !important;
  top: 0;
  left: 0;
  width: 100%; }
  header .sns {
    position: absolute;
    top: 50px;
    left: 50px; }
    header .sns ul {
      font-size: 0; }
      header .sns ul li {
        display: inline-block;
      /*  .youtubeLogo {
            width: 100px;
            display: block;
            margin-left: 25px;
            padding-top: 10px;
            transition: .3s;
    			
                      &:hover {
                        transform: translateY(-8px);
    		            }
        }*/ }
        header .sns ul li i {
          font-size: 30px;
          width: 30px;
          transition: .3s; }
          header .sns ul li i:hover {
            transform: translateY(-8px); }
  header .headerLogo {
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 50px;
    top: 50px;
    transition: .3s; }
    header .headerLogo:hover {
      transform: translateY(-3px); }
  header .headerLogo img {
    width: 300px; }
  header nav {
    position: absolute;
    top: 30px;
    right: 200px; }
    header nav ul {
      width: 350px; }
      header nav ul li {
        display: inline-block;
        vertical-align: top;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: upright;
        -webkit-text-orientation: upright;
        margin-left: 25px;
        height: 150px;
        font-size: 18px;
        width: 18px;
        letter-spacing: normal;
        transition: .3s; }
        header nav ul li:hover {
          transform: translateY(-8px); }
        header nav ul li a {
          text-decoration: none;
          color: white; }
  header a.contact {
    background: white;
    position: absolute;
    right: 80px;
    top: 0;
    width: 130px;
    height: 100px;
    padding-top: 45px;
    text-align: center;
    border-radius: 0 0 10px 10px;
    transition: .3s; }
    header a.contact:hover {
      background-color: black;
      color: white; }
  header a.pdf {
    background: white;
    position: absolute;
    right: 80px;
    top: 110px;
    width: 130px;
    height: 50px;
    padding-top: 16px;
    text-align: center;
    border-radius: 10px;
    transition: .3s; }
    header a.pdf:hover {
      background-color: black;
      color: white; }

#hero {
  margin-top: 0px;
  height: 900px; }

footer {
  padding: 30px 0;
  background: #DEDFDF;
  position: relative;
  height: 160px; }
  footer div.left {
    display: inline-block;
    position: absolute;
    left: 50px;
    top: 20px; }
    footer div.left .footerLogo {
      width: 150px;
      display: inline-block; }
    footer div.left div {
      display: inline-block;
      margin-left: 20px; }
      footer div.left div p {
        margin-bottom: 10px;
        font-size: 14px; }
  footer div.right {
    width: 300px;
    position: absolute;
    right: 50px;
    top: 60px; }
    footer div.right a:hover {
      opacity: 0.5;
      display: block; }
    footer div.right p {
      margin-bottom: 10px; }
    footer div.right address {
      font-size: 13px; }

@media (max-width: 768px) {
  .logoSp {
    display: block;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 200; }

  .logoSp img {
    width: 100px; }

  h1 {
    font-size: 35px;
    text-align: center;
    color: white;
    letter-spacing: 0.2rem;
    margin-bottom: 20px;
    padding-top: 500px;
    line-height: 1.5; }

  .h1sub {
    font-size: 18px;
    text-align: center;
    color: white;
    letter-spacing: 0.3rem; }

  h2 {
    font-size: 30px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    -webkit-text-orientation: upright;
    display: inline-block;
    vertical-align: top;
    height: 330px; }

  h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 100px;
    letter-spacing: 0.1rem; }

  h4 {
    font-size: 30px; }

  footer {
    padding: 30px 0;
    background: #DEDFDF;
    position: relative;
    height: 280px; }
    footer div.left {
      display: block;
      position: absolute;
      left: 50px;
      top: 20px; }
      footer div.left .footerLogo {
        width: 100px;
        display: inline-block; }
      footer div.left div {
        display: block;
        margin-left: 0px;
        margin-top: 30px; }
        footer div.left div p {
          margin-bottom: 10px;
          font-size: 14px; }
    footer div.right {
      display: none; } }
.pc {
  display: block; }

.sp {
  display: none; }

#hero {
  padding: 0;
  height: auto; }
  #hero h1 {
    color: black; }
  #hero .h1sub {
    color: black; }
  #hero .foreword {
    width: 600px;
    display: block;
    margin: 50px auto 0 auto;
    line-height: 1.5; }

#section01 {
  padding: 100px 0;
  display: table;
  margin: 0 auto; }
  #section01 li {
    padding: 30px 0;
    border-bottom: solid thin #B9B9B9; }
    #section01 li:last-of-type {
      border-bottom: none; }
      #section01 li:last-of-type dt {
        margin-bottom: 20px; }
    #section01 li dt {
      font-size: 25px;
      margin-bottom: 10px; }
    #section01 li dd {
      margin-bottom: 30px;
      line-height: 1.5; }
    #section01 li p {
      margin-bottom: 10px; }

@media (max-width: 768px) {
  .pc {
    display: none; }

  .sp {
    display: block; }

  header {
    display: none; }

  #hero h1 {
    padding-top: 360px; }
  #hero .foreword {
    width: 80%;
    display: block;
    margin: 50px auto 0 auto;
    line-height: 1.5; }

  #section01 {
    padding: 50px 0;
    display: block;
    margin: 0 auto;
    width: 80%; }
    #section01 li {
      padding: 30px 0;
      border-bottom: solid thin #B9B9B9; }
      #section01 li:last-of-type {
        border-bottom: none; }
        #section01 li:last-of-type dt {
          margin-bottom: 20px; }
      #section01 li dt {
        font-size: 25px;
        margin-bottom: 10px; }
      #section01 li dd {
        margin-bottom: 30px;
        line-height: 1.5; }
      #section01 li p {
        margin-bottom: 10px; } }
