@charset "UTF-8";

/*----------------------------------------フォント----------------------------------------*/
body {
  /******ゴシック******/
  font-family: "toppan-bunkyu-gothic-pr6n", "Hiragino Sans", "Hiragino Kaku Gothic ProN W3",
    "Arial", "Yu Gothic", "Meiryo", sans-serif;
  /* font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; */
  /******明朝体******/
  /* font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN W3", "Yu Mincho", "MS PMincho", serif; */
  /* font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; */
  color: var(--font-color);
  font-size: var(--font-size);
  background-color: var(--bg-color);
}


.BunkyuMidashiGoStd {
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
}

.BunkyuGothicPr6N {
  font-family: "toppan-bunkyu-gothic-pr6n",
    serif;
}



/*----------------------------------------共通----------------------------------------*/
.container {
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}

.inner {
  width: 100%;
  max-width: var(--inner);
  margin: 0 auto;
}

section {
  padding: var(--section-margin) var(--side-padding) 0;
}

section:has(+ footer) {
  padding: var(--section-margin) var(--side-padding);
}


.youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin: 3% auto;
}

.youtube img {
  width: 100%;
}

.youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*----------------------------------------header----------------------------------------*/
#top {
  height: 500px;
}

#top .big-inner {
  max-width: 1920px;
  background-image: url('../img/top_pc.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  padding: 60px 0;
}

#top .inner {}

#top .content {
  position: absolute;
  top: 50%;
  left: calc((100vw - var(--inner)) / 2);
  -ms-transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

#top .content .text {
  font-weight: 600;
}

#top .subtitle {
  font-size: 28px;
}

#top .title {
  font-size: 28px;
  margin-bottom: 20px;
}

#top .main {
  width: 80%;
  margin-bottom: 15px;
}

#top .description {
  font-size: 28px;
}

@media (max-width: 1080px) {
  #top .content {
    width: calc(100% - var(--side-padding) * 2);
    left: var(--side-padding);
  }
}

@media (max-width: 768px) {
  #top {
    height: 80vh;
  }

  #top .big-inner {
    background-image: url('../img/top_sp.jpg');
    background-position: top;
  }

  #top .content {
    position: absolute;
    top: inherit;
    -ms-transform: inherit;
    -webkit-transform: inherit;
    transform: inherit;
    bottom: 1em;
    left: var(--side-padding);
  }

  #top .main {
    width: 100%;
  }

  #top .title,
  #top .subtitle {
    font-size: 6vw;
  }

  #top .description {
    font-size: 5vw;
    padding: 0 0 0 0.5em;
  }
}

/*----------------------------------------共通----------------------------------------*/

/*----------------------------------------footer----------------------------------------*/
#footer {
  color: #fff;
  background-color: #0097C7;
  padding: 2em 0;
  text-align: center;
}

#footer a {
  position: fixed;
  bottom: -50px;
  right: 1em;
  width: 3em;
  aspect-ratio: 1;
  padding: 0.5em;
  background-color: #0097C7;
  border-radius: 0.5em;
  z-index: 10;
  transition: ease-in 0.3s;
}

#footer a.sticky {
  bottom: 1em;
}

#footer a svg {
  fill: none;
  stroke: #fff;
  stroke-width: 2;
}

#footer .content p {}
