@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* メディアサイズ */
/* Scss Document */
/* メデイアクエリブレイクポイント */
/* 擬似要素 */
/* -------------------------------------------------------
  initialize
   ------------------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

header,
footer,
nav,
section {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
header div, header dl, header dt, header dd, header ol, header ul, header li, header p, header figure, header blockquote, header h1, header h2, header h3, header h4, header h5, header h6, header img,
footer div,
footer dl,
footer dt,
footer dd,
footer ol,
footer ul,
footer li,
footer p,
footer figure,
footer blockquote,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer img,
nav div,
nav dl,
nav dt,
nav dd,
nav ol,
nav ul,
nav li,
nav p,
nav figure,
nav blockquote,
nav h1,
nav h2,
nav h3,
nav h4,
nav h5,
nav h6,
nav img,
section div,
section dl,
section dt,
section dd,
section ol,
section ul,
section li,
section p,
section figure,
section blockquote,
section h1,
section h2,
section h3,
section h4,
section h5,
section h6,
section img {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
header h1, header h2, header h3, header h4, header h5, header h6, header address,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer address,
nav h1,
nav h2,
nav h3,
nav h4,
nav h5,
nav h6,
nav address,
section h1,
section h2,
section h3,
section h4,
section h5,
section h6,
section address {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  line-height: 100%;
}
header dl, header ol, header ul,
footer dl,
footer ol,
footer ul,
nav dl,
nav ol,
nav ul,
section dl,
section ol,
section ul {
  list-style: none;
}
header a,
footer a,
nav a,
section a {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  line-height: 100%;
  text-decoration: none;
  outline: none;
}
header a:focus,
footer a:focus,
nav a:focus,
section a:focus {
  overflow: hidden;
}
header img,
footer img,
nav img,
section img {
  border: none;
  vertical-align: bottom;
}
header input[type="submit"],
header input[type="button"],
footer input[type="submit"],
footer input[type="button"],
nav input[type="submit"],
nav input[type="button"],
section input[type="submit"],
section input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background-color: transparent;
}
header input[type="submit"]::-webkit-search-decoration,
header input[type="button"]::-webkit-search-decoration,
footer input[type="submit"]::-webkit-search-decoration,
footer input[type="button"]::-webkit-search-decoration,
nav input[type="submit"]::-webkit-search-decoration,
nav input[type="button"]::-webkit-search-decoration,
section input[type="submit"]::-webkit-search-decoration,
section input[type="button"]::-webkit-search-decoration {
  display: none;
}
header input[type="submit"]:focus,
header input[type="button"]:focus,
footer input[type="submit"]:focus,
footer input[type="button"]:focus,
nav input[type="submit"]:focus,
nav input[type="button"]:focus,
section input[type="submit"]:focus,
section input[type="button"]:focus {
  outline-offset: -2px;
}
header textarea:focus,
header input:focus,
footer textarea:focus,
footer input:focus,
nav textarea:focus,
nav input:focus,
section textarea:focus,
section input:focus {
  outline: none;
}
header textarea,
header input[type="text"],
footer textarea,
footer input[type="text"],
nav textarea,
nav input[type="text"],
section textarea,
section input[type="text"] {
  font-size: 100%;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  font-size: 62.5%;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 1rem;
  line-height: 1;
}

/* -------------------------------------------------------
  common
   ------------------------------------------------------- */
