@charset "UTF-8";
@-webkit-keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*
リセット
/***********************/
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: inherit;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a, a:hover {
  text-decoration: none;
}

a > img, nav > img, li > img, div > img {
  width: 100%;
  height: auto;
}

a img {
  border: none;
}

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

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

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  padding: 0;
}

.clearfix:after {
  font-size: 0;
}

.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

body {
  position: absolute;
  background-color: #fff;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

div, h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd {
  position: relative;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1;
}

p, div, span {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

ul, ol, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
}

img,
a img {
  border: none;
  display: inline-block;
}

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

#wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

.sp {
  display: none !important;
}

@keyframes blink_animation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

html {
  font-size: 1.25vw;
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-image: url(/common/img/bg.png);
}

body.hide {
  opacity: 0;
}

body.hide div, body.hide h1, body.hide h2, body.hide h3, body.hide h4, body.hide h5, body.hide ul, body.hide li, body.hide span, body.hide dl, body.hide dt, body.hide dd {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

p {
  color: #3d272b;
}

.contents-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: auto;
  bottom: 0;
}

/*.scroll-block{
    transition: opacity 0.5s ease-out,transform 0.5s ease-out;
    transform: translateY(5em);
    opacity: 0;

    &.show{
        transform: translateY(0);
        opacity: 1;
    }
}*/
span.r {
  top: -0.3em;
  position: relative;
  margin: 0 !important;
}

.border-bg {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 6;
  pointer-events: none;
}

.border-bg > div {
  width: 100%;
  height: 1.9em;
  background-color: #f83f13;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
}

.border-bg > div:nth-child(2) {
  width: 1.9em;
  height: 100%;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}

.border-bg > div:nth-child(3) {
  top: auto;
  bottom: 0;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
}

.border-bg > div:nth-child(4) {
  width: 1.9em;
  height: 100%;
  left: auto;
  right: 0;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}

.border-bg.show > div {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

.border-bg-sp {
  width: 100%;
  height: 100%;
  z-index: 6;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
}

.border-bg-sp > div {
  width: 100%;
  height: 2.67vw;
  background-color: #f83f13;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
}

.border-bg-sp > div:nth-child(1) {
  position: fixed;
}

.border-bg-sp > div:nth-child(2) {
  width: 2.67vw;
  height: 100%;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}

.border-bg-sp > div:nth-child(3) {
  width: 2.67vw;
  height: 100%;
  left: auto;
  right: 0;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}

.border-bg-sp.show > div {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

header {
  width: calc(100% - 3.8em);
  height: 6vw;
  padding: 0 4vw;
  position: fixed;
  left: 50%;
  top: 3em;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
  -webkit-transition: opacity 1s ease-out,top 0.5s ease-out,background-color 0.5s ease-out;
  -o-transition: opacity 1s ease-out,top 0.5s ease-out,background-color 0.5s ease-out;
  transition: opacity 1s ease-out,top 0.5s ease-out,background-color 0.5s ease-out;
  opacity: 0;
}

header.show {
  opacity: 1;
}

header.notransition {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

header.notransition .header-logo,
header.notransition .header-menu-list,
header.notransition .header-menu-list__item,
header.notransition .header-btn > div {
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

header.scroll .header-bg {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

header.scroll .header-menu {
  -webkit-transform: translateY(60%);
      -ms-transform: translateY(60%);
          transform: translateY(60%);
}

header.scroll .header-menu-pull-list {
  top: 1.15vw;
}

.header-bg {
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
  transition: opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
  -o-transition: transform 0.5s ease-out,opacity 0.3s ease-out;
  transition: transform 0.5s ease-out,opacity 0.3s ease-out;
  transition: transform 0.5s ease-out,opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
  -webkit-transform: translateY(calc(-100% - 3em));
      -ms-transform: translateY(calc(-100% - 3em));
          transform: translateY(calc(-100% - 3em));
  pointer-events: none;
}

.header-inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header-logo {
  width: 19.25vw;
  position: absolute;
  left: 0;
  top: 1.4vw;
  pointer-events: auto;
  -webkit-transition: opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
  transition: opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
  -o-transition: transform 0.5s ease-out,opacity 0.3s ease-out;
  transition: transform 0.5s ease-out,opacity 0.3s ease-out;
  transition: transform 0.5s ease-out,opacity 0.3s ease-out,-webkit-transform 0.5s ease-out;
}

.header-logo.hide {
  opacity: 0;
  pointer-events: none;
}

.header-btn {
  width: 6.4vw;
  height: 4.3vw;
  position: absolute;
  right: 0;
  top: 7.6vw;
  z-index: 10;
  pointer-events: auto;
}

.header-btn > div {
  width: 100%;
  height: 2px;
  -webkit-transition: background-color 0.5s ease-out, top 0.5s ease-out, bottom 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: background-color 0.5s ease-out, top 0.5s ease-out, bottom 0.5s ease-out, -webkit-transform 0.5s ease-out;
  -o-transition: background-color 0.5s ease-out, transform 0.5s ease-out, top 0.5s ease-out, bottom 0.5s ease-out;
  transition: background-color 0.5s ease-out, transform 0.5s ease-out, top 0.5s ease-out, bottom 0.5s ease-out;
  transition: background-color 0.5s ease-out, transform 0.5s ease-out, top 0.5s ease-out, bottom 0.5s ease-out, -webkit-transform 0.5s ease-out;
  position: absolute;
  top: 0;
  background-color: #3d272b;
}

.header-btn > div:nth-child(2) {
  top: 50%;
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header-btn > div:nth-child(3) {
  top: auto;
  bottom: 0;
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
}

.header-btn.active > div {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 50%;
}

.header-btn.active > div:nth-child(2) {
  -webkit-transform: translateY(-50%) scaleX(0.001) rotate(0deg);
      -ms-transform: translateY(-50%) scaleX(0.001) rotate(0deg);
          transform: translateY(-50%) scaleX(0.001) rotate(0deg);
}

.header-btn.active > div:nth-child(3) {
  -webkit-transform: scaleX(1) rotate(-45deg) translateX(-20%);
      -ms-transform: scaleX(1) rotate(-45deg) translateX(-20%);
          transform: scaleX(1) rotate(-45deg) translateX(-20%);
  top: auto;
  bottom: 115%;
}

.header-menu {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.5s ease-out;
  transition: -webkit-transform 0.5s ease-out;
  -o-transition: transform 0.5s ease-out;
  transition: transform 0.5s ease-out;
  transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
}

.header-menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  -webkit-transition: top 0.5s ease-out,-webkit-transform 0.5s ease-out;
  transition: top 0.5s ease-out,-webkit-transform 0.5s ease-out;
  -o-transition: transform 0.5s ease-out,top 0.5s ease-out;
  transition: transform 0.5s ease-out,top 0.5s ease-out;
  transition: transform 0.5s ease-out,top 0.5s ease-out,-webkit-transform 0.5s ease-out;
}

.header-menu-list.show {
  pointer-events: auto;
}

.header-menu-list__item {
  font-size: 1vw;
  margin-right: 1.9vw;
  font-weight: bold;
  color: #3d272b;
  cursor: pointer;
}

.header-menu-list__item:nth-child(3) {
  -webkit-transition: padding 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition: padding 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: padding 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-menu-list__item:nth-child(3).long {
  padding-right: 46vw;
}

.header-menu-list__item:last-child {
  margin-right: 0;
}

.header-menu-list__item a, .header-menu-list__item a:link, .header-menu-list__item a:visited {
  -webkit-transition: color 0.3s ease-out;
  -o-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  color: #3d272b;
  text-decoration: none;
}

.header-menu-list__item.active {
  color: #f0642b;
}

.header-menu-list__item.active a, .header-menu-list__item.active a:link, .header-menu-list__item.active a:visited {
  color: #f0642b;
}

.header-menu-list__item .header-menu-list__link {
  width: 0.93vw;
  margin-left: 0.6vw;
  display: inline-block;
  vertical-align: bottom;
}

.header-menu-list__item .header-menu-list__link img {
  display: block;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.header-menu-list__item .header-menu-list__link img.rev {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}

.header-menu-pull-list {
  position: absolute;
  left: 20.4vw;
  top: 1.9em;
  top: 0.8vw;
  padding: 1vw 0;
  padding-left: 17vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.header-menu-pull-list.show {
  pointer-events: auto;
}

.header-menu-pull-list.show .header-menu-pull-list__item {
  -webkit-transition: opacity 0.5s ease-out 0.8s;
  -o-transition: opacity 0.5s ease-out 0.8s;
  transition: opacity 0.5s ease-out 0.8s;
  opacity: 1;
}

.header-menu-pull-list.show .header-menu-pull-list__item:nth-child(2) {
  -webkit-transition: opacity 0.5s ease-out 0.85s;
  -o-transition: opacity 0.5s ease-out 0.85s;
  transition: opacity 0.5s ease-out 0.85s;
}

.header-menu-pull-list.show .header-menu-pull-list__item:last-child {
  -webkit-transition: opacity 0.5s ease-out 0.9s;
  -o-transition: opacity 0.5s ease-out 0.9s;
  transition: opacity 0.5s ease-out 0.9s;
}

.header-menu-pull-list__item {
  font-size: 0.93vw;
  font-weight: bold;
  margin-right: 1.4vw;
  -webkit-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  opacity: 0;
}

.header-menu-pull-list__item a, .header-menu-pull-list__item a:link, .header-menu-pull-list__item a:visited {
  color: #3d272b;
  -webkit-transition: color 0.3s ease-out;
  -o-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
}

.header-menu-pull-list__item:last-child {
  margin-right: 0;
}

.header-menu-pull-list__item.active a, .header-menu-pull-list__item.active a:link, .header-menu-pull-list__item.active a:visited {
  color: #f0642b;
}

.header-menu-sp {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  background-image: url(/common/img/bg.png);
  z-index: 6;
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.5s ease-out, -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition: opacity 0.5s ease-out, transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.5s ease-out, transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.5s ease-out, transform 1s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}

.header-menu-sp.active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

.header-menu-sp.show .header-menu-sp-list__item {
  -webkit-transform: translateX(0%);
      -ms-transform: translateX(0%);
          transform: translateX(0%);
  opacity: 1;
}

.header-menu-sp.hide .header-menu-sp-list__item,
.header-menu-sp.hide .header-menu-sp-picarea {
  -webkit-transition: opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
  transition: opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
  -o-transition: transform 0.2s ease-out,opacity 0.2s ease-out !important;
  transition: transform 0.2s ease-out,opacity 0.2s ease-out !important;
  transition: transform 0.2s ease-out,opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
}

.header-menu-sp-pic__inner {
  left: 0;
  bottom: 0;
  position: fixed;
  width: 100%;
  height: 74vw;
  pointer-events: none;
  z-index: 6;
}

.header-menu-sp-pic__inner.show .header-menu-sp-picarea {
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 1;
}

.header-menu-sp-pic__inner.hide .header-menu-sp-picarea {
  -webkit-transition: opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
  transition: opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
  -o-transition: transform 0.2s ease-out,opacity 0.2s ease-out !important;
  transition: transform 0.2s ease-out,opacity 0.2s ease-out !important;
  transition: transform 0.2s ease-out,opacity 0.2s ease-out,-webkit-transform 0.2s ease-out !important;
}

.header-menu-sp-list {
  height: 100%;
  padding-left: 16.1%;
  padding-top: 16vh;
  padding-top: 15lvh;
  z-index: 1;
}

@supports (-webkit-touch-callout: none) {
  .header-menu-sp-list {
    padding-top: 14lvh;
  }
}

.header-menu-sp-list.show .header-menu-sp-list__item {
  opacity: 1;
}

.header-menu-sp-list__item {
  font-size: 4.8vw;
  font-weight: bold;
  padding-bottom: 5vh;
  -webkit-transition: opacity 0.5s ease-out, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.5s ease-out, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease-out;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease-out;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease-out, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transform: translateX(30%);
      -ms-transform: translateX(30%);
          transform: translateX(30%);
  opacity: 0;
}

.header-menu-sp-list__item:nth-child(2) {
  -webkit-transition: opacity 0.5s ease-out 0.1s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
  transition: opacity 0.5s ease-out 0.1s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
  -o-transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s, opacity 0.5s ease-out 0.1s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s, opacity 0.5s ease-out 0.1s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s, opacity 0.5s ease-out 0.1s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.header-menu-sp-list__item:nth-child(3) {
  padding-bottom: 4vh;
  -webkit-transition: opacity 0.5s ease-out 0.2s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
  transition: opacity 0.5s ease-out 0.2s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
  -o-transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.5s ease-out 0.2s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.5s ease-out 0.2s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.5s ease-out 0.2s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}

.header-menu-sp-list__item:nth-child(4) {
  -webkit-transition: opacity 0.5s ease-out 0.3s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  transition: opacity 0.5s ease-out 0.3s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  -o-transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s, opacity 0.5s ease-out 0.3s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s, opacity 0.5s ease-out 0.3s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s, opacity 0.5s ease-out 0.3s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}

.header-menu-sp-list__item:last-child {
  -webkit-transition: opacity 0.5s ease-out 0.4s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s;
  transition: opacity 0.5s ease-out 0.4s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s;
  -o-transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s, opacity 0.5s ease-out 0.4s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s, opacity 0.5s ease-out 0.4s;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s, opacity 0.5s ease-out 0.4s, -webkit-transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.4s;
  padding-bottom: 0;
}

.header-menu-sp-list__item a, .header-menu-sp-list__item a:link, .header-menu-sp-list__item a:visited {
  color: #3d272b;
  text-decoration: none;
}

.header-menu-sp-list__item.active {
  color: #f0642b;
  font-weight: 900;
}

.header-menu-sp-list__item.active a, .header-menu-sp-list__item.active a:link, .header-menu-sp-list__item.active a:visited {
  color: #f0642b;
}

.header-menu-sp-list__item.active .header-menu-sp-list__sub a, .header-menu-sp-list__item.active .header-menu-sp-list__sub a:link, .header-menu-sp-list__item.active .header-menu-sp-list__sub a:visited {
  color: #3d272b;
}

.header-menu-sp-list__item img {
  width: 4.4vw;
  margin-left: 3vw;
  vertical-align: bottom;
}

.header-menu-sp-list__sub {
  font-size: 3.73vw;
  padding-left: 1.5vw;
  margin-bottom: 1vh;
}

.header-menu-sp-list__sub:first-child {
  padding-top: 3vh;
}

.header-menu-sp-list__sub:last-child {
  margin-bottom: 0;
}

.header-menu-sp-list__sub:before {
  content: "・";
  display: inline-block;
  color: #3d272b;
}

.header-menu-sp-list__sub a, .header-menu-sp-list__sub a:link, .header-menu-sp-list__sub a:visited {
  color: #3d272b;
  text-decoration: none;
}

.header-menu-sp-list__sub.active a, .header-menu-sp-list__sub.active a:link, .header-menu-sp-list__sub.active a:visited {
  color: #f0642b !important;
}

.header-menu-sp-list__sub.active:before {
  color: #f0642b;
}

.header-menu-sp-picarea {
  width: 62.66%;
  position: absolute;
  left: 50%;
  bottom: 9.6vh;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
  -webkit-transition: opacity 1.5s ease-in 0.5s;
  -o-transition: opacity 1.5s ease-in 0.5s;
  transition: opacity 1.5s ease-in 0.5s;
  -webkit-transform: translateX(30%);
      -ms-transform: translateX(30%);
          transform: translateX(30%);
  opacity: 0;
}

.header-menu-sp__pic1 {
  width: 46.59%;
  position: absolute;
  right: -4.7%;
  top: -7%;
}

.header-menu-sp__pic2 {
  width: 100%;
  display: none;
}

.header-menu-sp__anim {
  width: 131%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.wrapper {
  overflow: hidden;
  background-image: url(/common/img/bg.png);
}

.box-link {
  -webkit-transition: background-color 0.5s ease-out;
  -o-transition: background-color 0.5s ease-out;
  transition: background-color 0.5s ease-out;
  background-color: #3d272b;
}

.box-link a, .box-link a:link, .box-link a:visited {
  display: block;
  height: 100%;
  color: #fff;
}

.box-link .box-link-text {
  font-weight: bold;
  text-align: center;
}

.box-link-arrow {
  width: 1.87vw;
  height: 1.87vw;
  border-radius: 1.87vw;
  position: absolute;
  right: 0.7vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #fff;
}

.box-link-arrow img {
  width: 0.57vw;
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.box-link-arrow img.rev {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
}

footer {
  width: 100%;
  padding: 9.4vw 0 9.2vw;
  -webkit-transition: opacity 1s ease-out;
  -o-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
  opacity: 0;
}

footer.show {
  opacity: 1;
}

.footer-inner {
  width: 68.75%;
  margin: 0 auto;
}

.footer-link-list {
  width: 65.54%;
  margin: 0 auto 3.8vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.footer-link-list__item {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 47.15%;
      -ms-flex: 0 0 47.15%;
          flex: 0 0 47.15%;
}

.footer-link-list__item img {
  display: block;
}

.footer-link-icon {
  width: 4.41%;
  position: absolute;
  right: 4.5%;
  bottom: 1.04vw;
}

.footer-link-text {
  font-size: 1.37vw;
  color: #fff;
  line-height: 1;
  position: absolute;
  left: 12%;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.footer-contact-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3.3vw;
}

.footer-contact-area-sns {
  width: 2.87vw;
  height: 2.87vw;
  border-radius: 2.87vw;
  margin-right: 1.1vw;
  background-color: #000;
}

.footer-contact-area-sns a {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-contact-area-sns img {
  width: 1.19vw;
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
}

.footer-contact-area-text {
  font-size: 1vw;
  font-weight: 500;
}

.footer-contact-area-text a, .footer-contact-area-text a:link, .footer-contact-area-text a:visited {
  color: #000;
}

.copyright {
  font-size: 0.875vw;
  text-align: center;
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  header.scroll {
    height: 5.3vw;
    top: 1.6em;
  }
  header.scroll .header-logo {
    -webkit-transform: translateY(8%);
        -ms-transform: translateY(8%);
            transform: translateY(8%);
  }
  .header-logo:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .header-menu-list__item:hover a, .header-menu-list__item:hover a:link, .header-menu-list__item:hover a:visited {
    color: #f0642b;
  }
  .header-menu-list__item:hover .header-menu-list__link img {
    opacity: 0;
  }
  .header-menu-list__item:hover .header-menu-list__link img.rev {
    opacity: 1;
  }
  .header-menu-pull-list__item:hover a, .header-menu-pull-list__item:hover a:link, .header-menu-pull-list__item:hover a:visited {
    color: #f0642b;
  }
  .box-link:hover {
    background-color: #f0642b;
  }
  .box-link:hover .box-link-arrow img {
    opacity: 0;
  }
  .box-link:hover .box-link-arrow img.rev {
    opacity: 1;
  }
  .footer-link-list__item:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .footer-contact-area-sns:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
  .footer-contact-area-text:hover {
    -webkit-animation: blink_animation 0.6s ease-out;
            animation: blink_animation 0.6s ease-out;
  }
}

@media screen and (min-width: 1281px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.73vw;
  }
  .pc_only {
    display: none !important;
  }
  body {
    font-size: 3.73vw;
  }
  #wrapper {
    min-width: 100%;
    overflow: hidden;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  html {
    font-size: 4.26vw;
    -webkit-text-size-adjust: 100%;
  }
  body.noscroll {
    position: fixed;
    left: 0;
    right: 0;
    overflow: hidden;
  }
  .border-bg {
    height: 2.67vw;
    top: auto;
    bottom: 0;
    z-index: 6;
  }
  .border-bg > div:nth-child(3) {
    position: relative;
    left: auto;
    bottom: auto;
    height: 100%;
  }
  header {
    width: 100%;
    height: 17vw;
    padding: 0 6.8%;
    top: 0;
    pointer-events: auto;
  }
  .header-bg {
    z-index: 6;
  }
  .header-bg.active {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
  .header-bg.hide {
    opacity: 0;
  }
  .header-inner {
    z-index: 7;
  }
  .header-logo {
    width: 56.2vw;
    top: 6.6vw;
  }
  .header-menu-sp-picarea {
    width: clamp(100px, 100vh - 78vh, 62.66%);
    top: auto;
    bottom: 4vh;
  }
  @supports (-webkit-touch-callout: none) {
    .header-menu-sp-picarea {
      top: auto;
      bottom: 0;
    }
  }
  .box-link-arrow {
    width: 7.47vw;
    height: 7.47vw;
    border-radius: 7.47vw;
    right: 2.6vw;
  }
  .box-link-arrow img {
    width: 2.14vw;
  }
  footer {
    padding: 19.8vw 0 17vw;
  }
  .footer-inner {
    width: 86.66%;
  }
  .footer-link-list {
    width: 100%;
    margin-bottom: 10.6vw;
  }
  .footer-link-list__item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin-bottom: 5.4vw;
  }
  .footer-link-list__item:last-child {
    margin-bottom: 0;
  }
  .footer-link-icon {
    right: 3.1%;
    bottom: 2.5vw;
  }
  .footer-link-text {
    font-size: 5.6vw;
  }
  .footer-contact-area {
    margin-bottom: 9.5vw;
  }
  .footer-contact-area-sns {
    width: 12vw;
    height: 12vw;
    border-radius: 12vw;
    margin-right: 8.8vw;
  }
  .footer-contact-area-sns img {
    width: 4.54vw;
  }
  .footer-contact-area-text {
    font-size: 3.78vw;
  }
  .copyright {
    font-size: 3.2vw;
  }
}
/*# sourceMappingURL=common.css.map */
