@charset "UTF-8";
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=370f4296-8500-4535-be5c-1d9012da28b2&fontids=5563043,5563049,5563055,5563061,5563067,5563073,5563079,5563085,5563091,5563097,5563260,5563266,5563272,5563280");
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 {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

@media screen and (min-width: 769px) {
  html {
    font-size: 7.183908046vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 13.3333333333vw;
  }
}

@media screen and (min-width: 769px) {
  body {
    font-size: 0.14rem;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 0.24rem;
  }
}

@media screen and (min-width: 769px) {
  .hiddenPC {
    display: none;
  }
}

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

a {
  text-decoration: none;
}

section {
  display: block;
}

*:focus {
  outline: none;
}

body {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.svg-symbols {
  display: none;
}

[data-aos] {
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
}

[data-aos=up-100] {
  overflow: hidden;
}
[data-aos=up-100] > * {
  -webkit-transform: translate3d(0, 110%, 0);
          transform: translate3d(0, 110%, 0);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
}
[data-aos=up-100] .ttl:after {
  -webkit-transform: translate3d(750px, 0, 0);
          transform: translate3d(750px, 0, 0);
}
[data-aos=up-100].aos-animate > * {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.pjaxing-new-page [data-aos=up-100].aos-animate > * {
  -webkit-transform: translate3d(0, 110%, 0);
          transform: translate3d(0, 110%, 0);
}
.loading [data-aos=up-100].aos-animate > * {
  -webkit-transform: translate3d(0, 110%, 0);
          transform: translate3d(0, 110%, 0);
}

body:not(.loading):not(.pjaxing) [data-aos=up-100].aos-animate .ttl:after {
  -webkit-animation: up-100-ttl-after 0.6s ease-in-out 0.4s both;
  -moz-animation: up-100-ttl-after 0.6s ease-in-out 0.4s both;
  -ms-animation: up-100-ttl-after 0.6s ease-in-out 0.4s both;
  -o-animation: up-100-ttl-after 0.6s ease-in-out 0.4s both;
  animation: up-100-ttl-after 0.6s ease-in-out 0.4s both;
}

@-moz-keyframes up-100-ttl-after {
  0% {
    transform: translate3d(7.5rem, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes up-100-ttl-after {
  0% {
    -webkit-transform: translate3d(7.5rem, 0, 0);
            transform: translate3d(7.5rem, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-o-keyframes up-100-ttl-after {
  0% {
    transform: translate3d(7.5rem, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes up-100-ttl-after {
  0% {
    transform: translate3d(7.5rem, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes up-100-ttl-after {
  0% {
    -webkit-transform: translate3d(7.5rem, 0, 0);
            transform: translate3d(7.5rem, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
[data-aos=up-200] {
  overflow: hidden;
}
[data-aos=up-200] > * {
  -webkit-transform: translate3d(0, 2rem, 0);
          transform: translate3d(0, 2rem, 0);
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
}
[data-aos=up-200].aos-animate > * {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.pjaxing-new-page [data-aos=up-200].aos-animate > * {
  -webkit-transform: translate3d(0, 2rem, 0);
          transform: translate3d(0, 2rem, 0);
}

@font-face {
  font-family: "DIN Next LT W05 Regular";
  src: url("/fonts/5563043/f427aeaf-ea01-444e-9eb5-6b2b09e3bf32.woff2") format("woff2"), url("/fonts/5563043/8251f7ab-e651-4555-a26a-525bc230845f.woff") format("woff");
}
@font-face {
  font-family: "DIN Next LT W05 Medium";
  src: url("/fonts/5563055/a077222b-f869-4748-8eda-79372b7c40a1.woff2") format("woff2"), url("/fonts/5563055/0297a959-5296-4f45-9729-78daf65d9e43.woff") format("woff");
}
@font-face {
  font-family: "DIN Next LT W05 Bold";
  src: url("/fonts/5563067/f855f545-9ff1-433c-912f-c58bd2d71d28.woff2") format("woff2"), url("/fonts/5563067/8a078fb7-2865-4534-a436-3c2a87c69d57.woff") format("woff");
}
@font-face {
  font-family: "DIN Next LT W05 Light";
  src: url("/fonts/5563272/53b78548-0604-4403-905a-977b7b0a1032.woff2") format("woff2"), url("/fonts/5563272/d46b7081-3725-4e21-bd15-49d310949b17.woff") format("woff");
}
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
  color: #333;
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 0.14rem;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 0.28rem;
    width: 100vw;
    overflow-x: hidden;
  }
}

.wrapper {
  background-color: #f7f7f7;
}

.en {
  font-family: "DIN Next LT W05 Regular";
}
@media screen and (min-width: 769px) {
  .en {
    font-size: 0.16rem;
  }
}
@media screen and (max-width: 768px) {
  .en {
    font-size: 0.32rem;
  }
}

.en-bold, #page-works-detail .sec-main dl dt {
  font-family: "DIN Next LT W05 Bold";
}

.en-light, #page-root .sec-main .ttl {
  font-family: "DIN Next LT W05 Light";
}

.invert {
  background-color: #333;
  color: #f7f7f7;
}

a {
  color: #333;
}

@media screen and (min-width: 769px) {
  .page-header .page-ttl {
    position: absolute;
    font-size: 0.38rem;
    font-weight: bold;
    top: 2.88rem;
    left: calc( 1em + 0.58rem);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
  }
  .page-header .page-ttl:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 2px;
    background-color: #333;
    margin-left: 0.46rem;
  }
}
@media screen and (max-width: 768px) {
  .page-header .page-ttl {
    font-size: 0.6rem;
    font-weight: bold;
    text-align: center;
    padding: 3.34rem 0 1.64rem;
  }
}

html {
  -webkit-transition: filter 0.8s ease;
  -moz-transition: filter 0.8s ease;
  -o-transition: filter 0.8s ease;
  -webkit-transition: -webkit-filter 0.8s ease;
  transition: -webkit-filter 0.8s ease;
  transition: filter 0.8s ease;
  transition: filter 0.8s ease, -webkit-filter 0.8s ease;
}
html img {
  -webkit-transition: filter 0.8s ease;
  -moz-transition: filter 0.8s ease;
  -o-transition: filter 0.8s ease;
  -webkit-transition: -webkit-filter 0.8s ease;
  transition: -webkit-filter 0.8s ease;
  transition: filter 0.8s ease;
  transition: filter 0.8s ease, -webkit-filter 0.8s ease;
}

.page-invert {
  -webkit-filter: invert(100%);
  -moz-filter: invert(100%);
  filter: invert(100%);
}
.page-invert img:not(.parallax) {
  -webkit-filter: invert(100%);
  -moz-filter: invert(100%);
  filter: invert(100%);
}

.site-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}
.site-header .bar {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .site-header .bar {
    padding: 0.58rem 0.58rem 0;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar {
    padding: 0.7rem 0.62rem 0;
  }
}
.site-header .bar .logo {
  pointer-events: auto;
}
.site-header .bar .logo svg {
  fill: #333;
}
@media screen and (min-width: 769px) {
  .site-header .bar .logo svg {
    width: 1.15rem;
    height: 0.34rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar .logo svg {
    width: 1.88rem;
    height: 0.57rem;
  }
}
.site-header .bar .open-menu {
  pointer-events: auto;
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu {
    padding: 0.1rem 0.31rem;
    -webkit-transition: padding-right 0.6s ease-in-out;
    -moz-transition: padding-right 0.6s ease-in-out;
    -o-transition: padding-right 0.6s ease-in-out;
    transition: padding-right 0.6s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar .open-menu {
    padding: 0.14rem 0.13rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu:hover {
    padding-right: 0.16rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu:hover p:nth-of-type(1) {
    width: 0.7rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu:hover p:nth-of-type(2) {
    width: 0.48rem;
  }
}
.site-header .bar .open-menu p {
  background-color: #333;
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu p {
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar .open-menu p {
    height: 4px;
  }
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu p:nth-of-type(1) {
    width: 0.55rem;
    -webkit-transition: width 0.6s ease-in-out;
    -moz-transition: width 0.6s ease-in-out;
    -o-transition: width 0.6s ease-in-out;
    transition: width 0.6s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar .open-menu p:nth-of-type(1) {
    width: 1.11rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .bar .open-menu p:nth-of-type(2) {
    width: 0.33rem;
    margin-top: 0.09rem;
    -webkit-transition: width 0.6s ease-in-out;
    -moz-transition: width 0.6s ease-in-out;
    -o-transition: width 0.6s ease-in-out;
    transition: width 0.6s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  .site-header .bar .open-menu p:nth-of-type(2) {
    width: 0.66rem;
    margin-top: 0.18rem;
  }
}

.site-header .nav {
  pointer-events: auto;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  background-color: #333;
  overflow: hidden;
  height: 0;
  -webkit-transition: height 0.6s ease-in-out;
  -moz-transition: height 0.6s ease-in-out;
  -o-transition: height 0.6s ease-in-out;
  transition: height 0.6s ease-in-out;
}
.menu-open .site-header .nav {
  height: 100%;
  pointer-events: auto;
}
.site-header .nav .up100 {
  overflow: hidden;
}
.site-header .nav .up100 > div {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  -webkit-transition-delay: 0.4s;
  -moz-transition: -moz-transform 0.3s ease-in-out 0.4s;
  -o-transition: -o-transform 0.3s ease-in-out 0.4s;
  -webkit-transition: -webkit-transform 0.3s ease-in-out 0.4s;
  transition: -webkit-transform 0.3s ease-in-out 0.4s;
  transition: transform 0.3s ease-in-out 0.4s;
  transition: transform 0.3s ease-in-out 0.4s, -webkit-transform 0.3s ease-in-out 0.4s;
  -webkit-transform: translate3d(0, 1rem, 0);
  -moz-transform: translate3d(0, 1rem, 0);
  -ms-transform: translate3d(0, 1rem, 0);
  -o-transform: translate3d(0, 1rem, 0);
  transform: translate3d(0, 1rem, 0);
}
.menu-open .site-header .nav .up100 > div {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.site-header .nav .container {
  overflow-y: auto;
  height: 100vh;
}
.site-header .nav .inner {
  position: relative;
  height: 100vh;
}
@media screen and (min-width: 769px) {
  .site-header .nav .inner {
    min-height: 50vw;
  }
}
.site-header .nav-header {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .site-header .nav-header {
    padding: 0.58rem 0.58rem 0;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-header {
    padding: 0.7rem 0.62rem 0;
  }
}
.site-header .nav-header .logo {
  overflow: hidden;
}
.site-header .nav-header .logo svg {
  fill: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-header .nav-header .logo svg {
    width: 1.15rem;
    height: 0.34rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-header .logo svg {
    width: 1.88rem;
    height: 0.57rem;
  }
}
.site-header .nav-header .close-menu {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 769px) {
  .site-header .nav-header .close-menu {
    padding: 0.1rem 0.31rem;
    -webkit-transition: padding-right 0.6s ease-in-out;
    -moz-transition: padding-right 0.6s ease-in-out;
    -o-transition: padding-right 0.6s ease-in-out;
    transition: padding-right 0.6s ease-in-out;
    width: 0.5rem;
    height: 0.1rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-header .close-menu {
    padding: 0.14rem 0.13rem;
    width: 1rem;
    height: 0.32rem;
  }
}
.site-header .nav-header .close-menu p {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-header .nav-header .close-menu p {
    width: 0.34rem;
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-header .close-menu p {
    width: 0.72rem;
    height: 4px;
  }
}
.site-header .nav-header .close-menu p:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.site-header .nav-header .close-menu p:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (min-width: 769px) {
  .site-header .nav-header .close-menu p:nth-of-type(2) {
    margin-top: -2px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-header .close-menu p:nth-of-type(2) {
    margin-top: -4px;
  }
}
.site-header .nav-footer {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0 0.5rem 0.58rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 1.35rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer .addr-tel {
    font-size: 0.12rem;
    line-height: 1.667;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-header .nav-footer .addr-tel {
    width: 6rem;
    font-size: 12px;
    line-height: 1.667;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer .addr-tel {
    font-size: 0.32rem;
    line-height: 1.75;
    margin-top: 1.4rem;
    width: 6.45rem;
  }
  .site-header .nav-footer .addr-tel span {
    font-family: "DIN Next LT W05 Medium";
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-header .nav-footer .addr-tel .tel {
    margin-top: 4px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer .addr-tel .tel {
    margin-top: 0.48rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer .sns {
    font-size: 0.12rem;
    line-height: 1.667;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-header .nav-footer .sns {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer .sns {
    font-size: 0.32rem;
    width: 6.45rem;
    margin-top: 0.9rem;
    line-height: 1.75;
  }
  .site-header .nav-footer .sns p {
    font-family: "DIN Next LT W05 Medium";
  }
}
.site-header .nav-footer .sns a {
  text-decoration: underline;
  color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer .sns a {
    font-size: 0.12rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer .sns > * {
    margin-left: 6px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer .sns > * {
    margin-right: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-footer .copyright {
    font-size: 0.12rem;
    line-height: 1.667;
    text-align: right;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-header .nav-footer .copyright {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-footer .copyright {
    width: 6.45rem;
    margin-top: 0.9rem;
    font-family: "DIN Next LT W05 Medium";
  }
}
.site-header .nav-list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .site-header .nav-list {
    margin-top: 0.59rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-list {
    margin-top: 0.77rem;
  }
}
.menu-open .site-header .nav-list li {
  -webkit-animation: header-nav 0.5s ease-in-out 0.5s both;
  -moz-animation: header-nav 0.5s ease-in-out 0.5s both;
  -ms-animation: header-nav 0.5s ease-in-out 0.5s both;
  -o-animation: header-nav 0.5s ease-in-out 0.5s both;
  animation: header-nav 0.5s ease-in-out 0.5s both;
}
@media screen and (min-width: 769px) {
  .site-header .nav-list li {
    padding: 0.24rem 0 0;
    border-bottom: 1px solid #fff;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-list li {
    padding: 0.61rem 0 0;
    border-bottom: 2px solid #fff;
  }
}
.site-header .nav-list a {
  color: #fff;
  font-family: "DIN Next LT W05 Light";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.39s ease-in-out;
  -moz-transition: 0.39s ease-in-out;
  -o-transition: 0.39s ease-in-out;
  transition: 0.39s ease-in-out;
}
.site-header .nav-list a:hover {
  background-color: #222;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  .site-header .nav-list a:hover {
    padding-left: 0.3rem;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-list a {
    width: 10.44rem;
    height: 0.72rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-list a {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 6.45rem;
    min-height: 1.92rem;
    padding: 0.46rem 0.75rem 0.46rem 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (min-width: 769px) {
  .site-header .nav-list a p {
    font-size: 0.36rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-list a p {
    font-size: 1rem;
    width: 4.6rem;
  }
}
.site-header .nav-list a svg {
  fill: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-header .nav-list a svg {
    width: 0.29rem;
    height: 0.25rem;
    margin-left: 0.43rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header .nav-list a svg {
    width: 0.8rem;
    height: 0.68rem;
  }
}

@-moz-keyframes header-nav {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1rem, 0, 0);
    -moz-transform: translate3d(1rem, 0, 0);
    -ms-transform: translate3d(1rem, 0, 0);
    -o-transform: translate3d(1rem, 0, 0);
    transform: translate3d(1rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes header-nav {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1rem, 0, 0);
    -moz-transform: translate3d(1rem, 0, 0);
    -ms-transform: translate3d(1rem, 0, 0);
    -o-transform: translate3d(1rem, 0, 0);
    transform: translate3d(1rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-o-keyframes header-nav {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1rem, 0, 0);
    -moz-transform: translate3d(1rem, 0, 0);
    -ms-transform: translate3d(1rem, 0, 0);
    -o-transform: translate3d(1rem, 0, 0);
    transform: translate3d(1rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-ms-keyframes header-nav {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1rem, 0, 0);
    -moz-transform: translate3d(1rem, 0, 0);
    -ms-transform: translate3d(1rem, 0, 0);
    -o-transform: translate3d(1rem, 0, 0);
    transform: translate3d(1rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes header-nav {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(1rem, 0, 0);
    -moz-transform: translate3d(1rem, 0, 0);
    -ms-transform: translate3d(1rem, 0, 0);
    -o-transform: translate3d(1rem, 0, 0);
    transform: translate3d(1rem, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.site-footer {
  position: relative;
  background-color: #f0f0f0;
}
@media screen and (min-width: 769px) {
  .site-footer {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1.25rem 1.16rem 1.52rem;
    height: 5.2rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .site-footer {
    padding: 2.22rem 0 1.9rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .row-pc-1 {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .row-pc-1 {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .row-pc-2 {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .logo {
    width: 1rem;
    height: 0.3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .logo {
    width: 100px;
    height: 30px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .logo {
    width: 2.71rem;
    height: 0.81rem;
  }
}
.site-footer .logo svg {
  fill: #333;
  width: 100%;
  height: 100%;
}
.site-footer .btn-contact {
  position: relative;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.site-footer .btn-contact:hover {
  background-color: #333;
  color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact:hover {
    padding-left: 0.42rem;
  }
}
.site-footer .btn-contact:hover svg {
  fill: #fff;
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact:hover svg {
    right: 0.19rem;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .btn-contact:hover svg {
    right: 0.74rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact {
    width: 5.22rem;
    height: 1.22rem;
    border-bottom: 2px solid #333;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-top: -0.36rem;
    padding-top: 0.36rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .btn-contact {
    height: auto;
    padding-bottom: 0.3rem;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .btn-contact {
    width: 6.26rem;
    height: 4.53rem;
    border: 2px solid #333;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.7rem 0.87rem;
    margin-top: 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact .en-bold, .site-footer .btn-contact #page-works-detail .sec-main dl dt, #page-works-detail .sec-main dl .site-footer .btn-contact dt {
    font-size: 0.22rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .btn-contact .en-bold, .site-footer .btn-contact #page-works-detail .sec-main dl dt, #page-works-detail .sec-main dl .site-footer .btn-contact dt {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .btn-contact .en-bold, .site-footer .btn-contact #page-works-detail .sec-main dl dt, #page-works-detail .sec-main dl .site-footer .btn-contact dt {
    font-size: 0.6rem;
    line-height: 1.2;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact .ja {
    font-size: 0.14rem;
    margin-top: 0.1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .btn-contact .ja {
    font-size: 14px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .btn-contact .ja {
    margin-top: 0.6rem;
    font-size: 0.28rem;
  }
}
.site-footer .btn-contact svg {
  position: absolute;
  fill: #333;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  .site-footer .btn-contact svg {
    width: 0.28rem;
    height: 0.24rem;
    top: 0.5rem;
    right: 0.29rem;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .btn-contact svg {
    width: 0.55rem;
    height: 0.47rem;
    top: 1.5rem;
    right: 0.84rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .nav {
    font-size: 0.16rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -0.07rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .nav {
    font-size: 16px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -7px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .nav {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0.77rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .nav li {
    margin-right: 2px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .nav li {
    font-size: 0.8rem;
    line-height: 1.8;
    height: 2.75rem;
    width: 6.25rem;
    border-bottom: 4px solid #333;
  }
}
.site-footer .nav li a {
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.site-footer .nav li a:hover {
  background-color: #333;
  color: #f7f7f7;
}
@media screen and (max-width: 768px) {
  .site-footer .nav li a:hover {
    padding-left: 0.6rem;
    padding: 0 0.35rem 0 0.6rem;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .nav li a:hover svg {
    fill: #f7f7f7;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .nav li a {
    display: inline-block;
    padding: 0.07rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .nav li a {
    padding: 7px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .nav li a {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 0 0.62rem 0 0;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .nav li a svg {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .nav li a svg {
    fill: #333;
    width: 0.56rem;
    height: 0.51rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .addr-tel {
    margin-top: 0.16998rem;
    font-size: 0.12rem;
    line-height: 1.667;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .addr-tel {
    width: 6rem;
    font-size: 12px;
    line-height: 1.667;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .addr-tel {
    font-size: 0.32rem;
    line-height: 1.75;
    padding: 0 0 0 1.25rem;
    margin-top: 1.4rem;
  }
  .site-footer .addr-tel span {
    font-family: "DIN Next LT W05 Medium";
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .addr-tel .tel {
    margin-top: 4px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .addr-tel .tel {
    margin-top: 0.48rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .sns {
    font-size: 0.12rem;
    line-height: 1.667;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .sns {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .sns {
    font-size: 0.32rem;
    padding-left: 1.25rem;
    margin-top: 0.9rem;
    line-height: 1.75;
  }
  .site-footer .sns p {
    font-family: "DIN Next LT W05 Medium";
  }
}
.site-footer .sns a {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .site-footer .sns > * {
    margin-left: 6px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .sns > * {
    margin-right: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  .site-footer .copyright {
    font-size: 0.12rem;
    line-height: 1.667;
    text-align: right;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .site-footer .copyright {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .site-footer .copyright {
    padding-left: 1.25rem;
    margin-top: 0.9rem;
    font-family: "DIN Next LT W05 Medium";
  }
}

.pjax-curtain {
  position: fixed;
  z-index: 30;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #f7f7f7;
}

.barba-container {
  width: 100%;
}

@media screen and (min-width: 769px) {
  body {
    overflow-y: scroll;
  }
}
body.menu-open::-webkit-scrollbar-track {
  background: #333;
}

::-webkit-scrollbar {
  width: 0.1rem;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #333;
}

@media screen and (min-width: 769px) {
  .sec-catch {
    padding: 2.77rem 0 0;
  }
}
.sec-catch .catch {
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  .sec-catch .catch {
    font-size: 0.88rem;
    padding-left: 3.45rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-catch .catch {
    font-size: 1.2rem;
    padding-left: 0.62rem;
  }
}

.loader {
  display: none;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  -moz-transition: -moz-transform 0.6s ease-in-out;
  -o-transition: -o-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

body.loading:not(.pjaxing) .loader {
  position: fixed;
  z-index: 40;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 769px) {
  body.loading:not(.pjaxing) .loader {
    font-size: 0.3rem;
  }
}
@media screen and (max-width: 768px) {
  body.loading:not(.pjaxing) .loader {
    font-size: 0.6rem;
  }
}
body.loading:not(.pjaxing) .loader svg {
  fill: #333;
}
@media screen and (min-width: 769px) {
  body.loading:not(.pjaxing) .loader svg {
    width: 1.16rem;
    height: 0.35rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  body.loading:not(.pjaxing) .loader svg {
    width: 116px;
    height: 35px;
  }
}
@media screen and (max-width: 768px) {
  body.loading:not(.pjaxing) .loader svg {
    width: 2.32rem;
    height: 0.7rem;
  }
}
@media screen and (min-width: 769px) {
  body.loading:not(.pjaxing) .loader .percent {
    font-size: 0.2rem;
    margin-top: 0.3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  body.loading:not(.pjaxing) .loader .percent {
    font-size: 20px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  body.loading:not(.pjaxing) .loader .percent {
    font-size: 0.4rem;
    margin-top: 0.6rem;
  }
}

body.loading-end .loader {
  -webkit-transform: translate3d(0, -100vh, 0);
          transform: translate3d(0, -100vh, 0);
}

.btn {
  position: relative;
  -webkit-transition: background-color 0.6s ease-in-out;
  -moz-transition: background-color 0.6s ease-in-out;
  -o-transition: background-color 0.6s ease-in-out;
  transition: background-color 0.6s ease-in-out;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.btn:hover {
  background-color: #333;
}
.btn:hover p {
  color: #f7f7f7;
}
.btn:hover svg {
  fill: #f7f7f7;
}
@media screen and (min-width: 769px) {
  .btn:hover svg {
    right: 0.2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .btn:hover svg {
    right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .btn:hover svg {
    right: 0.85rem;
  }
}
@media screen and (min-width: 769px) {
  .btn {
    width: 2.9rem;
    height: 0.52rem;
    border-bottom: 2px solid #333;
    padding: 0 0 0 0.28rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .btn {
    width: 4.4rem;
    height: 52px;
    border-bottom: 2px solid #333;
    padding: 0 0 0 28px;
  }
}
@media screen and (max-width: 768px) {
  .btn {
    width: 100%;
    height: 1.4rem;
    border-bottom: 0.06rem solid #333;
    padding: 0 0 0 0.54rem;
  }
}
.btn .ja {
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .btn .ja {
    font-size: 0.16rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .btn .ja {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .btn .ja {
    font-size: 0.32rem;
  }
}
.btn .en {
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  .btn .en {
    font-size: 0.12rem;
    margin: 0.05rem 0 0 0.18rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .btn .en {
    font-size: 12px;
    margin: 5px 0 0 18px;
  }
}
@media screen and (max-width: 768px) {
  .btn .en {
    font-size: 0.24rem;
    margin: 0.1rem 0 0 0.36rem;
  }
}
.btn svg {
  position: absolute;
  fill: #333;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media screen and (min-width: 769px) {
  .btn svg {
    width: 0.16rem;
    height: 0.15rem;
    right: 0.3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  .btn svg {
    width: 16px;
    height: 15px;
    right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .btn svg {
    width: 0.34rem;
    height: 0.31rem;
    right: 1.05rem;
  }
}

#page-about .ttl {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  #page-about .ttl {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #page-about .ttl {
    font-size: 2.08rem;
    line-height: 0.865;
  }
}

@media screen and (min-width: 769px) {
  #page-about .sec-01 {
    padding: 2.87rem 0 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 {
    padding: 0 0 1.6rem;
  }
}
#page-about .sec-01 .ttl {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .ttl {
    width: 10.44rem;
    height: 1.16rem;
    margin: 0 0 1.17rem;
    padding: 0 0.18rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .ttl {
    height: 4.23rem;
    padding: 0 0 0 0.62rem;
    margin: 0 0 0.98rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .box-black {
    width: 9.28rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .box-ja {
    font-size: 0.14rem;
    background-size: 0.34006rem 0.34006rem;
    background-position: top 0.17003rem left;
    background-image: linear-gradient(to bottom, #333 2px, transparent 2px, transparent);
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-01 .box-ja {
    font-size: 14px;
    background-size: 34.006px 34.006px;
    background-position: top 17.003px left;
    background-image: linear-gradient(to bottom, #333 2px, transparent 2px, transparent);
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .box-ja {
    background-size: 0.68012rem 0.68012rem;
    background-image: linear-gradient(0deg, transparent calc(50% - 2px), #333 calc(50% - 2px), #333 calc(50% + 2px), transparent calc(50% + 2px), transparent);
  }
  #page-about .sec-01 .box-ja .text {
    width: 5.63rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .box-en {
    margin: 0.36997rem 0 0;
    font-size: 0.16rem;
    background-size: 0.34rem 0.34rem;
    background-position: top 0.17rem left;
    background-image: linear-gradient(to bottom, #333 2px, transparent 2px, transparent);
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-01 .box-en {
    margin: 0.36997rem 0 0;
    font-size: 16px;
    background-size: 34px 34px;
    background-position: top 17px left;
    background-image: linear-gradient(to bottom, #333 2px, transparent 2px, transparent);
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .box-en {
    margin-top: 0.78rem;
    background-size: 0.69rem 0.69rem;
    background-image: linear-gradient(0deg, transparent calc(50% - 2px), #333 calc(50% - 2px), #333 calc(50% + 2px), transparent calc(50% + 2px), transparent);
  }
  #page-about .sec-01 .box-en .text {
    width: 5.2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .text {
    width: 4.64rem;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .text {
    padding: 0 0 0 0.62rem;
  }
}
#page-about .sec-01 .ja {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .ja {
    line-height: 2.429;
    font-size: 0.14rem;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 0.10003rem #f7f7f7, 0.33rem 0 0 0.10003rem #f7f7f7;
            box-shadow: 0 0 0 0.10003rem #f7f7f7, 0.33rem 0 0 0.10003rem #f7f7f7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-01 .ja {
    line-height: 2.429;
    font-size: 14px;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 10.003px #f7f7f7, 33px 0 0 10.003px #f7f7f7;
            box-shadow: 0 0 0 10.003px #f7f7f7, 33px 0 0 10.003px #f7f7f7;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .ja {
    line-height: 2.429;
    font-size: 0.28rem;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 0.20006rem #f7f7f7, 0.37rem 0 0 0.20006rem #f7f7f7, -0.62rem 0 0 0.20006rem #f7f7f7;
            box-shadow: 0 0 0 0.20006rem #f7f7f7, 0.37rem 0 0 0.20006rem #f7f7f7, -0.62rem 0 0 0.20006rem #f7f7f7;
  }
}
#page-about .sec-01 .en:not(.ttl) {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-about .sec-01 .en:not(.ttl) {
    font-size: 0.16rem;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 0.09rem #f7f7f7, 0.33rem 0 0 0.09rem #f7f7f7;
            box-shadow: 0 0 0 0.09rem #f7f7f7, 0.33rem 0 0 0.09rem #f7f7f7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-01 .en:not(.ttl) {
    font-size: 16px;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 9px #f7f7f7, 33px 0 0 9px #f7f7f7;
            box-shadow: 0 0 0 9px #f7f7f7, 33px 0 0 9px #f7f7f7;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-01 .en:not(.ttl) {
    font-size: 0.32rem;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 0.18rem #f7f7f7, 0.37rem 0 0 0.18rem #f7f7f7, -0.62rem 0 0 0.18rem #f7f7f7;
            box-shadow: 0 0 0 0.18rem #f7f7f7, 0.37rem 0 0 0.18rem #f7f7f7, -0.62rem 0 0 0.18rem #f7f7f7;
  }
}

@media screen and (min-width: 769px) {
  #page-about .sec-02 {
    padding: 2.45rem 0 1.2rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 {
    padding: 0 0 2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .ttl {
    margin-left: 3.48rem;
    width: 11.6rem;
    height: 1.16rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 0.4rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .ttl {
    padding: 0 0 0 0.62rem;
  }
}
#page-about .sec-02 .text-all {
  position: relative;
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .text-all {
    padding: 0.57rem 0 1.16rem;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .text-all {
    padding: 1.05rem 0 1.16rem;
  }
}
#page-about .sec-02 .text-all:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #333;
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .text-all:after {
    width: 2.32rem;
    height: 100%;
  }
}
#page-about .sec-02 .box-black {
  background-color: #333;
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .box-black {
    width: 11.6rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .box-ja .text {
    width: 4.64rem;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .box-ja .text {
    width: 5.75rem;
    padding-left: 0.62rem;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .box-en {
    margin: 0.57rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .box-en {
    margin: 0.75rem 0 0;
  }
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .box-en .text {
    width: 4.25rem;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .box-en .text {
    width: 5.13rem;
    padding-left: 0.62rem;
  }
}
#page-about .sec-02 .ja {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .ja {
    line-height: 2.429;
    font-size: 0.14rem;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 0.10003rem #f7f7f7, 0.33rem 0 0 0.10003rem #f7f7f7;
            box-shadow: 0 0 0 0.10003rem #f7f7f7, 0.33rem 0 0 0.10003rem #f7f7f7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-02 .ja {
    line-height: 2.429;
    font-size: 14px;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 10.003px #f7f7f7, 33px 0 0 10.003px #f7f7f7;
            box-shadow: 0 0 0 10.003px #f7f7f7, 33px 0 0 10.003px #f7f7f7;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .ja {
    line-height: 2.429;
    font-size: 0.28rem;
    vertical-align: middle;
    -webkit-box-shadow: 0 0 0 0.20006rem #f7f7f7, 0.38rem 0 0 0.20006rem #f7f7f7, -0.62rem 0 0 0.20006rem #f7f7f7;
            box-shadow: 0 0 0 0.20006rem #f7f7f7, 0.38rem 0 0 0.20006rem #f7f7f7, -0.62rem 0 0 0.20006rem #f7f7f7;
  }
}
#page-about .sec-02 .en:not(.ttl) {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-about .sec-02 .en:not(.ttl) {
    font-size: 0.16rem;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 0.09rem #f7f7f7, 0.33rem 0 0 0.09rem #f7f7f7;
            box-shadow: 0 0 0 0.09rem #f7f7f7, 0.33rem 0 0 0.09rem #f7f7f7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-about .sec-02 .en:not(.ttl) {
    font-size: 16px;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 9px #f7f7f7, 33px 0 0 9px #f7f7f7;
            box-shadow: 0 0 0 9px #f7f7f7, 33px 0 0 9px #f7f7f7;
  }
}
@media screen and (max-width: 768px) {
  #page-about .sec-02 .en:not(.ttl) {
    font-size: 0.32rem;
    line-height: 2.125;
    -webkit-box-shadow: 0 0 0 0.18rem #f7f7f7, 0.38rem 0 0 0.18rem #f7f7f7, -0.62rem 0 0 0.18rem #f7f7f7;
            box-shadow: 0 0 0 0.18rem #f7f7f7, 0.38rem 0 0 0.18rem #f7f7f7, -0.62rem 0 0 0.18rem #f7f7f7;
  }
}

@media screen and (min-width: 769px) {
  #page-root .sec-main {
    padding: 2.23rem 0 0;
  }
}
#page-root .sec-main .works-list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list {
    padding-bottom: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .works-list {
    padding-bottom: 2rem;
  }
}
#page-root .sec-main .works-list li {
  position: relative;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li:nth-of-type(n+2) {
    margin-top: 1.46rem;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .works-list li:nth-of-type(n+2) {
    margin-top: 2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li {
    width: 10.44rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-bottom: 0.54rem;
    border-bottom: 2px solid #333;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .works-list li {
    width: 6.25rem;
    border-bottom: 4px solid #333;
    padding-bottom: 0.83rem;
  }
}
#page-root .sec-main .works-list li a {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li a {
    display: block;
    overflow: hidden;
    margin-left: -0.4rem;
    padding-left: 0.4rem;
  }
  #page-root .sec-main .works-list li a:after {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #333;
    top: 0;
    left: 10.74rem;
    -webkit-transition: left 0.39s ease-in-out;
    -moz-transition: left 0.39s ease-in-out;
    -o-transition: left 0.39s ease-in-out;
    transition: left 0.39s ease-in-out;
  }
}
#page-root .sec-main .works-list li a svg {
  fill: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li a svg {
    width: 0.28rem;
    height: 0.24rem;
    position: absolute;
    right: 0.58rem;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: right 0.6s ease-in-out;
    -moz-transition: right 0.6s ease-in-out;
    -o-transition: right 0.6s ease-in-out;
    transition: right 0.6s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .works-list li a svg {
    display: none;
  }
}
#page-root .sec-main .works-list li a:hover:after {
  left: 1rem;
  -webkit-transition: left 0.6s ease-in-out;
  -moz-transition: left 0.6s ease-in-out;
  -o-transition: left 0.6s ease-in-out;
  transition: left 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li a:hover .ttl {
    margin-left: -0.4rem;
  }
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .works-list li a:hover svg {
    right: 0.48rem;
  }
}
@media screen and (min-width: 769px) {
  #page-root .sec-main [data-aos=up-100] {
    margin-left: -1rem;
    padding-left: 1rem;
  }
}
#page-root .sec-main .ttl {
  -webkit-transition: margin-left 0.6s ease-in-out;
  -moz-transition: margin-left 0.6s ease-in-out;
  -o-transition: margin-left 0.6s ease-in-out;
  transition: margin-left 0.6s ease-in-out;
  line-height: 1.13;
}
#page-root .sec-main .ttl .ja {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .ttl {
    font-size: 1rem;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .ttl {
    position: relative;
    font-size: 1.4rem;
  }
  #page-root .sec-main .ttl:after {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    width: 6.25rem;
    height: 100%;
    background-color: #333;
    top: 0;
    left: 0;
    -webkit-transition: left 0.6s ease-in-out;
    -moz-transition: left 0.6s ease-in-out;
    -o-transition: left 0.6s ease-in-out;
    transition: left 0.6s ease-in-out;
  }
}
#page-root .sec-main .ttl span {
  background-color: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .ttl span {
    -webkit-box-shadow: 1.07rem 0 0 0 #f7f7f7;
            box-shadow: 1.07rem 0 0 0 #f7f7f7;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .ttl span {
    font-size: 1.4rem;
    line-height: 1.029;
    -webkit-box-shadow: 0.6rem 0 0 0 #f7f7f7;
            box-shadow: 0.6rem 0 0 0 #f7f7f7;
  }
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .info {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0.37rem;
    line-height: 1.3;
  }
  #page-root .sec-main .info:before {
    content: "";
    display: block;
    width: 0.58rem;
    height: 1px;
    background-color: #333;
    margin-right: 0.58rem;
    z-index: 2;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-root .sec-main .info {
    font-size: 14px;
    line-height: 1.5;
    width: 8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-root .sec-main .info {
    width: 5rem;
    font-size: 0.32rem;
    line-height: 1.75;
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 769px) {
  #page-root .sec-main .info span {
    background-color: #f7f7f7;
    -webkit-box-shadow: 0 0 0 0.38rem #f7f7f7, 0.91rem 0 0 0.38rem #f7f7f7, -1.54rem 0 0 0.38rem #f7f7f7;
            box-shadow: 0 0 0 0.38rem #f7f7f7, 0.91rem 0 0 0.38rem #f7f7f7, -1.54rem 0 0 0.38rem #f7f7f7;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .work-header {
    padding: 0.53rem 0.58rem 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .work-header .work-ttl {
    width: 9.86rem;
    border-bottom: 2px solid #333;
    padding-bottom: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .work-header .work-ttl {
    width: 6.26rem;
    margin: 0 auto;
    padding: 3.4rem 0 1rem;
    border-bottom: 4px solid #333;
  }
}
#page-works-detail .work-header .work-ttl p {
  line-height: 1.08;
}
@media screen and (min-width: 769px) {
  #page-works-detail .work-header .work-ttl p {
    font-size: 0.46rem;
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .work-header .work-ttl p.en {
    font-size: 0.46rem;
  }
  #page-works-detail .work-header .work-ttl p.en-bold {
    font-size: 0.6rem;
  }
}
#page-works-detail .kv {
  text-align: center;
}
@media screen and (min-width: 769px) {
  #page-works-detail .kv img {
    width: 12.76rem;
    height: 6.97rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .kv img {
    width: 6.26rem;
    height: 9.02rem;
  }
}
#page-works-detail .sec-main {
  position: relative;
}
#page-works-detail .sec-main .work-number {
  text-align: right;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .work-number {
    display: inline-block;
    min-width: 1.16rem;
    border-bottom: 1px solid #333;
    font-size: 0.16rem;
    padding-bottom: 0.25rem;
    margin-top: 0.6rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main .work-number {
    min-width: 116px;
    font-size: 16px;
    padding-bottom: 25px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .work-number {
    width: 2.5rem;
    border-bottom: 2px solid #333;
    margin-top: 1rem;
    padding-bottom: 0.5rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .ttl {
    font-size: 1.26rem;
    padding-left: 2.32rem;
    margin-top: 0.86rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .ttl {
    font-size: 1.36rem;
    padding: 0.98rem 1.16rem 0;
  }
  #page-works-detail .sec-main .ttl:after {
    content: "";
    display: block;
    width: 0.28rem;
    height: 0.04rem;
    background-color: #333;
    margin-top: 0.8rem;
  }
}
#page-works-detail .sec-main .parallax {
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .parallax {
    position: absolute;
    z-index: 1;
    top: 6.1rem;
    left: 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main .parallax {
    top: 610px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .parallax {
    -webkit-order: 2;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0.15rem 0 -0.2rem;
    padding: 0.2rem 0;
  }
}
#page-works-detail .sec-main .parallax p {
  font-size: 3rem;
  color: #fff;
  z-index: 1;
  white-space: nowrap;
  -webkit-animation: marquee 15s linear infinite;
  -moz-animation: marquee 15s linear infinite;
  -ms-animation: marquee 15s linear infinite;
  -o-animation: marquee 15s linear infinite;
  animation: marquee 15s linear infinite;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .container {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0.78rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .container {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#page-works-detail .sec-main .container .en {
  position: relative;
  z-index: 2;
}
#page-works-detail .sec-main .container-right {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .container-right {
    width: 5.8rem;
    margin-left: 1.16rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .container-right {
    -webkit-order: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
#page-works-detail .sec-main dl {
  text-align: right;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main dl {
    font-size: 0.16rem;
    width: 2.32rem;
    margin-top: -0.4rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main dl {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main dl {
    -webkit-order: 3;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    padding-right: 1.25rem;
    margin-top: -0.15rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main dl dt {
    line-height: 1;
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main dl dt {
    margin-top: 0.8rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main dl dd {
    line-height: 2.125;
    margin-top: 0.1rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main dl dd {
    font-size: 0.32rem;
    line-height: 2.125;
    margin-top: 0.2rem;
  }
}
#page-works-detail .sec-main .visit-site {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .visit-site {
    font-size: 0.16rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #page-works-detail .sec-main .visit-site:before {
    content: "";
    display: block;
    width: 0.14rem;
    height: 2px;
    background-color: #333;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main .visit-site {
    font-size: 16px;
  }
  #page-works-detail .sec-main .visit-site:before {
    width: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .visit-site {
    position: absolute;
    top: 0.46rem;
    right: 0.62rem;
    font-size: 0.4rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .text {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .text {
    padding: 0 1.16rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .text.ja {
    font-size: 0.14rem;
    line-height: 2.429;
    margin-top: 0.44rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main .text.ja {
    font-size: 14px;
    margin-top: 44px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .text.ja {
    font-size: 0.28rem;
    line-height: 2.429;
    margin-top: 0.8rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-main .text.en {
    font-size: 0.16rem;
    line-height: 2.125;
    margin-top: 0.38rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-main .text.en {
    font-size: 16px;
    margin-top: 38px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-main .text.en {
    font-size: 0.32rem;
    line-height: 2.125;
    margin-top: 0.6rem;
  }
}
#page-works-detail .sec-contact {
  position: relative;
}
#page-works-detail .sec-contact a {
  display: block;
  position: relative;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#page-works-detail .sec-contact a:hover {
  background-color: #333;
}
#page-works-detail .sec-contact a:hover p {
  color: #f7f7f7;
}
#page-works-detail .sec-contact a:hover svg {
  fill: #f7f7f7;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-contact a:hover svg {
    right: 0.48rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-contact a:hover svg {
    right: 0.6rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-contact a {
    border: 1px solid #333;
    width: 9.32rem;
    height: 1.66rem;
    margin: 1.72rem auto 2.06rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-contact a {
    width: 11.32rem;
    height: 166px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-contact a {
    width: 6.26rem;
    height: 4.58rem;
    margin: 1.2rem auto 0.76rem;
    border: 2px solid #333;
    padding: 0.64rem 0.84rem 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
  }
}
#page-works-detail .sec-contact p {
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-contact .en-bold, #page-works-detail .sec-contact .sec-main dl dt, #page-works-detail .sec-main dl .sec-contact dt {
    font-size: 0.3rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-contact .en-bold, #page-works-detail .sec-contact .sec-main dl dt, #page-works-detail .sec-main dl .sec-contact dt {
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-contact .en-bold, #page-works-detail .sec-contact .sec-main dl dt, #page-works-detail .sec-main dl .sec-contact dt {
    font-size: 0.6rem;
    line-height: 1.2;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-contact .ja {
    text-align: center;
    margin-top: 0.1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-contact .ja {
    font-size: 14px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-contact .ja {
    margin-top: 0.62rem;
  }
}
#page-works-detail .sec-contact svg {
  position: absolute;
  fill: #333;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-contact svg {
    width: 0.29rem;
    height: 0.25rem;
    right: 0.58rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-contact svg {
    width: 29px;
    height: 25px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-contact svg {
    width: 0.56rem;
    height: 0.48rem;
    top: 1.4rem;
    right: 0.7rem;
  }
}
#page-works-detail .sec-next-project {
  position: relative;
}
#page-works-detail .sec-next-project .bg-img {
  width: 100%;
  display: block;
}
#page-works-detail .sec-next-project a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project a:hover svg {
    right: 1.06rem;
  }
}
#page-works-detail .sec-next-project a:hover .container {
  background-color: rgba(0, 0, 0, 0.6);
}
#page-works-detail .sec-next-project a.dark .container {
  background-color: rgba(0, 0, 0, 0.6);
}
#page-works-detail .sec-next-project a.dark:hover .container {
  background-color: rgba(0, 0, 0, 0.8);
}
#page-works-detail .sec-next-project a .container {
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project a .container {
    padding: 1.5rem 0 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-next-project a .container {
    padding: 0.8rem 0 0;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-next-project a .container {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3.2rem 0 0;
  }
}
#page-works-detail .sec-next-project .text-next-project {
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project .text-next-project {
    font-size: 0.28rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-next-project .text-next-project {
    font-size: 28px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-next-project .text-next-project {
    font-size: 0.56rem;
  }
}
#page-works-detail .sec-next-project .ttl {
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project .ttl {
    font-size: 0.6rem;
    margin-top: 0.1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-next-project .ttl {
    font-size: 60px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-next-project .ttl {
    font-size: 1.2rem;
    margin-top: 0.1rem;
  }
}
#page-works-detail .sec-next-project svg {
  fill: #f7f7f7;
  -webkit-transition: 0.6s ease-in-out;
  -moz-transition: 0.6s ease-in-out;
  -o-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project svg {
    width: 0.29rem;
    height: 0.25rem;
    position: absolute;
    right: 1.16rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-works-detail .sec-next-project svg {
    width: 29px;
    height: 25px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-next-project svg {
    width: 0.82rem;
    height: 0.7rem;
    margin-top: 1rem;
  }
}
#page-works-detail .sec-next-project .copyright {
  color: #fff;
  text-align: center;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project .copyright {
    font-size: 0.12rem;
    left: 0;
    bottom: 0.45rem;
  }
}
@media screen and (min-width: 769px) {
  #page-works-detail .sec-next-project .copyright {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail .sec-next-project .copyright {
    font-size: 0.24rem;
    bottom: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="03"] .sec-next-project a .container {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="03"] .sec-next-project a svg {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="03"] .sec-next-project a .copyright {
    bottom: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="04"] .sec-next-project a .container {
    padding-top: 0.7rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="04"] .sec-next-project a svg {
    margin-top: 0.1rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="04"] .sec-next-project a .copyright {
    bottom: 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="05"] .sec-next-project a .container {
    padding-top: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="05"] .sec-next-project a svg {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="10"] .sec-next-project a .container {
    padding-top: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  #page-works-detail[data-work-number="10"] .sec-next-project a svg {
    margin-top: 1rem;
  }
}

@-webkit-keyframes marquee {
  from {
    -webkit-transform: translate(100%);
            transform: translate(100%);
  }
  99%, to {
    -webkit-transform: translate(-100%);
            transform: translate(-100%);
  }
}

@keyframes marquee {
  from {
    -webkit-transform: translate(100%);
            transform: translate(100%);
  }
  99%, to {
    -webkit-transform: translate(-100%);
            transform: translate(-100%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-catch .catch {
    padding-left: 2.45rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form {
    width: 8.12rem;
    padding: 0 0 1.6rem 3.48rem;
    margin-top: 1.8rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form {
    width: 10.12rem;
    padding: 0 0 1.6rem 2.48rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form {
    padding: 1.66rem 0.62rem 2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .row {
    border-bottom: 1px solid #333;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#page-contact .sec-form .row-btn, #page-contact .sec-form .row-plivacy-policy {
  border-bottom: none;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .label {
    width: 1.74rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .label {
    width: 2.74rem;
  }
}
#page-contact .sec-form .label .ja {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .label .ja {
    font-size: 0.14rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .label .ja {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .label .ja {
    font-size: 0.28rem;
  }
}
#page-contact .sec-form .label .ja.req:after {
  content: "*";
  color: #cb4242;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .label .ja.req:after {
    margin-left: 0.05rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .label .ja.req:after {
    margin-left: 0.05rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .label .en {
    font-size: 0.12rem;
    margin-top: 0.16rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .label .en {
    font-size: 12px;
    margin-top: 16px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .label .en {
    font-size: 0.24rem;
    margin-top: 0.3rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .field {
    width: 6.38rem;
    padding: 0.58rem 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .field {
    width: 7.38rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .field {
    padding: 0.45rem 0 1rem;
  }
}
#page-contact .sec-form .field-inquiry-type .container {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .field-inquiry-type label:nth-of-type(1) .container {
    border-radius: 0.06rem 0 0 0.06rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .field-inquiry-type label:nth-of-type(1) .container {
    border-radius: 0.08rem 0 0 0.08rem;
  }
}
#page-contact .sec-form .field-inquiry-type label:nth-of-type(2) .container {
  border-left: none;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .field-inquiry-type label:nth-of-type(2) .container {
    border-radius: 0 0.06rem 0.06rem 0;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .field-inquiry-type label:nth-of-type(2) .container {
    border-radius: 0 0.08rem 0.08rem 0;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .field-name {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .field-name > div:nth-of-type(n+2) {
    margin-left: 0.13rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .field-name > div:nth-of-type(n+2) {
    margin-top: 0.36rem;
  }
}
#page-contact .sec-form input[type=text],
#page-contact .sec-form input[type=email],
#page-contact .sec-form textarea {
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=text],
#page-contact .sec-form input[type=email],
#page-contact .sec-form textarea {
    padding: 0.16rem 0.22rem;
    font-size: 0.14rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=text],
#page-contact .sec-form input[type=email],
#page-contact .sec-form textarea {
    padding: 16px 22px;
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=text],
#page-contact .sec-form input[type=email],
#page-contact .sec-form textarea {
    font-size: 0.24rem;
    font-size: 0.32rem;
    padding: 0.55rem 0.45rem;
  }
}
#page-contact .sec-form input::-webkit-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input::-moz-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input:-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input::-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input::placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input:-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input::-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea::-webkit-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea::-moz-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea:-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea::-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea::placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea:-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form textarea::-ms-input-placeholder {
  color: rgba(247, 247, 247, 0.22);
  font-weight: bold;
}
#page-contact .sec-form input[type=text] {
  background-color: #333;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=text] {
    width: 2.32rem;
    height: 0.46rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=text] {
    width: 3.52rem;
    height: 46px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=text] {
    width: 100%;
    height: 1.4rem;
  }
}
#page-contact .sec-form input[type=email] {
  background-color: #333;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=email] {
    width: 3.48rem;
    height: 0.46rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=email] {
    width: 6.48rem;
    height: 46px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=email] {
    width: 100%;
    height: 1.4rem;
  }
}
#page-contact .sec-form input[type=radio] {
  display: none;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=radio] + .container {
    width: 3.18rem;
    height: 0.44rem;
    border: 1px solid #333;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=radio] + .container {
    width: 3.58rem;
    height: 44px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=radio] + .container {
    border: 2px solid #333;
    width: 3.13rem;
    height: 1.4rem;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=radio] + .container .ja {
    font-size: 0.14rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=radio] + .container .ja {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=radio] + .container .ja {
    font-size: 0.28rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form input[type=radio] + .container .en {
    font-size: 0.12rem;
    margin-left: 0.11rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form input[type=radio] + .container .en {
    font-size: 12px;
    margin-top: 5px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form input[type=radio] + .container .en {
    font-size: 0.24rem;
    margin-top: 0.11rem;
  }
}
#page-contact .sec-form input[type=radio]:checked + .container {
  background-color: #888;
  color: #f7f7f7;
}
#page-contact .sec-form textarea {
  background-color: #333;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form textarea {
    width: 6.38rem;
    height: 2.06rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form textarea {
    width: 7.28rem;
    height: 206px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form textarea {
    width: 100%;
    height: 4.4rem;
  }
}
#page-contact .sec-form .policy-content {
  background-color: #eee;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .policy-content {
    padding: 0.1rem;
    width: 6.38rem;
    height: 2.06rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .policy-content {
    padding: 10px;
    width: 7.28rem;
    height: 206px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .policy-content {
    width: 100%;
    height: 4.4rem;
    padding: 0.5rem 0.5rem 0.5rem 0.4rem;
  }
}
#page-contact .sec-form .policy-content .container {
  overflow: auto;
  height: 100%;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .policy-content .container {
    font-size: 0.12rem;
    line-height: 2.5;
    padding: 0 0.34rem 0 0.1rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .policy-content .container {
    font-size: 12px;
    padding: 0 34px 0 10px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .policy-content .container {
    padding-right: 0.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 0.24rem;
    line-height: 2.5;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .policy-content .container::-webkit-scrollbar {
    width: 0.14rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .policy-content .container::-webkit-scrollbar {
    width: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .policy-content .container::-webkit-scrollbar {
    width: 0.28rem;
  }
}
#page-contact .sec-form .policy-content .container::-webkit-scrollbar-track {
  background: #f7f7f7;
}
#page-contact .sec-form .policy-content .container::-webkit-scrollbar-thumb {
  background: #888;
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .note.ja {
    font-size: 0.14rem;
    line-height: 2.429;
    margin-top: 0.35rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .note.ja {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .note.ja {
    font-size: 0.28rem;
    line-height: 2;
    margin-top: 0.53rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .note.en {
    font-size: 0.14rem;
    line-height: 2.429;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .note.en {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .note.en {
    font-size: 0.28rem;
    line-height: 1.857;
    margin-top: 0.3rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact .sec-form .btn {
    margin-top: -0.65rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact .sec-form .btn {
    margin-top: -0.45rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .sec-form .btn {
    margin-top: -0.75rem;
  }
}
#page-contact .sec-form .err-msg {
  color: #cb4242;
  margin-top: 0.1rem;
}
#page-contact .sec-form .reset .err-msg {
  display: none;
}

@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-catch .catch {
    padding-left: 2.45rem;
  }
}

#page-studio .sec-main {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main {
    padding: 1.82rem 0 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main {
    padding: 0.75rem 0 2rem;
  }
}
#page-studio .sec-main dl {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dl {
    width: 10.44rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dl {
    width: 11.44rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dl {
    width: 6.88rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dt, #page-studio .sec-main dd {
    height: 1.58rem;
    border-bottom: 1px solid #333;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dt, #page-studio .sec-main dd {
    height: 158px;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt, #page-studio .sec-main dd {
    border-bottom: 2px solid #333;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dt .ja, #page-studio .sec-main dd .ja {
    font-size: 0.14rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dt .ja, #page-studio .sec-main dd .ja {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt .ja, #page-studio .sec-main dd .ja {
    font-size: 0.28rem;
    font-weight: bold;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dt .en, #page-studio .sec-main dd .en {
    font-size: 0.12rem;
    margin-top: 0.15rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dt .en, #page-studio .sec-main dd .en {
    font-size: 12px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt .en, #page-studio .sec-main dd .en {
    font-size: 0.24rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dt {
    width: 1.74rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dt {
    width: 2.04rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt {
    width: 1.88rem;
    padding: 1.2rem 0 0.8rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt .en {
    margin-top: 0.252rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dt.member {
    border-bottom: none;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dd {
    width: 8.7rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-studio .sec-main dd {
    width: 9.4rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dd {
    width: 5rem;
    padding: 1.06rem 0 0.68rem;
  }
  #page-studio .sec-main dd.col1 {
    border-bottom: none;
  }
  #page-studio .sec-main dd.col2 {
    padding-left: 1.88rem;
    margin-top: -1.45rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dd p {
    width: 4.38rem;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dd .ja {
    font-size: 0.28rem;
    line-height: 2;
  }
}
@media screen and (max-width: 768px) {
  #page-studio .sec-main dd .en {
    font-size: 0.24rem;
    line-height: 2;
    margin-top: 0.45rem;
    margin-top: 0.15rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dd.col1 {
    width: 2.32rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dd.col1 {
    width: 3.32rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dd.col2 {
    width: 6.38rem;
  }
}
@media screen and (min-width: 769px) {
  #page-studio .sec-main dd.col2 {
    width: 5.38rem;
  }
}
@media screen and (min-width: 769px) {
  #page-404 .sec-main {
    padding-bottom: 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  #page-404 .sec-main {
    padding: 0 0.62rem 2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-404 .sec-main .btn {
    margin: 0.45rem 0 0 3.45rem;
    width: 2.9rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-404 .sec-main .btn {
    width: 290px;
  }
}
@media screen and (max-width: 768px) {
  #page-404 .sec-main .btn {
    margin-top: 0.3rem;
  }
}

@media screen and (min-width: 769px) {
  #page-contact-complete .sec-main {
    padding-bottom: 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  #page-contact-complete .sec-main {
    padding: 0 0.62rem 2rem;
  }
}
@media screen and (min-width: 769px) {
  #page-contact-complete .sec-main .btn {
    margin: 0.45rem 0 0 3.45rem;
    width: 2.9rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1392px) {
  #page-contact-complete .sec-main .btn {
    width: 290px;
  }
}
@media screen and (max-width: 768px) {
  #page-contact-complete .sec-main .btn {
    margin-top: 0.3rem;
  }
}
/*# sourceMappingURL=all.css.map */