body {
  color: #3d3d3d;
  font-size: 1.8rem;
  line-height: 1.6;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
body.-opened {
  overflow: hidden;
}
@media all and (max-width: 768px) {
  body {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

h1, h2, h3, h4, h5, h6, address {
  line-height: 1.4;
}

a {
  color: #3d3d3d;
  text-decoration: none;
}
a img {
  opacity: 1;
  transition: opacity .2s;
}
a:hover img {
  opacity: .76;
}

header img,
footer img,
nav img,
section img {
  width: 100%;
  height: auto;
  display: block;
}

/* -------------------------------------------------------
  header
------------------------------------------------------- */
.header {
  position: fixed;
  z-index: 10;
  width: 100%;
  max-width: 1300px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.header-logo {
  position: relative;
  max-width: 140px;
  margin-left: 20px;
  margin-top: 20px;
}
@media all and (max-width: 768px) {
  .header-logo {
    max-width: 80px;
    margin-left: 16px;
    margin-top: 16px;
  }
}

.hamburger {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 52px;
  height: 38px;
  padding: 4px;
  padding-top: 18px;
  padding-bottom: 20px;
  cursor: pointer;
  transition: all .2s;
}
@media all and (max-width: 768px) {
  .hamburger {
    top: 16px;
    right: 16px;
    width: 46px;
    height: 34px;
    padding-top: 16px;
    padding-bottom: 18px;
  }
}

.hamburger.-opened {
  display: block !important;
}
.hamburger.-opened .hamburger-icon {
  background-color: transparent;
}

.hamburger.-opened .hamburger-icon::before {
  transform: rotate(45deg);
  top: 0;
}

.hamburger.-opened .hamburger-icon::after {
  transform: rotate(-45deg);
  top: 0;
}

.hamburger-icon {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #3d3d3d;
}

.hamburger-icon::before,
.hamburger-icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  transition: all 0.3s;
  background-color: #3d3d3d;
}

.hamburger-icon::before {
  top: -14px;
}
@media all and (max-width: 768px) {
  .hamburger-icon::before {
    top: -12px;
  }
}

.hamburger-icon::after {
  top: 14px;
}
@media all and (max-width: 768px) {
  .hamburger-icon::after {
    top: 12px;
  }
}

body.-opened {
  overflow: hidden;
}

.gtranslate_wrapper {
  position: absolute;
  top: 18px;
  right: 140px;
  font-size: 2rem;
  line-height: 1;
  border-radius: 1em;
  color: #3d3d3d;
  border: solid 1px #3d3d3d;
  background-color: #f1f2ed;
  cursor: pointer;
  transition: all .2s;
}
@media all and (max-width: 768px) {
  .gtranslate_wrapper {
    right: 90px;
    font-size: 1.4rem;
  }
}
.gtranslate_wrapper .gt_selector {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
  padding: .4em 1em;
  cursor: pointer;
  outline: none;
  border-radius: 1em;
}

.gnav {
  position: fixed;
  top: -100vh;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: #f1f2ed;
  transition: all .3s;
}
.gnav a:hover img {
  opacity: .6;
}
@media all and (max-width: 768px) {
  .gnav {
    top: 0;
    right: -100vw;
  }
}

.gnav-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}

.gnav.-opened {
  top: 0;
}
@media all and (max-width: 768px) {
  .gnav.-opened {
    right: 0;
  }
}

.gnav-content {
  padding: 60px 80px;
}
@media all and (max-width: 768px) {
  .gnav-content {
    padding: 16px;
  }
}

.gnav-title {
  max-width: 160px;
  margin-bottom: 80px;
}
@media all and (max-width: 768px) {
  .gnav-title {
    max-width: 80px;
    margin-bottom: 24px;
  }
}

.gnav-inner {
  display: flex;
}
@media all and (max-width: 768px) {
  .gnav-inner {
    display: block;
  }
}

.gnav-menu {
  flex-basis: 31%;
}
.gnav-menu:not(:last-of-type) {
  margin-right: 3.5%;
}
.gnav-menu li {
  border-bottom: solid 1px #3d3d3d;
}
.gnav-menu a {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
  padding: 1em 0 .8em;
  transition: all .2s;
}
.gnav-menu a:hover {
  opacity: .6;
}
@media all and (max-width: 768px) {
  .gnav-menu:not(:last-of-type) {
    margin-right: 0;
  }
  .gnav-menu a {
    font-size: 1.4rem;
  }
}

.gnav-bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 60px;
}
@media all and (max-width: 768px) {
  .gnav-bottom {
    margin-top: 30px;
    justify-content: center;
  }
}

.gnav-sns {
  display: flex;
  width: 100%;
}
.gnav-sns li {
  margin-left: 46px;
}
.gnav-sns li a {
  display: block;
  width: 56px;
}
.gnav-sns li.gnav-sns__form a {
  box-sizing: border-box;
  width: 296px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: bold;
  padding: .8em 0 .6em;
  border-radius: 2em;
  background-color: #3d3d3d;
  color: #fff;
  border: solid 2px #3d3d3d;
  transition: all .2s;
}
.gnav-sns li.gnav-sns__form a:hover {
  background-color: #fff;
  color: #3d3d3d;
}
@media all and (max-width: 768px) {
  .gnav-sns {
    flex-wrap: wrap;
  }
  .gnav-sns li {
    margin-left: 0;
  }
  .gnav-sns li:first-of-type {
    margin-right: 34px;
  }
  .gnav-sns li a {
    width: 42px;
  }
  .gnav-sns li.gnav-sns__form {
    flex-basis: 100%;
    margin-top: 34px;
  }
  .gnav-sns li.gnav-sns__form a {
    width: 100%;
    font-size: 1.4rem;
  }
}

/* -------------------------------------------------------
  section
------------------------------------------------------- */
@media all and (min-width: 768px) {
  .sp-disp {
    display: none;
  }
}

@media all and (max-width: 768px) {
  .pc-disp {
    display: none;
  }
}

.main-content {
  overflow: hidden;
}

.section__wrapper {
  max-width: 1300px;
  margin: 0 auto;
}

.section__content {
  padding: 200px 70px;
}
.section__content.-right-1 {
  padding-right: 0;
}
.section__content.-top-1 {
  padding-top: 50px;
}
@media all and (min-width: 768px) {
  .section__content {
    padding-left: 0;
  }
}
@media all and (max-width: 768px) {
  .section__content {
    padding: 100px 16px;
  }
  .section__content.-top-1 {
    padding-top: 20px;
  }
  .section__content.-left-1 {
    padding-left: 0;
  }
  .section__content.-left-1 .section-contentbox__title {
    padding-left: 16px;
  }
}

@keyframes floating-y {
  0% {
    transform: translateY(-6%);
  }
  100% {
    transform: translateY(6%);
  }
}
.floating {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.partition-wave {
  position: relative;
  z-index: 1;
  max-width: 1300px;
  margin: 0 auto;
  overflow: visible;
}
.partition-wave picture {
  position: relative;
  display: block;
}
.partition-wave picture img {
  display: block;
  width: 100%;
  height: auto;
}
.partition-wave .diver-1 {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 120px;
  height: 90px;
}
.partition-wave .diver-1 img {
  position: relative;
  top: -90px;
}
@media all and (max-width: 768px) {
  .partition-wave .diver-1 img {
    top: -60px;
  }
}
.partition-wave::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #f1f2ed;
}
.partition-wave.-rev::before {
  left: 100%;
}
.partition-wave.-bg-1 {
  background-color: #87c0f4;
}
.partition-wave.-bg-1::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 100%;
  width: 100%;
  height: 100%;
  background-color: #87c0f4;
}

