/* Import Noto Sans JP */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");

/*--------------------------------------------------------------
  Base Reset & Typography
--------------------------------------------------------------*/
html {
  overflow-y: scroll;
  overflow-x: hidden;
  -ms-overflow-style: scrollbar;
}
body {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  color: #fff;
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  height: auto;
}

/*--------------------------------------------------------------
  Home Section
--------------------------------------------------------------*/
.home-full-height {
  height: 100vh; /* ビューポートの高さに合わせる */
}
.home-section {
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;

  z-index: 0;
}
.bg-dark {
  background: #111;
  color: #fff;
}
.bg-gradient:before {
  position: absolute;
  z-index: 0;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjk1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(
    to bottom,
    rgba(40, 115, 113, 0.57) 25%,
    rgba(115, 54, 31, 0.67) 75%
  );
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#000000',GradientType=0 );
  /* IE6-8 */
  content: " ";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}
.titan-caption {
  display: table;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.caption-content {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  position: relative;
  z-index: 1;
}
.titan-title-size-4,
.caption-content .btn {
  color: #fff !important;
}

/*--------------------------------------------------------------
  Typography Overrides
--------------------------------------------------------------*/
.font-alt {
  text-transform: uppercase;
  letter-spacing: 2px;
}
.titan-title-size-4 {
  letter-spacing: 24px;
  font-weight: 400;
  font-size: 48px;
}
.mb-40 {
  margin-bottom: 40px;
}
.text-center {
  text-align: center;
}

/*--------------------------------------------------------------
  Buttons
--------------------------------------------------------------*/
.btn {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 11px;
  padding: 8px 37px;
  transition: all 0.125s ease-in-out;
}
.btn-border-w {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.75);
  color: #fff;
}

.btn-round {
  border-radius: 2px;
}

/*--------------------------------------------------------------
  Footer
--------------------------------------------------------------*/
.footer {
  padding: 10px 0;
  background-color: #111;
}
.footer .copyright {
  color: #fff;
  margin: 0;
  font-size: 12px;
}
.footer-social-links {
  text-align: right;
}
.footer-social-links a {
  display: inline-block;
  padding: 0 6px;
  color: #fff;
  transition: color 0.125s ease-in-out;
}
.footer-social-links a:hover {
  color: #aaa;
}
