@font-face {
  font-family: 'NotoSansJP';
  src: url("NotoSansJP-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal
}

@font-face {
  font-family: 'NotoSansJP';
  src: url("NotoSansJP-Bold.otf") format("opentype");
  font-weight: 600;
  font-style: normal
}

@font-face {
  font-family: 'NotoSansJP';
  src: url("NotoSansJP-Black.otf") format("opentype");
  font-weight: 700;
  font-style: normal
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}

a {
  color: #000;
  text-decoration: none
}

a:focus {
  outline: none
}

button {
  cursor: pointer
}

button:focus {
  outline: none
}

h1, h2, h3 {
  font-weight: bold
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 2.0;
  background: #FFF;
  background-size: cover
}

@media only screen and (max-width: 768px) {
  body {
    font-size: 14px
  }
}

ol, ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

blockquote:before, blockquote:after {
  content: '';
  content: none
}

q:before, q:after {
  content: '';
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

header {
  background: #fff;
  padding: 6px 20px;
  position: fixed;
  top: 0;
  transition: 0.5s;
  width: 100%;
  z-index: 999;
  transform: translateY(-100%);
  box-sizing: border-box
}

header.view {
  transform: translateY(0%)
}

header .header-logo {
  line-height: 1;
  text-align: center
}

@media only screen and (max-width: 768px) {
  header .header-logo img {
    width: 46px
  }
}

footer {
  position: relative;
  color: #000;
  padding: 43px 0;
  text-align: center;
  background: : #FFF
}

footer #corp {
  font-size: 26px
}

@media only screen and (max-width: 768px) {
  footer #corp {
    font-size: 4.2vw
  }
}

footer #corp a {
  text-decoration: none;
  color: #000
}

footer #copy {
  font-size: 17px;
  margin-top: 27px
}

@media only screen and (max-width: 768px) {
  footer #copy {
    font-size: 3.8vw
  }
}

#pageTop {
  position: absolute;
  right: 20px;
  padding: 3px
}

#pageTop:hover {
  opacity: 0
}

#pageTop a {
  background: #FFF;
  box-shadow: 0 1px 0.8px 0.2px rgba(8, 0, 1, 0.24), 0 5px 9px 1px rgba(8, 0, 1, 0.15);
  text-decoration: none;
  width: 50px;
  height: 50px;
  text-align: center;
  display: block;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em
}

#pageTop a::after, #pageTop a::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  transform: rotate(45deg)
}

#pageTop a::before {
  background: linear-gradient(#00AEDC, #8EC66D)
}

#pageTop a::after {
  background: #FFF;
  top: 16px
}

.navToggle {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 57px;
  height: 57px;
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 9999;
  text-align: center
}

.navToggle span {
  display: block;
  position: absolute;
  width: 50%;
  height: 2px;
  background: #231815;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 10px
}

.navToggle span:nth-child(1) {
  top: 25%
}

.navToggle span:nth-child(2) {
  top: 40%
}

.navToggle span:nth-child(3) {
  top: 55%
}

.navToggle.active span:nth-child(1) {
  top: 40%;
  left: 2px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
  top: 40%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
  top: 40%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.pc {
  display: block
}

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

.sp {
  display: none
}

@media only screen and (max-width: 768px) {
  .sp {
    display: block
  }
}

.title {
  font-size: 40px;
    color: #000
}

@media only screen and (max-width: 768px) {
  .title {
    font-size: 26px
	  color: #000
  }
}

.title.en {
  font-weight: 800;
  line-height: 1.8;
  padding-bottom: 16px
    color: #000
}

.title.en span {
  display: block;
  font-size: 13px
}

.sec_title {
  text-align: center;
  padding: 40px 0
}

.sec_title h2 {
  letter-spacing: 8.36px;
  font-size: 38px
}

@media only screen and (max-width: 768px) {
  .sec_title h2 {
    font-size: 5.6vw
  }
}

.sec_title p {
  line-height: 47px;
  letter-spacing: 4.4px;
  margin-top: 20px
}

@media only screen and (max-width: 768px) {
  .sec_title p {
    letter-spacing: 2.0px;
    line-height: 2.4
  }
}

.scroll-fade-row.sp {
  max-width: 290px;
  height: 300px;
  margin: auto;
  transition: 0.3s
}

@media only screen and (max-width: 768px) {
  .scroll-fade-row.sp {
    position: relative;
    left: 0.4em
  }
}

.scroll-fade {
  opacity: 0;
  transform: translateY(80px);
  transition: 1200ms;
}

#mv .mv-container {
  position: relative;
  height: 47vw;
  overflow: hidden
}