.bg-color-1 {
  background-color: #f1f2ed;
}

.bg-color-2 {
  background-color: #87c0f4;
}

.bg-color-3 {
  background-color: #e6f77f;
}

.bg-color-4 {
  background-color: #3d3d3d;
}

.slider {
  opacity: 0;
  transition: opacity .3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}

.dots-wrap {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.dots-wrap li {
  width: 10px;
  height: 10px;
  margin: 0 4px;
  background-color: transparent;
  border-radius: 50%;
  border: solid 1px #3d3d3d;
  cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
  background-color: #3d3d3d;
}

.dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

@media all and (max-width: 768px) {
  .fancybox-slide {
    padding-left: 0;
    padding-right: 0;
  }
}

/* -------------------------------------------------------
  front-page
------------------------------------------------------- */
.section-mainv__slider {
  position: relative;
}
.section-mainv__slider .slider-mask {
  position: absolute;
  z-index: 0;
  width: 100%;
  top: 0;
  left: 0;
}
.section-mainv__slider .slider-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (min-width: 768px) {
  .section-mainv__slider .slider-mask {
    height: 56vw;
    max-height: 740px;
  }
}
@media all and (max-width: 768px) {
  .section-mainv__slider .slider-mask {
    height: 146vw;
  }
}
.section-mainv__slider .slider {
  position: relative;
}
.section-mainv__slider .slick-slide {
  width: 100%;
  max-width: 1300px;
  position: relative;
}
@media all and (min-width: 768px) {
  .section-mainv__slider .slick-slide {
    height: 56vw;
    max-height: 740px;
  }
}
@media all and (max-width: 768px) {
  .section-mainv__slider .slick-slide {
    height: 146vw;
  }
}
.section-mainv__slider .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-mainv__slider .slick-slide .frame {
  position: absolute;
  z-index: 1;
}
.section-mainv__slider .slick-slide .picture {
  position: relative;
  border: solid 4px #f1f2ed;
  box-sizing: border-box;
}

@media all and (min-width: 768px) {
  .section-maincatch__content.section__content {
    padding-left: 70px;
  }
}

.section-maincatch__logo {
  max-width: 250px;
  margin: 0 auto;
}
@media all and (max-width: 768px) {
  .section-maincatch__logo {
    max-width: 150px;
  }
}

.section-maincatch__catch {
  font-size: 2.5rem;
  line-height: 1.5;
  text-align: center;
  margin-top: 3em;
  margin-bottom: 5em;
}
.section-maincatch__catch :not(:last-of-type) {
  margin-bottom: 1.4em;
}
@media all and (max-width: 768px) {
  .section-maincatch__catch {
    font-size: 1.4rem;
  }
}

.section-maincatch__button {
  max-width: 72px;
  margin: 0 auto;
}
@media all and (max-width: 768px) {
  .section-maincatch__button {
    max-width: 40px;
  }
}

.section-contentbox__title {
  font-size: 5rem;
  line-height: 1.2;
  margin-bottom: .6em;
  padding: 0 70px;
}
@media all and (max-width: 768px) {
  .section-contentbox__title {
    font-size: 2.5rem;
    line-height: 1.3;
    padding: 0;
    padding-right: 16px;
  }
}
.section-contentbox__title.-title-1 {
  padding: 0;
  text-align: center;
}
@media all and (max-width: 768px) {
  .section-contentbox__title.-title-1 {
    letter-spacing: -.1em;
    margin-right: 16px;
  }
}

.section-contentbox__tag {
  font-size: 1.8rem;
  line-height: 1.833333333333333;
  margin-bottom: 1.4em;
  padding: 0 70px;
}
@media all and (max-width: 768px) {
  .section-contentbox__tag {
    font-size: 1.3rem;
    padding: 0;
    padding-right: 16px;
  }
}

.section-contentbox__slider {
  width: 100%;
  padding-left: 70px;
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .section-contentbox__slider {
    padding-left: 0;
  }
  .section-contentbox__slider.-news {
    overflow: visible;
  }
}

@media all and (min-width: 768px) {
  .section-contentbox__slider__wrapper {
    width: 1600px;
  }
  .section-contentbox__slider__wrapper .slick-list {
    overflow: visible;
  }
  .section-contentbox__slider__wrapper .slick-slide a {
    display: block;
    width: 510px;
    height: 364px;
    border-radius: 40px;
    overflow: hidden;
  }
  .section-contentbox__slider__wrapper .slick-slide a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .section-contentbox__slider__wrapper .dots-wrap {
    justify-content: flex-start;
    margin-left: 32%;
  }
}
@media all and (max-width: 768px) {
  .section-contentbox__slider__wrapper .slick-slide a {
    display: block;
    height: 60vw;
    border-radius: 40px 0 0 40px;
    overflow: hidden;
  }
  .section-contentbox__slider__wrapper .slick-slide a img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media all and (max-width: 768px) {
  .section-contentbox__slider__wrapper.-news .section-contentbox__slider {
    overflow: visible;
  }
  .section-contentbox__slider__wrapper.-news .slick-list {
    overflow: visible;
  }
  .section-contentbox__slider__wrapper.-news .slick-slide a {
    height: auto;
    border-radius: 0;
    overflow: unset;
  }
  .section-contentbox__slider__wrapper.-news .slick-slide a .image {
    height: 44vw;
    width: 64vw;
    border-radius: 20px;
    overflow: hidden;
  }
}
.section-contentbox__slider__wrapper.-news .dots-wrap {
  justify-content: flex-start;
  position: relative;
  width: 54px;
  left: calc(50vw - 16px - 27px);
}
.section-contentbox__slider__wrapper.-news .dots-wrap li {
  flex-basis: 10px;
}

.section-contentbox__catch {
  font-size: 2.4rem;
  line-height: 1.666666666666667;
  padding: 0 70px;
  margin-top: 2em;
}
@media all and (max-width: 768px) {
  .section-contentbox__catch {
    font-size: 1.4rem;
    padding: 0;
    padding-right: 16px;
  }
}
@media all and (min-width: 768px) {
  .section-contentbox__catch.-catch-1 {
    padding-right: 0;
    margin-top: 0;
  }
}

.section-contentbox__link {
  font-size: 2.4rem;
  padding: 0 70px;
  margin-top: 4em;
  text-align: right;
}
.section-contentbox__link p {
  margin-top: 2em;
}
.section-contentbox__link p a {
  overflow: visible;
  font-weight: bold;
  display: inline-block;
  vertical-align: bottom;
  border-bottom: solid 2px #3d3d3d;
  padding: .4em 0;
}
.section-contentbox__link p a i {
  display: inline-block;
  width: 1em;
  vertical-align: bottom;
  margin-left: .4em;
  position: relative;
  right: 0;
  transition: all .2s;
}
.section-contentbox__link p a:hover i {
  right: -.2em;
}
@media all and (max-width: 768px) {
  .section-contentbox__link {
    font-size: 1.4rem;
    padding: 0;
    padding-right: 16px;
    margin-top: 2em;
  }
  .section-contentbox__link p {
    margin-top: 1.6em;
  }
}

@media all and (min-width: 768px) {
  .attention-wrapper {
    display: flex;
    flex-wrap: wrap;
  }
}

@media all and (min-width: 768px) {
  .attention-content.-content-1 {
    flex-basis: 100%;
    order: 1;
  }
  .attention-content.-content-2 {
    flex-basis: 57%;
    padding-left: 4%;
    order: 3;
  }
  .attention-content.-content-3 {
    flex-basis: 43%;
    order: 2;
  }
  .attention-content.-content-4 {
    flex-basis: 100%;
    order: 4;
  }
}

.attention-image p {
  border-radius: 40px 0 0 40px;
  overflow: hidden;
}
.attention-image p img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 768px) {
  .attention-image p {
    height: 60vw;
  }
}

.attention-link {
  font-size: 2.4rem;
  margin-top: 4em;
  padding: 0 70px;
}
.attention-link p {
  max-width: 456px;
  margin: 0 auto;
  margin-top: 1.6em;
}
.attention-link p a {
  display: block;
  background-color: #fff;
  border: solid 4px #cc6699;
  border-radius: 1em;
  text-align: center;
  line-height: 1;
  padding: .8em 0;
  transition: all .2s;
}
.attention-link p a:hover {
  background-color: #cc6699;
  color: #fff;
}
@media all and (max-width: 768px) {
  .attention-link {
    font-size: 1.6rem;
    padding: 0 16px 0 0;
  }
  .attention-link p {
    max-width: initial;
    width: 100%;
  }
  .attention-link p a {
    border: solid 2px #cc6699;
    border-radius: 2em;
  }
}

.part-mountain {
  height: 260px;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.part-mountain img {
  width: 100%;
  height: auto;
  display: block;
}
@media all and (max-width: 768px) {
  .part-mountain {
    height: 200px;
  }
}
.part-mountain .diver-area {
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
.part-mountain .diver-2 {
  position: absolute;
  z-index: 1;
  top: 40px;
  left: 6%;
  width: 236px;
}
@media all and (max-width: 768px) {
  .part-mountain .diver-2 {
    left: 4%;
    width: 118px;
  }
}
.part-mountain .mountain-1 {
  position: absolute;
  z-index: 9;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 626px;
}
.part-mountain::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #daddd0, #fdfff4);
}

.partition-green {
  position: relative;
  z-index: 9;
  padding-top: 80px;
  background: linear-gradient(90deg, #daddd0, #fdfff4);
}
.partition-green picture {
  position: relative;
  display: block;
}
.partition-green picture img {
  display: block;
  width: 100%;
  height: auto;
}
.partition-green.-bottom {
  padding-top: 0;
  background: #fff;
}

@media all and (min-width: 768px) {
  .topnews-wrapper {
    padding: 0 70px;
  }
}

@media all and (max-width: 768px) {
  .topnews-content {
    width: 100%;
    overflow: hidden;
  }
}

.topnews-inner {
  display: flex;
}
.topnews-inner li {
  flex-basis: 32%;
}
.topnews-inner li:not(:first-of-type) {
  margin-left: 2%;
}
.topnews-inner a {
  display: block;
}
.topnews-inner .image {
  border-radius: 20px;
  overflow: hidden;
}
.topnews-inner h3 {
  font-size: 2.4rem;
  margin: .4em 0;
}
.topnews-inner .date {
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .topnews-inner {
    display: block;
    overflow: visible;
    width: calc(156vw - 32px);
    padding: 0 16px;
    padding-bottom: 20px;
  }
  .topnews-inner h3 {
    font-size: 1.6rem;
    padding-left: 30px;
  }
  .topnews-inner .date {
    font-size: 1rem;
    padding-left: 32px;
  }
}

.main-end-block {
  height: 50px;
  /*max-width: 1300px;
  margin: 0 auto;*/
}
@media all and (max-width: 768px) {
  .main-end-block {
    height: 70px;
  }
}

.footer-top {
  overflow: hidden;
  max-width: 1300px;
  margin: 0 auto;
  padding: 70px 70px 100px;
}
@media all and (max-width: 768px) {
  .footer-top {
    padding: 20px 16px 70px;
  }
}

.footer-logo {
  max-width: 194px;
  margin-bottom: 50px;
}
@media all and (max-width: 768px) {
  .footer-logo {
    max-width: 116px;
  }
}

@media all and (min-width: 768px) {
  .footer-top__content {
    display: flex;
  }
}

@media all and (min-width: 768px) {
  .footer-top__block.-block-1 {
    margin-right: 130px;
  }
}

.footer-address {
  font-size: 1.7rem;
  line-height: 1.6;
}
.footer-address dl {
  display: flex;
}
@media all and (max-width: 768px) {
  .footer-address {
    font-size: 1.6rem;
  }
}

.footer-button {
  margin-top: 3em;
}
.footer-button a {
  display: block;
  box-sizing: border-box;
  width: 296px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: bold;
  padding: .8em 0 .6em;
  border-radius: 2em;
  background-color: #3d3d3d;
  color: #fff;
  border: solid 2px #3d3d3d;
  transition: all .2s;
}
.footer-button a:hover {
  background-color: #fff;
  color: #3d3d3d;
}
@media all and (max-width: 768px) {
  .footer-button {
    margin-top: 2em;
  }
  .footer-button a {
    width: 100%;
    font-size: 1.4rem;
  }
}

.diving-news {
  position: relative;
  width: 340px;
  height: 86px;
}
.diving-news .diver-3 {
  position: absolute;
  bottom: -40px;
  right: 0;
  width: 100px;
}
.diving-news .text {
  position: absolute;
  top: 0;
  left: -24px;
  width: 246px;
}
@media all and (max-width: 768px) {
  .diving-news {
    width: 100%;
    height: 180px;
  }
  .diving-news .diver-3 {
    bottom: auto;
    top: 40px;
    right: 0;
    width: 94px;
  }
  .diving-news .text {
    top: 60px;
    left: 0;
    width: 226px;
  }
}

.footer-sns dl {
  display: flex;
  align-items: center;
}
.footer-sns dl:not(:first-of-type) {
  margin-top: 20px;
}
.footer-sns dt a {
  display: block;
  max-width: 54px;
  margin-right: 10px;
}
.footer-sns dd a {
  font-size: 1.7rem;
  line-height: 1;
}
@media all and (max-width: 768px) {
  .footer-sns dl {
    margin-left: 10px;
  }
  .footer-sns dl:not(:first-of-type) {
    margin-top: 30px;
  }
  .footer-sns dt a {
    max-width: 40px;
  }
  .footer-sns dd a {
    font-size: 1.6rem;
  }
}

.footer-bottom {
  overflow: hidden;
  max-width: 1300px;
  margin: 0 auto;
  padding: 100px 70px;
}
@media all and (max-width: 768px) {
  .footer-bottom {
    padding: 70px 16px;
  }
}

.footer-bottom__content {
  color: #fff;
}

.footer-title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 50px;
}
@media all and (max-width: 768px) {
  .footer-title {
    font-size: 1.7rem;
    text-align: center;
    margin-bottom: 30px;
  }
}

.footer-nav {
  display: flex;
}
@media all and (max-width: 768px) {
  .footer-nav {
    display: block;
  }
}

.footer-nav__menu {
  flex-basis: 31%;
}
.footer-nav__menu:not(:last-of-type) {
  margin-right: 3.5%;
}
.footer-nav__menu li {
  border-bottom: solid 1px #fff;
}
.footer-nav__menu a {
  color: #fff;
  font-weight: bold;
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
  padding: 1em 0 .8em;
  transition: all .2s;
}
.footer-nav__menu a:hover {
  opacity: .6;
}
@media all and (max-width: 768px) {
  .footer-nav__menu:not(:last-of-type) {
    margin-right: 0;
  }
  .footer-nav__menu a {
    font-size: 1.4rem;
  }
}

.footer-copylight {
  max-width: 1300px;
  margin: 0 auto;
}
.footer-copylight p {
  text-align: right;
  padding: 16px 70px;
  font-size: 1.6rem;
}
@media all and (max-width: 768px) {
  .footer-copylight p {
    text-align: center;
    padding: 16px;
  }
}

.section-subheader__content {
  padding: 180px 70px 0;
}
@media all and (max-width: 768px) {
  .section-subheader__content {
    padding: 120px 16px 0;
  }
}

.section-subheader__title {
  font-size: 6rem;
  line-height: 1.2;
}
@media all and (max-width: 768px) {
  .section-subheader__title {
    font-size: 2.8rem;
  }
}

.section-subheader__catch {
  font-size: 2.4rem;
  line-height: 1.666666666666667;
  margin-top: 16px;
}
@media all and (max-width: 768px) {
  .section-subheader__catch {
    font-size: 1.4rem;
    margin-top: 20px;
  }
}

.section-subheader__button {
  font-size: 2.4rem;
  margin-top: 2em;
  text-align: right;
}
.section-subheader__button p {
  margin-top: 1em;
}
.section-subheader__button p a {
  overflow: visible;
  line-height: 1.2;
  display: inline-block;
  vertical-align: bottom;
  padding: .4em 0;
}
.section-subheader__button p a i {
  display: inline-block;
  width: 1em;
  vertical-align: top;
  margin-left: .4em;
  position: relative;
  right: 0;
  transition: all .2s;
}
.section-subheader__button p a:hover i {
  right: -.2em;
}
@media all and (max-width: 768px) {
  .section-subheader__button {
    font-size: 1.4rem;
  }
}

.post-link {
  font-size: 1.5rem;
  text-align: right;
}
.post-link p {
  margin: 1em auto 0;
}
.post-link p a {
  overflow: visible;
  font-weight: bold;
  display: inline-block;
  vertical-align: bottom;
  border-bottom: solid 2px #3d3d3d;
  padding: .4em 0;
}
.post-link p a i {
  display: inline-block;
  width: 1em;
  vertical-align: bottom;
  margin-left: .4em;
  position: relative;
  right: 0;
  transition: all .2s;
}
.post-link p a:hover i {
  right: -.2em;
}
@media all and (max-width: 768px) {
  .post-link {
    font-size: 1.4rem;
  }
}
.post-link.-back {
  text-align: center;
  margin: 0 auto;
}
.post-link.-back p {
  margin: 1em auto 0;
}
.post-link.-back p a i {
  margin-left: 0;
  margin-right: .4em;
  right: auto;
  left: 0;
}
.post-link.-back p a i img {
  transform: scaleX(-1);
}
.post-link.-back p a:hover i {
  right: 0;
  left: -.2em;
}

.section-archivebox__wrapper {
  max-width: 1300px;
  margin: 0 auto;
}

.section-archivebox__content {
  padding: 100px 70px;
}
@media all and (max-width: 768px) {
  .section-archivebox__content {
    padding: 60px 16px;
  }
}
.section-archivebox__content.-bottom {
  border-top: solid 2px #3d3d3d;
}
@media all and (max-width: 768px) {
  .section-archivebox__content.-bottom {
    border-width: 1px;
  }
}

@media all and (min-width: 768px) {
  .content-card-list__ul {
    display: flex;
    flex-wrap: wrap;
  }
  .content-card-list__ul * {
    min-height: 0;
    min-width: 0;
  }
}

@media all and (min-width: 768px) {
  .content-card-list__li {
    flex-basis: 32%;
    margin-bottom: 80px;
  }
  .content-card-list__li:not(:nth-of-type(3n)) {
    margin-right: 2%;
  }
}
@media all and (max-width: 768px) {
  .content-card-list__li {
    margin-bottom: 80px;
  }
}
.content-card-list__li .title {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: .4em;
}
@media all and (max-width: 768px) {
  .content-card-list__li .title {
    font-size: 1.8rem;
  }
}
.content-card-list__li .tag-area {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: .6em;
}
@media all and (max-width: 768px) {
  .content-card-list__li .tag-area {
    font-size: 1.2rem;
  }
}
.content-card-list__li .card-slider-wrapper {
  margin-bottom: 1.4em;
}
.content-card-list__li .card-slider-wrapper .slick-list {
  border-radius: 20px;
  overflow: hidden;
}
.content-card-list__li .card-slider-wrapper .slick-slide a {
  display: block;
  height: 15vw;
  max-height: 220px;
  overflow: hidden;
  border-radius: 20px;
}
@media all and (max-width: 768px) {
  .content-card-list__li .card-slider-wrapper .slick-slide a {
    height: 50vw;
    max-height: initial;
  }
}
.content-card-list__li .card-slider-wrapper .slick-slide img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.content-card-list__li .data-area {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: .6em;
}
.content-card-list__li .data-area li {
  flex-basis: 50%;
  display: flex;
  align-items: center;
  margin-bottom: .6em;
}
.content-card-list__li .data-area li.full {
  flex-basis: 100%;
}
.content-card-list__li .data-area li.multiple {
  align-items: flex-start;
}
.content-card-list__li .data-area li.multiple p {
  line-height: 1.6;
}
.content-card-list__li .data-area h5 {
  flex-basis: 6em;
  margin-right: 1em;
  background-color: #1f76cc;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #fff;
  border-radius: 6px;
  padding: .2em 0;
  text-align: center;
}
@media all and (max-width: 768px) {
  .content-card-list__li .data-area h5 {
    font-size: 1.2rem;
  }
}
.content-card-list__li .data-area p {
  font-size: 1.4rem;
  line-height: 1.2;
}
@media all and (max-width: 768px) {
  .content-card-list__li .data-area p {
    font-size: 1.2rem;
  }
}
.content-card-list__li .text {
  font-size: 1.5rem;
  line-height: 1.5;
}
@media all and (max-width: 768px) {
  .content-card-list__li .text {
    font-size: 1.4rem;
  }
}
.content-card-list__li .single-image {
  height: 15vw;
  max-height: 220px;
  overflow: hidden;
  border-radius: 20px;
}
@media all and (max-width: 768px) {
  .content-card-list__li .single-image {
    height: 50vw;
    max-height: initial;
  }
}
.content-card-list__li .single-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.section-shinglebox {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.section-shinglebox__wrapper {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.section-shinglebox__content {
  padding: 100px 30px;
  max-width: 960px;
  margin: 0 auto;
  box-sizing: border-box;
  /*.image {
    margin-bottom: 2em;
    @include media-sp {
    }
  }
  .text {
    font-size: 2.4rem;
    line-height: 1.666666666666667;
    @include media-sp {
      font-size: 1.4rem;
    }
  }
  .link {
    font-size: 2.4rem;
    margin-top: 4em;
    text-align: right;
    p {
      margin-top: 2em;
      a {
        overflow: visible;
        font-weight: bold;
        display: inline-block;
        vertical-align: bottom;
        border-bottom: solid 2px #3d3d3d;
        padding: .4em 0;
        i {
          display: inline-block;
          width: 1em;
          vertical-align: bottom;
          margin-left: .4em;
          position: relative;
          right: 0;
          transition: all .2s;
        }
        &:hover {
          i {
            right: -.2em;
          }
        }
      }
    }
    @include media-sp {
      font-size: 1.4rem;
      margin-top: 2em;
      p {
        margin-top: 1.6em;
      }  
    }
  }*/
}
@media all and (max-width: 768px) {
  .section-shinglebox__content {
    padding: 60px 16px;
  }
}
.section-shinglebox__content .block {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  margin-bottom: 120px;
}
@media all and (max-width: 768px) {
  .section-shinglebox__content .block {
    margin-bottom: 80px;
  }
}
.section-shinglebox__content .title {
  font-size: 3.4rem;
  line-height: 1.2;
  margin-bottom: .6em;
}
@media all and (max-width: 768px) {
  .section-shinglebox__content .title {
    font-size: 1.8rem;
  }
}

.movie-wrapper {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  margin-top: 2em;
  aspect-ratio: 16 / 9;
}
.movie-wrapper iframe {
  width: 100%;
  height: 100%;
}

.related-articles {
  padding: 40px 30px 100px;
  max-width: 960px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media all and (max-width: 768px) {
  .related-articles {
    padding: 20px 16px 60px;
  }
}

.related-articles__wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
}
.related-articles__wrapper h4 {
  font-weight: bold;
  margin: 0;
  padding: 0;
  margin-bottom: 1em;
}
.related-articles__wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.related-articles__wrapper li {
  margin: 0;
  padding: 0;
}
.related-articles__wrapper li a {
  display: block;
}
.related-articles__wrapper li .image-wrap {
  display: block;
  height: 18vw;
  max-height: 180px;
  overflow: hidden;
  border-radius: 20px;
  margin-bottom: .4em;
}
.related-articles__wrapper li .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 768px) {
  .related-articles__wrapper li .image-wrap {
    height: 50vw;
    max-height: initial;
  }
}
@media all and (min-width: 768px) {
  .related-articles__wrapper ul {
    display: flex;
  }
  .related-articles__wrapper li {
    flex-basis: 31%;
  }
  .related-articles__wrapper li:not(:nth-of-type(3n)) {
    margin-right: 3.5%;
  }
}
@media all and (max-width: 768px) {
  .related-articles__wrapper li:not(:last-of-type) {
    margin-bottom: 3em;
  }
}

.single-nav {
  padding-top: 40px;
  border-top: solid 2px #3d3d3d;
}
@media all and (max-width: 768px) {
  .single-nav {
    padding-top: 20px;
    border-width: 1px;
  }
}

.single-nav__wrapper {
  position: relative;
}

.single-nav__link {
  position: absolute;
  z-index: 1;
  font-size: 2.4rem;
  font-weight: bold;
  top: 50%;
  transform: translateY(-50%);
}
.single-nav__link.-previous {
  left: 0;
}
.single-nav__link.-next {
  right: 0;
}

.pagination {
  padding-bottom: 4em;
}

.page-nav {
  text-align: center;
}

.page-nav a,
.page-nav span {
  display: inline-block;
  vertical-align: bottom;
  font-size: 1.5rem;
  line-height: 1.1;
  color: #fff;
  background-color: #fff;
  border: solid 1px #3d3d3d;
  color: #3d3d3d;
  padding: 12px 14px 10px;
  margin: 0 6px;
  transition: 0.2s;
}

@media all and (max-width: 768px) {
  .page-nav a,
  .page-nav span {
    font-size: 1.3rem;
    padding: 8px 8px 6px;
    margin: 0 2px;
  }
}
.page-nav .page-numbers:hover,
.page-nav .page-numbers.current {
  background-color: #3d3d3d;
  color: #fff;
  text-decoration: none;
}

.page-nav .page-numbers.dots {
  border-color: #fff;
  padding: 12px 0 10px;
}

@media all and (max-width: 768px) {
  .page-nav .page-numbers.dots {
    padding: 8px 0 6px;
  }
}
.page-nav .page-numbers.dots:hover {
  background-color: transparent;
  color: #3d3d3d;
}

@keyframes floating-x1 {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes floating-x2 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes floating-x3 {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(50%);
  }
}
@keyframes floating-x4 {
  0% {
    transform: translateX(50%);
  }
  100% {
    transform: translateX(-50%);
  }
}
.bubble {
  position: absolute;
  z-index: 8;
  border-radius: 100%;
  border: 1px solid #fff;
}
.bubble.-alt {
  background-color: #fff;
  opacity: .4;
}
.bubble.-x1 {
  animation: floating-x1 1.8s ease-in-out infinite alternate-reverse;
}
.bubble.-x2 {
  animation: floating-x2 1.8s ease-in-out infinite alternate-reverse;
}
.bubble.-x3 {
  animation: floating-x3 1.8s ease-in-out infinite alternate-reverse;
}
.bubble.-x4 {
  animation: floating-x4 1.8s ease-in-out infinite alternate-reverse;
}

/*

*/
/* -------------------------------------------------------
  
------------------------------------------------------- */

/*# sourceMappingURL=style.css.map */
