@charset "utf-8";

/*--------------------------------------------------------------
# Common
--------------------------------------------------------------*/
#main {
  position: relative;
  width: 100%;
  padding: 0 0 1px;
  margin: 0;
  border: none;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  box-sizing: border-box;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" 1;
  font-size: 15px;
  text-align: center;
  line-height: 1;
}

#main * {
  box-sizing: border-box;
}

#main a:link {
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-tap-highlight-color: #000;
  tap-highlight-color: #000;
}

#main a:visited {
  text-decoration: none;
}

#main a:hover,
#main a:active {
  text-decoration: none;
}

#main img,
#main video,
#main object {
  vertical-align: baseline;
}

@media screen and (max-width: 768px) {
  body {
    min-width: auto;
  }

  #topicpathArea {
    display: none;
  }
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* - base
----------------------------------------------*/
#nr {
  width: 100%;
  overflow: hidden;
}

.nr-normalize * {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  line-height: 1;
}

.nr-normalize img,
.nr-normalize video,
.nr-normalize object {
  max-width: none;
  width: 100%;
  height: auto;
}

#main .nr-normalize a:link {
  -webkit-tap-highlight-color: transparent;
}

.nr-disp-pc {
  display: block;
}

.nr-disp-sp {
  display: none;
}

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

  .nr-disp-sp {
    display: block;
  }
}

/* - Typography
----------------------------------------------*/
.nr-normalize {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", "Meiryo", sans-serif;
}

.nr-normalize * {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", "Meiryo", sans-serif;
}

.nr-normalize .font-en {
  font-family: "Cabin", sans-serif;
}

.nr-normalize .font-a {
  font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial,
    "メイリオ", Meiryo, sans-serif;
}

@media screen and (max-width: 768px) {
  .nr-normalize .font-a {
    font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ ProN W3",
      Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  }
}

.nr-normalize sup,
.nr-normalize sub {
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
}

.nr-normalize sup {
  top: -0.5em;
}

.nr-normalize sub {
  bottom: -0.25em;
}

/* - Effects
----------------------------------------------*/
.nref-hv-op {
  transition: all 300ms;
  opacity: 1;
}

.nref-hv-op:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .nref-hv-op:hover {
    opacity: 1;
  }
}

.nref-fadeup,
.nref-fadeup-list > * {
  opacity: 0;
  transform: translateY(50px);
  transition: all 600ms;
}

.nref-fadeup.is-inview,
.nref-fadeup-list > *.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.nref-fuwa-cloud {
  display: block;
  transform-origin: center center;
  animation: fuwa_1 2.3s infinite ease-in-out alternate;
}

.nref-fuwa-books {
  display: block;
  transform-origin: center center;
  animation: fuwa_1 2s infinite ease-in-out alternate;
}

.nref-fuwa-bird {
  display: block;
  transform-origin: center center;
  animation: fuwa_2 1.5s infinite ease-in-out alternate;
}

@keyframes fuwa_1 {
  0% {
    transform: translate(-2px, 5px);
  }

  100% {
    transform: translate(0, -5px);
  }
}

@keyframes fuwa_2 {
  0% {
    transform: translate(-2px, 3px);
  }

  100% {
    transform: translate(0, -3px);
  }
}

.nref-fuwa_mv {
  display: block;
  transform-origin: center center;
  animation: fuwa_mv 9s ease-in-out infinite;
}

@keyframes fuwa_mv {
  0% {
    transform: translate(0, 0);
  }

  20% {
    transform: translate(0, -12px) rotate(-1deg);
  }

  50% {
    transform: translate(0, 13px) rotate(0);
  }

  75% {
    transform: translate(0, -20px) rotate(-1deg);
  }

  100% {
    transform: translate(0, 0);
  }
}

.nref-fuwa-item-1 {
  display: block;
  pointer-events: none;
  animation: fuwa_item-1 1.5s infinite ease-in-out alternate;
}

@keyframes fuwa_item-1 {
  0% {
    transform: translate(-2px, 5px);
  }

  100% {
    transform: translate(0, -5px);
  }
}

/*--------------------------------------------------------------
# Contents
--------------------------------------------------------------*/
/* - header
----------------------------------------------*/
.nr-header {
  position: relative;
}