@media only screen and (max-width: 768px) {
  #mv .mv-container {
    overflow: hidden;
    width: 100%;
    height: 70vh
  }
}

#mv .mv-container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0);
  z-index: 1
}

#mv .mv-container>video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

@media print, screen and (min-width: 769px) {
  #mv .mv-container>video {
    width: 100%
  }
}

#mv .mv-container .logo h1 img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 31%;
  z-index: 2
}

@media only screen and (max-width: 768px) {
  #mv .mv-container .logo h1 img {
    width: 72%
  }
}

#intro {
  padding: 269px 0;
  background-size: cover
}

@media only screen and (max-width: 768px) {
  #intro {
    padding: 25vw 4vw 80px
  }
}

#intro .intro_text {
  width: 100%;
  max-width: 720px;
  margin: auto
}

@media only screen and (max-width: 768px) {
  #intro .intro_text h2 img {
    height: 4em
  }
}

#intro .intro_text p {
  line-height: 1;
  margin-top: 52px
}

@media only screen and (max-width: 768px) {
  #intro .intro_text p {
    margin-top: 22px
  }
}

@media print, screen and (min-width: 769px) {
  #intro .intro_text p img {
    height: 20px
  }
}

#intro .intro_text p:first-of-type {
  margin-top: 86px
}

@media only screen and (max-width: 768px) {
  #intro .intro_text p:first-of-type {
    margin-top: 30px
  }
}

#intro .intro_text p.hide1 {
  transition: 0.8s;
  opacity: 0
}

#intro .intro_text p.hide2 {
  transition: 0.8s;
  opacity: 0
}

#intro .intro_text img {
  max-width: 100%;
  height: auto
}

@media only screen and (max-width: 768px) {
  #intro .intro_text img {
    height: 1em
  }
}

#intro .view-more {
  width: 120px;
  margin: 30px auto 0;
  overflow: hidden;
  border: 1px solid #231815;
  padding: 3px 10px;
  text-align: center
}

#topics dl {
  display: flex;
  flex-wrap: wrap;
  max-width: 520px;
  margin: 40px auto 0
}

@media only screen and (max-width: 768px) {
  #topics dl {
    padding: 0 4vw
  }
}

#topics dl * {
  letter-spacing: 2.7px;
  text-align: left
}

@media only screen and (max-width: 768px) {
  #topics dl * {
    font-size: 12px
  }
}

#topics dl dt {
  width: 110px;
  color:  #000;
  font-size: 15px;
  margin: 0 0 5px 0
}

@media only screen and (max-width: 768px) {
  #topics dl dt {
    width: 100px
  }
}

#topics dl dd {
  width: calc(100% - 110px);
  color:  #000;
  font-size: 15px;
  margin: 0 0 5px 0;
}

@media only screen and (max-width: 768px) {
  #topics dl dd {
    width: calc(100% - 0px);
    font-size: 12px
  }
}

#travel ul li {
  width: 100%;
  height: 46vw;
  max-height: 900px;
  text-align: center;
  color: #000
}

#travel ul li:first-of-type {
  background: url("../../assets/images/travel_bg_01.jpg") no-repeat;
  background-size: cover
}

#travel ul li:last-of-type {
  background: url("../../assets/images/travel_bg_02.jpg") no-repeat;
  background-size: cover
}

#area {
  padding: 0 0 180px
}

@media only screen and (max-width: 768px) {
  #area {
    padding: 0 4vw 70px
  }
}

#area .area_list li {
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-bottom: 10px
}

#area .area_list li:nth-of-type(0) {
  background: url("../../assets/images/area_bg_00.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(1) {
  background: url("../../assets/images/area_bg_01.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(2) {
  background: url("../../assets/images/area_bg_02.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(3) {
  background: url("../../assets/images/area_bg_03.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(4) {
  background: url("../../assets/images/area_bg_04.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(5) {
  background: url("../../assets/images/area_bg_05.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(6) {
  background: url("../../assets/images/area_bg_06.jpg") no-repeat;
  background-size: cover
}

#area .area_list li:nth-of-type(7) {
  background: url("../../assets/images/area_bg_07.jpg") no-repeat;
  background-size: cover
}

#area .area_list li .area_text {
  text-align: center
}

#area .area_list li .area_text * {
  color: #FFF
}

#area .area_list li .area_text h2 {
  font-size: 50px
}

#area .area_list li .area_text p {
  position: relative;
  top: -1em
}

#area .slider_wrap {
  max-width: 1232px;
  margin: 40px auto 0
}

