@charset "UTF-8";
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotateZ(0);
            transform: rotateZ(0);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotateZ(0);
            transform: rotateZ(0);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}
@-webkit-keyframes aboutVisualPc {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2156px 0;
  }
}
@keyframes aboutVisualPc {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2156px 0;
  }
}
@-webkit-keyframes aboutVisualSp {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -287.4666666666667vw 0;
  }
}
@keyframes aboutVisualSp {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -287.4666666666667vw 0;
  }
}
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,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
html {
  font-size: 62.5%;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  html {
    font-size: 50%;
  }
}
@media only screen and (max-width: 768px) {
  html {
    height: 100%;
  }
}
body {
  font-size: 2.4rem;
  font-family: 'ZenKakuGothicAntique', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  color: #000;
  background-color: #f8f6f3;
  text-rendering: auto;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
@media only screen and (max-width: 768px) {
  body {
    height: 100%;
  }
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}
svg {
  width: 100%;
  height: 100%;
  image-rendering: -webkit-optimize-contrast;
}
button,
input,
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  margin: 0;
  padding: 0;
  font-family: 'ZenKakuGothicAntique', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-size: 100%;
  border: 0;
  border-radius: 0;
  background: none;
  outline: none;
  resize: none;
}
button,
input,
label,
select {
  cursor: pointer;
}
main,
article,
section {
  position: relative;
}
a {
  color: #000;
  text-decoration: none;
}
.sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .sp {
    display: inline-block;
  }
}
@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}
@font-face {
  font-family: 'ZenKakuGothicAntique';
  font-style: normal;
  font-weight: 400;
  src: url("../font/ZenKakuGothicAntique-Medium.woff2") format('woff2');
}
@font-face {
  font-family: 'ZenKakuGothicAntique';
  font-style: normal;
  font-weight: 700;
  src: url("../font/ZenKakuGothicAntique-Bold.woff2") format('woff2');
}
@font-face {
  font-family: 'ZenKakuGothicAntique';
  font-style: normal;
  font-weight: 900;
  src: url("../font/ZenKakuGothicAntique-Black.woff2") format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url("../font/Montserrat-Regular.woff2") format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url("../font/Montserrat-SemiBold.woff2") format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url("../font/Montserrat-Bold.woff2") format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  src: url("../font/Montserrat-Black.woff2") format('woff2');
}
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64,%20d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}
.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}
.swiper-backface-hidden .swiper-slide {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}
.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0,0,0,0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0));
}
.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}
.swiper-centered>.swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
}
.page-about .section-1 .container-wrap,
.page-about .section-2 .container-wrap,
.page-about .section-3 .container-wrap,
.page-recruit .section-1 .container-wrap,
.page-recruit .section-2 .container-wrap {
  position: relative;
  display: flex;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .container-wrap,
  .page-about .section-2 .container-wrap,
  .page-about .section-3 .container-wrap,
  .page-recruit .section-1 .container-wrap,
  .page-recruit .section-2 .container-wrap {
    display: block;
  }
}
.page-about .section-1 .container-wrap .container,
.page-about .section-2 .container-wrap .container,
.page-about .section-3 .container-wrap .container,
.page-recruit .section-1 .container-wrap .container,
.page-recruit .section-2 .container-wrap .container {
  box-sizing: border-box;
}
.main-visual,
.page-about .section-1 .box-philosophy,
.page-about .section-2 .container-wrap .map,
.page-about .section-3 .container-wrap.container-2 .wrap,
.page-about .section-3 .box-creative,
.page-about .section-3 .box-photo-studio,
.page-about .section-3 .box-photo-studio .container-wrap .container-img,
.page-contact .section-1 .container-form,
.page-contact .section-1 .container-confirm,
.page-contact .section-1 .container-complete,
.page-recruit .section-2 .container-wrap.container-2 .wrap {
  position: relative;
  border: 5px solid #000;
  border-radius: 5px;
  background-color: #fff;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .main-visual,
  .page-about .section-1 .box-philosophy,
  .page-about .section-2 .container-wrap .map,
  .page-about .section-3 .container-wrap.container-2 .wrap,
  .page-about .section-3 .box-creative,
  .page-about .section-3 .box-photo-studio,
  .page-about .section-3 .box-photo-studio .container-wrap .container-img,
  .page-contact .section-1 .container-form,
  .page-contact .section-1 .container-confirm,
  .page-contact .section-1 .container-complete,
  .page-recruit .section-2 .container-wrap.container-2 .wrap {
    border-width: 0.8vw;
    border-radius: 0.666666666666667vw;
  }
}
.section-kv .cloud-2,
.section-kv .cloud-3,
.section-about .cloud-1,
.section-about .cloud-2,
.section-about .cloud-3,
.section-works .cloud-1,
.section-works .cloud-2,
.section-works .cloud-3,
.section-recruit .cloud-1,
.section-recruit .cloud-2,
.section-contact .cloud-1,
.section-contact .cloud-3,
.section-contact .cloud-2,
.section-contact .cloud-4 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
}
.section-kv .cloud-2::before,
.section-kv .cloud-3::before,
.section-about .cloud-1::before,
.section-about .cloud-2::before,
.section-about .cloud-3::before,
.section-works .cloud-1::before,
.section-works .cloud-2::before,
.section-works .cloud-3::before,
.section-recruit .cloud-1::before,
.section-recruit .cloud-2::before,
.section-contact .cloud-1::before,
.section-contact .cloud-3::before,
.section-contact .cloud-2::before,
.section-contact .cloud-4::before {
  content: "";
  display: block;
  padding-top: 32.323232323232325%;
}
.section-kv .cloud-2 > *,
.section-kv .cloud-3 > *,
.section-about .cloud-1 > *,
.section-about .cloud-2 > *,
.section-about .cloud-3 > *,
.section-works .cloud-1 > *,
.section-works .cloud-2 > *,
.section-works .cloud-3 > *,
.section-recruit .cloud-1 > *,
.section-recruit .cloud-2 > *,
.section-contact .cloud-1 > *,
.section-contact .cloud-3 > *,
.section-contact .cloud-2 > *,
.section-contact .cloud-4 > * {
  position: absolute;
  left: 0;
  top: 0;
}
.page-about .button-googlemap,
.page-about .section-3 .box-photo-studio .container-wrap .container-text .button,
.page-contact .section-1 .container-form input[type="submit"],
.page-contact .section-1 .container-confirm input[type="submit"],
.page-contact .section-1 .container-confirm .container-buttons .button-back,
.page-contact .section-1 .container-complete .button-top,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close,
.page-works-detail .button-website {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 600;
  color: #fff;
  background-color: #000;
  font-size: 1.5rem;
  border-radius: 30px;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .button-googlemap,
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button,
  .page-contact .section-1 .container-form input[type="submit"],
  .page-contact .section-1 .container-confirm input[type="submit"],
  .page-contact .section-1 .container-confirm .container-buttons .button-back,
  .page-contact .section-1 .container-complete .button-top,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close,
  .page-works-detail .button-website {
    transition: 0.3s;
  }
  .page-about .button-googlemap .icon,
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button .icon,
  .page-contact .section-1 .container-form input[type="submit"] .icon,
  .page-contact .section-1 .container-confirm input[type="submit"] .icon,
  .page-contact .section-1 .container-confirm .container-buttons .button-back .icon,
  .page-contact .section-1 .container-complete .button-top .icon,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close .icon,
  .page-works-detail .button-website .icon {
    transition: 0.3s;
  }
  .page-about .button-googlemap:hover,
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button:hover,
  .page-contact .section-1 .container-form input[type="submit"]:hover,
  .page-contact .section-1 .container-confirm input[type="submit"]:hover,
  .page-contact .section-1 .container-confirm .container-buttons .button-back:hover,
  .page-contact .section-1 .container-complete .button-top:hover,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close:hover,
  .page-works-detail .button-website:hover {
    color: #000;
    background-color: #ccc;
  }
  .page-about .button-googlemap:hover .icon,
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button:hover .icon,
  .page-contact .section-1 .container-form input[type="submit"]:hover .icon,
  .page-contact .section-1 .container-confirm input[type="submit"]:hover .icon,
  .page-contact .section-1 .container-confirm .container-buttons .button-back:hover .icon,
  .page-contact .section-1 .container-complete .button-top:hover .icon,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close:hover .icon,
  .page-works-detail .button-website:hover .icon {
    fill: #000;
  }
}
.page-about .button-googlemap .icon,
.page-about .section-3 .box-photo-studio .container-wrap .container-text .button .icon,
.page-contact .section-1 .container-form input[type="submit"] .icon,
.page-contact .section-1 .container-confirm input[type="submit"] .icon,
.page-contact .section-1 .container-confirm .container-buttons .button-back .icon,
.page-contact .section-1 .container-complete .button-top .icon,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close .icon,
.page-works-detail .button-website .icon {
  fill: #fff;
}
body {
  scrollbar-width: none;
}
body::-webkit-scrollbar {
  display: none;
}
svg {
  stroke-width: 5px;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  svg {
    stroke-width: 4px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 499px) {
  svg {
    stroke-width: 3px;
  }
}
@media only screen and (max-width: 768px) {
  svg {
    stroke-width: 0.666666666666667vw;
  }
}
.animation-parts {
  will-change: transform;
}
.screen-transition {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 13;
  background: #f8f6f3;
  display: none;
}
.screen-loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 13;
  background: #d0eef9;
  display: none;
}
.screen-loading img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 126px;
  height: 188px;
  margin-left: -63px;
  margin-top: -94px;
}
@media only screen and (max-width: 768px) {
  .screen-loading img {
    width: 89px;
    height: 125px;
    margin-left: -45px;
    margin-top: -62.5px;
  }
}
.wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .wrapper {
    min-height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .wrapper {
    height: 100%;
  }
}
article {
  max-width: 1500px;
  margin: 0 auto;
  z-index: 9;
}
.copyright {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  letter-spacing: -0.016em;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .copyright {
    font-size: 2.666666666666667vw;
  }
  .copyright span {
    display: inline-block;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    vertical-align: middle;
  }
}
@media only screen and (min-width: 769px) {
  .copyright .mark {
    margin-right: 2px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .copyright .mark {
    margin-right: 0.266666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .copyright .year {
    padding-right: 3px;
  }
}
.company-info {
  position: relative;
  display: flex;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  border-top: 0.8vw solid #000;
}
@media only screen and (min-width: 769px) {
  .company-info {
    display: none;
  }
}
.company-info a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18.666666666666668vw;
  font-size: 4.266666666666667vw;
  letter-spacing: -0.01em;
  font-weight: 700;
  box-sizing: border-box;
}
.company-info .link-tel {
  width: 50.4vw;
  border-right: 0.8vw solid #000;
}
.company-info .link-tel .icon {
  width: 7.866666666666666vw;
  height: 7.866666666666666vw;
  margin-right: 2.666666666666667vw;
}
.company-info .link-tel .number span:not(:last-child) {
  margin-right: 1.066666666666667vw;
}
.company-info .link-map {
  width: 49.6vw;
}
.company-info .link-map .icon-pin {
  width: 6.266666666666667vw;
  height: 8.4vw;
  font-size: 0;
}
.company-info .link-map .text {
  padding: 0 1.066666666666667vw;
}
.company-info .link-map .icon-blank {
  position: relative;
  width: 4.666666666666667vw;
  height: 4.666666666666667vw;
  border-radius: 50%;
  background-color: #000;
}
.company-info .link-map .icon-blank .svg {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 2.133333333333333vw;
  height: 1.866666666666667vw;
  fill: #fff;
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 12;
  width: 100%;
}
.header .logo {
  position: absolute;
  left: 50%;
  top: 0;
  margin-top: 42px;
  margin-left: -27px;
  width: 56px;
  font-size: 0;
}
.header .logo a {
  display: block;
}
@media only screen and (max-width: 768px) {
  .header .logo {
    width: 13.333333333333334vw;
    margin-top: 5.333333333333334vw;
    margin-left: -6.666666666666667vw;
  }
}
.header .button-contact {
  position: absolute;
  display: block;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .header .button-contact {
    right: 41px;
    top: 31px;
    width: 60px;
    height: 51px;
    box-sizing: border-box;
  }
  .header .button-contact:hover .text {
    top: -5px;
  }
  .header .button-contact:hover .icon {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}
@media only screen and (max-width: 768px) {
  .header .button-contact {
    right: 4.666666666666667vw;
    top: 5.2vw;
    width: 9.733333333333333vw;
    height: 9.6vw;
  }
}
.header .button-contact .text {
  display: block;
  width: 60px;
  height: 12px;
  margin: 0 auto 5px;
  font-size: 0;
  transition: all 300ms;
}
@media only screen and (min-width: 769px) {
  .header .button-contact .text {
    position: absolute;
    left: 50%;
    top: 0;
    margin-left: -30px;
  }
}
@media only screen and (max-width: 768px) {
  .header .button-contact .text {
    width: 9.733333333333333vw;
    height: 2vw;
    margin-bottom: 0.933333333333333vw;
  }
}
.header .button-contact .icon {
  display: block;
  width: 45px;
  height: 34px;
  margin: 0 auto;
  transition: all 300ms;
}
@media only screen and (min-width: 769px) {
  .header .button-contact .icon {
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -22.5px;
  }
}
@media only screen and (max-width: 768px) {
  .header .button-contact .icon {
    width: 8.933333333333334vw;
    height: 6.666666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .button-contact .icon svg {
    stroke-width: 4px;
  }
}
.header .button-menu {
  position: absolute;
  z-index: 1;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .header .button-menu {
    left: 40px;
    top: 27px;
    width: 70px;
    height: 70px;
  }
  .header .button-menu:hover .line-1 {
    top: 22px;
  }
  .header .button-menu:hover .line-2 {
    top: 43px;
  }
}
@media only screen and (max-width: 768px) {
  .header .button-menu {
    left: 5.333333333333334vw;
    top: 4.133333333333333vw;
    width: 12vw;
    height: 12vw;
  }
}
.header .button-menu span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background-color: #000;
  border-radius: 2.5px;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .header .button-menu span {
    height: 1.066666666666667vw;
    border-radius: 0.533333333333333vw;
  }
}
.header .button-menu .line-1 {
  top: 25px;
  -webkit-transform-origin: right top;
          transform-origin: right top;
}
@media only screen and (max-width: 768px) {
  .header .button-menu .line-1 {
    top: 4vw;
  }
}
.header .button-menu .line-2 {
  top: 40px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}
@media only screen and (max-width: 768px) {
  .header .button-menu .line-2 {
    top: 6.933333333333333vw;
  }
}
.header .container-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: absolute;
  left: -440px;
  top: 0;
  width: 440px;
  height: 100vh;
  background-color: #f7d137;
  box-sizing: border-box;
  transition: left 0.82s cubic-bezier(0.075, 0.82, 0.165, 1);
  overflow: auto;
}
@media only screen and (min-width: 769px) {
  .header .container-menu {
    border-right: 5px solid #000;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .header .container-menu {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu {
    position: absolute;
    left: -100%;
    top: 0;
    display: flex;
    flex-flow: column;
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .menu-inner {
    padding-top: 124px;
    padding-left: 80px;
    padding-bottom: 109px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .header .container-menu .menu-inner {
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .menu-inner {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 20.266666666666666vw;
    padding-bottom: 18vw;
    padding-left: 13.333333333333334vw;
    box-sizing: border-box;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .links a:hover .en .en-img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.header .container-menu .links .en {
  display: block;
  margin-bottom: 10px;
}
@media only screen and (min-width: 769px) {
  .header .container-menu .links .en {
    position: relative;
  }
  .header .container-menu .links .en .en-img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .links .en {
    margin-bottom: 1.6vw;
  }
}
.header .container-menu .links .ja {
  display: block;
  font-size: 1.4rem;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .header .container-menu .links .ja {
    font-size: 2.666666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-top {
    margin-bottom: 44px;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-top {
    margin-bottom: 6.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-top .en {
    width: 100%;
    position: relative;
    width: 182px;
  }
  .header .container-menu .item-top .en::before {
    content: "";
    display: block;
    padding-top: 18.40659340659341%;
  }
  .header .container-menu .item-top .en > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-top .en {
    width: 36.4vw;
  }
}
.header .container-menu .item-top .ja {
  margin-left: -2px;
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-top .ja {
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-about {
    margin-bottom: 46px;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-about {
    margin-bottom: 6.4vw;
  }
}
.header .container-menu .item-about .en {
  margin-left: 1px;
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-about .en {
    width: 100%;
    position: relative;
    width: 247px;
  }
  .header .container-menu .item-about .en::before {
    content: "";
    display: block;
    padding-top: 13.414634146341465%;
  }
  .header .container-menu .item-about .en > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-about .en {
    width: 49.333333333333336vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-works {
    margin-bottom: 43px;
    margin-left: -1px;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-works {
    margin-bottom: 6.666666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-works .en {
    width: 100%;
    position: relative;
    width: 227px;
    margin-bottom: 8px;
  }
  .header .container-menu .item-works .en::before {
    content: "";
    display: block;
    padding-top: 15.894039735099339%;
  }
  .header .container-menu .item-works .en > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-works .en {
    width: 45.46666666666667vw;
    margin-bottom: 1.066666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-recruit {
    margin-bottom: 45px;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-recruit {
    margin-bottom: 6.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-recruit .en {
    width: 100%;
    position: relative;
    width: 258.5px;
  }
  .header .container-menu .item-recruit .en::before {
    content: "";
    display: block;
    padding-top: 14.119922630560927%;
  }
  .header .container-menu .item-recruit .en > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-recruit .en {
    width: 51.733333333333334vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .item-contact .en {
    width: 100%;
    position: relative;
    width: 242px;
  }
  .header .container-menu .item-contact .en::before {
    content: "";
    display: block;
    padding-top: 14.669421487603307%;
  }
  .header .container-menu .item-contact .en > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-contact .en {
    width: 48.53333333333333vw;
  }
}
@media only screen and (max-width: 768px) {
  .header .container-menu .item-contact .ja {
    letter-spacing: 0.03em;
  }
}
.header .container-menu .copyright {
  position: absolute;
  left: 40px;
  bottom: 45px;
}
@media only screen and (max-width: 768px) {
  .header .container-menu .copyright {
    left: 13.333333333333334vw;
    bottom: 7.333333333333333vw;
  }
}
@media only screen and (min-width: 769px) {
  .header .container-menu .company-info {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  .is-menu-opened .header .button-menu:hover .line-1 {
    -webkit-transform: rotate(12.5deg);
            transform: rotate(12.5deg);
  }
  .is-menu-opened .header .button-menu:hover .line-2 {
    -webkit-transform: rotate(-12.5deg);
            transform: rotate(-12.5deg);
  }
  .is-menu-opened .header .button-menu .line-1,
  .is-menu-opened .header .button-menu .line-2 {
    transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
  }
}
@media only screen and (min-width: 769px) {
  .is-menu-opened .header .button-menu .line-1 {
    top: 30px;
    -webkit-transform: rotate(-12.5deg);
            transform: rotate(-12.5deg);
  }
}
@media only screen and (max-width: 768px) {
  .is-menu-opened .header .button-menu .line-1 {
    -webkit-transform: rotate(-14deg);
            transform: rotate(-14deg);
  }
}
@media only screen and (min-width: 769px) {
  .is-menu-opened .header .button-menu .line-2 {
    top: 30px;
    -webkit-transform: rotate(12.5deg);
            transform: rotate(12.5deg);
  }
}
@media only screen and (max-width: 768px) {
  .is-menu-opened .header .button-menu .line-2 {
    -webkit-transform: rotate(14deg);
            transform: rotate(14deg);
  }
}
.is-menu-opened .container-menu {
  left: 0;
}
.is-lower .header {
  position: absolute;
}
.footer {
  position: relative;
  margin-top: 197px;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  background-color: #57c2e9;
}
@media only screen and (min-width: 769px) {
  .footer {
    border-top: 5px solid #000;
  }
}
@media only screen and (max-width: 768px) {
  .footer {
    margin-top: 32vw;
  }
}
.footer .duck {
  position: absolute;
  left: 50%;
  top: -51px;
  width: 47px;
  height: 55px;
  margin-left: -23.5px;
}
@media only screen and (max-width: 768px) {
  .footer .duck {
    top: -11.600000000000001vw;
    width: 11.866666666666667vw;
    height: 14.000000000000002vw;
    margin-left: -5.933333333333334vw;
  }
}
.footer .wave {
  position: absolute;
  left: 50%;
  top: 14px;
  margin-left: -748px;
  width: 1499px;
  height: 13px;
  z-index: 1;
  font-size: 0;
}
@media only screen and (max-width: 768px) {
  .footer .wave {
    display: none;
  }
}
.footer .inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1500px;
  margin: 0 auto;
  padding: 147px 3.125% 160px;
  background-color: #57c2e9;
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .footer .inner {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .footer .inner {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .footer .inner {
    padding: 10.666666666666668vw 5.333333333333334vw 13.333333333333334vw;
  }
}
.footer .inner::before {
  position: absolute;
  left: 50%;
  top: -5px;
  margin-left: -50px;
  content: "";
  width: 100px;
  height: 5px;
  background-color: #000;
}
@media only screen and (max-width: 768px) {
  .footer .inner::before {
    display: none;
  }
}
.footer .logo {
  width: 120px;
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .footer .logo {
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .footer .logo {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 768px) {
  .footer .logo {
    width: 16vw;
  }
}
.footer .page-links {
  display: flex;
  margin-top: -1px;
  max-width: 854px;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  .footer .page-links {
    margin-right: 3.333333333333333%;
  }
  .footer .page-links a {
    transition: 0.3s;
  }
  .footer .page-links a:hover {
    opacity: 0.6;
  }
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .footer .page-links {
    max-width: inherit;
    margin-right: 0;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .footer .page-links {
    margin-right: 0;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 768px) {
  .footer .page-links {
    display: block;
    width: 59.333333333333336vw;
    font-size: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .footer .page-links .item {
    width: 12.5vw;
  }
}
@media only screen and (max-width: 768px) {
  .footer .page-links .item:not(:last-child) {
    padding-bottom: 5.466666666666667vw;
  }
}
.footer .page-links .page-top {
  display: block;
  font-size: 1.8rem;
  letter-spacing: -0.025em;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .footer .page-links .page-top {
    margin-bottom: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .footer .page-links .page-top {
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  .footer .page-links .sections {
    display: flex;
    margin-top: 1.6vw;
  }
}
@media only screen and (min-width: 769px) {
  .footer .page-links .sections li {
    margin-bottom: 22px;
  }
  .footer .page-links .sections li a::before {
    content: "-";
    padding: 0 4px;
  }
}
@media only screen and (max-width: 768px) {
  .footer .page-links .sections li:not(:last-child) {
    margin-right: 0.933333333333333vw;
    padding-right: 0.933333333333333vw;
    border-right: 1px solid #000;
  }
}
.footer .button-pagetop {
  display: block;
  position: absolute;
  right: 40px;
  bottom: 48px;
  width: 71px;
  height: 86px;
}
@media only screen and (max-width: 768px) {
  .footer .button-pagetop {
    right: 5.333333333333334vw;
    bottom: -6.800000000000001vw;
    width: 13.466666666666665vw;
    height: 15.733333333333333vw;
  }
}
@media only screen and (min-width: 769px) {
  .footer .button-pagetop:hover .icon {
    -webkit-transform: rotate(72deg);
            transform: rotate(72deg);
  }
}
.footer .button-pagetop .text {
  display: block;
  width: 67px;
  height: 20px;
  margin-left: 3px;
  font-size: 0;
}
@media only screen and (max-width: 768px) {
  .footer .button-pagetop .text {
    width: 12.4vw;
    height: 3.466666666666666vw;
    margin-left: 0.533333333333333vw;
  }
}
.footer .button-pagetop .icon {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 71px;
  height: 71px;
}
@media only screen and (min-width: 769px) {
  .footer .button-pagetop .icon {
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
}
@media only screen and (max-width: 768px) {
  .footer .button-pagetop .icon {
    width: 13.466666666666665vw;
    height: 13.333333333333334vw;
  }
}
.footer .copyright {
  position: absolute;
  left: 3.125%;
  bottom: 45px;
}
@media only screen and (max-width: 768px) {
  .footer .copyright {
    display: inline-block;
    left: 5.333333333333334vw;
    bottom: 12.666666666666668vw;
  }
  .footer .copyright .break {
    display: block;
  }
}
.footer .company-info {
  background-color: #57c2e9;
  border-bottom: 0.8vw solid #000;
}
.sun {
  position: absolute;
  left: 50%;
  bottom: 33px;
  width: 452px;
  height: 452px;
  margin-left: -226px;
  border: 5px solid #000;
  border-radius: 50%;
  background-color: #f95d79;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .sun {
    bottom: 4.125vh;
    width: 56.49999999999999vh;
    height: 56.49999999999999vh;
    margin-left: -28.249999999999996vh;
    border-width: 4px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 499px) {
  .sun {
    border-width: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .sun {
    bottom: 12.666666666666668vw;
    width: 60.266666666666666vw;
    height: 60.266666666666666vw;
    margin-left: -30.133333333333333vw;
    border-width: 0.8vw;
  }
}
.river {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 140px;
  background-color: #57c2e9;
  border-top: 5px solid #000;
  box-sizing: border-box;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .river {
    height: 17.5vh;
    border-width: 4px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 499px) {
  .river {
    border-width: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .river {
    height: 26.93333333333333vw;
    border-width: 0.8vw;
  }
}
.current {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.river-1,
.river-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 5px;
  background-color: #57c2e9;
}
.river-1::before,
.river-2::before {
  content: "";
  display: block;
  padding-top: 122.29508196721311%;
}
.river-1 > *,
.river-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) {
  .river-1,
  .river-2 {
    width: 610px;
    margin-left: -305px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .river-1,
  .river-2 {
    width: 76.25vh;
    margin-left: -38.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .river-1,
  .river-2 {
    width: 81.33333333333333vw;
    margin-left: -40.666666666666664vw;
  }
}
.river-1.is-hidden,
.river-2.is-hidden {
  visibility: hidden;
}
.ground {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: -140px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .ground {
    margin-top: -17.5vh;
  }
}
@media only screen and (max-width: 768px) {
  .ground {
    margin-top: -26.93333333333333vw;
    border-width: 0.666666666666667vw;
  }
}
.ground::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 100%;
  height: 100%;
  background-color: #57c2e9;
}
@media only screen and (max-width: 768px) {
  .ground::before {
    top: 0.666666666666667vw;
  }
}
.ground .ground-right,
.ground .ground-left {
  position: absolute;
  left: 50%;
  top: 0;
  width: 50%;
  height: 100%;
}
.ground .ground-right .riverside,
.ground .ground-left .riverside {
  width: 100%;
  position: relative;
  position: absolute;
  left: 0;
  top: 0;
  width: 1503px;
  margin-left: 70px;
  overflow: hidden;
}
.ground .ground-right .riverside::before,
.ground .ground-left .riverside::before {
  content: "";
  display: block;
  padding-top: 88.62275449101796%;
}
.ground .ground-right .riverside > *,
.ground .ground-left .riverside > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .ground .ground-right .riverside,
  .ground .ground-left .riverside {
    margin-left: 8.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .ground .ground-right .riverside,
  .ground .ground-left .riverside {
    margin-left: 9.066666666666666vw;
  }
  .ground .ground-right .riverside .svg,
  .ground .ground-left .riverside .svg {
    top: -1px;
  }
}
.ground .ground-right .riverside::after,
.ground .ground-left .riverside::after {
  position: absolute;
  left: 1px;
  top: 0;
  width: 100%;
  height: 5px;
  background-color: #000;
  border-radius: 4px;
  content: "";
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .ground .ground-right .riverside::after,
  .ground .ground-left .riverside::after {
    height: 4px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 499px) {
  .ground .ground-right .riverside::after,
  .ground .ground-left .riverside::after {
    height: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .ground .ground-right .riverside::after,
  .ground .ground-left .riverside::after {
    left: 1px;
    height: 0.666666666666667vw;
    border-radius: 0.666666666666667vw;
  }
}
.ground .ground-left {
  left: auto;
  right: 50%;
}
.ground .ground-left::before {
  left: auto;
  right: 0;
  margin-right: 1571px;
  margin-left: 0;
}
.ground .ground-left .riverside {
  left: auto;
  right: 0;
  margin-right: 70px;
  margin-left: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .ground .ground-left .riverside {
    margin-right: 8.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .ground .ground-left .riverside {
    margin-right: 9.066666666666666vw;
  }
}
.ground .ground-left .riverside::after {
  left: -1px;
}
@media only screen and (max-width: 768px) {
  .ground .ground-left .riverside::after {
    left: -2px;
  }
}
.ground .ground-left .riverside svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.ground .duck {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: -75px;
  z-index: 10;
  width: 158px;
  margin-left: -79px;
}
.ground .duck::before {
  content: "";
  display: block;
  padding-top: 120.25316455696202%;
}
.ground .duck > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .ground .duck {
    top: -9.375vh;
    width: 19.75vh;
    margin-left: -9.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .ground .duck {
    top: -9.866666666666667vw;
    width: 23.333333333333332vw;
    margin-left: -11.733333333333333vw;
  }
}
.arrow-transition,
.arrow-scroll,
.arrow-slide {
  position: absolute;
  left: -68px;
  top: -68px;
  z-index: 11;
  width: 137px;
  height: 137px;
  mix-blend-mode: difference;
  transition: width ease 0.1s, height ease 0.1s, -webkit-transform linear 0.2s;
  transition: transform linear 0.2s, width ease 0.1s, height ease 0.1s;
  transition: transform linear 0.2s, width ease 0.1s, height ease 0.1s, -webkit-transform linear 0.2s;
  pointer-events: none;
}
.arrow-transition .text,
.arrow-scroll .text,
.arrow-slide .text {
  width: 100%;
  height: 100%;
  -webkit-animation: rotate 3.6s cubic-bezier(0.5, 0.51, 0.51, 0.52) infinite;
          animation: rotate 3.6s cubic-bezier(0.5, 0.51, 0.51, 0.52) infinite;
}
.arrow-transition.is-show .text,
.arrow-scroll.is-show .text,
.arrow-slide.is-show .text {
  -webkit-animation: rotate 4s cubic-bezier(0.5, 0.51, 0.51, 0.52) infinite;
          animation: rotate 4s cubic-bezier(0.5, 0.51, 0.51, 0.52) infinite;
}
@media only screen and (max-width: 768px) {
  .arrow-transition,
  .arrow-scroll,
  .arrow-slide {
    display: none;
  }
}
.arrow-transition .arrow {
  position: absolute;
  left: 39px;
  top: 40px;
  width: 63px;
  height: 58px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.arrow-transition .arrow svg {
  fill: #d0eef9;
}
.arrow-scroll .arrow {
  position: absolute;
  left: 39px;
  top: 40px;
  width: 63px;
  height: 58px;
}
.arrow-scroll .arrow svg {
  fill: #d0eef9;
}
.arrow-slide .arrow {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 86px;
  height: 44px;
}
.arrow-slide .arrow svg {
  fill: #fff;
}
.parallax {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .is-lower {
    height: auto;
  }
}
@media only screen and (min-width: 769px) {
  .is-lower .main {
    display: flex;
    flex-flow: column;
    min-height: 100vh;
  }
  .is-lower .main article {
    flex: 1;
    width: 100%;
  }
}
.page-heading {
  display: flex;
  flex-direction: column;
  margin-bottom: 53px;
}
@media only screen and (max-width: 768px) {
  .page-heading {
    margin-bottom: 11.200000000000001vw;
  }
}
.page-heading .en {
  display: block;
  margin-bottom: 38px;
}
@media only screen and (max-width: 768px) {
  .page-heading .en {
    margin-bottom: 5.066666666666666vw;
  }
}
.page-heading .ja {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .page-heading .ja {
    margin-top: -0.533333333333333vw;
    font-size: 2.666666666666667vw;
  }
}
.anchor-links {
  display: flex;
  font-size: 2rem;
  letter-spacing: -0.016em;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 900;
}
@media only screen and (min-width: 769px) {
  .anchor-links {
    justify-content: flex-end;
    position: absolute;
    right: 6.09375%;
    top: 0;
    width: 100%;
    margin-top: 369px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .anchor-links {
    position: relative;
    right: auto;
    justify-content: flex-start;
    width: 93.75%;
    margin: 0 0 20px 6.171875%;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-links {
    width: 89.33333333333333vw;
    margin: 0 auto 6.133333333333333vw;
    font-size: 3.466666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .anchor-links li {
    margin-left: 3.671875%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .anchor-links li {
    margin-right: 7.8125%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-links li:not(:last-child) {
    margin-right: 8.799999999999999vw;
  }
}
.anchor-links li a {
  position: relative;
}
.anchor-links li a .num {
  position: absolute;
  left: -12px;
  top: -5px;
  font-size: 1rem;
  letter-spacing: normal;
  font-weight: 600;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .anchor-links li a .num {
    top: -8px;
    left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-links li a .num {
    top: -2.133333333333333vw;
    left: 0;
    font-size: 2.666666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .anchor-links li a .num span {
    display: inline-block;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-links li a .num span {
    display: inline-block;
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
@media only screen and (min-width: 769px) {
  .anchor-links li a {
    transition: 0.3s;
  }
  .anchor-links li a:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-links li a {
    display: flex;
  }
}
.anchor-links li a .arrow {
  width: 2.8vw;
  height: 2.666666666666667vw;
  margin-left: 0.8vw;
}
.anchor-links li a .arrow svg {
  fill: #000;
}
@media only screen and (min-width: 769px) {
  .anchor-links li a .arrow {
    display: none;
  }
}
.main-visual {
  width: 93.75%;
  height: 360px;
  margin: 0 auto 140px;
  box-sizing: border-box;
  background-color: #d0eef9;
}
@media only screen and (max-width: 768px) {
  .main-visual {
    width: 89.33333333333333vw;
    height: 48vw;
    margin-bottom: 13.333333333333334vw;
  }
}
.main-visual.visual-1 .visual-inner {
  overflow: hidden;
}
.main-visual.visual-2 {
  width: auto;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  border-radius: 0;
  border-right: 0;
  border-left: 0;
  overflow: hidden;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .main-visual svg,
  .main-visual .sun,
  .main-visual .river {
    stroke-width: 4px;
    border-width: 4px;
  }
}
@media only screen and (min-width: 769px) and (max-height: 499px) {
  .main-visual svg,
  .main-visual .sun,
  .main-visual .river {
    stroke-width: 4px;
    border-width: 4px;
  }
}
.main-visual .river {
  height: 37px;
}
@media only screen and (max-width: 768px) {
  .main-visual .river {
    height: 4.8vw;
  }
}
.main-visual .river .river-1 {
  bottom: auto;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .main-visual .river .river-1 {
    width: 610px;
    margin-left: -305px;
  }
}
@media only screen and (max-width: 768px) {
  .main-visual .river-2 {
    width: 190px;
    margin-left: -95px;
  }
}
.main-visual .parallax-inner {
  height: 100%;
}
.main-visual .visual-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.main-visual .ground {
  top: auto;
  bottom: 0;
  height: 37px;
}
@media only screen and (max-width: 768px) {
  .main-visual .ground {
    height: 4.8vw;
  }
}
.main-visual .ground .ground-left .riverside {
  margin-right: 63px;
}
@media only screen and (max-width: 768px) {
  .main-visual .ground .ground-left .riverside {
    margin-right: 8.266666666666666vw;
  }
}
.main-visual .ground .ground-right .riverside {
  margin-left: 63px;
}
@media only screen and (max-width: 768px) {
  .main-visual .ground .ground-right .riverside {
    margin-left: 8.266666666666666vw;
  }
}
.label {
  position: absolute;
  right: 6.09375%;
  top: 0;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  letter-spacing: -0.01em;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media only screen and (max-width: 768px) {
  .label {
    right: 10.4vw;
    top: 10.133333333333333vw;
    font-size: 2.666666666666667vw;
  }
}
.label .num {
  font-weight: 600;
}
@media only screen and (min-width: 769px) {
  .label .num {
    padding-right: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .label .num {
    display: inline-block;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
.label .text {
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .label .text {
    display: inline-block;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
.label::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin-right: 16px;
  background-color: #000;
}
@media only screen and (max-width: 768px) {
  .label::before {
    width: 8vw;
    height: 0.266666666666667vw;
    margin-right: 1.866666666666667vw;
    margin-bottom: 1.066666666666667vw;
  }
}
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 310px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .pagination {
    width: 62vw;
  }
}
.pagination .button-prev,
.pagination .button-next {
  position: relative;
  width: 60px;
  height: 60px;
  border: 2px solid #000;
  box-sizing: border-box;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .pagination .button-prev,
  .pagination .button-next {
    width: 12vw;
    height: 12vw;
    border-width: 0.533333333333333vw;
  }
}
.pagination .button-prev .arrow,
.pagination .button-next .arrow {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 9px;
  height: 14px;
  font-size: 0;
  stroke: #000;
}
@media only screen and (min-width: 769px) {
  .pagination .button-prev .arrow,
  .pagination .button-next .arrow {
    transition: right 0.2s;
  }
}
@media only screen and (max-width: 768px) {
  .pagination .button-prev .arrow,
  .pagination .button-next .arrow {
    width: 2.133333333333333vw;
    height: 3.066666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .pagination .button-prev:hover .arrow {
    right: 5px;
  }
}
.pagination .button-next .arrow svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) {
  .pagination .button-next:hover .arrow {
    right: -5px;
  }
}
@media only screen and (min-width: 769px) {
  .pagination .link-back {
    transition: opacity 0.2s;
  }
  .pagination .link-back:hover {
    opacity: 0.5;
  }
}
.page-about {
  background-color: #f8f6f3;
}
.page-about .page-heading {
  padding-top: 114px;
  margin-left: 6.171875%;
}
@media only screen and (max-width: 768px) {
  .page-about .page-heading {
    padding-top: 21.46666666666667vw;
    margin-left: 5.066666666666666vw;
  }
}
.page-about .page-heading .en {
  width: 421px;
}
@media only screen and (max-width: 768px) {
  .page-about .page-heading .en {
    width: 56.13333333333333vw;
  }
}
.page-about .main-visual.visual-1 .cloud-1 {
  position: absolute;
  left: 50%;
  top: 79px;
  margin-left: 36px;
  width: 131px;
  height: 42px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .cloud-1 {
    top: 6.266666666666667vw;
    margin-left: 1.066666666666667vw;
    width: 23.733333333333334vw;
    height: 7.6vw;
  }
}
.page-about .main-visual.visual-1 .cloud-2 {
  position: absolute;
  left: 50%;
  top: 36px;
  margin-left: 489px;
  width: 178px;
  height: 56px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .cloud-2 {
    display: none;
  }
}
.page-about .main-visual.visual-1 .cloud-3 {
  position: absolute;
  left: 50%;
  top: 40px;
  margin-left: -613px;
  width: 135px;
  height: 42.95px;
}
.page-about .main-visual.visual-1 .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.page-about .main-visual.visual-1 .building-1 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -582px;
  width: 228px;
  height: 157px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .building-1 {
    display: none;
  }
}
.page-about .main-visual.visual-1 .building-2 {
  position: absolute;
  left: 50%;
  bottom: 33px;
  margin-left: 424px;
  width: 235px;
  height: 192px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .building-2 {
    display: none;
  }
}
.page-about .main-visual.visual-1 .building-3 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -421px;
  width: 323px;
  height: 278px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .building-3 {
    bottom: 4.133333333333333vw;
    margin-left: -54.13333333333333vw;
    width: 43.06666666666666vw;
    height: 37.06666666666666vw;
  }
}
.page-about .main-visual.visual-1 .building-4 {
  position: absolute;
  left: 50%;
  bottom: 31px;
  margin-left: 117px;
  width: 348px;
  height: 309px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .building-4 {
    bottom: 4.133333333333333vw;
    margin-left: 10.8vw;
    width: 46.400000000000006vw;
    height: 40.93333333333333vw;
  }
}
.page-about .main-visual.visual-1 .object-1 {
  position: absolute;
  left: 50%;
  bottom: -33px;
  z-index: 2;
  margin-left: 152px;
  width: 104px;
  height: 86px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .object-1 {
    bottom: -4.399999999999999vw;
    margin-left: 18.933333333333334vw;
    width: 13.866666666666665vw;
    height: 11.466666666666667vw;
  }
}
.page-about .main-visual.visual-1 .duck {
  position: absolute;
  left: 50%;
  bottom: -25px;
  margin-left: -87.5px;
  width: 175px;
  height: 210px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-1 .duck {
    bottom: -3.466666666666666vw;
    width: 23.333333333333332vw;
    height: 28.000000000000004vw;
    margin-left: -11.666666666666666vw;
  }
}
.page-about .section-1 .section-heading {
  width: 87.5%;
  margin: 0 auto 62px;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .section-heading {
    padding-left: 3.125%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .section-heading {
    width: 78.66666666666666vw;
    margin-bottom: 9.333333333333334vw;
    font-size: 2.666666666666667vw;
  }
}
.page-about .section-1 .label {
  margin-top: 192px;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-1 .label {
    margin-top: 170px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .label {
    margin-top: 21.6vw;
  }
}
.page-about .section-1 .container-wrap {
  width: 87.5%;
  padding-bottom: 133px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .container-wrap {
    width: 78.66666666666666vw;
    padding-bottom: 17.866666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .container-wrap .container {
    width: 50%;
  }
  .page-about .section-1 .container-wrap .container:first-child {
    padding-right: 3.125%;
    padding-left: 3.125%;
  }
}
.page-about .section-1 .container-wrap .container-heading {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
  font-size: 7rem;
  line-height: 1.285714285714286;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .container-wrap .container-heading {
    font-size: 10.666666666666668vw;
    line-height: 1.25;
  }
}
.page-about .section-1 .container-wrap .catch {
  margin-bottom: 43px;
  padding-top: 100px;
  font-size: 2.6rem;
  line-height: 2.076923076923077;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .container-wrap .catch {
    margin-bottom: 8vw;
    padding-top: 7.199999999999999vw;
    font-size: 4.8vw;
    line-height: 2.055555555555555;
  }
}
.page-about .section-1 .container-wrap .text {
  margin-bottom: 10px;
  font-size: 1.6rem;
  line-height: 2.375;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .container-wrap .text {
    margin-bottom: 1.333333333333333vw;
    font-size: 4vw;
    line-height: 2.166666666666667;
  }
}
.page-about .section-1 .container-wrap .text:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .container-wrap .text span {
    display: inline-block;
  }
}
.page-about .section-1 .box-philosophy {
  width: 87.5%;
  margin: 0 auto;
  padding-top: 75px;
  padding-bottom: 90px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy {
    width: 100%;
    padding-top: 11.466666666666667vw;
    padding-bottom: 12.666666666666668vw;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}
.page-about .section-1 .box-philosophy .box-heading {
  margin-bottom: 55px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .box-heading {
    margin-bottom: 8.266666666666666vw;
  }
}
.page-about .section-1 .box-philosophy .box-heading .en {
  display: block;
  margin-bottom: 21px;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .box-philosophy .box-heading .en {
    font-size: 5rem;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .box-heading .en {
    margin-bottom: 5.066666666666666vw;
    font-size: 8vw;
    line-height: 1.1;
  }
}
.page-about .section-1 .box-philosophy .box-heading .ja {
  display: block;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .box-heading .ja {
    font-size: 2.666666666666667vw;
  }
}
.page-about .section-1 .box-philosophy .catch {
  margin-bottom: 38px;
  font-size: 2.6rem;
  line-height: 1.846153846153846;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .box-philosophy .catch {
    padding-left: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .catch {
    padding-left: 2.133333333333333vw;
    margin-bottom: 8.666666666666668vw;
    font-size: 4.666666666666667vw;
    line-height: 1.828571428571429;
  }
}
.page-about .section-1 .box-philosophy .points {
  position: relative;
  padding-top: 74px;
  width: 79.27927927927928%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points {
    padding-top: 9.866666666666667vw;
    width: 80vw;
  }
}
.page-about .section-1 .box-philosophy .points .flag {
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -9px;
  width: 59px;
  height: 119px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .flag {
    width: 7.866666666666666vw;
    height: 15.866666666666667vw;
    margin-left: -1.2vw;
  }
}
.page-about .section-1 .box-philosophy .points .point {
  position: relative;
  width: 100%;
  padding-right: 9.659090909090908%;
  padding-left: 4.545454545454546%;
  border-radius: 80px;
  border: 5px solid #000;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .box-philosophy .points .point {
    display: flex;
    align-items: center;
    height: 160px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-1 .box-philosophy .points .point {
    padding-right: 4.886363636363637%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .point {
    padding: 7.733333333333333vw 9.333333333333334vw 6.4vw;
    border-radius: 8vw;
    border-width: 0.666666666666667vw;
  }
}
.page-about .section-1 .box-philosophy .points .point:nth-of-type(2) {
  background-color: #2b9fd9;
}
.page-about .section-1 .box-philosophy .points .point:nth-of-type(3) {
  margin-top: -5px;
  margin-left: 4.545454545454546%;
  background-color: #57c2e9;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .point:nth-of-type(3) {
    margin-top: -0.666666666666667vw;
    margin-left: 10.666666666666668vw;
  }
}
.page-about .section-1 .box-philosophy .points .point:nth-of-type(4) {
  margin-top: -5px;
  margin-left: -4.545454545454546%;
  background-color: #d0eef9;
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .point:nth-of-type(4) {
    margin-top: -0.666666666666667vw;
    margin-left: -4.666666666666667vw;
    padding-right: 6.666666666666667vw;
  }
  .page-about .section-1 .box-philosophy .points .point:nth-of-type(4) .heading {
    padding-right: 2.666666666666667vw;
  }
}
.page-about .section-1 .box-philosophy .points .point .heading {
  font-size: 2rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .box-philosophy .points .point .heading {
    width: 31.543624161073826%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .point .heading {
    margin-bottom: 4.8vw;
    font-size: 4vw;
  }
}
.page-about .section-1 .box-philosophy .points .point .text {
  font-size: 1.6rem;
  line-height: 2;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .section-1 .box-philosophy .points .point .text {
    width: 68.45637583892618%;
    padding-top: 5px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-1 .box-philosophy .points .point .text {
    font-size: 3.466666666666666vw;
    line-height: 1.884615384615385;
  }
}
.page-about .visual-company-photo {
  position: relative;
  height: 350px;
  margin-top: 153px;
  width: auto;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background: url("../img/about-visual.webp") left center repeat-x transparent;
  background-size: 2156px auto;
  -webkit-animation: aboutVisualPc 40s linear infinite;
          animation: aboutVisualPc 40s linear infinite;
  border-top: 5px solid #000;
  border-bottom: 5px solid #000;
}
@media only screen and (max-width: 768px) {
  .page-about .visual-company-photo {
    height: 46.666666666666664vw;
    margin-top: 26.666666666666668vw;
    background-size: 287.4666666666667vw auto;
    border-width: 0.8vw;
    -webkit-animation: aboutVisualSp 30s linear infinite;
            animation: aboutVisualSp 30s linear infinite;
  }
}
.page-about .section-2 {
  margin-top: 148px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 {
    margin-top: 26.666666666666668vw;
  }
}
.page-about .section-2 .section-heading {
  width: 87.5%;
  margin: 0 auto 60px;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .section-heading {
    padding-left: 3.125%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .section-heading {
    width: 78.66666666666666vw;
    margin-bottom: 9.333333333333334vw;
    font-size: 2.666666666666667vw;
  }
}
.page-about .section-2 .label {
  margin-top: 174px;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .label {
    margin-top: 155px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .label {
    margin-top: 17.866666666666667vw;
  }
}
.page-about .section-2 .container-wrap {
  width: 87.5%;
  margin-bottom: 150px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap {
    width: 78.66666666666666vw;
    margin-bottom: 26.666666666666668vw;
    padding-bottom: 6.666666666666667vw;
    border-bottom: 0.266666666666667vw solid rgba(0,0,0,0.1);
  }
}
.page-about .section-2 .container-wrap .container {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .container:nth-child(1) {
    width: 42.857142857142854%;
    padding-left: 3.125%;
    box-sizing: border-box;
  }
  .page-about .section-2 .container-wrap .container:nth-child(2) {
    width: 57.14285714285714%;
    padding-right: 7.142857142857142%;
  }
}
.page-about .section-2 .container-wrap .container-heading {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
  font-size: 7rem;
  line-height: 1.285714285714286;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-about .section-2 .container-wrap .container-heading {
    font-size: 6rem;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .container-wrap .container-heading {
    font-size: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .container-heading {
    font-size: 10.666666666666668vw;
    line-height: 1.25;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .map {
    position: absolute;
    left: 3.571428571428571%;
    bottom: 0;
    width: 35.714285714285715%;
  }
}
.page-about .section-2 .container-wrap .map .map-inner {
  padding-top: 100%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .map .map-inner {
    padding-top: 67%;
  }
}
.page-about .section-2 .container-wrap .map .pin {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 52px;
  height: 68px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .map .pin {
    width: 6.933333333333333vw;
    height: 9.066666666666666vw;
  }
}
.page-about .section-2 .container-wrap .profile {
  margin-top: 19px;
  border-top: 2px solid rgba(0,0,0,0.1);
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile {
    margin-top: 10.4vw;
    border-width: 0.266666666666667vw;
  }
}
.page-about .section-2 .container-wrap .profile li {
  border-bottom: 2px solid rgba(0,0,0,0.1);
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li {
    display: flex;
    min-height: 78px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .container-wrap .profile li {
    min-height: inherit;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li {
    padding-top: 6.266666666666667vw;
    padding-bottom: 5.333333333333334vw;
    border-width: 0.266666666666667vw;
  }
}
.page-about .section-2 .container-wrap .profile li .heading {
  font-size: 1.4rem;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li .heading {
    width: 29.82142857142857%;
    padding: 31px 0 33px 7.142857142857142%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .container-wrap .profile li .heading {
    width: 25%;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li .heading {
    margin-bottom: 2.133333333333333vw;
    font-size: 2.933333333333333vw;
  }
}
.page-about .section-2 .container-wrap .profile li .detail {
  font-size: 1.6rem;
  line-height: 1.875;
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li .detail {
    width: 70.17857142857142%;
    padding: 22px 0;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .container-wrap .profile li .detail {
    font-size: 1.5rem;
    padding-top: 19px;
    padding-bottom: 19px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li .detail {
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
.page-about .section-2 .container-wrap .profile li .detail p {
  display: flex;
}
.page-about .section-2 .container-wrap .profile li .detail p span:first-child {
  width: 98px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li .detail p span:first-child {
    width: 20vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li .detail p span.space {
    padding-right: 11px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-2 .container-wrap .profile li .detail p span.space {
    padding-right: 5px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li:nth-child(4) {
    padding-bottom: 5.866666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li:nth-child(5) .detail {
    padding-bottom: 28px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li:nth-child(7) {
    padding-bottom: 6.933333333333333vw;
    border-bottom: 0;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-2 .container-wrap .profile li:nth-child(7) .detail {
    padding-bottom: 34px;
  }
}
.page-about .section-2 .container-wrap .profile li:nth-child(7) .detail p {
  display: block;
}
.page-about .section-2 .container-wrap .profile li:nth-child(7) .detail p:last-child {
  margin-top: 16px;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  .page-about .section-2 .container-wrap .profile li:nth-child(7) .detail p:last-child {
    margin-top: 2.4vw;
  }
}
.page-about .button-googlemap {
  display: inline-block;
  padding: 4px 9px 5px 9px;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: -0.015em;
  font-weight: 700;
  border-radius: 11px;
}
@media only screen and (min-width: 769px) {
  .page-about .button-googlemap {
    position: relative;
    top: -4px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .button-googlemap {
    top: -2px;
    padding: 4px 8px;
    margin-left: 6px;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .button-googlemap {
    margin-left: 1.2vw;
    padding: 0.8vw 1.733333333333333vw 0.8vw 1.466666666666667vw;
    font-size: 2.666666666666667vw;
    border-radius: 2.2vw;
  }
}
.page-about .button-googlemap .icon {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 8px;
  height: 7px;
  margin-left: 4px;
  font-size: 0;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .button-googlemap .icon {
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .button-googlemap .icon {
    width: 1.733333333333333vw;
    height: 1.466666666666667vw;
    margin-left: 0.666666666666667vw;
  }
}
.page-about .main-visual.visual-2 {
  margin-bottom: 100px;
}
.page-about .main-visual.visual-2 .sun {
  bottom: 3px;
  width: 407px;
  height: 407px;
  margin-left: -203.5px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .sun {
    bottom: 0.4vw;
    width: 54.266666666666666vw;
    height: 54.266666666666666vw;
    margin-left: -27.133333333333333vw;
  }
}
.page-about .main-visual.visual-2 .river {
  height: 100px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .river {
    top: 33.2vw;
    bottom: auto;
    height: 66.66666666666666vw;
  }
}
.page-about .main-visual.visual-2 .cloud-2 {
  position: absolute;
  left: 50%;
  top: -10px;
  margin-left: 388px;
  width: 178px;
  height: 56px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .cloud-2 {
    top: 6.933333333333333vw;
    margin-left: 13.066666666666665vw;
    width: 23.733333333333334vw;
    height: 7.466666666666668vw;
    font-size: 0;
  }
}
.page-about .main-visual.visual-2 .cloud-3 {
  position: absolute;
  left: 50%;
  top: 33px;
  z-index: 1;
  margin-left: -487px;
  width: 128px;
  height: 41px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .cloud-3 {
    top: 14.666666666666666vw;
    margin-left: -42.66666666666667vw;
    width: 17.066666666666666vw;
    height: 5.466666666666667vw;
  }
}
.page-about .main-visual.visual-2 .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.page-about .main-visual.visual-2 .mountain-1 {
  position: absolute;
  left: 50%;
  bottom: 94px;
  margin-left: -1px;
  width: 1134px;
  height: 378px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .mountain-1 {
    bottom: 12.4vw;
    margin-left: -0.133333333333333vw;
    width: 151.2vw;
    height: 50.4vw;
  }
}
.page-about .main-visual.visual-2 .mountain-2 {
  position: absolute;
  left: 50%;
  bottom: 94px;
  margin-left: -605px;
  width: 606px;
  height: 297px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .mountain-2 {
    bottom: 12.4vw;
    margin-left: -80.66666666666666vw;
    width: 80.80000000000001vw;
    height: 39.6vw;
  }
}
.page-about .main-visual.visual-2 .mountain-3 {
  position: absolute;
  left: 50%;
  bottom: 93px;
  margin-left: -1161px;
  width: 1081px;
  height: 327px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .mountain-3 {
    bottom: 12.4vw;
    margin-left: -156.13333333333333vw;
    width: 144.13333333333333vw;
    height: 43.6vw;
  }
}
.page-about .main-visual.visual-2 .mountain-4 {
  position: absolute;
  left: 50%;
  bottom: 93px;
  margin-left: 136px;
  width: 461px;
  height: 121px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .mountain-4 {
    bottom: 12.4vw;
    margin-left: 16.266666666666666vw;
    width: 61.46666666666667vw;
    height: 16.133333333333333vw;
  }
}
.page-about .main-visual.visual-2 .object-1 {
  position: absolute;
  left: 50%;
  bottom: 37px;
  z-index: 2;
  margin-left: -344px;
  width: 139px;
  height: 39px;
  font-size: 0;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .object-1 {
    bottom: 4.666666666666667vw;
    margin-left: -45.733333333333334vw;
    width: 18.53333333333333vw;
    height: 5.2vw;
  }
}
.page-about .main-visual.visual-2 .object-2 {
  position: absolute;
  left: 50%;
  bottom: -13px;
  z-index: 2;
  margin-left: 269px;
  width: 184px;
  height: 51px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .object-2 {
    bottom: -1.733333333333333vw;
    margin-left: 33.6vw;
    width: 24.53333333333333vw;
    height: 6.800000000000001vw;
  }
}
.page-about .main-visual.visual-2 .duck {
  position: absolute;
  left: 50%;
  bottom: 17px;
  margin-left: -70px;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .duck {
    bottom: 2.133333333333333vw;
    margin-left: -9.333333333333334vw;
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-about .main-visual.visual-2 .ground {
  height: 99px;
}
@media only screen and (max-width: 768px) {
  .page-about .main-visual.visual-2 .ground {
    height: 13.066666666666665vw;
  }
}
.page-about .section-3 .section-heading {
  width: 87.5%;
  margin: 0 auto 58px;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .section-heading {
    padding-left: 2.96875%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .section-heading {
    width: 78.66666666666666vw;
    margin-bottom: 9.333333333333334vw;
    font-size: 2.666666666666667vw;
  }
}
.page-about .section-3 .label {
  margin-top: 160px;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .label {
    margin-top: 145px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .label {
    margin-top: 14.933333333333335vw;
  }
}
.page-about .section-3 .container-wrap {
  width: 87.5%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap {
    width: 78.66666666666666vw;
  }
}
.page-about .section-3 .container-wrap .container {
  position: relative;
}
.page-about .section-3 .container-wrap.container-1 {
  align-items: flex-end;
  margin-bottom: 61px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-1 {
    margin-bottom: 14.666666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-1 .container:nth-child(1) {
    width: 42.857142857142854%;
    padding-left: 2.946428571428571%;
    box-sizing: border-box;
  }
  .page-about .section-3 .container-wrap.container-1 .container:nth-child(2) {
    width: 57.14285714285714%;
    padding-bottom: 10px;
  }
}
.page-about .section-3 .container-wrap.container-1 .container-heading {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-1 .container-heading {
    font-size: 7rem;
    line-height: 1.285714285714286;
    letter-spacing: -0.01em;
  }
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-about .section-3 .container-wrap.container-1 .container-heading {
    font-size: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-1 .container-heading {
    margin-bottom: 8vw;
    font-size: 10.666666666666668vw;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-1 .text {
    font-size: 2.6rem;
    line-height: 1.538461538461539;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-1 .text {
    font-size: 4vw;
    line-height: 1.8;
  }
}
.page-about .section-3 .container-wrap.container-1 .text span {
  display: inline-block;
}
.page-about .section-3 .container-wrap.container-2 {
  width: 81.25%;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 {
    width: 78.66666666666666vw;
    margin-bottom: 12vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .container:nth-child(1) {
    width: 19.230769230769234%;
    box-sizing: border-box;
  }
  .page-about .section-3 .container-wrap.container-2 .container:nth-child(2) {
    width: 80.76923076923077%;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading span {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading {
    margin-bottom: 4vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .container-heading .en {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading .en {
    margin-top: -9px;
    margin-bottom: 5px;
    font-size: 4rem;
    line-height: 1.3;
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading .en {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading .en {
    margin-right: 1.333333333333333vw;
    font-size: 8vw;
    letter-spacing: -0.02em;
  }
}
.page-about .section-3 .container-wrap.container-2 .container-heading .ja {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .container-heading .ja {
    font-size: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .wrap {
    padding-top: 50px;
    padding-bottom: 54px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .container-wrap.container-2 .wrap {
    padding: 25px 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap {
    padding-top: 6.666666666666667vw;
    padding-bottom: 7.333333333333333vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item {
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item {
    width: 81.92771084337349%;
    padding: 0 6.024096385542169% 0 19.27710843373494%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item {
    width: 65.33333333333333vw;
    padding-left: 20vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:not(:last-child) {
  border-bottom: 2px solid #f8f6f3;
}
.page-about .section-3 .container-wrap.container-2 .wrap .item .item-heading {
  font-size: 2.4rem;
  line-height: 1.666666666666667;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-heading {
    padding-top: 38px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-heading {
    padding-top: 19px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-heading {
    display: flex;
    align-items: center;
    padding-top: 4.399999999999999vw;
    margin-bottom: 0.533333333333333vw;
    font-size: 4vw;
    line-height: 1.8;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item .item-detail {
  font-size: 1.6rem;
  line-height: 1.875;
  text-align: justify;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-detail {
    padding-bottom: 44px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-detail {
    padding-bottom: 22px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item .item-detail {
    padding-bottom: 5.066666666666666vw;
    font-size: 3.2vw;
    line-height: 1.5;
    box-sizing: border-box;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item .icon {
  position: absolute;
  left: 0;
  top: 50%;
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(1) .icon {
  margin-top: -53px;
  width: 16.76470588235294%;
  height: 106px;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(1) .icon {
    left: -0.294117647058824%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(1) .icon {
    margin-top: -7.066666666666667vw;
    width: 15.2vw;
    height: 14.133333333333335vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(2) .icon {
  margin-top: -36.5px;
  width: 16.61764705882353%;
  height: 73px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(2) .icon {
    left: 0.266666666666667vw;
    margin-top: -4.866666666666666vw;
    width: 15.066666666666666vw;
    height: 9.733333333333333vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(3) .icon {
  left: 3.088235294117647%;
  margin-top: -52.5px;
  width: 9.852941176470589%;
  height: 105px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(3) .icon {
    left: 3.066666666666666vw;
    margin-top: -7.000000000000001vw;
    width: 8.933333333333334vw;
    height: 14.000000000000002vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(4) .icon {
  left: -0.147058823529412%;
  margin-top: -37.5px;
  width: 16.61764705882353%;
  height: 75px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(4) .icon {
    left: 0.266666666666667vw;
    margin-top: -5vw;
    width: 15.066666666666666vw;
    height: 10vw;
  }
}
.page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(5) .icon {
  left: 2.058823529411764%;
  margin-top: -44.5px;
  width: 15.441176470588236%;
  height: 89px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2 .wrap .item:nth-child(5) .icon {
    left: 2.133333333333333vw;
    margin-top: -5.933333333333334vw;
    width: 14.000000000000002vw;
    height: 11.866666666666667vw;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2.container-real .container-heading {
    margin-bottom: 5.333333333333334vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .container-wrap.container-2.container-real .wrap {
    padding-top: 44px;
    padding-bottom: 57px;
  }
}
.page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(1) .icon {
  left: 0.588235294117647%;
  margin-top: -43.5px;
  width: 15.147058823529411%;
  height: 87px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(1) .icon {
    left: 0.8vw;
    margin-top: -5.800000000000001vw;
    width: 13.733333333333334vw;
    height: 11.600000000000001vw;
  }
}
.page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(2) .icon {
  left: 2.058823529411764%;
  margin-top: -47.5px;
  width: 12.205882352941176%;
  height: 95px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(2) .icon {
    left: 2vw;
    margin-top: -6.333333333333334vw;
    width: 11.066666666666666vw;
    height: 12.666666666666668vw;
  }
}
.page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(3) .icon {
  left: 1.911764705882353%;
  margin-top: -52.5px;
  width: 12.352941176470589%;
  height: 105px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .container-wrap.container-2.container-real .wrap .item:nth-child(3) .icon {
    left: 1.866666666666667vw;
    margin-top: -7.000000000000001vw;
    width: 11.200000000000001vw;
    height: 14.000000000000002vw;
  }
}
.page-about .section-3 .box-creative {
  width: 87.5%;
  margin: 102px auto 0;
  padding-top: 83px;
  padding-bottom: 56px;
  text-align: center;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .box-creative {
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative {
    width: 100%;
    margin-top: 20vw;
    padding-top: 11.466666666666667vw;
    padding-bottom: 2.933333333333333vw;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}
.page-about .section-3 .box-creative .box-heading {
  margin-bottom: 33px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .box-heading {
    margin-bottom: 9.866666666666667vw;
  }
}
.page-about .section-3 .box-creative .box-heading .en {
  display: block;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-creative .box-heading .en {
    font-size: 6rem;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .box-heading .en {
    font-size: 8vw;
    line-height: 1.1;
  }
}
.page-about .section-3 .box-creative .text-intro {
  margin-bottom: 43px;
  padding-left: 8px;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .text-intro {
    margin-bottom: 8.666666666666668vw;
    padding-right: 10.666666666666668vw;
    padding-left: 10.666666666666668vw;
    font-size: 4vw;
    line-height: 1.8;
    text-align: justify;
  }
}
.page-about .section-3 .box-creative .list {
  display: flex;
  width: 90.09009009009009%;
  margin: 0 auto;
  flex-wrap: wrap;
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-about .section-3 .box-creative .list {
    justify-content: center;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-about .section-3 .box-creative .list {
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list {
    width: 78.66666666666666vw;
  }
}
.page-about .section-3 .box-creative .list li {
  width: 25%;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-creative .list li {
    margin-bottom: 45px;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li {
    width: 39.33333333333333vw;
    padding-bottom: 9.733333333333333vw;
  }
  .page-about .section-3 .box-creative .list li:nth-child(3),
  .page-about .section-3 .box-creative .list li:nth-child(4) {
    padding-bottom: 9.733333333333333vw;
  }
  .page-about .section-3 .box-creative .list li:nth-child(5) {
    padding-bottom: 0;
  }
}
.page-about .section-3 .box-creative .list li .circle {
  position: relative;
  width: 64%;
  margin: 0 auto 10px;
  border-radius: 50%;
  background-color: #f8f6f3;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-creative .list li .circle {
    padding-top: 64%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li .circle {
    width: 26.8vw;
    height: 26.8vw;
    margin-bottom: 2.666666666666667vw;
  }
}
.page-about .section-3 .box-creative .list li .circle a {
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-creative .list li .circle a .svg {
    transition: -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .page-about .section-3 .box-creative .list li .circle a:hover .svg {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.page-about .section-3 .box-creative .list li .circle .icon {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.page-about .section-3 .box-creative .list li .heading {
  margin-bottom: 10px;
  font-size: 2rem;
  line-height: 1.55;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li .heading {
    margin-bottom: 0.533333333333333vw;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.page-about .section-3 .box-creative .list li .text {
  font-size: 1.3rem;
  line-height: 1.692307692307692;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li .text {
    font-size: 2.666666666666667vw;
    line-height: 1.5;
  }
}
.page-about .section-3 .box-creative .list li .text span {
  display: inline-block;
}
.page-about .section-3 .box-creative .list li:nth-child(1) .icon {
  width: 53.125%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(1) .icon {
    width: 13.200000000000001vw;
    height: 10.4vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(2) .icon {
  width: 59.375%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(2) .icon {
    width: 14.666666666666666vw;
    height: 9.466666666666667vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(3) .icon {
  width: 56.875%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(3) .icon {
    width: 14.133333333333335vw;
    height: 9.733333333333333vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(4) .icon {
  width: 40%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(4) .icon {
    width: 9.866666666666667vw;
    height: 11.866666666666667vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(5) .icon {
  width: 36.875%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(5) .icon {
    width: 9.066666666666666vw;
    height: 11.733333333333333vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(6) .icon {
  width: 53.125%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(6) .icon {
    width: 12.8vw;
    height: 11.333333333333332vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(7) .icon {
  width: 56.875%;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(7) .icon {
    width: 14.133333333333335vw;
    height: 11.333333333333332vw;
  }
}
.page-about .section-3 .box-creative .list li:nth-child(8) {
  font-size: 2.666666666666667vw;
}
.page-about .section-3 .box-creative .list li:nth-child(8) .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-about .section-3 .box-creative .list li:nth-child(8) .text {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-creative .list li:nth-child(8) .text {
    font-size: 1.4rem;
    line-height: 1.571428571428571;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-creative .list li:nth-child(8) .text {
    margin-left: 2.133333333333333vw;
    display: inline-block;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}
.page-about .section-3 .box-photo-studio {
  width: 87.5%;
  margin: 100px auto 0;
  padding-top: 67px;
  padding-bottom: 94px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio {
    width: 100%;
    margin-top: 20vw;
    padding-top: 11.733333333333333vw;
    padding-bottom: 13.333333333333334vw;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}
.page-about .section-3 .box-photo-studio .box-heading {
  margin-bottom: 62px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .box-heading {
    margin-bottom: 11.466666666666667vw;
  }
}
.page-about .section-3 .box-photo-studio .box-heading .en {
  display: block;
  font-size: 6rem;
  letter-spacing: -0.02em;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .box-heading .en {
    font-size: 8vw;
    line-height: 1.1;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap {
  width: 86.48648648648648%;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap {
    width: 78.66666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-img {
    width: 45.83333333333333%;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-img {
    margin-bottom: 9.333333333333334vw;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text {
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text {
    width: 54.166666666666664%;
    padding: 0 0 12px 4.479166666666667%;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading {
  margin-bottom: 22px;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading {
    margin-bottom: 3.466666666666666vw;
    text-align: center;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading .en {
  display: block;
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading .en {
    font-size: 3rem;
    line-height: 1.533333333333333;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading .en {
    font-size: 5.333333333333334vw;
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading .ja {
    font-size: 1.4rem;
    line-height: 1.857142857142857;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .container-heading .ja {
    font-size: 3.2vw;
    line-height: 2;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text .text {
  margin-bottom: 24px;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .text {
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .text {
    margin-bottom: 5.066666666666666vw;
    font-size: 4vw;
    line-height: 1.8;
    text-align: justify;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text .button {
  width: 200px;
  height: 60px;
  padding: 0 25px 0 30px;
}
@media only screen and (min-width: 769px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button {
    justify-content: space-between;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button {
    position: relative;
    width: 53.333333333333336vw;
    height: 13.333333333333334vw;
    margin: 0 auto;
    font-size: 2.933333333333333vw;
    border-radius: 6.666666666666667vw;
  }
}
.page-about .section-3 .box-photo-studio .container-wrap .container-text .button .icon {
  width: 16px;
  height: 14px;
  fill: #fff;
}
@media only screen and (max-width: 768px) {
  .page-about .section-3 .box-photo-studio .container-wrap .container-text .button .icon {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 4vw;
    width: 3.2vw;
    height: 2.933333333333333vw;
  }
}
.page-contact {
  background-color: #f8f6f3;
}
.page-contact .page-heading {
  padding-top: 114px;
  margin-left: 5.546875%;
}
@media only screen and (max-width: 768px) {
  .page-contact .page-heading {
    padding-top: 19.866666666666667vw;
    padding-bottom: 9.6vw;
    margin-left: 5.066666666666666vw;
  }
}
.page-contact .page-heading .en {
  width: 547px;
}
@media only screen and (max-width: 768px) {
  .page-contact .page-heading .en {
    width: 72.93333333333332vw;
    margin-bottom: 6.666666666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-contact .page-heading .ja {
    margin-left: 0.703125%;
  }
}
.page-contact .main-visual.visual-1 {
  margin-bottom: 132px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 {
    margin-bottom: 9.866666666666667vw;
  }
}
.page-contact .main-visual.visual-1 .river {
  height: 167px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .river {
    height: 22.26666666666667vw;
  }
}
.page-contact .main-visual.visual-1 .cloud-1 {
  position: absolute;
  left: 50%;
  top: 22px;
  margin-left: -274px;
  width: 134px;
  height: 44px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .cloud-1 {
    top: 2.666666666666667vw;
    margin-left: -33.86666666666667vw;
    width: 17.866666666666667vw;
    height: 5.600000000000001vw;
  }
}
.page-contact .main-visual.visual-1 .cloud-2 {
  position: absolute;
  left: 50%;
  top: 82px;
  margin-left: 103px;
  width: 178px;
  height: 56px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .cloud-2 {
    top: 9.6vw;
    margin-left: 4.533333333333333vw;
    width: 23.733333333333334vw;
    height: 7.466666666666668vw;
  }
}
.page-contact .main-visual.visual-1 .cloud-3,
.page-contact .main-visual.visual-1 .cloud-4 {
  display: none;
}
.page-contact .main-visual.visual-1 .object-1 {
  position: absolute;
  left: 50%;
  bottom: 131px;
  margin-left: -552px;
  width: 281px;
  height: 163px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .object-1 {
    bottom: 17.466666666666665vw;
    margin-left: -46.266666666666666vw;
    width: 37.46666666666666vw;
    height: 21.73333333333333vw;
  }
}
.page-contact .main-visual.visual-1 .object-2 {
  position: absolute;
  left: 50%;
  bottom: 163px;
  margin-left: 421px;
  width: 102px;
  height: 148px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .object-2 {
    bottom: 21.73333333333333vw;
    margin-left: 28.799999999999997vw;
    width: 13.600000000000001vw;
    height: 19.733333333333334vw;
  }
}
.page-contact .main-visual.visual-1 .wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 167px;
  z-index: 1;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .wave {
    height: 22.26666666666667vw;
  }
}
.page-contact .main-visual.visual-1 .wave .wave-1 {
  position: absolute;
  left: 50%;
  bottom: 37px;
  width: 1062px;
  height: 95px;
  margin-left: -562px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .wave .wave-1 {
    bottom: 4.933333333333334vw;
    width: 141.6vw;
    height: 12.666666666666668vw;
    margin-left: -75.46666666666667vw;
  }
}
.page-contact .main-visual.visual-1 .wave .wave-2 {
  display: none;
}
.page-contact .main-visual.visual-1 .duck {
  position: absolute;
  left: 50%;
  bottom: -25px;
  margin-left: -87.5px;
  width: 175px;
  height: 210px;
}
@media only screen and (max-width: 768px) {
  .page-contact .main-visual.visual-1 .duck {
    bottom: -3.466666666666666vw;
    width: 23.333333333333332vw;
    height: 28.000000000000004vw;
    margin-left: -11.666666666666666vw;
  }
}
.page-contact .section-1 .text-intro {
  margin-bottom: 22px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .text-intro {
    margin: 0 11.333333333333332vw 2.666666666666667vw;
    font-size: 4vw;
    line-height: 2.166666666666667;
    text-align: justify;
  }
}
.page-contact .section-1 .text-notification {
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .text-notification {
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .text-notification {
    margin: 0 11.333333333333332vw;
    font-size: 2.666666666666667vw;
  }
}
.page-contact .section-1 .text-notification span {
  color: #f95d00;
}
.page-contact .section-1 .text-error {
  font-size: 1.1rem;
  color: #f95d00;
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .text-error {
    font-size: 2.666666666666667vw;
  }
}
.page-contact .section-1 .container-form,
.page-contact .section-1 .container-confirm,
.page-contact .section-1 .container-complete {
  width: 87.5%;
  margin: 70px auto 0;
  padding-top: 116px;
  padding-bottom: 116px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form,
  .page-contact .section-1 .container-confirm,
  .page-contact .section-1 .container-complete {
    width: 100%;
    margin-top: 13.066666666666665vw;
    padding: 12vw 10.666666666666668vw 12.666666666666668vw;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }
}
.page-contact .section-1 .container-form .form,
.page-contact .section-1 .container-confirm .form {
  width: 72.25225225225225%;
  margin: 0 auto 50px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form,
  .page-contact .section-1 .container-confirm .form {
    width: 100%;
    font-size: 4vw;
  }
}
.page-contact .section-1 .container-form .form li.is-error .text-error,
.page-contact .section-1 .container-confirm .form li.is-error .text-error {
  display: block;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-form .form li,
  .page-contact .section-1 .container-confirm .form li {
    display: flex;
  }
}
.page-contact .section-1 .container-form .form li:not(:last-child),
.page-contact .section-1 .container-confirm .form li:not(:last-child) {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form li:not(:last-child),
  .page-contact .section-1 .container-confirm .form li:not(:last-child) {
    margin-bottom: 6.4vw;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form li:last-child,
  .page-contact .section-1 .container-confirm .form li:last-child {
    margin-top: 13.066666666666665vw;
  }
}
.page-contact .section-1 .container-form .form .heading,
.page-contact .section-1 .container-confirm .form .heading {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-form .form .heading,
  .page-contact .section-1 .container-confirm .form .heading {
    width: 162px;
    padding-top: 22px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-contact .section-1 .container-form .form .heading,
  .page-contact .section-1 .container-confirm .form .heading {
    width: 130px;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .heading,
  .page-contact .section-1 .container-confirm .form .heading {
    margin-bottom: 4vw;
  }
}
.page-contact .section-1 .container-form .form .heading span,
.page-contact .section-1 .container-confirm .form .heading span {
  color: #f95d00;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-form .form .heading .text-error,
  .page-contact .section-1 .container-confirm .form .heading .text-error {
    position: absolute;
    left: 0;
    top: 46px;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .heading .text-error,
  .page-contact .section-1 .container-confirm .form .heading .text-error {
    position: absolute;
    right: 0;
    top: 1.333333333333333vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-form .form .detail,
  .page-contact .section-1 .container-confirm .form .detail {
    width: calc(100% - 162px);
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-contact .section-1 .container-form .form .detail,
  .page-contact .section-1 .container-confirm .form .detail {
    width: calc(100% - 130px);
  }
}
.page-contact .section-1 .container-form .form .detail input[type="text"],
.page-contact .section-1 .container-confirm .form .detail input[type="text"],
.page-contact .section-1 .container-form .form .detail select,
.page-contact .section-1 .container-confirm .form .detail select,
.page-contact .section-1 .container-form .form .detail textarea,
.page-contact .section-1 .container-confirm .form .detail textarea {
  width: 100%;
  padding: 0 20px;
  background-color: #f8f6f3;
  border-radius: 6px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .detail input[type="text"],
  .page-contact .section-1 .container-confirm .form .detail input[type="text"],
  .page-contact .section-1 .container-form .form .detail select,
  .page-contact .section-1 .container-confirm .form .detail select,
  .page-contact .section-1 .container-form .form .detail textarea,
  .page-contact .section-1 .container-confirm .form .detail textarea {
    padding: 0 5.2vw;
    font-size: 3.2vw;
    border-radius: 0.8vw;
  }
}
.page-contact .section-1 .container-form .form .detail input[type="text"],
.page-contact .section-1 .container-confirm .form .detail input[type="text"],
.page-contact .section-1 .container-form .form .detail select,
.page-contact .section-1 .container-confirm .form .detail select {
  height: 60px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .detail input[type="text"],
  .page-contact .section-1 .container-confirm .form .detail input[type="text"],
  .page-contact .section-1 .container-form .form .detail select,
  .page-contact .section-1 .container-confirm .form .detail select {
    height: 10.666666666666668vw;
  }
}
.page-contact .section-1 .container-form .form .detail textarea,
.page-contact .section-1 .container-confirm .form .detail textarea {
  padding-top: 16px;
  padding-bottom: 16px;
  height: 300px;
  line-height: 1.67;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .detail textarea,
  .page-contact .section-1 .container-confirm .form .detail textarea {
    height: 40vw;
  }
}
.page-contact .section-1 .container-form .form .detail select,
.page-contact .section-1 .container-confirm .form .detail select {
  position: relative;
  z-index: 1;
  padding-right: 0;
  color: #000;
  background-color: transparent;
}
.page-contact .section-1 .container-form .form .detail select:invalid,
.page-contact .section-1 .container-confirm .form .detail select:invalid {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail select option,
.page-contact .section-1 .container-confirm .form .detail select option {
  color: #000;
}
.page-contact .section-1 .container-form .form .detail select option:first-child,
.page-contact .section-1 .container-confirm .form .detail select option:first-child {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail ::-webkit-input-placeholder, .page-contact .section-1 .container-confirm .form .detail ::-webkit-input-placeholder {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail ::-moz-placeholder, .page-contact .section-1 .container-confirm .form .detail ::-moz-placeholder {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail :-ms-input-placeholder, .page-contact .section-1 .container-confirm .form .detail :-ms-input-placeholder {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail ::-ms-input-placeholder, .page-contact .section-1 .container-confirm .form .detail ::-ms-input-placeholder {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail ::placeholder,
.page-contact .section-1 .container-confirm .form .detail ::placeholder {
  color: #7c7b79;
}
.page-contact .section-1 .container-form .form .detail .select-wrap,
.page-contact .section-1 .container-confirm .form .detail .select-wrap {
  position: relative;
  background-color: #f8f6f3;
  border-radius: 0.8vw;
}
.page-contact .section-1 .container-form .form .detail .select-wrap::before,
.page-contact .section-1 .container-confirm .form .detail .select-wrap::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
  height: 60px;
  border-radius: 0 6px 6px 0;
  background-color: #000;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .detail .select-wrap::before,
  .page-contact .section-1 .container-confirm .form .detail .select-wrap::before {
    width: 10.666666666666668vw;
    height: 10.666666666666668vw;
    border-radius: 0 0.8vw 0.8vw 0;
  }
}
.page-contact .section-1 .container-form .form .detail .select-wrap .arrow,
.page-contact .section-1 .container-confirm .form .detail .select-wrap .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 23px;
  width: 14px;
  height: 10px;
  font-size: 0;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .form .detail .select-wrap .arrow,
  .page-contact .section-1 .container-confirm .form .detail .select-wrap .arrow {
    right: 4vw;
    width: 2.666666666666667vw;
    height: 1.6vw;
  }
}
.page-contact .section-1 .container-form .container-policy,
.page-contact .section-1 .container-confirm .container-policy {
  width: 72.25225225225225%;
  height: 200px;
  margin: 0 auto 42px;
  padding: 46px 50px;
  font-size: 1.3rem;
  line-height: 1.538461538461539;
  border: 2px solid #f8f6f3;
  border-radius: 5px;
  box-sizing: border-box;
  overflow: scroll;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .container-policy,
  .page-contact .section-1 .container-confirm .container-policy {
    width: 100%;
    height: 40vw;
    margin-bottom: 6.666666666666667vw;
    padding: 6vw;
    font-size: 3.2vw;
    line-height: 1.5;
    border-radius: 0.666666666666667vw;
    border-width: 0.533333333333333vw;
  }
}
.page-contact .section-1 .container-form .container-policy p,
.page-contact .section-1 .container-confirm .container-policy p {
  margin-bottom: 21px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .container-policy p,
  .page-contact .section-1 .container-confirm .container-policy p {
    margin-bottom: 4.8vw;
  }
}
.page-contact .section-1 .container-form .container-policy p span,
.page-contact .section-1 .container-confirm .container-policy p span {
  display: block;
  font-weight: 700;
}
.page-contact .section-1 .container-form .container-checkbox,
.page-contact .section-1 .container-confirm .container-checkbox {
  position: relative;
  margin-bottom: 50px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .container-checkbox,
  .page-contact .section-1 .container-confirm .container-checkbox {
    font-size: 3.2vw;
  }
}
.page-contact .section-1 .container-form .container-checkbox span,
.page-contact .section-1 .container-confirm .container-checkbox span {
  color: #f95d00;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-form .container-checkbox span,
  .page-contact .section-1 .container-confirm .container-checkbox span {
    font-size: 1.5rem;
  }
}
.page-contact .section-1 .container-form .container-checkbox label,
.page-contact .section-1 .container-confirm .container-checkbox label {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-contact .section-1 .container-form .container-checkbox .text-error,
.page-contact .section-1 .container-confirm .container-checkbox .text-error {
  position: absolute;
  left: 0;
  top: 29px;
  width: 100%;
  text-align: center;
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .container-checkbox .text-error,
  .page-contact .section-1 .container-confirm .container-checkbox .text-error {
    top: 6.666666666666667vw;
  }
}
.page-contact .section-1 .container-form .container-checkbox.is-error .text-error,
.page-contact .section-1 .container-confirm .container-checkbox.is-error .text-error {
  display: block;
}
.page-contact .section-1 .container-form .container-checkbox input[type="checkbox"],
.page-contact .section-1 .container-confirm .container-checkbox input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin-right: 9px;
  border: 2px solid #000;
  border-radius: 5px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form .container-checkbox input[type="checkbox"],
  .page-contact .section-1 .container-confirm .container-checkbox input[type="checkbox"] {
    width: 4.533333333333333vw;
    height: 4.533333333333333vw;
    margin-right: 1.466666666666667vw;
    border-width: 0.266666666666667vw;
    border-radius: 1.333333333333333vw;
  }
}
.page-contact .section-1 .container-form .container-checkbox input[type="checkbox"]:checked,
.page-contact .section-1 .container-confirm .container-checkbox input[type="checkbox"]:checked {
  background: url("../img/checkbox-checked.webp") 1px top no-repeat transparent;
  background-size: 100%;
}
.page-contact .section-1 .container-form input[type="submit"],
.page-contact .section-1 .container-confirm input[type="submit"] {
  width: 200px;
  height: 60px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-form input[type="submit"],
  .page-contact .section-1 .container-confirm input[type="submit"] {
    width: 53.333333333333336vw;
    height: 16vw;
    font-size: 3.2vw;
    border-radius: 8vw;
  }
}
.page-contact .section-1 .container-confirm {
  margin-top: 50px;
  padding-top: 110px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm {
    margin-top: 6vw;
    padding-top: 9.333333333333334vw;
  }
}
.page-contact .section-1 .container-confirm .text-intro {
  margin-bottom: 93px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .text-intro {
    margin: 0 0 10.666666666666668vw;
    text-align: center;
  }
}
.page-contact .section-1 .container-confirm .form {
  margin-bottom: 73px;
  border-top: 2px solid #f8f6f3;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .form {
    margin-bottom: 10.666666666666668vw;
    border-width: 0.266666666666667vw;
  }
}
.page-contact .section-1 .container-confirm .form li {
  padding-bottom: 22px;
  padding-left: 0;
  margin-bottom: 0 !important;
  border-bottom: 2px solid #f8f6f3;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .form li {
    padding-bottom: 7.199999999999999vw;
    border-width: 0.266666666666667vw;
  }
  .page-contact .section-1 .container-confirm .form li:last-child {
    margin-top: 0;
  }
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-confirm .form .heading {
    width: 180px;
    padding-top: 30px;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .form .heading {
    margin-bottom: 5.2vw;
    padding-top: 9.333333333333334vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-confirm .form .detail {
    width: calc(100% - 180px);
    padding-top: 20px;
  }
}
.page-contact .section-1 .container-confirm .form .detail p {
  font-size: 1.5rem;
  line-height: 2.333333333333333;
  text-align: justify;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .form .detail p {
    font-size: 3.2vw;
    line-height: 1.833333333333333;
  }
}
.page-contact .section-1 .container-confirm .container-buttons {
  display: flex;
  justify-content: space-between;
  width: 440px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .container-buttons {
    width: 78.66666666666666vw;
  }
}
.page-contact .section-1 .container-confirm .container-buttons .button-back {
  width: 200px;
  height: 60px;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
}
@media only screen and (min-width: 769px) {
  .page-contact .section-1 .container-confirm .container-buttons .button-back:hover {
    color: #fff;
    background-color: #000;
  }
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .container-buttons .button-back {
    width: 37.333333333333336vw;
    height: 16vw;
    font-size: 3.2vw;
    border-radius: 8vw;
  }
}
.page-contact .section-1 .container-confirm .container-buttons input[type="submit"] {
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-confirm .container-buttons input[type="submit"] {
    width: 37.333333333333336vw;
    height: 16vw;
  }
}
.page-contact .section-1 .container-complete {
  margin-top: 50px;
  padding-top: 107px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-complete {
    margin-top: 6vw;
    padding: 9.333333333333334vw 0 13.333333333333334vw;
  }
}
.page-contact .section-1 .container-complete .text-intro {
  margin-bottom: 62px;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-complete .text-intro {
    margin: 0 0 10.666666666666668vw;
    text-align: center;
  }
}
.page-contact .section-1 .container-complete .button-top {
  width: 200px;
  height: 60px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-contact .section-1 .container-complete .button-top {
    width: 53.333333333333336vw;
    height: 16vw;
    font-size: 3.2vw;
    border-radius: 8vw;
  }
}
.recruit.is-lower .arrow-transition,
.recruit.is-lower .arrow-scroll,
.recruit.is-lower .arrow-slide {
  display: none;
}
.page-recruit {
  background-color: #f8f6f3;
}
.page-recruit .page-heading {
  padding-top: 114px;
  margin-left: 6.171875%;
}
@media only screen and (max-width: 768px) {
  .page-recruit .page-heading {
    padding-top: 20.133333333333333vw;
    margin-left: 5.066666666666666vw;
  }
}
.page-recruit .page-heading .en {
  width: 466px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .page-heading .en {
    width: 62.133333333333326vw;
    margin-bottom: 6.133333333333333vw;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 {
    margin-bottom: 13.333333333333334vw;
  }
}
.page-recruit .main-visual.visual-1 .river {
  height: 65px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .river {
    height: 8.666666666666668vw;
  }
}
.page-recruit .main-visual.visual-1 .cloud-1 {
  position: absolute;
  left: 50%;
  top: 66px;
  margin-left: -258px;
  width: 178px;
  height: 56px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .cloud-1 {
    top: 8.266666666666666vw;
    margin-left: -35.733333333333334vw;
    width: 26.400000000000002vw;
    height: 8.266666666666666vw;
  }
}
.page-recruit .main-visual.visual-1 .cloud-2 {
  position: absolute;
  left: 50%;
  top: 21px;
  margin-left: 111px;
  width: 128px;
  height: 41px;
}
.page-recruit .main-visual.visual-1 .cloud-2 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .cloud-2 {
    top: 2.266666666666667vw;
    margin-left: 14.799999999999999vw;
    width: 17.2vw;
    height: 5.600000000000001vw;
  }
}
.page-recruit .main-visual.visual-1 .building-1 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -614px;
  width: 188px;
  height: 302px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .building-1 {
    display: none;
  }
}
.page-recruit .main-visual.visual-1 .building-2 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: 430px;
  width: 216px;
  height: 325px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .building-2 {
    display: none;
  }
}
.page-recruit .main-visual.visual-1 .building-3 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -495px;
  width: 403px;
  height: 221px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .building-3 {
    bottom: 4.133333333333333vw;
    margin-left: -66.13333333333333vw;
    width: 53.86666666666666vw;
    height: 29.599999999999998vw;
  }
}
.page-recruit .main-visual.visual-1 .building-4 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: 68px;
  width: 418px;
  height: 218px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .building-4 {
    bottom: 4.133333333333333vw;
    margin-left: 9.333333333333334vw;
    width: 55.86666666666667vw;
    height: 29.2vw;
  }
}
.page-recruit .main-visual.visual-1 .object-1 {
  position: absolute;
  left: 50%;
  bottom: -37px;
  z-index: 2;
  margin-left: 222px;
  width: 107px;
  height: 106px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .object-1 {
    bottom: -5.066666666666666vw;
    margin-left: 25.466666666666665vw;
    width: 14.266666666666666vw;
    height: 14.133333333333335vw;
  }
}
.page-recruit .main-visual.visual-1 .duck {
  position: absolute;
  left: 50%;
  bottom: -25px;
  margin-left: -87.5px;
  width: 175px;
  height: 210px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-1 .duck {
    bottom: -3.466666666666666vw;
    width: 23.333333333333332vw;
    height: 28.000000000000004vw;
    margin-left: -11.666666666666666vw;
  }
}
.page-recruit .section-1 .section-heading {
  width: 87.5%;
  margin: 0 auto 62px;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-1 .section-heading {
    padding-left: 3.125%;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .section-heading {
    width: 78.66666666666666vw;
    margin-bottom: 9.333333333333334vw;
    font-size: 2.666666666666667vw;
  }
}
.page-recruit .section-1 .label {
  margin-top: 164px;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-1 .label {
    margin-top: 170px;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .label {
    margin-top: 16.266666666666666vw;
  }
}
.page-recruit .section-1 .container-wrap {
  width: 87.5%;
  padding-bottom: 140px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .container-wrap {
    width: 78.66666666666666vw;
    padding-bottom: 24.266666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-1 .container-wrap .container {
    width: 50%;
  }
  .page-recruit .section-1 .container-wrap .container:first-child {
    padding-right: 3.125%;
    padding-left: 3.125%;
  }
  .page-recruit .section-1 .container-wrap .container:nth-child(2) {
    padding-right: 3.125%;
  }
}
.page-recruit .section-1 .container-wrap .container-heading {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-1 .container-wrap .container-heading {
    font-size: 7rem;
    line-height: 1.285714285714286;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .container-wrap .container-heading {
    font-size: 10.666666666666668vw;
    line-height: 1.25;
    letter-spacing: -0.02em;
  }
}
.page-recruit .section-1 .container-wrap .catch {
  margin-bottom: 43px;
  padding-top: 100px;
  font-size: 2.6rem;
  line-height: 2.076923076923077;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .container-wrap .catch {
    margin-bottom: 9.066666666666666vw;
    padding-top: 5.333333333333334vw;
    font-size: 4.8vw;
    line-height: 2.055555555555555;
  }
}
.page-recruit .section-1 .container-wrap .text {
  margin-bottom: 10px;
  font-size: 1.6rem;
  line-height: 2.375;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-1 .container-wrap .text {
    margin-bottom: 1.333333333333333vw;
    font-size: 4vw;
    line-height: 2.166666666666667;
    text-align: justify;
  }
}
.page-recruit .section-1 .container-wrap .text:last-child {
  margin-bottom: 0;
}
.page-recruit .section-1 .container-wrap .text span {
  display: inline-block;
}
.page-recruit .main-visual.visual-2 {
  margin-bottom: 148px;
  background-color: #2b9fd9;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 {
    margin-bottom: 26.666666666666668vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-1 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-1 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-2 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-2 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-3 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-3 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-4 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-4 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-5 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-5 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-6 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-6 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-7 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-7 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-8 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-8 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-9 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-9 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-10 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-10 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-11 {
  position: absolute;
  left: 50%;
  width: 142px;
  height: 170px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-11 {
    width: 18.933333333333334vw;
    height: 22.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-1 {
  top: -54px;
  margin-left: 177px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-1 {
    top: -7.199999999999999vw;
    margin-left: 23.599999999999998vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-2 {
  top: -18px;
  margin-left: -219px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-2 {
    top: -2.4vw;
    margin-left: -29.2vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-3 {
  top: 53px;
  margin-left: 96px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-3 {
    top: 7.066666666666667vw;
    margin-left: 12.8vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-4 {
  top: 62px;
  margin-left: -278px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-4 {
    top: 8.266666666666666vw;
    margin-left: -37.06666666666666vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-5 {
  top: 40px;
  margin-left: -531px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-5 {
    display: none;
  }
}
.page-recruit .main-visual.visual-2 .duck-6 {
  top: 235px;
  margin-left: -700px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-6 {
    display: none;
  }
}
.page-recruit .main-visual.visual-2 .duck-7 {
  top: 151px;
  margin-left: -457px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-7 {
    top: 20.133333333333333vw;
    margin-left: -60.93333333333333vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-8 {
  top: 250px;
  margin-left: -155px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-8 {
    top: 33.33333333333333vw;
    margin-left: -20.666666666666668vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-9 {
  top: 210px;
  margin-left: 275px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-9 {
    top: 28.000000000000004vw;
    margin-left: 36.666666666666664vw;
  }
}
.page-recruit .main-visual.visual-2 .duck-10 {
  top: 142px;
  margin-left: 573px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-10 {
    display: none;
  }
}
.page-recruit .main-visual.visual-2 .duck-11 {
  top: 312px;
  margin-left: 366px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .duck-11 {
    display: none;
  }
}
.page-recruit .main-visual.visual-2 .duck-1 svg,
.page-recruit .main-visual.visual-2 .duck-4 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.page-recruit .main-visual.visual-2 .wave {
  height: 100%;
}
@media only screen and (min-width: 769px) {
  .page-recruit .main-visual.visual-2 .wave {
    background: url("../img/recruit-wave-1.webp") center top repeat-x;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .main-visual.visual-2 .wave {
    background: url("../img/sp/recruit-wave-1.webp") center top no-repeat transparent;
    background-size: cover;
  }
}
.page-recruit .section-2 .section-heading {
  width: 87.5%;
  margin: 0 auto 58px;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .section-heading {
    padding-left: 2.96875%;
  }
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-recruit .section-2 .section-heading {
    padding-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .section-heading {
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .section-heading {
    width: 78.66666666666666vw;
    margin-bottom: 9.866666666666667vw;
    font-size: 2.666666666666667vw;
  }
}
.page-recruit .section-2 .label {
  margin-top: 197px;
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .label {
    margin-top: 145px;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .label {
    margin-top: 22.666666666666664vw;
  }
}
.page-recruit .section-2 .container-wrap {
  width: 87.5%;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap {
    width: 78.66666666666666vw;
  }
}
.page-recruit .section-2 .container-wrap .container {
  position: relative;
}
.page-recruit .section-2 .container-wrap.container-1 {
  align-items: flex-end;
  margin-bottom: 96px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-1 {
    margin-bottom: 10.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(1) {
    width: 28.57142857142857%;
    padding-left: 2.946428571428571%;
    box-sizing: border-box;
  }
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(2) {
    width: 71.42857142857143%;
    padding-bottom: 10px;
  }
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(1) {
    padding-left: 0;
  }
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(2) {
    padding-left: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(1) {
    padding-left: 0;
  }
  .page-recruit .section-2 .container-wrap.container-1 .container:nth-child(2) {
    padding-left: 20px;
  }
}
.page-recruit .section-2 .container-wrap.container-1 .container-heading {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-1 .container-heading {
    font-size: 7rem;
    line-height: 1.285714285714286;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-1 .container-heading {
    margin-bottom: 7.199999999999999vw;
    font-size: 9.333333333333334vw;
    line-height: 1.428571428571429;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-1 .text {
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-1 .text {
    margin-right: -5.333333333333334vw;
    font-size: 4vw;
    line-height: 2.166666666666667;
  }
}
.page-recruit .section-2 .container-wrap.container-1 .text span {
  display: inline-block;
}
.page-recruit .section-2 .container-wrap.container-2 {
  width: 81.25%;
  margin-bottom: 100px;
}
@media only screen and (min-width: 961px) and (max-width: 1024px) {
  .page-recruit .section-2 .container-wrap.container-2 {
    width: 87.5%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-2 {
    width: 87.5%;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 {
    width: 78.66666666666666vw;
    margin-bottom: 12.533333333333333vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .container:nth-child(1) {
    width: 19.230769230769234%;
    box-sizing: border-box;
  }
  .page-recruit .section-2 .container-wrap.container-2 .container:nth-child(2) {
    width: 80.76923076923077%;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading {
    padding-top: 5px;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading {
    margin-bottom: 6.666666666666667vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .container-heading span {
  display: block;
}
.page-recruit .section-2 .container-wrap.container-2 .container-heading .en {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading .en {
    margin-top: -9px;
    margin-bottom: 10px;
    font-size: 4rem;
    line-height: 1.05;
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading .en {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading .en {
    margin-bottom: 1.066666666666667vw;
    font-size: 8vw;
    letter-spacing: -0.02em;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .container-heading .ja {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .container-heading .ja {
    margin-left: 0.266666666666667vw;
    font-size: 2.666666666666667vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap {
  margin-bottom: 10px;
  border-bottom: 0;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item {
  position: relative;
  box-sizing: border-box;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item.is-opened {
  border-bottom: 5px solid #000;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item.is-opened {
    border-width: 0.8vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item.is-opened .item-heading .accordion-icon .icon::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item.is-opened .item-heading .accordion-icon .icon::after {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item:not(:first-child) {
    border-top: 0.8vw solid #000;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.666666666666667;
  font-weight: 700;
  cursor: pointer;
  box-sizing: border-box;
  border-bottom: 5px solid #000;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading {
    padding: 48px 6.024096385542169% 48px 9.036144578313253%;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading {
    display: flex;
    align-items: center;
    height: 20vw;
    font-size: 4.8vw;
    line-height: 2;
    padding-left: 8.799999999999999vw;
    border-width: 0.8vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 75px;
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon {
    right: 6.133333333333333vw;
    width: 8vw;
    height: 8vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon-bg {
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transition: -webkit-transform 0.6s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.6s cubic-bezier(0, 0.55, 0.45, 1);
  transition: transform 0.6s cubic-bezier(0, 0.55, 0.45, 1), -webkit-transform 0.6s cubic-bezier(0, 0.55, 0.45, 1);
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon {
  position: relative;
  width: 14px;
  height: 14px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon {
    width: 3.2vw;
    height: 3.2vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::before,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::after {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.4, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
  content: "";
  display: block;
  background: #fff;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::before {
  width: 14px;
  height: 2px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::before {
    width: 3.2vw;
    height: 0.533333333333333vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::after {
  width: 2px;
  height: 14px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon::after {
    width: 0.533333333333333vw;
    height: 3.2vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading .accordion-icon .icon {
    transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.4, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.4, 1);
  }
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading:hover .accordion-icon .icon {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-heading:hover .accordion-icon .icon-bg {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail {
  display: none;
  overflow: hidden;
  font-size: 1.5rem;
  line-height: 2;
  text-align: justify;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail {
    font-size: 3.2vw;
    line-height: 1.5;
    box-sizing: border-box;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner {
    padding: 43px 9.036144578313253% 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner {
    width: 65.33333333333333vw;
    padding-top: 1.333333333333333vw;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li {
    display: flex;
    padding: 28px 0 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li {
    padding: 8.266666666666666vw 2.666666666666667vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li:not(:last-child) {
  border-bottom: 2px solid #f8f6f3;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .heading {
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .heading {
    width: 22.69503546099291%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .heading {
    width: auto;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .heading {
    margin-bottom: 4.8vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail {
    width: 77.30496453900709%;
  }
}
@media only screen and (min-width: 769px) and (max-width:960px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail {
    width: auto;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text:not(:last-child),
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .asterisk:not(:last-child),
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list:not(:last-child) {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text:not(:last-child),
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .asterisk:not(:last-child),
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list:not(:last-child) {
    margin-bottom: 4.8vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .asterisk,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .list-wrap,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .list {
  margin-top: -30px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .asterisk,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .list-wrap,
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .text + .list {
    margin-top: -4.8vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list + .asterisk {
  margin-top: -30px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list + .asterisk {
    margin-top: -2.4vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .asterisk + .list {
  margin-top: -30px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .asterisk + .list {
    margin-top: -2.4vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .asterisk li,
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list li {
  padding: 0;
  padding-left: 1em;
  text-indent: -1em;
  border-bottom: 0;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list-wrap {
  display: flex;
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list-wrap .list {
  width: 160px;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .inner li .detail .list-wrap .list {
    width: 50%;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close {
  width: 160px;
  height: 50px;
  margin: 0 auto;
  padding: 0 25px;
  font-size: 1.3rem;
  border-radius: 25px;
  color: #000;
  background-color: #fff;
  border: 2px solid #000;
}
@media only screen and (min-width: 769px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close {
    margin-top: 40px;
    margin-bottom: 75px;
    transition: 0.3s;
  }
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close:hover {
    color: #fff;
    background-color: #000;
  }
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .wrap .item .item-detail .button-close {
    width: 37.333333333333336vw;
    height: 13.333333333333334vw;
    margin-bottom: 13.333333333333334vw;
    font-size: 3.2vw;
    border-radius: 6.666666666666667vw;
  }
}
.page-recruit .section-2 .container-wrap.container-2 .text-only {
  padding: 67px 6.024096385542169% 67px 9.036144578313253%;
  font-size: 1.4rem;
  line-height: 1.857142857142857;
  background-color: #fff;
  border-radius: 5px;
}
@media only screen and (max-width: 768px) {
  .page-recruit .section-2 .container-wrap.container-2 .text-only {
    padding: 9.866666666666667vw 0 10.933333333333334vw;
    font-size: 3.2vw;
    text-align: center;
  }
}
.top {
  overflow: hidden;
}
.top .screen-loading {
  display: block;
}
.hero {
  background-color: #d0eef9;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .hero {
    min-height: 100vh;
  }
}
.hero .mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
.page-dots {
  position: fixed;
  left: 20px;
  z-index: 15;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .page-dots {
    top: 50%;
    margin-top: -62.5px;
  }
}
@media only screen and (max-width: 768px) {
  .page-dots {
    width: 2.4vw;
    bottom: 0.933333333333333vw;
    left: 2.133333333333333vw;
  }
}
.page-dots li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  margin: 7px 0 6px;
}
@media only screen and (max-width: 768px) {
  .page-dots li {
    width: 2.4vw;
    height: 2.4vw;
    margin: 0.8vw 0;
  }
}
.page-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #000;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-dots .dot {
    width: 1.6vw;
    height: 1.6vw;
  }
}
.page-dots .dot.is-current {
  width: 12px;
  height: 12px;
  border: 4px solid #000;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .page-dots .dot.is-current {
    width: 2.4vw;
    height: 2.4vw;
    border-width: 0.8vw;
  }
}
.button-lower {
  display: none;
}
@media only screen and (max-width: 768px) {
  .button-lower {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36vw;
    height: 10.666666666666668vw;
    margin: 0 auto;
    font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    font-size: 2.933333333333333vw;
    color: #fff;
    border-radius: 5.333333333333334vw;
    background-color: #000;
  }
  .button-lower .arrow {
    position: absolute;
    top: 50%;
    right: 3.333333333333333vw;
    width: 2.8vw;
    height: 2.933333333333333vw;
    margin-top: -1.466666666666667vw;
    font-size: 0;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .button-lower .arrow svg {
    fill: #fff;
  }
}
.section-kv {
  position: relative;
  z-index: 6;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .section-kv {
    height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv {
    height: 100%;
  }
}
.section-kv .cloud-2 {
  bottom: 368px;
  margin-left: 431px;
  width: 198px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .cloud-2 {
    bottom: 46vh;
    margin-left: 53.87499999999999vh;
    width: 24.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .cloud-2 {
    bottom: 66.93333333333334vw;
    margin-left: 30.8vw;
    width: 26.400000000000002vw;
  }
}
.section-kv .cloud-3 {
  position: absolute;
  left: 50%;
  bottom: 336px;
  z-index: 1;
  margin-left: -541px;
  width: 142px;
}
.section-kv .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .cloud-3 {
    bottom: 42vh;
    margin-left: -67.625vh;
    width: 17.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .cloud-3 {
    bottom: 84.13333333333334vw;
    margin-left: -57.599999999999994vw;
    width: 18.933333333333334vw;
  }
}
.section-kv .mountain-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -1px;
  width: 1260px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-kv .mountain-1::before {
  content: "";
  display: block;
  padding-top: 33.33333333333333%;
}
.section-kv .mountain-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .mountain-1 {
    bottom: 16.75vh;
    width: 157.5vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .mountain-1 {
    bottom: 26.266666666666666vw;
    margin-left: -0.133333333333333vw;
    width: 168vw;
  }
}
.section-kv .mountain-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -672px;
  width: 673px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-kv .mountain-2::before {
  content: "";
  display: block;
  padding-top: 48.88558692421991%;
}
.section-kv .mountain-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .mountain-2 {
    bottom: 16.75vh;
    margin-left: -84vh;
    width: 84.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .mountain-2 {
    bottom: 26.266666666666666vw;
    margin-left: -89.60000000000001vw;
    width: 89.73333333333333vw;
  }
}
.section-kv .mountain-3 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -1286px;
  width: 1200px;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  overflow: hidden;
}
.section-kv .mountain-3::before {
  content: "";
  display: block;
  padding-top: 30.166666666666668%;
}
.section-kv .mountain-3 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .mountain-3 {
    bottom: 16.75vh;
    margin-left: -160.875vh;
    width: 150.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .mountain-3 {
    bottom: 26.400000000000002vw;
    margin-left: -171.6vw;
    width: 160.13333333333333vw;
  }
  .section-kv .mountain-3 .svg {
    top: auto;
    bottom: -0.133333333333333vw;
  }
}
.section-kv .mountain-4 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 151px;
  width: 512px;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  overflow: hidden;
}
.section-kv .mountain-4::before {
  content: "";
  display: block;
  padding-top: 26.171875%;
}
.section-kv .mountain-4 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .mountain-4 {
    bottom: 16.75vh;
    margin-left: 18.75vh;
    width: 64vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .mountain-4 {
    bottom: 26.266666666666666vw;
    margin-left: 20vw;
    width: 68.26666666666667vw;
  }
}
.section-kv .object-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 71px;
  z-index: 2;
  margin-left: -382px;
  width: 155px;
}
.section-kv .object-1::before {
  content: "";
  display: block;
  padding-top: 27.741935483870968%;
}
.section-kv .object-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .object-1 {
    bottom: 8.875vh;
    margin-left: -47.75vh;
    width: 19.375vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .object-1 {
    bottom: 14.933333333333335vw;
    margin-left: -48.266666666666666vw;
    width: 20.666666666666668vw;
  }
}
.section-kv .object-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 2;
  margin-left: 299px;
  width: 205px;
}
.section-kv .object-2::before {
  content: "";
  display: block;
  padding-top: 27.80487804878049%;
}
.section-kv .object-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .object-2 {
    bottom: 1.75vh;
    margin-left: 37.375vh;
    width: 25.624999999999996vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .object-2 {
    bottom: 8.4vw;
    margin-left: 37.86666666666667vw;
    width: 27.333333333333332vw;
  }
}
.section-kv .container-text {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -254px;
  margin-left: -45.390625%;
  width: 90.78125%;
  max-width: 1162px;
}
.section-kv .container-text::before {
  content: "";
  display: block;
  padding-top: 15.060240963855422%;
}
.section-kv .container-text > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .container-text {
    margin-top: -31.75vh !important;
    margin-left: -72.625vh;
    width: 145.25vh;
  }
}
@media only screen and (min-width: 1281px) {
  .section-kv .container-text {
    margin-left: -581px;
  }
}
@media only screen and (min-width: 1281px) and (max-height: 799px) {
  .section-kv .container-text {
    margin-left: -72.625vh;
  }
}
@media only screen and (max-width: 1279px) and (max-height: 799px) {
  .section-kv .container-text {
    margin-left: -45.390625%;
    width: 90.78125%;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .container-text {
    width: 100%;
    position: relative;
    position: absolute;
    margin-top: -47.599999999999994vw;
    margin-left: -48.4vw;
    width: 96.8vw;
  }
  .section-kv .container-text::before {
    content: "";
    display: block;
    padding-top: 40.77134986225895%;
  }
  .section-kv .container-text > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
.section-kv .text-1 {
  width: 100%;
}
.section-kv .text-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 0;
  margin-top: 9.982788296041308%;
  margin-left: -11.359724612736661%;
  width: 22.63339070567986%;
  max-width: 263px;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}
.section-kv .text-2::before {
  content: "";
  display: block;
  padding-top: 23.193916349809886%;
}
.section-kv .text-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-kv .text-2 {
    margin-top: 14.499999999999998vh;
    margin-left: -16.5vh;
    width: 32.875vh;
  }
}
@media only screen and (max-width: 1279px) and (max-height: 799px) {
  .section-kv .text-2 {
    margin-top: 9.982788296041308%;
    margin-left: -11.359724612736661%;
    width: 22.63339070567986%;
  }
}
@media only screen and (max-width: 768px) {
  .section-kv .text-2 {
    width: 100%;
    position: relative;
    position: absolute;
    top: auto;
    bottom: 0;
    margin-top: 0;
    width: 37.06666666666666vw;
    max-width: inherit;
    margin-left: -18.53333333333333vw;
    font-size: 0;
  }
  .section-kv .text-2::before {
    content: "";
    display: block;
    padding-top: 10.609037328094303%;
  }
  .section-kv .text-2 > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
.section-about {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .section-about {
    height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about {
    height: 100%;
  }
}
.section-about .cloud-1 {
  top: 35px;
  margin-left: -403px;
  width: 170px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .cloud-1 {
    top: 4.375vh;
    margin-left: -50.375vh;
    width: 21.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .cloud-1 {
    top: 16.8vw;
    margin-left: -30.4vw;
    width: 20vw;
  }
}
.section-about .cloud-2 {
  bottom: 368px;
  margin-left: 431px;
  width: 198px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .cloud-2 {
    bottom: 46.125vh;
    margin-left: 53.87499999999999vh;
    width: 24.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .cloud-2 {
    bottom: 89.06666666666668vw;
    margin-left: 39.86666666666667vw;
    width: 26.400000000000002vw;
  }
}
.section-about .cloud-3 {
  bottom: 363px;
  margin-left: -729px;
  width: 198px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .cloud-3 {
    bottom: 45.375vh;
    margin-left: -91.125vh;
    width: 24.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .cloud-3 {
    bottom: 74.66666666666667vw;
    margin-left: -61.46666666666667vw;
    width: 26.400000000000002vw;
  }
}
.section-about .building-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -668px;
  width: 253px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-about .building-1::before {
  content: "";
  display: block;
  padding-top: 68.77470355731225%;
}
.section-about .building-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .building-1 {
    bottom: 16.875vh;
    margin-left: -83.5vh;
    width: 31.624999999999996vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .building-1 {
    display: none;
  }
}
.section-about .building-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 472px;
  width: 261px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-about .building-2::before {
  content: "";
  display: block;
  padding-top: 81.99233716475096%;
}
.section-about .building-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .building-2 {
    bottom: 16.875vh;
    margin-left: 59vh;
    width: 32.625vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .building-2 {
    display: none;
  }
}
.section-about .building-3 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -489px;
  width: 359px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-about .building-3::before {
  content: "";
  display: block;
  padding-top: 86.03351955307262%;
}
.section-about .building-3 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .building-3 {
    bottom: 16.875vh;
    margin-left: -61.12499999999999vh;
    width: 44.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .building-3 {
    bottom: 26.266666666666666vw;
    margin-left: -60.13333333333334vw;
    width: 47.86666666666667vw;
  }
}
.section-about .building-4 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 130px;
  width: 387px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-about .building-4::before {
  content: "";
  display: block;
  padding-top: 87.85529715762273%;
}
.section-about .building-4 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .building-4 {
    bottom: 16.875vh;
    margin-left: 16.25vh;
    width: 48.375vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .building-4 {
    bottom: 26.266666666666666vw;
    margin-left: 11.866666666666667vw;
    width: 51.733333333333334vw;
  }
}
.section-about .object-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 62px;
  z-index: 2;
  margin-left: 169px;
  width: 116px;
}
.section-about .object-1::before {
  content: "";
  display: block;
  padding-top: 82.75862068965517%;
}
.section-about .object-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .object-1 {
    bottom: 7.75vh;
    margin-left: 21.125vh;
    width: 14.499999999999998vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .object-1 {
    bottom: 16.53333333333333vw;
    margin-left: 23.866666666666667vw;
    width: 15.466666666666667vw;
  }
}
.section-about .container-text {
  height: 100%;
}
.section-about .text-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -270px;
  margin-left: -336px;
  width: 668px;
}
.section-about .text-1::before {
  content: "";
  display: block;
  padding-top: 18.263473053892216%;
}
.section-about .text-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .text-1 {
    margin-top: -33.75vh;
    margin-left: -42vh;
    width: 84.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .text-1 {
    margin-top: -45.06666666666666vw;
    margin-left: -42.66666666666667vw;
    width: 85.46666666666667vw;
  }
}
.section-about .text-2 {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -157px;
  width: 100%;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .text-2 {
    margin-top: -19.625vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .text-2 {
    margin-top: -25.333333333333336vw;
  }
}
.section-about .text-2 .text {
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .section-about .text-2 .text {
    width: 100%;
    position: relative;
    width: 441px;
  }
  .section-about .text-2 .text::before {
    content: "";
    display: block;
    padding-top: 9.750566893424036%;
  }
  .section-about .text-2 .text > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-about .text-2 .text {
    width: 55.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-about .text-2 .text {
    margin-bottom: 5.2vw;
    width: 46.266666666666666vw;
  }
}
.section-works {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
}
@media only screen and (min-width: 769px) {
  .section-works {
    height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works {
    height: 100%;
  }
}
.section-works .cloud-1 {
  bottom: 552px;
  margin-left: 524px;
  width: 198px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .cloud-1 {
    bottom: 69vh;
    margin-left: 65.5vh;
    width: 24.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .cloud-1 {
    bottom: 81.2vw;
    margin-left: 32.13333333333333vw;
    width: 26.400000000000002vw;
  }
}
.section-works .cloud-2 {
  top: 35px;
  margin-left: -403px;
  width: 170px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .cloud-2 {
    top: 4.375vh;
    margin-left: -50.375vh;
    width: 21.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .cloud-2 {
    top: 16.933333333333334vw;
    margin-left: -60.93333333333333vw;
    width: 26.400000000000002vw;
  }
}
.section-works .cloud-3 {
  bottom: 392px;
  margin-left: -730px;
  width: 142px;
}
.section-works .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .cloud-3 {
    bottom: 49vh;
    margin-left: -91.25vh;
    width: 17.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .cloud-3 {
    bottom: 57.599999999999994vw;
    margin-left: 14.933333333333335vw;
    width: 18.933333333333334vw;
  }
}
.section-works .building-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -761px;
  width: 211px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-works .building-1::before {
  content: "";
  display: block;
  padding-top: 73.93364928909952%;
}
.section-works .building-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .building-1 {
    bottom: 16.875vh;
    margin-left: -95.125vh;
    width: 26.375vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .building-1 {
    display: none;
  }
}
.section-works .building-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 389px;
  width: 406px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-works .building-2::before {
  content: "";
  display: block;
  padding-top: 115.51724137931035%;
}
.section-works .building-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .building-2 {
    bottom: 16.875vh;
    margin-left: 48.625vh;
    width: 50.74999999999999vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .building-2 {
    bottom: 26.266666666666666vw;
    margin-left: 45.46666666666667vw;
    width: 54.13333333333333vw;
  }
}
.section-works .building-3 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -582px;
  width: 480px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-works .building-3::before {
  content: "";
  display: block;
  padding-top: 89.79166666666667%;
}
.section-works .building-3 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .building-3 {
    bottom: 16.875vh;
    margin-left: -72.75vh;
    width: 60vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .building-3 {
    bottom: 26.266666666666666vw;
    margin-left: -72vw;
    width: 64vw;
  }
}
.section-works .building-4 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 118px;
  width: 633px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-works .building-4::before {
  content: "";
  display: block;
  padding-top: 29.6998420221169%;
}
.section-works .building-4 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .building-4 {
    bottom: 16.875vh;
    margin-left: 14.75vh;
    width: 79.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .building-4 {
    bottom: 26.266666666666666vw;
    margin-left: 9.333333333333334vw;
    width: 84.39999999999999vw;
  }
}
.section-works .object-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 39px;
  z-index: 2;
  margin-left: -322px;
  width: 153px;
}
.section-works .object-1::before {
  content: "";
  display: block;
  padding-top: 90.84967320261438%;
}
.section-works .object-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
.section-works .object-1 .hover {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.section-works .object-1 .original {
  position: absolute;
  left: 0;
  top: 0;
}
.section-works .object-1 a {
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 769px) {
  .section-works .object-1 a .svg {
    transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .section-works .object-1 a:hover .hover {
    opacity: 1;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .object-1 {
    bottom: 4.875vh;
    margin-left: -40.25vh;
    width: 19.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .object-1 {
    bottom: 13.733333333333334vw;
    margin-left: -41.86666666666667vw;
    width: 20.4vw;
    height: 18.53333333333333vw;
  }
}
.section-works .container-text {
  height: 100%;
}
.section-works .text-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -274px;
  margin-left: -328px;
  width: 641px;
}
.section-works .text-1::before {
  content: "";
  display: block;
  padding-top: 18.876755070202808%;
}
.section-works .text-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .text-1 {
    margin-top: -34.25vh;
    margin-left: -41vh;
    width: 80.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .text-1 {
    margin-top: -45.06666666666666vw;
    margin-left: -41.733333333333334vw;
    width: 83.33333333333334vw;
  }
}
.section-works .text-2 {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -157px;
  width: 100%;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .text-2 {
    margin-top: -19.625vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .text-2 {
    margin-top: -25.333333333333336vw;
  }
}
.section-works .text-2 .text {
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .section-works .text-2 .text {
    width: 100%;
    position: relative;
    width: 335px;
  }
  .section-works .text-2 .text::before {
    content: "";
    display: block;
    padding-top: 18.507462686567163%;
  }
  .section-works .text-2 .text > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-works .text-2 .text {
    width: 41.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-works .text-2 .text {
    margin-bottom: 5.066666666666666vw;
    width: 62vw;
  }
}
.section-recruit {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
@media only screen and (min-width: 769px) {
  .section-recruit {
    height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit {
    height: 100%;
  }
}
.section-recruit .cloud-1 {
  top: 39px;
  margin-left: 285px;
  width: 170px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .cloud-1 {
    top: 4.875vh;
    margin-left: 35.625vh;
    width: 21.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .cloud-1 {
    top: 50%;
    margin-top: -24.53333333333333vw;
    margin-left: 30.4vw;
    width: 26.400000000000002vw;
  }
}
.section-recruit .cloud-2 {
  bottom: 647px;
  margin-left: -590px;
  width: 142px;
}
.section-recruit .cloud-2 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .cloud-2 {
    bottom: 80.875vh;
    margin-left: -73.75vh;
    width: 17.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .cloud-2 {
    bottom: 66.8vw;
    margin-left: -46.400000000000006vw;
    width: 18.933333333333334vw;
  }
}
.section-recruit .building-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -682px;
  width: 209px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-recruit .building-1::before {
  content: "";
  display: block;
  padding-top: 160.28708133971293%;
}
.section-recruit .building-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .building-1 {
    bottom: 16.875vh;
    margin-left: -85.25vh;
    width: 26.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .building-1 {
    display: none;
  }
}
.section-recruit .building-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 479px;
  width: 240px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-recruit .building-2::before {
  content: "";
  display: block;
  padding-top: 150.83333333333334%;
}
.section-recruit .building-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .building-2 {
    bottom: 16.875vh;
    margin-left: 59.875vh;
    width: 30vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .building-2 {
    display: none;
  }
}
.section-recruit .building-3 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: -551px;
  width: 449px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.section-recruit .building-3::before {
  content: "";
  display: block;
  padding-top: 54.78841870824054%;
}
.section-recruit .building-3 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .building-3 {
    bottom: 16.875vh;
    margin-left: -68.875vh;
    width: 56.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .building-3 {
    bottom: 26.266666666666666vw;
    margin-left: -73.46666666666667vw;
    width: 59.86666666666667vw;
  }
}
.section-recruit .building-4 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 135px;
  margin-left: 76px;
  width: 465px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-recruit .building-4::before {
  content: "";
  display: block;
  padding-top: 52.25806451612903%;
}
.section-recruit .building-4 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .building-4 {
    bottom: 16.875vh;
    margin-left: 9.5vh;
    width: 58.12500000000001vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .building-4 {
    bottom: 26.266666666666666vw;
    margin-left: 10.133333333333333vw;
    width: 61.86666666666667vw;
  }
}
.section-recruit .object-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 59px;
  z-index: 2;
  margin-left: 247px;
  width: 119px;
}
.section-recruit .object-1::before {
  content: "";
  display: block;
  padding-top: 99.15966386554622%;
}
.section-recruit .object-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .object-1 {
    bottom: 7.375vh;
    margin-left: 30.875000000000004vh;
    width: 14.875vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .object-1 {
    bottom: 16.133333333333333vw;
    margin-left: 32.93333333333333vw;
    width: 15.866666666666667vw;
  }
}
.section-recruit .container-text {
  height: 100%;
}
.section-recruit .text-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -270px;
  margin-left: -368px;
  width: 737px;
}
.section-recruit .text-1::before {
  content: "";
  display: block;
  padding-top: 16.960651289009498%;
}
.section-recruit .text-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .text-1 {
    margin-top: -33.75vh;
    margin-left: -46vh;
    width: 92.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .text-1 {
    margin-top: -45.2vw;
    margin-left: -46.400000000000006vw;
    width: 92.93333333333334vw;
  }
}
.section-recruit .text-2 {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -157px;
  width: 100%;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .text-2 {
    margin-top: -19.625vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .text-2 {
    margin-top: -25.333333333333336vw;
  }
}
.section-recruit .text-2 .text {
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .section-recruit .text-2 .text {
    width: 100%;
    position: relative;
    width: 310px;
  }
  .section-recruit .text-2 .text::before {
    content: "";
    display: block;
    padding-top: 17.419354838709676%;
  }
  .section-recruit .text-2 .text > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-recruit .text-2 .text {
    width: 38.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-recruit .text-2 .text {
    margin-bottom: 5.066666666666666vw;
    width: 49.86666666666667vw;
  }
}
.section-contact {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .section-contact {
    height: 100vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact {
    height: 100%;
  }
}
.section-contact .cloud-1 {
  top: -11px;
  margin-left: -344px;
  width: 170px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .cloud-1 {
    top: -1.375vh;
    margin-left: -43vh;
    width: 21.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .cloud-1 {
    top: 50%;
    margin-top: -24.53333333333333vw;
    margin-left: 30.4vw;
    width: 26.400000000000002vw;
  }
}
.section-contact .cloud-3 {
  bottom: 447px;
  margin-left: 513px;
  width: 142px;
}
.section-contact .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .cloud-3 {
    bottom: 55.875vh;
    margin-left: 64.125vh;
    width: 17.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .cloud-3 {
    bottom: 66.8vw;
    margin-left: -46.400000000000006vw;
    width: 18.8vw;
  }
}
.section-contact .cloud-2 {
  bottom: 291px;
  margin-left: 178px;
  width: 198px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .cloud-2 {
    bottom: 36.375vh;
    margin-left: 22.25vh;
    width: 24.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .cloud-2 {
    display: none !important;
    top: 16.8vw;
    bottom: auto;
    margin-left: -30.4vw;
    width: 20vw;
  }
}
.section-contact .cloud-4 {
  bottom: 503px;
  margin-left: -610px;
  width: 142px;
}
.section-contact .cloud-4 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .cloud-4 {
    bottom: 62.875vh;
    margin-left: -76.25vh;
    width: 17.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .cloud-4 {
    display: none !important;
  }
}
.section-contact .object-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 165px;
  margin-left: 460px;
  width: 114px;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.section-contact .object-2::before {
  content: "";
  display: block;
  padding-top: 144.73684210526315%;
}
.section-contact .object-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .object-2 {
    bottom: 20.625vh;
    margin-left: 57.49999999999999vh;
    width: 14.249999999999998vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .object-2 {
    bottom: 31.066666666666663vw;
    margin-left: 37.86666666666667vw;
    width: 15.2vw;
  }
}
.section-contact .wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 170px;
  box-sizing: border-box;
  overflow: hidden;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .wave {
    height: 21.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .wave {
    height: 31.2vw;
  }
}
.section-contact .wave .wave-1,
.section-contact .wave .wave-2 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 29px;
  width: 1180px;
  margin-left: -606px;
}
.section-contact .wave .wave-1::before,
.section-contact .wave .wave-2::before {
  content: "";
  display: block;
  padding-top: 8.983050847457626%;
}
.section-contact .wave .wave-1 > *,
.section-contact .wave .wave-2 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .wave .wave-1,
  .section-contact .wave .wave-2 {
    width: 147.5vh;
    margin-left: -75.75vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .wave .wave-1,
  .section-contact .wave .wave-2 {
    bottom: 12.4vw;
    width: 157.33333333333331vw;
    margin-left: -78.66666666666666vw;
  }
}
.section-contact .wave .wave-1.is-hidden,
.section-contact .wave .wave-2.is-hidden {
  visibility: hidden;
}
.section-contact .wave .wave-2 {
  margin-left: -586px;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .wave .wave-2 {
    margin-left: -73.25vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .wave .wave-2 {
    margin-left: -76vw;
  }
}
.section-contact .container-text {
  height: 100%;
}
.section-contact .text-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -259px;
  margin-left: -352px;
  width: 676px;
}
.section-contact .text-1::before {
  content: "";
  display: block;
  padding-top: 15.976331360946746%;
}
.section-contact .text-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .text-1 {
    margin-top: -32.375vh;
    margin-left: -44vh;
    width: 84.5vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .text-1 {
    margin-top: -43.733333333333334vw;
    margin-left: -43.333333333333336vw;
    width: 86.66666666666667vw;
  }
}
.section-contact .text-2 {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -157px;
  width: 100%;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .text-2 {
    margin-top: -19.625vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .text-2 {
    margin-top: -25.333333333333336vw;
  }
}
.section-contact .text-2 .text {
  display: block;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .section-contact .text-2 .text {
    width: 100%;
    position: relative;
    width: 292px;
  }
  .section-contact .text-2 .text::before {
    content: "";
    display: block;
    padding-top: 18.493150684931507%;
  }
  .section-contact .text-2 .text > * {
    position: absolute;
    left: 0;
    top: 0;
  }
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .section-contact .text-2 .text {
    width: 36.5vh;
  }
}
@media only screen and (max-width: 768px) {
  .section-contact .text-2 .text {
    margin-bottom: 5.066666666666666vw;
    width: 49.86666666666667vw;
  }
}
.contact-object-1 {
  width: 100%;
  position: relative;
  position: absolute;
  left: 50%;
  bottom: 125px;
  margin-left: -572px;
  width: 313px;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.contact-object-1::before {
  content: "";
  display: block;
  padding-top: 58.146964856230035%;
}
.contact-object-1 > * {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) and (max-height: 799px) {
  .contact-object-1 {
    bottom: 15.625vh;
    margin-left: -71.5vh;
    width: 39.125vh;
  }
}
@media only screen and (max-width: 768px) {
  .contact-object-1 {
    bottom: 25.866666666666667vw;
    margin-left: -55.46666666666666vw;
    width: 41.733333333333334vw;
  }
}
.page-works-detail {
  background-color: #f8f6f3;
}
.page-works-detail .page-heading {
  padding-top: 112px;
  margin-bottom: 36px;
  margin-left: 6.171875%;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .page-heading {
    padding-top: 26.93333333333333vw;
    margin-bottom: 13.066666666666665vw;
    margin-left: 5.2vw;
  }
}
.page-works-detail .page-heading .en {
  width: 190px;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .page-heading .en {
    width: 38.93333333333333vw;
  }
}
.page-works-detail .container-1 {
  margin: 0 6.171875% 50px;
}
@media only screen and (min-width: 769px) {
  .page-works-detail .container-1 {
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-1 {
    margin: 0 5.333333333333334vw 6.533333333333332vw;
  }
}
.page-works-detail .breadcrumb {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .breadcrumb {
    font-size: 2.666666666666667vw;
  }
}
.page-works-detail .breadcrumb li {
  display: flex;
  align-items: flex-end;
  width: 90px;
}
.page-works-detail .breadcrumb li:last-child {
  width: calc(100% - 310px);
  overflow: hidden;
}
.page-works-detail .breadcrumb li:last-child span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .breadcrumb li {
    width: 16vw;
  }
  .page-works-detail .breadcrumb li:last-child {
    width: 73.33333333333333vw;
    overflow: hidden;
  }
  .page-works-detail .breadcrumb li:last-child span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 769px) {
  .page-works-detail .breadcrumb a {
    transition: 0.2s;
  }
  .page-works-detail .breadcrumb a:hover {
    color: #666;
  }
}
.page-works-detail .breadcrumb .arrow {
  width: 6px;
  height: 10px;
  margin: 0 12px;
  margin-top: 1px;
  font-size: 0;
  stroke: #000;
}
.page-works-detail .breadcrumb .arrow svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (max-width: 768px) {
  .page-works-detail .breadcrumb .arrow {
    width: 1.2vw;
    height: 1.733333333333333vw;
    margin: 0 1.866666666666667vw;
  }
}
.page-works-detail .button-website {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 200px;
  height: 60px;
  padding-left: 5px;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .button-website {
    bottom: auto;
    right: 5.2vw;
    top: 38.93333333333333vw;
    width: 36vw;
    height: 10.666666666666668vw;
    font-size: 2.933333333333333vw;
    border-radius: 5.333333333333334vw;
  }
}
.page-works-detail .button-website .icon {
  width: 16px;
  height: 14px;
  margin-left: 18px;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .button-website .icon {
    width: 3.2vw;
    height: 2.933333333333333vw;
    margin-left: 2.4vw;
  }
}
.page-works-detail .container-visual {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.page-works-detail .container-visual .visuals {
  cursor: -webkit-grab;
  cursor: grab;
}
.page-works-detail .container-visual .visuals.single {
  cursor: auto;
}
.page-works-detail .container-visual .visualsnot(single):active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.page-works-detail .container-visual .visuals li {
  width: 87.5%;
  margin-right: 1.5625%;
  margin-left: 1.5625%;
  max-width: 1120px;
  border: 5px solid #000;
  border-radius: 5px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-visual .visuals li {
    width: 89.33333333333333vw;
    margin-right: 1.333333333333333vw;
    margin-left: 1.333333333333333vw;
    border-width: 0.666666666666667vw;
    border-radius: 0.666666666666667vw;
  }
}
.page-works-detail .container-visual .dots {
  display: flex;
  justify-content: center;
  margin-top: 53px;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-visual .dots {
    margin-top: 6.666666666666667vw;
  }
}
.page-works-detail .container-visual .dots li {
  width: 10px;
  height: 10px;
  margin: 0 7px;
  border-radius: 50%;
  background-color: #fff;
  border: 3px solid #000;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-visual .dots li {
    width: 2vw;
    height: 2vw;
    margin: 0 1.333333333333333vw 0 1.466666666666667vw;
    border-width: 0.4vw;
  }
}
.page-works-detail .container-visual .dots li.is-current {
  background-color: #000;
}
.page-works-detail .container-2 {
  position: relative;
  margin: 88px 12.5% 0;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-2 {
    margin: 11.333333333333332vw 5.333333333333334vw 0;
  }
}
.page-works-detail .container-2 .client {
  margin-bottom: 4px;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-2 .client {
    margin-bottom: 0.8vw;
    font-size: 3.2vw;
  }
}
.page-works-detail .container-2 .work-title {
  margin-bottom: 12px;
  font-size: 2.6rem;
  line-height: 1.230769230769231;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-2 .work-title {
    margin-bottom: 2.4vw;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.page-works-detail .container-2 .tags {
  display: flex;
  margin-bottom: 100px;
  font-size: 1.3rem;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-2 .tags {
    margin-bottom: 20vw;
    font-size: 3.466666666666666vw;
  }
}
.page-works-detail .container-2 .tags a {
  display: flex;
  align-items: center;
  margin-right: 10px;
  height: 27px;
  padding: 0 12px;
  border-radius: 13px;
  border: 1px solid #000;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-works-detail .container-2 .tags a {
    transition: 0.3s;
  }
  .page-works-detail .container-2 .tags a:hover {
    color: #fff;
    background-color: #000;
  }
}
@media only screen and (max-width: 768px) {
  .page-works-detail .container-2 .tags a {
    padding: 0 3.866666666666667vw;
  }
}
.page-works-detail .pagination .link-back {
  font-family: 'Montserrat', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-weight: 900;
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .page-works-detail .pagination .link-back {
    font-size: 3.2vw;
  }
}
.page-works {
  background-color: #f8f6f3;
}
.page-works .page-heading {
  padding-top: 106px;
  margin-left: 5.9375%;
}
@media only screen and (max-width: 768px) {
  .page-works .page-heading {
    padding-top: 21.46666666666667vw;
    padding-bottom: 8.533333333333333vw;
    margin-left: 5.066666666666666vw;
  }
}
.page-works .page-heading .en {
  width: 390px;
}
@media only screen and (max-width: 768px) {
  .page-works .page-heading .en {
    width: 52vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-works .page-heading .ja {
    margin-left: 0.234375%;
  }
}
.page-works .main-visual.visual-1 {
  margin-bottom: 11.733333333333333vw;
}
.page-works .main-visual.visual-1 .cloud-1 {
  position: absolute;
  left: 50%;
  top: 75px;
  margin-left: 58px;
  width: 178px;
  height: 56px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .cloud-1 {
    top: 10vw;
    margin-left: 8.266666666666666vw;
    width: 20.4vw;
    height: 6.4vw;
  }
}
.page-works .main-visual.visual-1 .cloud-2 {
  display: none;
}
.page-works .main-visual.visual-1 .cloud-3 {
  position: absolute;
  left: 50%;
  top: 14px;
  margin-left: -193px;
  width: 128px;
  height: 42px;
}
.page-works .main-visual.visual-1 .cloud-3 svg {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .cloud-3 {
    top: 2.666666666666667vw;
    margin-left: -23.866666666666667vw;
    width: 17.066666666666666vw;
    height: 5.600000000000001vw;
  }
}
.page-works .main-visual.visual-1 .building-1 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -685px;
  width: 190px;
  height: 140px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .building-1 {
    display: none;
  }
}
.page-works .main-visual.visual-1 .building-2 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: 352px;
  width: 365px;
  height: 422px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .building-2 {
    bottom: 4vw;
    margin-left: 40.53333333333333vw;
    width: 48.66666666666667vw;
    height: 56.39999999999999vw;
  }
}
.page-works .main-visual.visual-1 .building-3 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: -524px;
  width: 432px;
  height: 388px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .building-3 {
    bottom: 4vw;
    margin-left: -65.60000000000001vw;
    width: 57.599999999999994vw;
    height: 51.866666666666674vw;
  }
}
.page-works .main-visual.visual-1 .building-4 {
  position: absolute;
  left: 50%;
  bottom: 32px;
  margin-left: 108px;
  width: 570px;
  height: 169px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .building-4 {
    bottom: 4.133333333333333vw;
    margin-left: 8vw;
    width: 75.86666666666667vw;
    height: 22.53333333333333vw;
  }
}
.page-works .main-visual.visual-1 .object-1 {
  position: absolute;
  left: 50%;
  bottom: -49px;
  z-index: 2;
  margin-left: -290px;
  width: 139px;
  height: 125px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .object-1 {
    bottom: -6.266666666666667vw;
    margin-left: -39.6vw;
    width: 18.53333333333333vw;
    height: 16.53333333333333vw;
  }
}
.page-works .main-visual.visual-1 .duck {
  position: absolute;
  left: 50%;
  bottom: -25px;
  margin-left: -87.5px;
  width: 175px;
  height: 210px;
}
@media only screen and (max-width: 768px) {
  .page-works .main-visual.visual-1 .duck {
    bottom: -3.333333333333333vw;
    width: 23.333333333333332vw;
    height: 28.000000000000004vw;
    margin-left: -11.666666666666666vw;
  }
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 {
    padding: 0 0 6.666666666666667vw;
  }
}
.page-works .section-1 .container-choices {
  width: 100%;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .container-choices {
    margin-bottom: 10vw;
  }
}
.page-works .section-1 .choices {
  display: flex;
  flex-wrap: wrap;
  font-family: 'Montserrat', 'ZenKakuGothicAntique', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.875;
}
@media only screen and (min-width: 769px) {
  .page-works .section-1 .choices {
    margin-left: 9.375%;
  }
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .choices {
    margin: 0 5.333333333333334vw 2.666666666666667vw;
    font-size: 3.066666666666666vw;
  }
}
.page-works .section-1 .choices li {
  position: relative;
  margin-right: 14px;
  padding-bottom: 5px;
  cursor: pointer;
}
.page-works .section-1 .choices li::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  border-radius: 5px;
  background-color: #000;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .choices li::before {
    height: 0.8vw;
    border-radius: 0.4vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-works .section-1 .choices li {
    padding-left: 2px;
  }
  .page-works .section-1 .choices li:hover::before {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .choices li {
    margin-right: 2.4vw;
    padding: 0 0.266666666666667vw 1.733333333333333vw;
  }
  .page-works .section-1 .choices li:first-child {
    margin-left: -0.266666666666667vw;
  }
}
.page-works .section-1 .choices li.is-current {
  font-weight: 900;
  cursor: default;
}
.page-works .section-1 .choices li.is-current::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.page-works .section-1 .works {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 48px;
  opacity: 0;
}
@media only screen and (min-width: 769px) {
  .page-works .section-1 .works {
    width: 87.5%;
    padding: 0 3.125%;
    box-sizing: border-box;
  }
  .page-works .section-1 .works::after {
    display: block;
    content: "";
    width: 28.846153846153843%;
  }
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .works {
    width: 89.33333333333333vw;
    margin-bottom: 0;
  }
}
.page-works .section-1 .works li {
  width: 28.846153846153843%;
  padding-bottom: 94px;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .works li {
    width: 40vw;
    padding-bottom: 13.333333333333334vw;
  }
}
@media only screen and (min-width: 769px) {
  .page-works .section-1 .works li a .thumbnail img {
    transition: -webkit-transform 400ms cubic-bezier(0.43, 0.05, 0.17, 1);
    transition: transform 400ms cubic-bezier(0.43, 0.05, 0.17, 1);
    transition: transform 400ms cubic-bezier(0.43, 0.05, 0.17, 1), -webkit-transform 400ms cubic-bezier(0.43, 0.05, 0.17, 1);
  }
  .page-works .section-1 .works li a:hover .thumbnail img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.page-works .section-1 .works li .wrap {
  position: relative;
  border: 5px solid #000;
  border-radius: 5px;
  background-color: #fff;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .works li .wrap {
    border-radius: 0.666666666666667vw;
    border-width: 0.8vw;
  }
}
.page-works .section-1 .works li .thumbnail {
  border: 2px solid #fff;
  box-sizing: border-box;
}
@media only screen and (min-width: 769px) {
  .page-works .section-1 .works li .thumbnail {
    overflow: hidden;
  }
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .works li .thumbnail {
    border-width: 0.266666666666667vw;
  }
}
.page-works .section-1 .works li .heading {
  margin-top: 1px;
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .works li .heading {
    margin-top: 2.666666666666667vw;
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
.page-works .section-1 .pagination .nav {
  position: relative;
  width: 43px;
  height: 43px;
  font-size: 1.6rem;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .pagination .nav {
    font-size: 3.2vw;
  }
}
.page-works .section-1 .pagination .nav .slash {
  width: 43px;
  height: 43px;
  margin-top: 2px;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .pagination .nav .slash {
    width: 8.4vw;
    height: 8.4vw;
    margin: 1.333333333333333vw auto 0;
  }
}
.page-works .section-1 .pagination .nav .num-current,
.page-works .section-1 .pagination .nav .num-whole {
  width: 20px;
  text-align: center;
}
.page-works .section-1 .pagination .nav .num-current {
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 2px;
  padding-left: 2px;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .pagination .nav .num-current {
    padding-top: 1.333333333333333vw;
    padding-left: 0;
  }
}
.page-works .section-1 .pagination .nav .num-whole {
  position: absolute;
  right: 0;
  bottom: 0;
  padding-bottom: 5px;
  padding-right: 2px;
}
@media only screen and (max-width: 768px) {
  .page-works .section-1 .pagination .nav .num-whole {
    padding-bottom: 1.866666666666667vw;
  }
}