.nr-header_logo {
  display: block;
  width: 226px;
  height: 70px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.nr-header_logo_1 {
  display: block;
  width: 105px;
  height: 70px;
}

.nr-header_logo_2 {
  width: 121px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 105px;
}

.nr-header_logo_2 span {
  width: 92px;
  height: 8px;
  position: relative;
}

.nr-header_logo_2 span img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .nr-header_logo {
    width: 145px;
    height: 50px;
  }

  .nr-header_logo_1 {
    width: 75px;
    height: 50px;
  }

  .nr-header_logo_2 {
    width: 70px;
    height: 50px;
    left: 75px;
  }

  .nr-header_logo_2 span {
    width: 57px;
    height: 17px;
  }
}

/* - footer
----------------------------------------------*/
.nr-footer {
  padding: 170px 0 55px 0;
  position: relative;
}

.nr-footer_copyright img {
  height: 10px;
  width: auto;
}

@media screen and (max-width: 768px) {
  .nr-footer {
    padding: 26vw 0 30px 0;
    position: relative;
  }

  .nr-footer_copyright img {
    height: 7px;
  }
}

/* -
----------------------------------------------*/
.nr-gotop {
  display: block;
  width: 165px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 5;
  opacity: 0;
}

.nr-gotop img {
  transition: all 300ms;
}

.nr-gotop:hover img {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .nr-gotop {
    width: 118px;
    bottom: 10px;
    right: 10px;
  }
}

/* - Component
----------------------------------------------*/
.nrc-bg-a {
  background: url("../images/bg_01.jpg") repeat center top / 100% auto;
}

@media screen and (max-width: 1300px) {
  .nrc-bg-a {
    background-size: 1300px auto;
  }
}

@media screen and (max-width: 768px) {
  .nrc-bg-a {
    background-size: 200% auto;
  }
}

.nrc-bg-b {
  background: #ede4dc;
}

.nrc-bg-c {
  background: url("../images/bg_02.jpg") repeat center top / 100% auto;
}

@media screen and (max-width: 1300px) {
  .nrc-bg-c {
    background-size: 1300px auto;
  }
}

@media screen and (max-width: 768px) {
  .nrc-bg-c {
    background-size: 200% auto;
  }
}

.nrc-sectitle {
  text-align: center;
}

.nrc-sectitle img {
  height: 37px;
  width: auto;
}

@media screen and (max-width: 768px) {
  .nrc-sectitle img {
    height: calc(37 / 750 * 100vw);
  }
}

.nrc-il {
  display: block;
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

/*--------------------------------------------------------------
# Page
--------------------------------------------------------------*/
/* - top
----------------------------------------------*/
.nrpg-top {
  width: 100%;
  position: relative;
}

/* - scroll
----------------------------------------------*/
.nrpg-scroll {
  width: 9px;
  padding: 0 0 32px 0;
  position: absolute;
  top: 623px;
  left: 6%;
}

.nrpg-scroll:after {
  content: "";
  display: block;
  width: 1px;
  height: 27px;
  background: #000000;
  position: absolute;
  top: 35px;
  left: 4px;
  transform-origin: top center;
  animation: nr-scroll 1.2s ease-in-out infinite;
}

@keyframes nr-scroll {
  0% {
    height: 0;
    transform: translateY(0);
    opacity: 0;
  }

  30% {
    height: 27px;
    opacity: 1;
  }

  100% {
    height: 0;
    transform: translateY(40px);
    opacity: 0;
  }
}

@media screen and (max-width: 1300px) {
  .nrpg-scroll {
    left: 3%;
  }
}

@media screen and (max-width: 768px) {
  .nrpg-scroll {
    display: none;
  }
}

/* - mv
----------------------------------------------*/
.nrpg-mv {
  width: 100%;
}

.nrpg-mv_inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 295px 0 220px 0;
  position: relative;
}

.nrpg-mv_img-1 {
  width: 472px;
  position: absolute;
  top: 195px;
  left: 50%;
  transform: translate(-50%, 0);
}

.nrpg-mv_copy-1 {
  width: 582px;
  margin: 0 auto;
  position: relative;
}

.nrpg-mv_copy-2 {
  width: 178px;
  margin: 30px auto 0 auto;
  position: relative;
}

@media screen and (max-width: 768px) {
  .nrpg-mv_inner {
    padding: calc(300 / 750 * 100vw) 0 calc(270 / 750 * 100vw) 0;
  }

  .nrpg-mv_img-1 {
    width: calc(440 / 750 * 100%);
    top: calc(220 / 750 * 100vw);
    left: 50%;
    transform: translate(-50%, 0);
  }

  .nrpg-mv_copy-1 {
    width: calc(528 / 750 * 100%);
  }

  .nrpg-mv_copy-2 {
    width: calc(296 / 750 * 100%);
    margin: calc(34 / 750 * 100vw) auto 0 auto;
  }
}