@media only screen and (max-width: 1440px) {
  #area .slider_wrap {
    max-width: 960px;
    margin-top: 50px
  }
}

@media only screen and (min-width: 769px) and (max-width: 1139px) {
  #area .slider_wrap {
    width: 80%;
    max-width: 760px;
    margin-top: 50px
  }
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap {
    max-width: 80%;
    margin-top: 20px
  }
}

#area .slider_wrap .slider {
  max-width: 100%;
  position: relative
}

#area .slider_wrap .slider .slick-arrow {
  width: 36px;
  height: 41px;
  border: none;
  text-indent: -9999em;
  position: absolute;
  top: -4em;
  bottom: 0;
  margin: auto
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap .slider .slick-arrow {
    width: 20px;
    height: 22px
  }
}

#area .slider_wrap .slider .slick-arrow.slick-prev {
  background: url("../../assets/images/arrow_left.svg") no-repeat;
  background-size: contain;
  left: -82px
}

@media only screen and (min-width: 769px) and (max-width: 1139px) {
  #area .slider_wrap .slider .slick-arrow.slick-prev {
    left: -50px
  }
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap .slider .slick-arrow.slick-prev {
    left: -20px
  }
}

#area .slider_wrap .slider .slick-arrow.slick-next {
  background: url("../../assets/images/arrow_right.svg") no-repeat;
  background-size: contain;
  right: -82px
}

@media only screen and (min-width: 769px) and (max-width: 1139px) {
  #area .slider_wrap .slider .slick-arrow.slick-next {
    right: -50px
  }
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap .slider .slick-arrow.slick-next {
    right: -20px
  }
}

#area .slider_wrap .slider li {
  margin: 0 16px
}

#area .slider_wrap .slider li p {
  text-align: center;
  padding-top: 10px;
  font-weight: 700;
  letter-spacing: 4.18px
}

@media only screen and (min-width: 769px) and (max-width: 1139px) {
  #area .slider_wrap .slider li p {
    font-size: 15px
  }
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap .slider li p {
    font-size: 14px
  }
}

#area .slider_wrap .slider li img {
  width: 100%;
  max-width: 100%
}

@media only screen and (max-width: 768px) {
  #area .slider_wrap .slider li img {
    width: 100%;
    height: 300px;
    object-fit: cover
  }
}

#area .slider_wrap .btn {
  text-align: right;
  margin-top: 30px
}

#area aside .sns_wrap {
  width: 100%;
  max-width: 1200px;
  height: auto;
  margin: 277px auto 0;
  text-align: center;
  border-left: 8px solid #8EC66D;
  border-right: 8px solid #00AEDC;
  box-sizing: border-box
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap {
    margin-top: 120px
  }
}

#area aside .sns_wrap::after, #area aside .sns_wrap::before {
  content: "";
  display: block;
  height: 8px;
  background: linear-gradient(to right, #8EC66D 0%, #00AEDC 100%)
}

#area aside .sns_wrap .sns {
  padding: 75px 10px
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap .sns {
    padding: 30px 10px
  }
}

#area aside .sns_wrap .sns h3 {
  letter-spacing: 8.36px;
  font-size: 38px
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap .sns h3 {
    line-height: 2;
    font-size: 4.2vw
  }
}

#area aside .sns_wrap .sns p {
  line-height: 47px;
  letter-spacing: 4.4px;
  margin-top: 24px
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap .sns p {
    letter-spacing: 2.0px;
    line-height: 2.4
  }
}

#area aside .sns_wrap .sns ul {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 82px
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap .sns ul {
    margin-top: 32px;
    padding: 0 6vw;
    justify-content: space-between
  }
}

#area aside .sns_wrap .sns ul li {
  width: 9%;
  margin: 0 2%
}

@media only screen and (max-width: 768px) {
  #area aside .sns_wrap .sns ul li {
    width: 24%;
    margin: 0
  }
}

#area aside .sns_wrap .sns ul li img {
  max-width: 100%
}

#area aside .pamphlet {
  margin-top: 280px
}

#area aside .pamphlet figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

#area aside .pamphlet figure h3 {
  display: inline-block;
  border: 1px solid #231815;
  margin-top: 20px;
  padding: 3px 10px;
  font-size: 27px
}

#area aside .pamphlet figure p {
  padding: 6px 0
}

#area aside .pamphlet figure span {
  font-size: 18px;
  color: #FFFFFF;
  background: #231815;
  padding: 3px 6px
}

p.indent-1 {
  padding-left: 1.3em;
  margin-top: 0px;
}

/*# sourceMappingURL=style.css.map */
