@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html, a {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }

a:hover {
  text-decoration: none; }

img {
  vertical-align: bottom; }

body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #1a1a1a; }

html, body {
  font-size: 16px; }

h1, h2, h3, h4, h5 {
  font-size: 100%;
  font-weight: 100;
  margin: 0;
  line-height: 1.5; }

ul, li, dl, dt, dd, figure {
  margin: 0;
  padding: 0;
  list-style: none; }

#container {
  width: 100%;
  padding: 0;
  position: relative;
  overflow: hidden; }

#loader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999; }

.side {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9900; }
  .side .nav {
    text-align: right;
    margin-right: 20px;
    margin-top: 20px; }
    .side .nav li {
      margin-bottom: 35px;
      font-size: 14px;
      font-weight: bold; }
    .side .nav em {
      font-style: normal;
      font-size: 16px; }
    .side .nav span {
      display: block;
      font-size: 12px;
      font-family: 'Noto Sans JP', sans-serif;
      margin-top: -0.4em; }
    .side .nav a {
      color: #1a1a1a; }
      .side .nav a:hover {
        color: #feaa00;
        transition: 0.2s; }
    .side .nav .on a {
      color: #feaa00;
      transition: 0.2s; }

#section1 {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  padding: 0; }
  #section1 .inner {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
  #section1 .heading {
    position: relative;
    width: 100%; }
    #section1 .heading .head1 {
      position: absolute;
      right: 20%;
      top: -90px;
      opacity: 0; }
    #section1 .heading .head2 {
      position: absolute;
      left: 20%;
      top: 0;
      opacity: 0; }
  #section1 h1 {
    opacity: 0; }

.section {
  padding: 50px 0 100px;
  text-align: center; }
  .section h2 {
    font-weight: 900;
    font-size: 20px;
    letter-spacing: 1.5px;
    line-height: 1;
    padding: 1.5em;
    position: relative; }
    .section h2 span {
      display: block;
      text-align: center;
      font-size: 12px;
      color: #1a1a1a;
      margin-top: 1.5em; }
    .section h2:before {
      content: "";
      display: lock;
      border-top: 1px solid #1a1a1a;
      width: 20px;
      height: 1px;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
    .section h2:after {
      content: "";
      display: lock;
      border-top: 1px solid #1a1a1a;
      width: 20px;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%); }
  .section h3 {
    font-weight: 900;
    font-size: 24px;
    margin-top: 2.5em; }
  .section p {
    font-size: 14px;
    font-weight: bold;
    line-height: 2; }

#section2 p .br {
  display: none; }

#section3 h2 .br {
  display: none; }
#section3 .row {
  width: 100%;
  max-width: 980px;
  display: flex;
  justify-content: space-between;
  margin: 4em auto 0; }
  #section3 .row .col {
    width: calc((100% - 20px)/3); }
    #section3 .row .col h3 {
      margin-top: 0; }
    #section3 .row .col p {
      font-size: 14px;
      line-height: 1.8;
      text-align: center;
      margin-bottom: 0; }
      #section3 .row .col p .br {
        display: none; }

#section4 {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  box-sizing: border-box; }
  #section4 p {
    margin-top: 2em; }
    #section4 p .br {
      display: block; }
  #section4 figure {
    margin: 4em auto 0; }
    #section4 figure img {
      width: 100%; }
  #section4 dl {
    padding: 2em 0 1em;
    border-bottom: 3px solid #f0f0f0;
    text-align: left; }
    #section4 dl dt {
      font-weight: bold; }
    #section4 dl dd {
      font-size: 14px;
      margin-top: 0.5em; }

#section5 {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  box-sizing: border-box; }
  #section5 .col dl {
    padding: 2em 0 1em;
    border-bottom: 3px solid #f0f0f0;
    text-align: left; }
    #section5 .col dl dt {
      font-weight: bold; }
    #section5 .col dl dd {
      font-size: 14px;
      margin-top: 0.5em; }
  #section5 .map iframe {
    max-width: 720px;
    height: 350px;
    margin-top: 2em; }

#section6 .partner {
  display: flex;
  justify-content: center;
  margin-top: 50px; }
  #section6 .partner dl:first-child {
    width: 480px;
    margin-right: 50px; }
    #section6 .partner dl:first-child dd ul {
      display: flex;
      justify-content: space-between; }
  #section6 .partner dt {
    font-size: 14px;
    margin-bottom: 1em;
    text-align: left; }

.copy {
  background-color: #277F1D;
  font-size: 12px;
  color: #fff;
  text-align: center;
  padding: 1em 0;
  margin: 0; }

.contact .section {
  text-align: left;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  box-sizing: border-box; }
