@charset "UTF-8";
.white {
  color: #fff;
}

.brown,
.c-gurume {
  color: #64543c;
}

.bg-gurume {
  background-color: #64543c;
}

.green,
.c-gurume {
  color: #2d6475;
}

.bg-service {
  background-color: #2d6475;
}

.pink,
.c-new {
  color: #e61673;
}

.bg-new {
  background-color: #e61673;
}

.wine,
.c-amusement {
  color: #aa2359;
}

.bg-amusement {
  background-color: #aa2359;
}

.blue {
  color: #004597;
}

.gold {
  color: #beb887;
}

.beige {
  color: #f5f1ed;
}

li {
  list-style-type: none;
}

/*- 文字サイズ自動変更--------------------*/
/*- 文字サイズ記述見本----------*/
/*
p {
  @include module.fs(36,36,24,20,18,18);
}
p {
  @include fs2(20,10);
    @include module.fs2(36, 20);
}
*/
/*- 表示非表示-------------------*/
/* visible-xx-ijo */
@media (max-width: 575px) {
  .visible-sm-ijo {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .visible-md-ijo {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .visible-lg-ijo {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .visible-xl-ijo {
    display: none !important;
  }
}
/* visible-xx-ika */
@media (min-width: 576px) {
  .visible-xs-ika {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .visible-sm-ika {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .visible-md-ika {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-ika {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .visible-xl-ika {
    display: none !important;
  }
}
/* hidden-xx-ijo */
@media (min-width: 576px) {
  .hidden-sm-ijo {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hidden-md-ijo {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .hidden-lg-ijo {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-xl-ijo {
    display: none !important;
  }
}
/* hidden-xx-ika */
@media (max-width: 575px) {
  .hidden-xs-ika {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hidden-sm-ika {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .hidden-md-ika {
    display: none !important;
  }
}
@media (max-width: 1199px) {
  .hidden-lg-ika {
    display: none !important;
  }
}
@media (max-width: 1399px) {
  .hidden-xl-ika {
    display: none !important;
  }
}
/*- 基本パーツ-------------------*/
.align-center {
  text-align: center;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center-pc {
  text-align: center;
}

@media (max-width: 767px) {
  .align-center-pc {
    text-align: left;
  }
}
.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.bold {
  font-weight: bold;
}

small {
  font-size: smaller !important;
}

.lh-2 {
  line-height: 2;
}
@media screen and (max-width: 991px) {
  .lh-2 {
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .lh-2 {
    line-height: 1.6;
  }
}

.img-responsive {
  display: inline-block;
  height: auto;
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

.cf::before, .cf::after {
  display: table;
  clear: both;
  content: "";
}

.alpha {
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}
.alpha:hover {
  opacity: 0.75;
}

.indent1 li,
p.indent1 {
  padding-left: 1em;
  text-indent: -1em;
}

.indent2 li,
p.indent2 {
  padding-left: 2em;
  text-indent: -2em;
}

.indent3 li,
p.indent3 {
  padding-left: 3em;
  text-indent: -3em;
}

/*-hover------------------*/
.hover a {
  -webkit-transition: 350ms;
  transition: 350ms;
}

.hover a:hover {
  opacity: 0.7;
}

a.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

a.hover:hover {
  opacity: 0.7;
}

button.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

button.hover:hover {
  opacity: 0.7;
}

input.hover {
  -webkit-transition: 350ms;
  transition: 350ms;
}

input.hover:hover {
  opacity: 0.7;
}

a.underline {
  text-decoration: underline;
}

a.underline:hover {
  text-decoration: none;
}

.box-shadow {
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.box-shadow:hover {
  -webkit-box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3);
}

.mojikan {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 3px;
}

/*- カラム落ちメモ3----grid利用--------------------*/
/*- parts-width-----------------*/
.pc-w95 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w95 {
    width: 95%;
  }
}

.pc-w90 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w90 {
    width: 90%;
  }
}

.pc-w85 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w85 {
    width: 85%;
  }
}

.pc-w80 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w80 {
    width: 80%;
  }
}

.pc-w70 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w70 {
    width: 70%;
  }
}

.pc-w60 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .pc-w60 {
    width: 60%;
  }
}

/*- parts-grid-----------------*/
.grid-pcsp2 {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (min-width: 768px) {
  .grid-pcsp2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 1rem;
  }
}

/*bghover-------------------------------------------*/
.bghover-link {
  display: block;
}

.bghover-warp {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.bghover {
  width: 100%;
  padding-top: 55%;
  margin: 0 auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
}

a.bghover-link:hover .bghover-warp .bghover,
.bghover-warp:focus .bghover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

a.bghover-link:hover .bghover-warp .bghover:before,
.bghover-warp:focus .bghover:before {
  display: block;
}

.bghover:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: 0.35s ease;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

a.bghover-link:hover .bghover-warp .bghover:before {
  opacity: 0.3;
}

/*▼アニメーション ---------------- ▼*/
.scroll-anim {
  opacity: 0;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}

.scroll-anim-fadein.scrollin {
  opacity: 1;
}

.scroll-anim-slidein-left {
  -webkit-transform: translateX(-100px);
          transform: translateX(-100px);
}
.scroll-anim-slidein-left.scrollin {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.scroll-anim-slidein-right {
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
}
.scroll-anim-slidein-right.scrollin {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.scroll-anim-slidein-up {
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
}
.scroll-anim-slidein-up.scrollin {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.scroll-anim-slidein-down {
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
}
.scroll-anim-slidein-down.scrollin {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.scroll-anim-zoomin {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0;
}
.scroll-anim-zoomin.scrollin {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.scroll-anim-delay-1 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.scroll-anim-delay-2 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.scroll-anim-delay-3 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.scroll-anim-fadein.fadein-left {
  -webkit-transform: translate(-30px, 0);
          transform: translate(-30px, 0);
}
.scroll-anim-fadein.fadein-right {
  -webkit-transform: translate(30px, 0);
          transform: translate(30px, 0);
}
.scroll-anim-fadein.fadein-up {
  -webkit-transform: translate(0, -30px);
          transform: translate(0, -30px);
}
.scroll-anim-fadein.fadein-bottom {
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
}
.scroll-anim-fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.anim-bg .bg-wrap {
  position: relative;
  display: inline-block;
  margin-top: 5px;
}

.anim-bg.is-animated .bg-wrap::before {
  -webkit-animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  background: -webkit-gradient(linear, left top, right top, from(#362ae0), color-stop(50%, #3b79cc), to(#42d3ed));
  background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.anim-bg .bg-wrap .inn {
  color: #fff;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  padding: 5px 15px;
  position: relative;
  z-index: 1;
}

@-webkit-keyframes anim-bg {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0) translateX(-5%);
            transform: scaleX(0) translateX(-5%);
  }
  30% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  100% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}

@keyframes anim-bg {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0) translateX(-5%);
            transform: scaleX(0) translateX(-5%);
  }
  30% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  100% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}

.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}

.matrix .bg-wrap + .bg-wrap {
  margin-top: 10px;
}

.matrix .bg-wrap .inn.large {
  font-size: 36px;
  font-weight: bold;
}

.matrix .bg-wrap .inn.small {
  font-size: 15px;
}

.matrix .bg-wrap .inn {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
  -webkit-transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.is-animated .bg-wrap {
  opacity: 1;
}

.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
}

.mask-bg {
  color: transparent;
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  overflow: hidden;
  position: relative;
  -webkit-transition: color 0ms 450ms;
  transition: color 0ms 450ms;
}

.mask-bg::after {
  background: -webkit-gradient(linear, left top, right top, from(#362ae0), color-stop(50%, #3b79cc), to(#42d3ed));
  background: linear-gradient(to right, #362ae0 0%, #3b79cc 50%, #42d3ed 100%);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(0, 100%);
          transform: translate(0, 100%);
}

.mask-bg.is-animated {
  color: #362ae0;
}

.mask-bg.is-animated::after {
  -webkit-animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1);
          animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1);
}

@-webkit-keyframes mask-bg {
  0% {
    -webkit-transform: translate(0, 101%);
            transform: translate(0, 101%);
  }
  40%, 60% {
    -webkit-transform: translate(0, 0%);
            transform: translate(0, 0%);
  }
  100% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
}

@keyframes mask-bg {
  0% {
    -webkit-transform: translate(0, 101%);
            transform: translate(0, 101%);
  }
  40%, 60% {
    -webkit-transform: translate(0, 0%);
            transform: translate(0, 0%);
  }
  100% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
}
/*▲アニメーション----------------▲*/
html {
  overflow-x: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin: 0;
  font-size: 62.5%;
}
html body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  position: relative;
  overflow: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin: 0;
  color: #2a344b;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 1200px) {
  html body {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body {
    font-size: calc(1.58rem + (1vw - 0.992rem) * (0.0966183575));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body {
    font-size: calc(1.56rem + (1vw - 0.768rem) * (0.0896860987));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body {
    font-size: calc(1.54rem + (1vw - 0.576rem) * (0.1047120419));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body {
    font-size: calc(1.52rem + (1vw - 0.421rem) * (0.1298701299));
  }
}
@media only screen and (max-width: 420px) {
  html body {
    font-size: calc(1.5rem + (1vw - 0.32rem) * (0.2));
  }
}
@media only screen and (min-width: 1200px) {
  html body {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body {
    font-size: calc(1.56rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body {
    font-size: calc(1.52rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body {
    font-size: calc(1.48rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body {
    font-size: calc(1.44rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  html body {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0.4));
  }
}
@media screen and (max-width: 767px) {
  html body {
    line-height: 1.6;
  }
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  html body h1,
  html body h2,
  html body h3,
  html body h4,
  html body h5,
  html body h6 {
    line-height: 1.5;
  }
}
html body .just-700 {
  font-family: "Jost", sans-serif;
  font-weight: 700;
  font-style: normal;
}
html body .just-500 {
  font-family: "Jost", sans-serif;
  font-weight: 500;
  font-style: normal;
}
html body .just-400 {
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-style: normal;
}
html body .fw-400 {
  font-weight: 400;
}
html body .fw-500 {
  font-weight: 500;
}
html body .fw-700 {
  font-weight: 700;
}
html body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}
html body header {
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  background-color: #fff;
}
html body header .header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 9;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media screen and (max-width: 767px) {
  html body header .header-inner {
    height: 60px;
    width: 100%;
    padding-left: 0.5rem;
    padding-right: 0rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
html body header .header-inner .logo-wrapper a {
  display: inline-block;
  padding: 10px 5px 10px 5px;
}
@media screen and (max-width: 767px) {
  html body header .header-inner .logo-wrapper a {
    padding: 5px 5px 5px 5px;
  }
}
html body header .header-inner .logo-wrapper a img {
  width: auto;
  height: 80px;
}
@media screen and (max-width: 1600px) {
  html body header .header-inner .logo-wrapper a img {
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  html body header .header-inner .logo-wrapper a img {
    width: auto;
    height: 50px;
  }
}
html body header .header-inner .pc-nav {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  html body header .header-inner .pc-nav {
    display: none;
  }
}
html body header .header-inner .pc-nav nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
html body header .header-inner .pc-nav nav ul li {
  position: relative;
}
html body header .header-inner .pc-nav nav ul li a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: inline-block;
  padding: 1.25rem 2rem;
  letter-spacing: 0.1em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media only screen and (min-width: 1200px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: calc(1.9rem + (1vw - 0.992rem) * (0.4830917874));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: calc(1.8rem + (1vw - 0.768rem) * (0.4484304933));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: calc(1.7rem + (1vw - 0.576rem) * (0.5235602094));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: calc(1.6rem + (1vw - 0.421rem) * (0.6493506494));
  }
}
@media only screen and (max-width: 420px) {
  html body header .header-inner .pc-nav nav ul li a {
    font-size: calc(1.5rem + (1vw - 0.32rem) * (1));
  }
}
@media screen and (max-width: 1199px) {
  html body header .header-inner .pc-nav nav ul li a {
    padding: 1.25rem 1.25rem;
  }
}
html body header .header-inner .pc-nav nav ul li a:hover {
  color: #e61673;
}
html body header .header-inner .pc-nav nav ul li a .arrow-icon {
  position: relative;
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-left: 6px;
  margin-right: 0;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
html body header .header-inner .pc-nav nav ul li a .arrow-icon::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: translateY(-2px) rotate(135deg);
          transform: translateY(-2px) rotate(135deg);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html body header .header-inner .pc-nav nav ul li a .arrow-icon.open {
  -webkit-transform: translateY(-2px) rotate(180deg);
          transform: translateY(-2px) rotate(180deg);
}
html body header .header-inner .pc-nav nav ul li .nav-child {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 200px;
}
html body header .header-inner .pc-nav nav ul li .nav-child ul {
  display: block;
}
html body header .header-inner .pc-nav nav ul li .nav-child ul li a {
  padding: 0.75rem 1.25rem;
  white-space: nowrap;
}
html body header .header-inner .menu-button-wrapper {
  margin-left: auto;
  z-index: 11;
  display: none;
}
@media screen and (max-width: 767px) {
  html body header .header-inner .menu-button-wrapper {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px;
    height: 100%;
  }
  html body header .header-inner .menu-button-wrapper #menuButton {
    height: 100%;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  html body header .header-inner .menu-button-wrapper img {
    height: 12px;
    width: auto;
  }
}
html body header .header-inner .sp-nav {
  position: fixed;
  right: 0;
  top: 0px;
  height: 300px;
  width: 0;
  -webkit-transition: 0.4s ease-in;
  transition: 0.4s ease-in;
  z-index: 8;
  opacity: 0;
  background-color: #fff;
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  text-align: center;
}
html body header .header-inner .sp-nav .sp-nav-close {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 20px;
  cursor: pointer;
}
html body header .header-inner .sp-nav .sp-nav-close:hover {
  color: #000;
  text-decoration: underline;
}
html body header .header-inner .sp-nav nav {
  padding-top: 3rem;
}
html body header .header-inner .sp-nav nav ul li {
  padding: 0 1rem;
  opacity: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
html body header .header-inner .sp-nav nav ul li a {
  position: relative;
  letter-spacing: 0.1em;
  display: block;
  padding: 0.5rem 0 0.5rem 0rem;
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-style: normal;
}
html body header .header-inner .sp-nav nav ul li a .arrow-icon {
  position: relative;
  display: inline-block;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  vertical-align: middle;
  margin: 3px 0 0 5px;
}
html body header .header-inner .sp-nav nav ul li a .arrow-icon::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 40%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  margin: auto;
  border-bottom: 2px solid #2e2e2e;
  border-right: 2px solid #2e2e2e;
}
html body header .header-inner .sp-nav nav ul li a .arrow-icon.open {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
html body header .header-inner .sp-nav nav ul li.has-child.open > .nav-child {
  display: block;
}
html body header .header-inner .sp-nav nav ul li.has-child .nav-child {
  display: none;
}
html body header .header-inner .sp-nav nav ul li.has-child .nav-child ul {
  display: block;
}
html body header .header-inner .sp-nav nav ul li.has-child .nav-child ul li a {
  padding: 0.75rem 1.25rem;
  white-space: nowrap;
}
html body header .header-inner .sp-nav.menu-open {
  opacity: 1;
  width: 40%;
  height: 300px;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  z-index: 20;
}
html body header .header-inner .sp-nav.menu-open nav {
  text-align: center;
}
html body header .header-inner .sp-nav.menu-open nav ul li {
  opacity: 1;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}
html body .contents {
  color: #2a344b;
  position: relative;
}
html body .wrapper {
  max-width: 1030px;
  margin: 0 auto;
  padding: 0rem 1.5rem;
}
html body img {
  height: auto;
  max-width: 100%;
}
html body .cf::before, html body .cf::after {
  display: table;
  clear: both;
  content: "";
}
html body .alpha {
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}
html body .alpha:hover {
  opacity: 0.75;
}

/*▼---.contents-post---------------------------------------*/
.contents-post .label-wrapper {
  margin-bottom: 15px;
}
.contents-post .label-wrapper .post-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  height: 100%;
  width: 100%;
  gap: 10px;
  line-height: 1.5;
}
.contents-post .label-wrapper .post-list .post-time {
  min-width: 88px;
}
.contents-post .label-wrapper .post-list .post-category span {
  display: inline-block;
  margin: 0 2px;
  color: #fff;
  padding: 0 5px;
}
@media only screen and (min-width: 1200px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: calc(1.3rem + (1vw - 0.992rem) * (0));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: calc(1.3rem + (1vw - 0.768rem) * (0));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: calc(1.3rem + (1vw - 0.576rem) * (0));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: calc(1.3rem + (1vw - 0.421rem) * (0));
  }
}
@media only screen and (max-width: 420px) {
  .contents-post .label-wrapper .post-list .post-category span {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0));
  }
}

.contents-post-thumbnail .contents-post-thumbnail-list {
  width: 100%;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .contents-post-thumbnail .contents-post-thumbnail-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 2rem;
  }
}
.contents-post-thumbnail .contents-post-thumbnail-list .post-list-img .bghover {
  padding-top: 66.6%;
}
.contents-post-thumbnail .contents-post-thumbnail-list .post-list-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list {
  margin-bottom: 5px;
}
.contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li {
  display: inline-block;
  padding-left: 5px;
}
.contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
  color: #fff;
  padding: 0 5px;
}
@media only screen and (min-width: 1200px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: calc(1.3rem + (1vw - 0.992rem) * (0));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: calc(1.3rem + (1vw - 0.768rem) * (0));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: calc(1.3rem + (1vw - 0.576rem) * (0));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: calc(1.3rem + (1vw - 0.421rem) * (0));
  }
}
@media only screen and (max-width: 420px) {
  .contents-post-thumbnail .contents-post-thumbnail-list .category-tag-list li span {
    font-size: calc(1.3rem + (1vw - 0.32rem) * (0));
  }
}

/*▲----.contents-post--------------------------------------*/
/*▼-footer-----------------------------------------*/
footer {
  background-color: #f5f1ed;
  padding: 3rem 0 calc(4rem + 60px);
}
@media screen and (max-width: 1599px) {
  footer {
    padding: 3rem 0 4rem;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding-bottom: calc(4rem + 30px);
  }
}
footer .footer-logo {
  text-align: center;
}
footer .footer-logo img {
  width: 150px;
  height: auto;
}
footer .copyright {
  text-align: center;
  margin-top: 2rem;
  padding: 0 1rem;
}
@media only screen and (min-width: 1200px) {
  footer .copyright {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  footer .copyright {
    font-size: calc(1.48rem + (1vw - 0.992rem) * (0.0966183575));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  footer .copyright {
    font-size: calc(1.46rem + (1vw - 0.768rem) * (0.0896860987));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  footer .copyright {
    font-size: calc(1.44rem + (1vw - 0.576rem) * (0.1047120419));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  footer .copyright {
    font-size: calc(1.42rem + (1vw - 0.421rem) * (0.1298701299));
  }
}
@media only screen and (max-width: 420px) {
  footer .copyright {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0.2));
  }
}

/*▲--footer-------------------------------------*/
/*▼-footer-floting-----------------------------------------*/
.footer-floting {
  text-align: center;
  background-color: #e61673;
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 3;
  padding: 5px 0;
  text-align: center;
}
@media screen and (min-width: 1600px) {
  .footer-floting {
    padding: 10px 0;
  }
}
@media screen and (max-width: 767px) {
  .footer-floting {
    padding-right: 60px;
    text-align: left;
    height: 70px;
  }
}
.footer-floting .inner {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer-floting .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer-floting div {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
.footer-floting .text01 {
  color: #fff;
  font-weight: 500;
  line-height: 1.3;
}
@media only screen and (min-width: 1200px) {
  .footer-floting .text01 {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .footer-floting .text01 {
    font-size: calc(1.56rem + (1vw - 0.992rem) * (0.193236715));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer-floting .text01 {
    font-size: calc(1.52rem + (1vw - 0.768rem) * (0.1793721973));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .footer-floting .text01 {
    font-size: calc(1.48rem + (1vw - 0.576rem) * (0.2094240838));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .footer-floting .text01 {
    font-size: calc(1.44rem + (1vw - 0.421rem) * (0.2597402597));
  }
}
@media only screen and (max-width: 420px) {
  .footer-floting .text01 {
    font-size: calc(1.4rem + (1vw - 0.32rem) * (0.4));
  }
}
@media screen and (min-width: 1600px) {
  .footer-floting .text01 {
    font-size: 22px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .footer-floting .text01 {
    font-size: 14px;
    letter-spacing: -0.03rem;
  }
}
.footer-floting .text02 {
  color: #ffdd00;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (min-width: 1200px) {
  .footer-floting .text02 {
    font-size: 2.6rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .footer-floting .text02 {
    font-size: calc(2.48rem + (1vw - 0.992rem) * (0.5797101449));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .footer-floting .text02 {
    font-size: calc(2.36rem + (1vw - 0.768rem) * (0.5381165919));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .footer-floting .text02 {
    font-size: calc(2.24rem + (1vw - 0.576rem) * (0.6282722513));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .footer-floting .text02 {
    font-size: calc(2.12rem + (1vw - 0.421rem) * (0.7792207792));
  }
}
@media only screen and (max-width: 420px) {
  .footer-floting .text02 {
    font-size: calc(2rem + (1vw - 0.32rem) * (1.2));
  }
}
@media screen and (min-width: 1600px) {
  .footer-floting .text02 {
    font-size: 32px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .footer-floting .text02 {
    font-size: 22px;
  }
}

.pagetop {
  position: fixed;
  z-index: 8;
  right: 20px;
  bottom: 120px;
  display: none;
  width: 60px;
  height: 60px;
  padding: 0;
  border: none;
  border-radius: 0;
  text-align: center;
}
@media screen and (max-width: 1599px) {
  .pagetop {
    bottom: 90px;
  }
}
@media screen and (max-width: 767px) {
  .pagetop {
    right: 0px;
  }
}
.pagetop img {
  width: 116px;
}
@media screen and (max-width: 767px) {
  .pagetop img {
    width: 43px;
  }
}

.page-top {
  position: fixed;
  z-index: 8;
  right: 20px;
  bottom: 20px;
  display: none;
  width: 80px;
  height: 80px;
  padding: 0;
  border: none;
  border-radius: 0;
  text-align: center;
  cursor: pointer;
}
.page-top:hover span {
  color: #e61673;
}
.page-top:hover span::before {
  background-color: #e61673;
}
@media screen and (max-width: 767px) {
  .page-top {
    right: 5px;
    bottom: 0;
  }
}
.page-top span {
  padding-top: 52px;
  color: #2A344B;
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  position: relative;
  z-index: 0;
}
.page-top span::before {
  content: "";
  position: absolute;
  background-color: #2A344B;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto auto auto;
  z-index: -1;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}
.page-top span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 21px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto auto auto;
  z-index: -1;
}

.f-cta {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
}
.f-cta a {
  width: 100%;
  height: 60px;
  display: grid;
  place-content: center;
  background-color: #00CBCA;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .f-cta a {
    height: 30px;
    font-size: 16px;
    font-weight: 500;
  }
}

/*▲---.footer-floting---------------------------------------*/
/*▼---parts---------------------------------------*/
.title-type01 {
  text-align: center;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 767px) {
  .title-type01 {
    margin: 0 auto 2.5rem;
  }
}
.title-type01 h2 {
  background-color: #2a344b;
  color: #fff;
  display: inline-block;
  padding: 0px 30px;
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.05rem;
  min-width: 300px;
}
@media only screen and (min-width: 1200px) {
  .title-type01 h2 {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .title-type01 h2 {
    font-size: calc(2.72rem + (1vw - 0.992rem) * (0.38647343));
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .title-type01 h2 {
    font-size: calc(2.64rem + (1vw - 0.768rem) * (0.3587443946));
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .title-type01 h2 {
    font-size: calc(2.56rem + (1vw - 0.576rem) * (0.4188481675));
  }
}
@media only screen and (min-width: 421px) and (max-width: 575px) {
  .title-type01 h2 {
    font-size: calc(2.48rem + (1vw - 0.421rem) * (0.5194805195));
  }
}
@media only screen and (max-width: 420px) {
  .title-type01 h2 {
    font-size: calc(2.4rem + (1vw - 0.32rem) * (0.8));
  }
}
@media screen and (max-width: 767px) {
  .title-type01 h2 {
    padding: 0px 20px;
    min-width: 260px;
  }
}

/*▲---parts---------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*/
/*▼------------------------------------------*/
/*▲------------------------------------------*//*# sourceMappingURL=common.css.map */