@charset "UTF-8";
/* スライドするButton Hover Effects 左から */
/* スライドするButton Hover Effects 左下から */
/* 画像を丸くトリミング */
/* 縦横中央・GRID */
/* テスト用ボーダー 20210116 */
/* テスト用背景色 */
/* ------------------------
 index
------------------------- */
#index {
  text-align: center; }

#mainmenu {
  background-color: #C3263B;
  /* tmp */ }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #mainmenu {
    margin-bottom: 6.518904824vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #mainmenu {
      margin-bottom: 13.3333333333vw; } }

#cover {
  background-color: #C7DDEA; }

#cover .inner {
  position: relative; }

#cover .cover-txt {
  display: inline-block;
  position: absolute;
  width: 672px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 90;
  text-decoration: none; }
  @media only screen and (max-width: 1140px) {
    #cover .cover-txt {
      width: 95%;
      padding: 5px 0 15px; } }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #cover .cover-txt {
    position: static;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0); } }

#cover .cover-txt p {
  padding: 0;
  color: #000;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #fff; }

#cover .cover-txt p:first-of-type span {
  font-family: "Maru Folk Medium";
  font-display: swap;
  font-size: 3rem;
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 1px solid #000; }
  @media only screen and (max-width: 1140px) {
    #cover .cover-txt p:first-of-type span {
      font-size: 4.4736842105vw;
      padding-bottom: 5px;
      margin-bottom: 1.3157894737vw; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #cover .cover-txt p:first-of-type span {
      font-size: 4.98046875vw;
      margin-bottom: 1.46484375vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #cover .cover-txt p:first-of-type span {
      display: inline-block;
      padding: 0;
      font-size: 6.2vw;
      margin-bottom: 0 !important;
      border-bottom: 0; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #cover .cover-txt p:first-of-type span {
      font-size: 20px; } }

#cover .cover-txt p:last-of-type {
  margin-top: 15px;
  font-family: "FolkPro-b";
  font-display: swap;
  font-size: 1.5em; }
  @media only screen and (max-width: 1140px) {
    #cover .cover-txt p:last-of-type {
      font-size: 2.1929824561vw; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #cover .cover-txt p:last-of-type {
      font-size: 2.734375vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #cover .cover-txt p:last-of-type {
      font-size: 3.5vw;
      margin-top: 5px; } }

#cover .inner {
  position: relative; }

.cover-arrow-wrap {
  bottom: 1em;
  margin-top: 100px;
  margin-bottom: 100px; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  .cover-arrow-wrap {
    display: none; } }

.cover-arrow {
  position: relative; }

.cover-arrow a {
  position: absolute;
  left: 50%;
  bottom: 25px;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotateZ(45deg);
  margin-left: -25px;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #fff; }

article {
  width: 1140px;
  margin: 0 auto; }
  @media only screen and (max-width: 1140px) {
    article {
      width: 100%; } }

/* .content#main */
#main {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 50px; }
  @media only screen and (max-width: 1140px) {
    #main {
      padding-top: 4.3859649123vw; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #main {
      padding-top: 4.8828125vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #main {
      padding-top: 20px; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #main {
      padding-top: 15px; } }

#main .inner {
  margin-bottom: 1.5em; }

#main .inner:nth-of-type(2),
#main .inner:nth-of-type(3) {
  width: 48.5%; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #main .inner:nth-of-type(2),
  #main .inner:nth-of-type(3) {
    width: 100%; } }

/* inner#pickup*/
#main #pickup h2 {
  padding: 0;
  margin: 0 0 1em; }
  #main #pickup h2 br {
    display: none; }
  @media only screen and (max-width: 1140px) {
    #main #pickup h2 {
      margin: 0 0 1.7543859649vw; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #main #pickup h2 {
      margin: 0 0 1.953125vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #main #pickup h2 {
      margin: 0 0 15px; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #main #pickup h2 {
      margin: 0 0 10px; }
      #main #pickup h2 br {
        display: block;
        line-height: 1.6; } }

#main #pickup h2 {
  width: 100%;
  font-family: "FolkPro-b";
  font-display: swap;
  margin-bottom: 1em;
  font-size: 1.8em; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) {
  #main #pickup h2 {
    font-size: 1.4em; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #main #pickup h2 {
      padding: 0;
      margin: 0 0 1em;
      line-height: 1.4; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #main #pickup h2 {
      text-align: center;
      font-size: 1.3em; } }

#main #pickup .wrap {
  margin-bottom: 3.5em;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  #main #pickup .wrap:last-of-type {
    margin-bottom: 0; }

#main #pickup h3 {
  width: 100%;
  margin-bottom: 0.5em;
  font-family: "FolkPro-b";
  font-display: swap;
  font-size: 1.5em;
  color: #F62C3B; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
  #main #pickup h3 {
    font-size: 1.2em; } }

#main #pickup p {
  width: calc(100% - 250px); }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #main #pickup p {
    width: 100%;
    margin-bottom: 15px; } }

#main #pickup a.takuhai {
  display: inline-block;
  width: 200px;
  text-align: center;
  color: #000; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #main #pickup a.takuhai {
    width: 100%; }
    #main #pickup a.takuhai img {
      width: 239px;
      margin: 0 auto; }
    #main #pickup a.takuhai .cap {
      display: block;
      width: 100%;
      text-align: center; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) and (max-width: 375px) {
    #main #pickup a.takuhai img {
      width: 80%;
      margin: 0 auto; } }

#main #pickup .img.box {
  width: 181px; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #main #pickup .img.box {
    margin: 0 auto; } }

#main #pickup img {
  width: 100%;
  height: auto; }

/* .inner#map */
#main #map {
  width: 100%;
  padding: 0; }
@media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
  #main #map {
    margin-bottom: 0; } }

#main #map iframe {
  height: 450px; }
  @media only screen and (max-width: 1140px) {
    #main #map iframe {
      height: 39.4736842105vw; } }
  @media only screen and (max-width: 1140px) and (max-width: 1024px) {
    #main #map iframe {
      height: 43.9453125vw; } }

  @media only screen and (max-width: 1140px) and (max-width: 1024px) and (max-width: 767px) {
    #main #map iframe {
      height: 40vh; } }