.contact .side .nav li:last-child a {
  color: #FEAA00; }
.contact h1 {
  text-align: center; }
.contact h2 {
  margin: 50px 0;
  text-align: center; }
.contact form dt {
  margin-bottom: 30px;
  font-size: 13px;
  font-weight: bold; }
.contact form dd {
  margin-bottom: 60px; }
  .contact form dd:last-of-type {
    margin-bottom: 0; }
.contact form .asterisk {
  font-size: 12px;
  color: #FEAA00;
  margin-left: 5px; }
.contact form input[type=text],
.contact form input[type=email] {
  width: 100%;
  padding: 30px 18px;
  font-size: 12px;
  background-color: #f6f6f6;
  border: 1px solid #f6f6f6;
  box-sizing: border-box;
  outline: 0;
  color: #333;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
.contact form .telWrapper {
  width: 100%;
  color: #FEAA00; }
  .contact form .telWrapper > span {
    display: inline-block; }
    .contact form .telWrapper > span:nth-of-type(1) {
      width: 28%;
      margin-right: 1.5%; }
    .contact form .telWrapper > span:nth-of-type(2) {
      width: 28%;
      margin: 0 1.5%; }
    .contact form .telWrapper > span:nth-of-type(3) {
      width: 28%;
      margin-left: 1.5%; }
.contact form textarea {
  width: 100%;
  height: 300px;
  padding: 30px 27px;
  font-size: 14px;
  line-height: 2;
  background-color: #f6f6f6;
  border: 1px solid #f6f6f6;
  box-sizing: border-box;
  outline: 0;
  color: #333;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
.contact form .submitBtnWrapper {
  text-align: center; }
.contact form .submitBtn {
  width: 100%;
  max-width: 380px;
  height: 80px;
  margin: 60px auto 0;
  background-color: #FEAA00;
  font-size: 13px;
  color: #fff;
  font-weight: 700;
  border: none;
  outline: 0; }

.submitBtn02 {
  width: 100%;
  max-width: 380px;
  height: 80px;
  margin: 60px auto 0;
  background-color: #FEAA00;
  font-size: 13px;
  color: #fff;
  font-weight: 700;
  border: none;
  outline: 0; }

.flett {
  display: flex;
  justify-content: space-between; }

.contact form .flett .submitBtn {
  width: 40% !important; }

.contact form .flett .submitBtn.bbtn {
  background: #EEE;
  color: 222; }

@media screen and (max-width: 1120px) {
  .side {
    right: 0;
    top: 0;
    transform: translate(0); }
    .side .nav {
      text-align: center;
      margin: 0; }
      .side .nav li:nth-child(-n+6) {
        display: none; }
      .side .nav li:nth-child(7) {
        background-color: #FEAA00;
        padding: 1em;
        font-size: 12px; }
        .side .nav li:nth-child(7) a {
          color: #fff; }
        .side .nav li:nth-child(7) span {
          margin-top: -0.2em; }

  .contact .side .nav li:last-child {
    display: none; }

  #section3 .row {
    flex-direction: column; }
    #section3 .row .col {
      margin: 0 auto 2em;
      padding: 0;
      border: none; }
      #section3 .row .col p {
        text-align: center; }

  #section4 .ph {
    flex-direction: column; }
    #section4 .ph li {
      margin: 0 auto 20px !important; }

  #section5 .row {
    flex-direction: column; }
    #section5 .row .col {
      margin: 0 auto 2em;
      padding: 0;
      border: none; } }
@media screen and (max-width: 600px) {
  .section {
    padding: 30px 20px 60px; }
    .section h2 {
      font-size: 18px;
      padding: 1em 0; }
      .section h2 span {
        font-size: 12px;
        margin-top: 1em; }
    .section h3 {
      font-size: 18px; }
    .section p {
      font-size: 12px; }

  #section2 p .br {
    display: block; }

  #section3 h2 .br {
    display: block; }
  #section3 .row {
    margin-top: 2em; }
    #section3 .row .col {
      width: 100%; }
      #section3 .row .col p {
        font-size: 12px; }
        #section3 .row .col p .br {
          display: block; }

  #section4 p {
    margin-top: 1em; }
    #section4 p .br {
      display: none; }
  #section4 dl {
    padding: 1em 0; }
    #section4 dl dt {
      font-size: 13px; }
    #section4 dl dd {
      font-size: 12px; }

  #section5 dl {
    padding: 1em 0; }
    #section5 dl dt {
      font-size: 13px; }
    #section5 dl dd {
      font-size: 12px; }

  #section6 h1 img {
    width: 100%;
    max-width: 350px; }
  #section6 .partner {
    width: 100%;
    margin-top: 30px;
    box-sizing: border-box;
    justify-content: flex-start;
    flex-direction: column; }
    #section6 .partner dl:first-child {
      width: 100%;
      max-width: 320px;
      margin: 0 auto 1em;
      padding: 0 20px;
      box-sizing: border-box; }
      #section6 .partner dl:first-child dd li {
        width: 62px; }
        #section6 .partner dl:first-child dd li img {
          width: 100%; }
    #section6 .partner dl:last-child {
      width: 100%;
      max-width: 320px;
      margin: 0 auto;
      padding: 0 20px;
      box-sizing: border-box; }
      #section6 .partner dl:last-child dd {
        width: 62px; }
        #section6 .partner dl:last-child dd img {
          width: 100%; }
    #section6 .partner dt {
      font-size: 12px;
      margin-bottom: 0.5em; } }
@media screen and (max-width: 480px) {
  #section1 .heading {
    width: 100vw; }
    #section1 .heading .head1 {
      position: absolute;
      right: 25%;
      top: -60px;
      opacity: 0; }
    #section1 .heading .head2 {
      position: absolute;
      left: 25%;
      top: 0;
      opacity: 0; }
    #section1 .heading img {
      width: 80%; }
  #section1 h1 img {
    width: 100%; } }
.ofimg {
  margin: 10px 0 0; }
  .ofimg img {
    width: 100%; }

.spon {
  display: none; }
  @media screen and (max-width: 600px) {
    .spon {
      display: inherit; } }