/* - message
----------------------------------------------*/
.nrpg-sec-message {
  padding: 0 0 100px 0;
  position: relative;
}

.nrpg-sec-message .nrpg-sec_inner {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.nrpg-sec-message .nrpg-sec_text {
  width: calc(834 / 1000 * 100%);
  max-width: 834px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .nrpg-sec-message {
    padding: 0 0 13% 0;
  }

  .nrpg-sec-message .nrpg-sec_inner {
    padding: 0 0;
  }

  .nrpg-sec-message .nrpg-sec_text {
    width: calc(600 / 750 * 100vw);
    max-width: 420px;
  }
}

/* il */
.nrpg-sec-message .nrpg-il-1 {
  width: 139px;
  bottom: -45px;
  right: calc(-20 / 1040 * 100%);
}

.nrpg-sec-message .nrpg-il-2 {
  display: none;
}

@media screen and (max-width: 768px) {
  .nrpg-sec-message .nrpg-il-1 {
    width: 70px;
    bottom: -95px;
    right: auto;
    left: calc(55 / 750 * 100%);
  }

  .nrpg-sec-message .nrpg-il-2 {
    display: block;
    width: 108px;
    bottom: -67px;
    right: calc(-40 / 750 * 100%);
  }
}
/* - banner
----------------------------------------------*/
.nrpg-banner {
  width: 635px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .nrpg-banner {
    width: calc(710 / 750 * 100%);
  }
}
/* - map
----------------------------------------------*/
.nrpg-sec-map {
  margin: 0 auto;
  position: relative;
}

.nrpg-sec-map .nrpg-sec_inner {
  padding: 130px 0 200px 0;
  position: relative;
}

.nrpg-sec-map .nrpg-sec_title {
  margin: 0 0 100px 0;
}

.nrp-sec_btn {
  margin: calc(40 / 1300 * 100vw) auto 0;
}

.nrp-sec_btn.nrc-map-btn-a {
  width: max(260px, calc(370 / 1300 * 100vw));
  height: calc(50 / 1300 * 100vw);
  font-size: max(12px, calc(16 / 1300 * 100vw));
}

@media screen and (max-width: 768px) {
  .nrpg-sec-map .nrpg-sec_inner {
    padding: 26vw 0 26vw 0;
  }

  .nrpg-sec-map .nrpg-sec_title {
    margin-bottom: calc(168 / 750 * 100vw);
  }

  .nrp-sec_btn.nrc-map-btn-a {
    width: max(200px, calc(300 / 750 * 100vw));
    height: calc(50 / 750 * 100vw);
    font-size: max(10px, calc(14 / 750 * 100vw));
  }
}

@media screen and (min-width: 1301px) {
  .nrp-sec_btn.nrc-map-btn-a {
    font-size: 16px;
    width: 330px;
    height: 45px;
  }
}

/* - schedule
----------------------------------------------*/
.nrpg-sec-skd1 {
  padding: 180px 0 130px 0;
  position: relative;
}

.nrpg-sec-skd1 .nrpg-sec_inner {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}

.nrpg-sec-skd1 .nrpg-sec_title {
  margin: 0 0 80px 0;
}

/* il */
.nrpg-sec-skd1 .nrpg-il-1 {
  width: 211px;
  top: -260px;
  right: calc(-160 / 1040 * 100%);
}

@media screen and (max-width: 768px) {
  .nrpg-sec-skd1 {
    padding: 13vw 0 10vw 0;
  }

  .nrpg-sec-skd1 .nrpg-sec_inner {
    padding: 0 0;
  }

  .nrpg-sec-skd1 .nrpg-sec_title {
    margin: 0 0 13vw 0;
  }

  /* il */
  .nrpg-sec-skd1 .nrpg-il-1 {
    display: none;
  }
}

/* - schedule2
----------------------------------------------*/
.nrpg-sec-skd2 {
  padding: 140px 0 0 0;
  position: relative;
}

.nrpg-sec-skd2 .nrpg-sec_inner {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 768px) {
  .nrpg-sec-skd2 {
    padding: 10vw 0 0 0;
  }

  .nrpg-sec-skd2 .nrpg-sec_inner {
    padding: 0 0;
  }
}
