@charset "UTF-8";
/*========================================
フォント
========================================*/
input[type="text"], input[type="email"], textarea {
  -webkit-appearance: none;
  appearance: none; }

::placeholder {
  color: #afafaf; }

@keyframes fadeIn {
  100% {
    opacity: 1;
    display: block; } }
@keyframes fadeOut {
  100% {
    background: none; } }
.fadeIn {
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  zoom: 1;
  transition: 1s; }

.fadeIn.inview {
  filter: alpha(opacity=1);
  -ms-filter: "alpha(opacity=100)";
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  z-index: 1;
  transition-delay: 0.2s; }

/******************************************************************************
 * RESET
*******************************************************************************/
h1, h2, h3, h4, h5, h6,
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed,
fieldset, figcaption, figure, form, footer,
header, hgroup, h1, h2, h3, h4, h5, h6, html,
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby,
s, samp, section, main, small, span, strike, strong, sub, summary, sup,
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: initial;
  font: inherit;
  vertical-align: baseline;
  background: transparent; }

*:focus {
  outline: none; }

html {
  font-size: 62.5%;
  font-family: var(--basefont); }
  html figure {
    margin: 0; }

@media screen and (min-width: 1024px) and (max-width: 1280px) {
  html {
    font-size: calc(10 * (100vw / 1280)); } }
@media screen and (min-width: 561px) and (max-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 768)); } }
@media screen and (max-width: 375px) {
  html {
    font-size: calc(10 * (100vw / 375)); } }
body {
  width: 100%;
  font-size: 1rem;
  position: relative;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  /* Webkit系 (Chrome, Safari) */
  -moz-osx-font-smoothing: grayscale;
  /* macOS Firefox */
  text-rendering: optimizeLegibility;
  /* 可読性を向上 */ }
  body b {
    font-weight: bold; }

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

#sp-nav,
.sp-only {
  display: none; }
  @media (max-width: 768px) {
    #sp-nav,
    .sp-only {
      display: block; } }

@media (max-width: 768px) {
  .pc-only {
    display: none; } }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none;
  image-rendering: -webkit-optimize-contrast; }

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

a:hover {
  text-decoration: none;
  color: #626262; }

li {
  list-style: none; }

.anchor-txt {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 103; }

.inner {
  max-width: 123rem;
  width: 90vw;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  box-sizing: border-box; }
  @media (max-width: 768px) {
    .inner {
      max-width: none;
      width: auto;
      padding-left: 2rem;
      padding-right: 2rem; } }

/******************************************************************************
common
*******************************************************************************/
:root {
  --basefont:"Noto Sans JP", sans-serif;
  --enfont:"din-condensed", sans-serif;
  --roboto: "Roboto", sans-serif;
  --fontbold:700;
  --fontnomal:400;
  --fontnomal500:500;
  --maincolor:#0053B7;
  --bluecolor:#A6E4F4;
  --bgcolor:#F2F2F2; }

.btnbox {
  width: 100%;
  max-width: max(30rem,280px);
  position: relative;
  background-color: black;
  height: max(7rem,60px); }
  @media (max-width: 768px) {
    .btnbox {
      height: 5rem; } }
  .btnbox .text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: 500;
    font-size: max(2rem,18px); }
    @media (max-width: 768px) {
      .btnbox .text {
        font-size: 1.4rem; } }
  .btnbox .icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.4rem;
    margin-top: 0.3rem; }
    @media (max-width: 768px) {
      .btnbox .icon {
        width: 2rem;
        right: 8.1rem;
        margin-top: 0;
        height: 2rem; }
        .btnbox .icon svg {
          width: 2rem;
          height: 2rem; } }
  .btnbox--center {
    margin: auto; }

/******************************************************************************
.contents
*******************************************************************************/
.contents--entxt {
  font-family: var(--enfont);
  font-weight: 500;
  font-size: max(19rem,180px);
  line-height: 100%;
  color: var(--bgcolor);
  opacity: .7;
  letter-spacing: -0.04em;
  position: absolute;
  right: -50px;
  top: -100px;
  z-index: -1; }
  @media (max-width: 768px) {
    .contents--entxt {
      top: -30px;
      right: 20px; } }
  @media (max-width: 1280px) {
    .contents--entxt {
      font-size: clamp(8rem, 14.3229166667vw, 12rem);
      opacity: .5; } }
.contents--textbox {
  display: inline-block;
  position: relative; }
  .contents--textbox:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: black;
    border-radius: 1rem;
    left: 1rem;
    top: 1rem;
    z-index: 1; }
    @media (max-width: 768px) {
      .contents--textbox:before {
        left: 0.6rem;
        top: 0.6rem;
        border-radius: 0.5rem; } }
  .contents--textbox .txt {
    font-weight: 500;
    font-size: max(3.4rem,32px);
    line-height: 100%;
    background-color: white;
    padding: 1.7rem 0 1.9rem 0;
    display: inline-block;
    box-sizing: border-box;
    z-index: 2;
    border: 2px solid black;
    border-radius: 1rem;
    position: relative;
    width: 34rem;
    text-align: center; }
    @media (max-width: 768px) {
      .contents--textbox .txt {
        font-size: 2rem;
        padding: 0.7rem 3rem 0.8rem;
        border-radius: 0.5rem;
        line-height: 1.3;
        width: 20.6rem; } }
.contents--box {
  background-color: var(--maincolor);
  position: relative; }
  .contents--box .bgtext {
    position: absolute;
    left: 2.2395833333vw;
    z-index: 2;
    top: 0;
    opacity: .5; }
  .contents--box--cap {
    width: 100%;
    max-width: calc(100% - 30.5208333333vw);
    position: relative; }
    @media (max-width: 1023px) {
      .contents--box--cap {
        max-width: calc(100% - 2.7rem); } }
    .contents--box--cap:before {
      content: "";
      width: calc(100% + 0.9rem);
      height: 100%;
      background-color: black;
      left: 0;
      top: 0.9rem;
      position: absolute; }
      @media (max-width: 1023px) {
        .contents--box--cap:before {
          width: calc(100% + 0.8rem);
          top: 0.8rem; } }
    .contents--box--cap .cap {
      position: relative; }
    .contents--box--cap img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1000 / 710;
      object-fit: cover; }
  .contents--box--textbox {
    background-color: white;
    position: absolute;
    z-index: 2;
    width: 100%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    box-sizing: border-box;
    font-weight: 400;
    font-size: max(1.6rem,14px);
    line-height: 2; }
    @media (max-width: 1023px) {
      .contents--box--textbox {
        position: relative;
        right: auto;
        top: auto;
        transform: translateY(0);
        font-size: 2rem; } }
    .contents--box--textbox .contents--title {
      position: absolute;
      left: 3.2291666667vw;
      top: -1.9791666667vw; }
      @media (max-width: 1023px) {
        .contents--box--textbox .contents--title {
          top: -2.1rem;
          left: 2.7rem; } }

/******************************************************************************
.company
*******************************************************************************/
.company {
  padding: 14.2rem 0 10rem;
  position: relative; }
  .company .bgtext {
    top: 3.5rem; }
    @media (max-width: 1023px) {
      .company .bgtext {
        left: 1.8rem;
        top: 2rem; } }
  @media (max-width: 1023px) {
    .company {
      padding: 7.2rem 0 5rem; }
      .company .contents--box--cap {
        margin-bottom: 5.6rem; } }
  .company .textbox {
    padding: 4.21875vw 6.3020833333vw 2.5vw 3.125vw;
    max-width: calc(100% - 50vw);
    margin-top: 2.1875vw; }
    @media (max-width: 1023px) {
      .company .textbox {
        max-width: none;
        width: auto;
        margin-left: 2rem;
        margin-right: 2rem;
        padding: 4rem 2rem 2rem; } }
    .company .textbox .contents--title {
      left: 3.125vw; }
      @media (max-width: 1023px) {
        .company .textbox .contents--title {
          left: 50%;
          transform: translateX(-50%); } }
  .company--list {
    display: flex;
    align-items: flex-start;
    gap: 3.125vw;
    font-size: max(1.6rem,14px);
    padding-top: 0.9375vw; }
    @media (max-width: 768px) {
      .company--list {
        font-size: 1.2rem;
        padding-top: 0;
        align-items: center;
        height: 5rem;
        line-height: 1.6;
        gap: 2.7rem;
        font-size: 1.2rem; } }
    .company--list:not(:last-child) {
      border-bottom: 1px solid black;
      padding: 0.9375vw 0 1.0416666667vw; }
      @media (max-width: 768px) {
        .company--list:not(:last-child) {
          padding: 0; } }
    .company--list .title {
      text-align-last: justify;
      font-weight: 700;
      width: 4.6875vw;
      white-space: nowrap; }
      @media (max-width: 768px) {
        .company--list .title {
          width: 6.8rem; } }
    .company--list .text {
      width: 100%;
      max-width: calc(100% - 4.6875vw - 3.125vw); }
      @media (max-width: 768px) {
        .company--list .text {
          max-width: calc(100% - 6.8rem - 2.7rem); } }

/******************************************************************************
.recruitbox
*******************************************************************************/
.recruitbox {
  background: url(../images/top/recruit-bg.jpg) no-repeat center center/cover;
  position: relative;
  padding: 10rem 0 10.4rem; }
  @media (max-width: 1023px) {
    .recruitbox {
      padding: 5rem 2rem;
      background: url(../images/top/recruit-bg_sp.jpg) no-repeat center center/cover; } }
  .recruitbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); }
  .recruitbox .inner {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 7.2rem 11.5rem 8.1rem;
    font-weight: 400;
    font-size: max(1.6rem,14px);
    line-height: 2;
    text-align: center; }
    @media (max-width: 768px) {
      .recruitbox .inner {
        padding: 3.5rem 1.9rem 5rem;
        font-size: 1.4rem;
        text-align: left; } }
  .recruitbox .textbox {
    margin-bottom: 4.8rem; }
    @media (max-width: 768px) {
      .recruitbox .textbox {
        margin-bottom: 4.2rem; } }
    .recruitbox .textbox p:not(:last-of-type) {
      margin-bottom: 3rem; }
  .recruitbox .btn {
    position: relative; }
    .recruitbox .btn:before {
      content: "";
      position: absolute;
      left: 0.8rem;
      top: 0.8rem;
      width: 100%;
      height: 100%;
      background-color: black; }
      @media (max-width: 768px) {
        .recruitbox .btn:before {
          left: 0.5rem;
          top: 0.5rem; } }
    .recruitbox .btn--inbox {
      background-color: var(--maincolor);
      position: relative;
      font-weight: 500;
      font-size: max(2.4rem,22px);
      line-height: 1.8;
      text-align: center;
      z-index: 2;
      color: white;
      padding: 1.95rem 0 0.5rem;
      transition: .5s; }
      .recruitbox .btn--inbox .icon svg {
        transform: rotate(90deg); }
        @media (max-width: 768px) {
          .recruitbox .btn--inbox .icon svg {
            width: 0.8rem;
            height: 1.6rem; } }
      @media (max-width: 768px) {
        .recruitbox .btn--inbox .icon {
          padding-top: 0.5rem;
          height: auto; }
          .recruitbox .btn--inbox .icon path {
            stroke-width: 1; } }
      @media (max-width: 768px) {
        .recruitbox .btn--inbox {
          font-size: 1.4rem;
          padding: 1.6rem 0 0rem; }
          .recruitbox .btn--inbox .text {
            line-height: 1.4;
            font-weight: 500; } }
      .recruitbox .btn--inbox:hover {
        transform: translate(0.8rem, 0.8rem); }
  .recruitbox h2 {
    text-align: center;
    margin-bottom: 8rem; }
    @media (max-width: 768px) {
      .recruitbox h2 {
        margin-bottom: 3.3rem; } }
    .recruitbox h2 .text {
      font-weight: 500;
      font-size: max(3.4rem,32px);
      background-color: white;
      padding: 1.2rem 10.2rem 1.4rem;
      border: 2px solid black;
      border-radius: 1rem;
      line-height: 1; }
      @media (max-width: 768px) {
        .recruitbox h2 .text {
          font-size: 2rem;
          padding: 0.7rem 3.3rem 0.8rem 2.7rem;
          border-radius: 0.5rem;
          display: block;
          width: 20.6rem;
          box-sizing: border-box;
          margin: auto; } }
  .recruitbox .lead {
    font-weight: 500;
    font-size: max(2.4rem,22px);
    line-height: 1.6;
    text-align: center;
    margin-bottom: 4rem; }
    @media (max-width: 768px) {
      .recruitbox .lead {
        font-size: 1.6rem;
        margin-bottom: 1.7rem; } }

/******************************************************************************
.concept
*******************************************************************************/
.concept {
  padding: 10.7rem 0 10rem;
  position: relative; }
  @media (max-width: 1280px) {
    .concept {
      padding: clamp(7.2rem, 9.765625vw, 8rem) 0 clamp(7.2rem, 9.765625vw, 8rem); }
      .concept .contents--box--cap {
        margin-bottom: 5.7rem; } }
  @media (max-width: 1023px) {
    .concept {
      padding-bottom: 5rem; }
      .concept .bgtext {
        top: 1.5rem; } }
  .concept:before {
    content: "";
    position: absolute;
    left: 0;
    top: -3.4rem;
    width: 100%;
    height: 100%;
    background: url(../images/common/svg/wave-blue.svg) no-repeat left top/100%; }
    @media (max-width: 1023px) {
      .concept:before {
        background: url(../images/common/svg/wave-blue_sp.svg) no-repeat center top/contain;
        top: -2.5rem; } }
    @media (max-width: 768px) {
      .concept:before {
        top: -1rem; } }
  .concept .textbox {
    padding: 6.875vw 7.1875vw 5.3645833333vw 3.3854166667vw;
    max-width: calc(100% - 51.5625vw); }
    @media (max-width: 1023px) {
      .concept .textbox {
        max-width: none;
        width: auto;
        margin-left: 3rem;
        padding: 5.2rem 3rem 3rem 3rem; }
        .concept .textbox p.txt {
          font-size: 1.4rem;
          line-height: 2; } }
    .concept .textbox .title {
      margin-bottom: 4.5rem; }
      @media (max-width: 1023px) {
        .concept .textbox .title {
          margin-bottom: 2rem; } }
      .concept .textbox .title .text {
        display: inline-block;
        position: relative;
        padding: 0 4.8rem; }
        @media (max-width: 1023px) {
          .concept .textbox .title .text {
            padding: 0 1.5rem; } }
        .concept .textbox .title .text:before, .concept .textbox .title .text:after {
          content: "";
          left: 0;
          background-color: black;
          top: 0;
          position: absolute; }
        .concept .textbox .title .text:before {
          width: 2.2rem;
          height: 1px; }
          @media (max-width: 1023px) {
            .concept .textbox .title .text:before {
              width: 1rem; } }
        .concept .textbox .title .text:after {
          width: 1px;
          height: 5rem; }
          @media (max-width: 1023px) {
            .concept .textbox .title .text:after {
              height: 2.4rem; } }
        .concept .textbox .title .text b {
          font-weight: 400;
          font-size: max(3.4rem,32px);
          line-height: 2; }
          @media (max-width: 1023px) {
            .concept .textbox .title .text b {
              font-size: 2rem; } }
          .concept .textbox .title .text b:before, .concept .textbox .title .text b:after {
            content: "";
            right: 0;
            background-color: black;
            bottom: 0;
            position: absolute; }
          .concept .textbox .title .text b:before {
            width: 2.2rem;
            height: 1px; }
            @media (max-width: 1023px) {
              .concept .textbox .title .text b:before {
                width: 1rem; } }
          .concept .textbox .title .text b:after {
            width: 1px;
            height: 5rem; }
            @media (max-width: 1023px) {
              .concept .textbox .title .text b:after {
                height: 2.4rem; } }

/******************************************************************************
#headerbox
*******************************************************************************/
#headerbox {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  justify-content: space-between;
  padding: 1.2rem 2.8rem;
  z-index: 1000;
  background: white; }
  @media (max-width: 768px) {
    #headerbox {
      padding: 1.2rem 1.5rem 0.8rem 1.4rem; } }
  #headerbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    background-color: white;
    transition: .5s; }
  #headerbox .logo {
    display: flex;
    align-items: center;
    gap: 2rem;
    position: relative; }
    @media (max-width: 768px) {
      #headerbox .logo {
        gap: 1rem; }
        #headerbox .logo .icon {
          width: 10rem; }
          #headerbox .logo .icon svg {
            width: 10rem;
            height: 3rem; } }
    #headerbox .logo path {
      transition: .5s;
      fill: black; }
    #headerbox .logo .text {
      font-weight: 400;
      font-size: max(1.6rem,14px);
      transition: .5s; }
      @media (max-width: 768px) {
        #headerbox .logo .text {
          font-size: 1.2rem;
          transform: translateY(-0.2rem); } }

.gmenubox {
  display: flex;
  align-items: center;
  gap: 2.3rem;
  position: relative;
  z-index: 2;
  transition: .5s; }
  @media (max-width: 1280px) {
    .gmenubox {
      position: absolute;
      right: -100%;
      top: 0;
      background-color: var(--bluecolor);
      z-index: 100;
      height: 100vh;
      width: 100%;
      max-width: 30rem;
      display: block;
      box-sizing: border-box;
      padding: 5rem 2.5rem 0; } }
  .gmenubox .menu {
    display: flex;
    align-items: center;
    gap: 3rem; }
    @media (max-width: 1280px) {
      .gmenubox .menu {
        display: block; }
        .gmenubox .menu li {
          position: relative; }
          .gmenubox .menu li:after {
            content: "";
            position: absolute;
            width: 0.6rem;
            height: 1.1rem;
            background: url(../images/common/svg/arrow.svg) no-repeat center center/contain;
            top: 50%;
            transform: translateY(-50%);
            right: 0; } }
    @media (max-width: 1023px) {
      .gmenubox .menu {
        margin-bottom: 3rem; } }
    .gmenubox .menu a {
      font-family: var(--roboto);
      font-weight: 700;
      font-size: max(1.8rem,16px);
      transition: .5s; }
      @media (max-width: 1280px) {
        .gmenubox .menu a {
          font-size: max(1.4rem,12px);
          line-height: 3.5714285714;
          color: #000; } }
  @media (max-width: 1280px) {
    .gmenubox .snsbox {
      display: block; }
      .gmenubox .snsbox li:not(:last-child) {
        margin-bottom: 2.6rem; } }
  .gmenubox .snsbox path {
    transition: .5s; }
    @media (max-width: 1280px) {
      .gmenubox .snsbox path {
        fill: black; } }

#gbtn {
  display: none; }
  @media (max-width: 1280px) {
    #gbtn {
      display: block;
      width: 2rem;
      height: 1.7rem;
      margin: 0;
      padding: 0;
      background: none;
      position: relative;
      border: none;
      z-index: 1000;
      cursor: pointer; }
      #gbtn .item {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%; }
        #gbtn .item span {
          width: 100%;
          height: 0.2rem;
          border-radius: 0.1rem;
          background-color: white;
          position: absolute;
          left: 0;
          top: 0.7rem;
          transition: .5s; }
        #gbtn .item:before, #gbtn .item:after {
          content: "";
          position: absolute;
          left: 0;
          width: 100%;
          height: 0.2rem;
          border-radius: 0.1rem;
          background-color: white;
          transition: .5s; }
        #gbtn .item:before {
          top: 0; }
        #gbtn .item:after {
          bottom: 0; } }

body.home #headerbox {
  background: none;
  color: white; }
  body.home #headerbox path {
    fill: white; }
  body.home #headerbox a {
    color: white; }
body.activeMenu #headerbox .gmenubox {
  right: 0; }
body.activeMenu #gbtn .item span {
  transform: translateX(100);
  opacity: 0; }
body.activeMenu #gbtn .item:before {
  transform: rotate(45deg);
  top: 0.8rem;
  background-color: black; }
body.activeMenu #gbtn .item:after {
  transform: rotate(-45deg);
  bottom: auto;
  top: 0.8rem;
  background-color: black; }
body.activescroll #headerbox::before {
  height: 100%; }
body.activescroll #headerbox .menu a {
  color: black; }
body.activescroll #headerbox path {
  fill: black; }
body.activescroll #headerbox .logo .text {
  color: black; }
body.activescroll #gbtn .item span {
  background-color: black; }
body.activescroll #gbtn .item:before, body.activescroll #gbtn .item:after {
  background-color: black; }
body.post-type-archive-works .gmenubox .menu a, body.tax-works_cat .gmenubox .menu a {
  color: black; }
body.post-type-archive-works .gmenubox .snsbox path, body.tax-works_cat .gmenubox .snsbox path {
  fill: black; }
body.post-type-archive-works #headerbox .logo .text, body.tax-works_cat #headerbox .logo .text {
  color: black; }
body.post-type-archive-works #headerbox .logo path, body.tax-works_cat #headerbox .logo path {
  fill: black; }

/******************************************************************************
.topcapbox
*******************************************************************************/
.topcapbox {
  position: relative; }
  .topcapbox .srollbox {
    position: absolute;
    right: 3.3854166667vw;
    bottom: 7.8125vw;
    width: 15.6rem;
    height: 7rem;
    border-radius: 3.5rem;
    transform: rotate(-90deg);
    z-index: 2;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    color: white;
    font-weight: 700;
    font-size: max(1.5rem,13px);
    line-height: 100%;
    letter-spacing: 0%;
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse; }
    @media (max-width: 768px) {
      .topcapbox .srollbox {
        display: none; } }
    .topcapbox .srollbox .icon {
      transform: rotate(90deg); }
  .topcapbox .bg img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1440 / 820;
    object-fit: cover; }
    @media (max-width: 1023px) {
      .topcapbox .bg img {
        aspect-ratio: 375 / 587; } }

@keyframes floating-y {
  0% {
    transform: rotate(-90deg) translateX(-10%); }
  100% {
    transform: rotate(-90deg) translateX(10%); } }
/******************************************************************************
.snsbox
*******************************************************************************/
.snsbox {
  display: flex;
  align-items: center;
  gap: 2rem; }

/******************************************************************************
.instagrambox
*******************************************************************************/
.instagrambox {
  background-color: var(--bgcolor);
  padding: 4.3rem 0 10rem; }
  @media (max-width: 768px) {
    .instagrambox {
      padding: 2.6rem 0 5rem; } }
  .instagrambox .headbox {
    display: flex;
    align-items: center;
    gap: 6.3rem;
    margin-bottom: 4rem; }
    @media (max-width: 768px) {
      .instagrambox .headbox {
        display: block;
        margin-bottom: 1.5rem; } }
    .instagrambox .headbox .lead {
      font-weight: 500;
      font-size: max(2.4rem,22px);
      line-height: 1.9; }
      @media (max-width: 768px) {
        .instagrambox .headbox .lead {
          font-size: 1.4rem; } }
    @media (max-width: 768px) {
      .instagrambox .headbox .contents--title {
        margin-bottom: 2rem; } }
    .instagrambox .headbox .contents--title .contents--entxt {
      color: var(--bluecolor);
      display: block;
      transform: translateX(-1rem);
      opacity: 1; }
      @media (max-width: 768px) {
        .instagrambox .headbox .contents--title .contents--entxt {
          transform: translateX(-0.6rem); } }
  .instagrambox ul {
    margin-bottom: 6.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 3.4rem; }
    @media (max-width: 768px) {
      .instagrambox ul {
        margin-bottom: 5.2rem;
        gap: 1.4rem; } }
    .instagrambox ul li {
      width: 100%;
      max-width: calc((100% - 3.4rem *3) / 4);
      position: relative; }
      @media (max-width: 1023px) {
        .instagrambox ul li {
          max-width: calc((100% - 3.4rem ) / 2); } }
      @media (max-width: 768px) {
        .instagrambox ul li {
          max-width: calc((100% - 1.4rem *2) / 3); } }
      .instagrambox ul li:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #D5D5D5;
        left: 0.5rem;
        top: 0.5rem; }
      .instagrambox ul li img {
        position: relative;
        display: block;
        z-index: 2; }

/******************************************************************************
.contact
*******************************************************************************/
.contact--index {
  background-color: var(--maincolor);
  padding: 14.1rem 0 13.1rem; }
  @media (max-width: 768px) {
    .contact--index {
      padding: 9.3rem 0 8.3rem; } }
  .contact--index .box {
    background-color: white;
    position: relative;
    box-sizing: border-box;
    padding: 13rem 7rem 10rem 8.5rem; }
    @media (max-width: 768px) {
      .contact--index .box {
        padding: 5.5rem 2rem 5rem; } }
    .contact--index .box .titlebox {
      position: absolute;
      left: 5.5rem;
      top: -4.1rem; }
      @media (max-width: 768px) {
        .contact--index .box .titlebox {
          left: 2rem;
          top: -2.1rem; } }
    .contact--index .box .bgtext {
      position: absolute;
      right: 2.8rem;
      top: -10.8rem; }
      @media (max-width: 768px) {
        .contact--index .box .bgtext {
          right: 0;
          top: -8.5rem; } }

/******************************************************************************
.formbox
*******************************************************************************/
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  font-size: max(1.6rem,14px);
  line-height: 2; }

.formbox span.item {
  color: #FF0000;
  font-weight: 700; }
.formbox--list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.2rem;
  font-size: max(1.6rem,14px); }
  .formbox--list--item {
    align-items: flex-start;
    margin-bottom: 9.6rem; }
    @media (max-width: 768px) {
      .formbox--list--item {
        margin-bottom: 2.3rem; } }
  .formbox--list .wpcf7-not-valid-tip {
    padding-top: 0.5rem; }
  @media (max-width: 768px) {
    .formbox--list {
      display: block; } }
  .formbox--list:not(:last-child, .checkboxlist, .itemlist) {
    margin-bottom: 2rem; }
    @media (max-width: 768px) {
      .formbox--list:not(:last-child, .checkboxlist, .itemlist) {
        margin-bottom: 2.4rem; } }
  .formbox--list .title {
    font-weight: 700;
    font-size: max(1.6rem,14px);
    white-space: nowrap; }
    @media (max-width: 768px) {
      .formbox--list .title {
        margin-bottom: 0.7rem;
        font-size: 1.4rem; } }
  .formbox--list .textbox {
    width: 100%;
    max-width: calc(100% - 5.4rem  - 17.6rem); }
    @media (max-width: 768px) {
      .formbox--list .textbox {
        max-width: none; } }
    .formbox--list .textbox .text {
      width: 100%;
      padding: 1.9rem 2.6rem 1.8rem;
      box-sizing: border-box;
      font-size: max(1.6rem,14px);
      border: 1px solid black;
      -webkit-appearance: none;
      border-radius: 0; }
      @media (max-width: 768px) {
        .formbox--list .textbox .text {
          font-size: 1.4rem;
          padding: 1.5rem 1.6rem 1.5rem; } }
  .formbox--list--checkbox {
    margin-bottom: 4.6rem;
    margin-top: 4.6rem; }
    @media (max-width: 768px) {
      .formbox--list--checkbox {
        margin-bottom: 3.5rem;
        margin-top: 2.3rem; }
        .formbox--list--checkbox .title {
          margin-bottom: 1.8rem; } }
  .formbox--list--policy {
    display: block; }
    .formbox--list--policy .policy--box {
      border: 1px solid black;
      box-sizing: border-box;
      padding: 1.3rem 1rem 1.7rem 1.6rem;
      font-weight: 400;
      font-size: max(1.5rem,13px);
      line-height: 1.6;
      text-align: justify;
      margin-inline: auto; }
      @media (max-width: 768px) {
        .formbox--list--policy .policy--box {
          padding: 0.9rem 0.5rem 0.6rem 1.1rem;
          font-size: 1.2rem; } }
      .formbox--list--policy .policy--box .inbox {
        height: 14rem;
        overflow-y: scroll;
        background: white;
        padding-right: 3rem; }
        @media (max-width: 768px) {
          .formbox--list--policy .policy--box .inbox {
            height: 13.4rem;
            padding-right: 2.5rem; } }
        .formbox--list--policy .policy--box .inbox::-webkit-scrollbar {
          width: 0.4rem;
          height: 100%;
          background-color: #ccc; }
        .formbox--list--policy .policy--box .inbox::-webkit-scrollbar-track {
          background: linear-gradient(to bottom, #B1C6BF, #C9BDA6);
          border-radius: 50%; }
        .formbox--list--policy .policy--box .inbox::-webkit-scrollbar-thumb {
          background: black;
          background-size: cover; }
    .formbox--list--policy .title {
      margin-bottom: 1.5rem; }
      @media (max-width: 768px) {
        .formbox--list--policy .title {
          margin-bottom: 0.7rem; } }
    .formbox--list--policy .textbox {
      max-width: none; }
.formbox .check {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-bottom: max(5.5rem,60px); }
  @media (max-width: 768px) {
    .formbox .check {
      margin-bottom: 5rem; } }
  .formbox .check a {
    color: #277FC7;
    text-decoration: underline; }
  .formbox .check input {
    display: none; }
  .formbox .check input:checked + .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
    top: -0.1rem;
    left: 0.8rem;
    width: 0.7rem;
    height: 1.4rem;
    transform: rotate(40deg);
    border-bottom: 3px solid var(--maincolor);
    border-right: 3px solid var(--maincolor);
    border-radius: initial;
    background-color: initial; }
    @media (max-width: 768px) {
      .formbox .check input:checked + .wpcf7-list-item-label::after {
        width: 0.3rem;
        height: 1.1rem;
        top: 0.2rem; } }
  .formbox .check .wpcf7-list-item-label {
    padding-left: max(2.8rem,30px);
    position: relative;
    font-size: max(1.4rem,16px); }
    @media (max-width: 768px) {
      .formbox .check .wpcf7-list-item-label {
        font-size: 1.3rem; } }
  .formbox .check span.wpcf7-list-item {
    display: inline-block;
    margin: 0; }
  .formbox .check .wpcf7-list-item-label::before {
    content: "";
    display: block;
    position: absolute;
    top: max(-0.2rem,-2px);
    left: 0;
    width: max(2.4rem,22px);
    height: max(2.4rem,22px);
    background-color: white;
    border: 1px solid black;
    border-radius: 0.5rem; }
    @media (max-width: 768px) {
      .formbox .check .wpcf7-list-item-label::before {
        width: 1.6rem;
        height: 1.6rem;
        top: 0.2rem; } }
.formbox .btnbox {
  margin: auto; }
  @media (max-width: 768px) {
    .formbox .btnbox {
      max-width: none;
      width: 29.5rem;
      height: 5rem; } }
  .formbox .btnbox .btn {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: white;
    color: #FFF;
    font-size: max(2rem,18px);
    font-style: normal;
    font-weight: 700;
    line-height: 2;
    background: none;
    border: none;
    cursor: pointer; }
    @media (max-width: 768px) {
      .formbox .btnbox .btn {
        font-size: 1.4rem;
        font-weight: 500; } }
.formbox .radiobox .wpcf7-checkbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem; }
  @media (max-width: 768px) {
    .formbox .radiobox .wpcf7-checkbox {
      display: block; } }
.formbox .radiobox .wpcf7-list-item {
  display: block;
  line-height: 1;
  margin: 0;
  white-space: nowrap; }
  @media (max-width: 768px) {
    .formbox .radiobox .wpcf7-list-item:not(:last-of-type) {
      margin-bottom: 2.9rem; } }
.formbox .radiobox input[type="checkbox"] {
  display: none; }
.formbox .radiobox .wpcf7-list-item-label {
  position: relative;
  height: max(2.4rem,22px);
  line-height: max(2.4rem,22px);
  padding-left: 3.4rem;
  display: inline-block; }
  @media (max-width: 768px) {
    .formbox .radiobox .wpcf7-list-item-label {
      font-size: 1.4rem;
      padding-left: 3rem; } }
.formbox .radiobox .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: max(2.3rem,22px);
  height: max(2.3rem,22px);
  border: 1px solid black;
  background: #fff;
  border-radius: 0.4rem;
  position: absolute;
  left: 0;
  top: 0.1rem;
  box-sizing: border-box; }
.formbox .radiobox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.6rem;
  border-top: 0.2rem solid var(--maincolor);
  border-right: 0.2rem solid var(--maincolor);
  transform: rotate(135deg);
  position: absolute;
  left: 0.6rem;
  top: 0.7rem; }
.formbox .selectbox {
  position: relative; }
  .formbox .selectbox .wpcf7-form-control-wrap {
    position: relative; }
    .formbox .selectbox .wpcf7-form-control-wrap::after {
      position: absolute;
      right: 1.4rem;
      font-size: max(1.6rem,14px);
      content: '▼';
      pointer-events: none;
      z-index: 2;
      top: 50%;
      transform: translateY(-50%); }
  .formbox .selectbox .wpcf7-select {
    width: 100%;
    max-width: max(24rem,200px);
    height: max(6rem,50px);
    padding: 1.3rem calc(2rem + 1rem) 1.3rem 2rem;
    border: 1px solid black;
    border-radius: 0;
    background-color: #fff;
    color: #212121;
    font-weight: 500;
    font-size: max(1.6rem,14px);
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    appearance: none; }
    @media (max-width: 768px) {
      .formbox .selectbox .wpcf7-select {
        max-width: none;
        height: 5rem;
        font-size: 1.4rem; } }

/******************************************************************************
.work
*******************************************************************************/
.work--index {
  background-color: var(--bgcolor);
  padding: 10rem 0 9.5rem;
  position: relative; }
  @media (max-width: 1023px) {
    .work--index {
      padding: 6.9rem 0 5rem; }
      .work--index .btnbox {
        margin: auto;
        max-width: 29.5rem; } }
  .work--index .bgtext {
    position: absolute;
    color: white;
    right: 3.9583333333vw;
    bottom: 2.0833333333vw; }
    @media (max-width: 1023px) {
      .work--index .bgtext {
        right: 0.8rem;
        top: 0.2rem;
        bottom: auto; } }
  .work--index .inbox {
    display: flex;
    align-items: center; }
    @media (max-width: 1023px) {
      .work--index .inbox {
        display: block; } }
  .work--index .headerbox {
    position: absolute;
    left: 6.25vw;
    top: 7.2rem; }
    @media (max-width: 1023px) {
      .work--index .headerbox {
        left: 2rem;
        top: 5rem; } }
  .work--index .textbox {
    width: max(24rem,235px);
    margin: auto; }
    @media (max-width: 1023px) {
      .work--index .textbox {
        width: 100%; } }
    .work--index .textbox .box {
      font-weight: 400;
      font-size: max(2.4rem,22px);
      line-height: 1.9; }
      @media (max-width: 1023px) {
        .work--index .textbox .box {
          font-size: 1.4rem;
          line-height: 2; } }
    .work--index .textbox .txt {
      width: 100%;
      max-width: max(21.6rem,210px);
      margin-bottom: 3.4rem; }
      @media (max-width: 1023px) {
        .work--index .textbox .txt {
          max-width: none;
          padding: 0 2rem;
          margin-bottom: 4.3rem;
          width: auto; } }
  .work--index .sliderinbox {
    position: relative;
    width: 69.44%; }
    @media (max-width: 1023px) {
      .work--index .sliderinbox {
        width: 100%;
        margin-bottom: 2rem; } }
    .work--index .sliderinbox .slick-prev,
    .work--index .sliderinbox .slick-next {
      z-index: 10;
      width: 4.1666666667vw;
      height: 4.1666666667vw;
      margin: 0;
      padding: 0; }
      @media (max-width: 1023px) {
        .work--index .sliderinbox .slick-prev,
        .work--index .sliderinbox .slick-next {
          width: 4rem;
          height: 4rem; } }
    .work--index .sliderinbox .slick-next {
      background: url(../images/common/svg/slidearrow.svg) no-repeat center center/contain;
      right: 3rem; }
      @media (max-width: 1023px) {
        .work--index .sliderinbox .slick-next {
          right: 2rem; } }
    .work--index .sliderinbox .slick-prev {
      background: url(../images/common/svg/slidearrow-left.svg) no-repeat center center/contain;
      left: 3rem; }
      @media (max-width: 1023px) {
        .work--index .sliderinbox .slick-prev {
          left: 2rem; } }
.work--archive {
  background-color: var(--bgcolor);
  padding: max(19rem,180px) 0 max(9.6rem,85px); }
  @media (max-width: 1023px) {
    .work--archive {
      padding: 9.1rem 0 5rem; }
      .work--archive .inner {
        padding: 0; } }
  .work--archive .bgtext {
    color: white; }
  .work--archive .pickupbox {
    margin-bottom: 7.2rem; }
    @media (max-width: 1023px) {
      .work--archive .pickupbox {
        margin-bottom: 3.5rem; } }
    .work--archive .pickupbox .contents--title {
      display: flex;
      align-items: center;
      gap: 6.5rem;
      margin-bottom: 5rem; }
      @media (max-width: 1023px) {
        .work--archive .pickupbox .contents--title {
          display: block;
          padding: 0 2rem;
          margin-bottom: 1.7rem; } }
      .work--archive .pickupbox .contents--title .lead {
        font-size: max(2.4rem,22px);
        font-weight: 400;
        line-height: 1.9; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .contents--title .lead {
            padding-top: 1.6rem;
            display: block;
            font-size: 1.4rem;
            line-height: 1.9; } }
    .work--archive .pickupbox .otherbox--slider {
      width: 77.6041666667vw; }
      .work--archive .pickupbox .otherbox--slider .slick-prev,
      .work--archive .pickupbox .otherbox--slider .slick-next {
        z-index: 10;
        width: 4.1666666667vw;
        height: 4.1666666667vw;
        margin: 0;
        padding: 0; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .otherbox--slider .slick-prev,
          .work--archive .pickupbox .otherbox--slider .slick-next {
            width: 4rem;
            height: 4rem; } }
      .work--archive .pickupbox .otherbox--slider .slick-next {
        background: url(../images/common/svg/slidearrow.svg) no-repeat center center/contain;
        right: 3rem; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .otherbox--slider .slick-next {
            right: 2rem; } }
      .work--archive .pickupbox .otherbox--slider .slick-prev {
        background: url(../images/common/svg/slidearrow-left.svg) no-repeat center center/contain;
        left: 3rem; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .otherbox--slider .slick-prev {
            left: 2rem; } }
      @media (max-width: 1023px) {
        .work--archive .pickupbox .otherbox--slider {
          width: 100%; }
          .work--archive .pickupbox .otherbox--slider .slick-list {
            overflow: hidden;
            padding: 0; } }
      .work--archive .pickupbox .otherbox--slider .otherbox--list .box .textbox {
        padding: 0;
        position: absolute;
        z-index: 2;
        left: 4rem;
        bottom: 2rem;
        color: white; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .otherbox--slider .otherbox--list .box .textbox {
            background: none;
            left: 2rem;
            bottom: 1.6rem; } }
      .work--archive .pickupbox .otherbox--slider .otherbox--list .box .cap:before {
        background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 30vh; }
      @media (max-width: 1023px) {
        .work--archive .pickupbox .otherbox--slider .otherbox--list img {
          aspect-ratio: 375/280; } }
      .work--archive .pickupbox .otherbox--slider .otherbox--list:not(:last-child) {
        margin: 0 2.0833333333vw 0 0; }
        @media (max-width: 1023px) {
          .work--archive .pickupbox .otherbox--slider .otherbox--list:not(:last-child) {
            margin: 0; } }
  .work--archive .caplist {
    margin-bottom: 10.5rem; }
    @media (max-width: 1023px) {
      .work--archive .caplist {
        margin-bottom: 5rem;
        padding: 0 2.5rem 0 2rem; }
        .work--archive .caplist ul {
          display: block; } }
    .work--archive .caplist .box {
      position: relative; }
      @media (max-width: 1023px) {
        .work--archive .caplist .box {
          max-width: none; }
          .work--archive .caplist .box:not(:last-child) {
            margin-bottom: 5.6rem; } }
      .work--archive .caplist .box:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: #D5D5D5;
        left: 0.5rem;
        top: 0.5rem; }
      .work--archive .caplist .box figure {
        position: relative;
        z-index: 2;
        background-color: white; }
        .work--archive .caplist .box figure .textbox {
          padding: 0 2.3rem 1.7rem; }
          .work--archive .caplist .box figure .textbox .title .number, .work--archive .caplist .box figure .textbox .title .txt, .work--archive .caplist .box figure .textbox .title .mintxt {
            display: block;
            font-weight: 500; }
          .work--archive .caplist .box figure .textbox .title .number {
            font-size: max(1.6rem,14px);
            line-height: 1.8; }
            .work--archive .caplist .box figure .textbox .title .number a.cat {
              border-radius: 3rem;
              background: var(--maincolor);
              padding: 0.2rem 1rem 0.2rem 1rem;
              box-sizing: border-box;
              font-size: max(1.4rem, 14px);
              border: 1px solid #000;
              background: #FFF;
              line-height: 1.8;
              margin-left: 1rem; }
          .work--archive .caplist .box figure .textbox .title .text {
            font-size: max(2rem,18px);
            line-height: 2; }
          .work--archive .caplist .box figure .textbox .title .mintxt {
            font-size: max(1.6rem,14px);
            line-height: 2; }
.work--single .headerbox {
  position: relative; }
  .work--single .headerbox .bg {
    position: relative; }
    .work--single .headerbox .bg:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 30vh;
      background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%); }
    .work--single .headerbox .bg img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1440 / 794;
      object-fit: cover; }
      @media (max-width: 1023px) {
        .work--single .headerbox .bg img {
          aspect-ratio: 375 / 280; } }
  .work--single .headerbox .titlebox {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 120rem;
    margin: auto;
    bottom: 0.9895833333vw; }
    @media (max-width: 1023px) {
      .work--single .headerbox .titlebox {
        left: 2rem;
        bottom: 1.2rem;
        max-width: none;
        width: auto;
        right: auto;
        width: calc(100% - 4rem); } }
    .work--single .headerbox .titlebox .databox {
      display: flex;
      align-items: center;
      color: #FFF;
      font-size: max(2.4rem,22px);
      font-style: normal;
      font-weight: 400;
      line-height: 1.8;
      gap: 1.7rem; }
      @media (max-width: 1023px) {
        .work--single .headerbox .titlebox .databox {
          font-size: 1.2rem;
          line-height: 1.8;
          gap: 0.5rem;
          margin-bottom: 0.5rem; } }
    .work--single .headerbox .titlebox .pickuptxt {
      border-radius: 3rem;
      background: var(--maincolor);
      padding: 0.6rem 1.5rem 0.5rem 1.7rem;
      box-sizing: border-box;
      font-size: max(1.6rem,14px);
      line-height: 1.8; }
      @media (max-width: 1023px) {
        .work--single .headerbox .titlebox .pickuptxt {
          font-size: 1rem;
          padding: 0 0.8rem;
          line-height: 2rem;
          height: 2rem; } }
    .work--single .headerbox .titlebox a.cat {
      border-radius: 3rem;
      background: var(--maincolor);
      padding: 0.6rem 1.5rem 0.5rem 1.7rem;
      box-sizing: border-box;
      font-size: max(1.6rem,14px);
      border: 1px solid #000;
      background: #FFF;
      line-height: 1.8; }
      @media (max-width: 1023px) {
        .work--single .headerbox .titlebox a.cat {
          font-size: 1rem;
          padding: 0 0.8rem;
          line-height: 1.7rem;
          height: 2rem; } }
    .work--single .headerbox .titlebox .title {
      color: #FFF;
      font-size: max(3.4rem,32px);
      font-weight: 500;
      line-height: 2; }
      @media (max-width: 1023px) {
        .work--single .headerbox .titlebox .title {
          font-size: 1.6rem;
          line-height: 1.6;
          margin-bottom: 1rem; } }
    .work--single .headerbox .titlebox .text {
      display: flex;
      align-items: center;
      gap: 2rem;
      color: #FFF;
      font-size: max(2.4rem,22px);
      font-weight: 400;
      line-height: 2; }
      @media (max-width: 1023px) {
        .work--single .headerbox .titlebox .text {
          font-size: 1.2rem;
          line-height: 2;
          gap: 1.5rem; } }
.work--single .work--contents .textbox--tagbox {
  align-items: center; }
.work--contents {
  background-color: var(--bgcolor);
  padding: max(3.5rem,33px) 0 max(9.1rem,85px); }
  @media (max-width: 1023px) {
    .work--contents {
      padding-top: 2rem;
      padding-bottom: 4.4rem; } }
  .work--contents .textbox {
    margin-bottom: 5.5rem;
    font-size: max(1.6rem,14px);
    font-weight: 400;
    line-height: 1.8; }
    @media (max-width: 1023px) {
      .work--contents .textbox {
        margin-bottom: 4.2rem;
        font-size: 1.4rem;
        line-height: 2; } }
    .work--contents .textbox--tagbox {
      margin-bottom: 4.9rem;
      border-bottom: 1px solid black;
      padding-bottom: 3.5rem;
      display: flex;
      align-items: flex-start;
      font-size: max(1.6rem,14px);
      font-weight: 500;
      line-height: 1.8;
      gap: 1.2rem; }
      @media (max-width: 1023px) {
        .work--contents .textbox--tagbox {
          padding-bottom: 2rem;
          margin-bottom: 2rem; } }
      .work--contents .textbox--tagbox p {
        font-weight: 400;
        line-height: 2;
        white-space: nowrap; }
        @media (max-width: 1023px) {
          .work--contents .textbox--tagbox p {
            font-size: 1.2rem;
            line-height: 2; } }
      .work--contents .textbox--tagbox ul {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 1rem; }
        @media (max-width: 1023px) {
          .work--contents .textbox--tagbox ul {
            gap: 0.5rem; } }
        .work--contents .textbox--tagbox ul li {
          border-radius: 3rem;
          border: 1px solid #000;
          background: #FFF;
          box-sizing: border-box;
          padding: 0 2rem; }
          @media (max-width: 1023px) {
            .work--contents .textbox--tagbox ul li {
              font-size: 1rem;
              line-height: 1.8;
              border-radius: 2rem;
              padding: 0 1.3rem; } }
  .work--contents .beforeafter {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
    margin-bottom: 7.3rem; }
    @media (max-width: 1023px) {
      .work--contents .beforeafter {
        margin-bottom: 3.9rem;
        display: block; } }
    .work--contents .beforeafter__item:after {
      content: "";
      width: 7.2rem;
      height: 4.5rem;
      transform: rotate(90deg);
      flex-shrink: 0;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background: url(../images/common/svg/arrow-blue.svg) no-repeat center center/contain;
      top: 18rem; }
      @media (max-width: 1023px) {
        .work--contents .beforeafter__item:after {
          content: none; } }
    .work--contents .beforeafter--box {
      width: 100%;
      max-width: 54rem;
      font-size: max(1.4rem,12px);
      font-weight: 400;
      line-height: 1.8; }
      @media (max-width: 1023px) {
        .work--contents .beforeafter--box {
          max-width: none;
          font-size: 1.4rem;
          line-height: 0.3714285714; }
          .work--contents .beforeafter--box:not(:last-of-type) {
            margin-bottom: 2.8rem; } }
      .work--contents .beforeafter--box .title {
        margin-bottom: 1rem; }
        .work--contents .beforeafter--box .title .text {
          display: inline-block;
          color: #FFF;
          font-size: max(2.4rem,22px);
          font-weight: 500;
          line-height: 1;
          padding: 0.6rem 2.3rem 0.8rem;
          border: 1px solid black; }
          @media (max-width: 1023px) {
            .work--contents .beforeafter--box .title .text {
              font-size: 1.4rem;
              padding: 0.6rem 2.3rem 0.7rem;
              line-height: 1.8; } }
      .work--contents .beforeafter--box p {
        padding-bottom: 1.8rem; }
      .work--contents .beforeafter--box .cap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 540/340; }
        @media (max-width: 1023px) {
          .work--contents .beforeafter--box .cap img {
            aspect-ratio: 335 / 200; } }
      .work--contents .beforeafter--box.before .title .text {
        background-color: black; }
      .work--contents .beforeafter--box.after .title .text {
        background-color: var(--bluecolor);
        color: black; }

.caplist:not(:last-of-type) {
  margin-bottom: 7.3rem; }
  @media (max-width: 1023px) {
    .caplist:not(:last-of-type) {
      margin-bottom: 3rem; } }
.caplist h3 {
  position: relative;
  margin-bottom: 4.8rem; }
  @media (max-width: 1023px) {
    .caplist h3 {
      margin-bottom: 2rem; } }
  .caplist h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 1px;
    background-color: black; }
  .caplist h3 .text {
    background-color: var(--bgcolor);
    position: relative;
    z-index: 2;
    font-size: max(2.4rem,22px);
    font-weight: 700;
    padding-right: 2rem; }
    @media (max-width: 1023px) {
      .caplist h3 .text {
        font-size: 1.6rem;
        padding-right: 1.5rem; } }
.caplist--box {
  width: 100%;
  font-size: max(1.6rem,14px);
  font-weight: 400;
  line-height: 1.8; }
  @media (max-width: 1023px) {
    .caplist--box {
      font-size: 1.4rem;
      line-height: 1.8; } }
  .caplist--box:not(:last-child) {
    margin-bottom: 9rem; }
    @media (max-width: 1023px) {
      .caplist--box:not(:last-child) {
        margin-bottom: 4rem; } }
  .caplist--box .cap {
    margin-bottom: 1.5rem; }
    @media (max-width: 1023px) {
      .caplist--box .cap {
        margin-bottom: 0.8rem; } }
    .caplist--box .cap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 1200 / 645; }
      @media (max-width: 1023px) {
        .caplist--box .cap img {
          aspect-ratio: 335 / 200; } }
.caplist--three ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5.2rem 3.2rem; }
  @media (max-width: 1023px) {
    .caplist--three ul {
      display: block; } }
  .caplist--three ul li.box {
    max-width: calc((100% - 3.2rem * 2) / 3);
    margin: 0; }
    @media (max-width: 1023px) {
      .caplist--three ul li.box {
        max-width: none; }
        .caplist--three ul li.box:not(:last-child) {
          margin-bottom: 4rem; } }
    .caplist--three ul li.box .cap img {
      aspect-ratio: 379 / 340; }
      @media (max-width: 1023px) {
        .caplist--three ul li.box .cap img {
          aspect-ratio: 335 / 200; } }
.caplist--two ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6.5rem 5.5rem; }
  @media (max-width: 1023px) {
    .caplist--two ul {
      display: block; } }
  .caplist--two ul li.box {
    max-width: calc((100% - 5.5rem ) / 2);
    margin-bottom: 0; }
    @media (max-width: 1023px) {
      .caplist--two ul li.box {
        max-width: none; }
        .caplist--two ul li.box:not(:last-child) {
          margin-bottom: 4rem; } }
    .caplist--two ul li.box .cap img {
      aspect-ratio: 570 / 340; }
      @media (max-width: 1023px) {
        .caplist--two ul li.box .cap img {
          aspect-ratio: 335 / 200; } }

/******************************************************************************
.slider
*******************************************************************************/
.slider--list {
  position: relative; }
  .slider--list .text {
    position: absolute;
    left: 8.3333333333vw;
    bottom: 2.0833333333vw;
    z-index: 2;
    color: white; }
    @media (max-width: 768px) {
      .slider--list .text {
        left: 2rem;
        bottom: 1.6rem; } }
    .slider--list .text .mintxt {
      font-weight: 400;
      font-size: max(1.6rem,14px);
      line-height: 1; }
      @media (max-width: 768px) {
        .slider--list .text .mintxt {
          font-size: 1.2rem;
          display: block;
          margin-bottom: 0.3rem; } }
    .slider--list .text .txt {
      font-weight: 500;
      font-size: max(2.4rem,22px);
      line-height: 2; }
      @media (max-width: 768px) {
        .slider--list .text .txt {
          font-size: 1.6rem;
          line-height: 1.6; } }
    .slider--list .text .itemtxt {
      font-weight: 400;
      font-size: max(1.6rem,14px);
      line-height: 1; }
      @media (max-width: 768px) {
        .slider--list .text .itemtxt {
          font-size: 1.2rem;
          line-height: 1.6; } }
  .slider--list .cap {
    position: relative; }
    .slider--list .cap:before {
      background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 30vh; }
    .slider--list .cap img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1000 / 600;
      object-fit: cover; }
      @media (max-width: 768px) {
        .slider--list .cap img {
          aspect-ratio: 375 / 280; } }

/******************************************************************************
#footerbox
*******************************************************************************/
#footerbox {
  background-color: var(--bluecolor);
  padding: 2.9rem 0 4.7rem;
  position: relative; }
  @media (max-width: 1023px) {
    #footerbox {
      padding: 1rem 0 1rem; }
      #footerbox .logo {
        width: 10rem;
        margin-bottom: 0.8rem; } }
  #footerbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: -2.9rem;
    width: 100%;
    height: 100%;
    background: url(../images/common/svg/wave.svg) repeat-x left top/contain; }
    @media (max-width: 1023px) {
      #footerbox:before {
        background: url(../images/common/svg/wave_sp.svg) repeat-x left top/contain;
        top: -2rem; } }
  #footerbox .inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-flow: wrap; }
  #footerbox .headbox {
    display: flex;
    align-items: center;
    gap: 2rem; }
    @media (max-width: 1023px) {
      #footerbox .headbox {
        display: block; } }
    #footerbox .headbox .lead {
      font-weight: 400;
      font-size: max(1.6rem,14px);
      line-height: 1.4375; }
      @media (max-width: 1023px) {
        #footerbox .headbox .lead {
          font-size: 1.2rem; } }
  #footerbox .copy {
    font-weight: 400;
    font-size: max(1.2rem,10px);
    position: absolute;
    right: 1.5rem;
    bottom: 0; }
    @media (max-width: 1023px) {
      #footerbox .copy {
        position: relative;
        right: auto;
        bottom: auto;
        font-size: 1.2rem;
        display: block;
        text-align: center;
        width: 100%;
        padding-top: 4.2rem; } }

/******************************************************************************
.otherbox
*******************************************************************************/
.otherbox {
  background-color: var(--maincolor);
  padding: max(6rem,55px) 0 max(10rem,90px); }
  @media (max-width: 1023px) {
    .otherbox {
      padding: 5rem 0; }
      .otherbox .contents--textbox .txt {
        padding-left: 0;
        padding-right: 0; } }
  .otherbox .arrow_box {
    position: absolute;
    right: 0;
    top: 1.2rem;
    width: 100%;
    max-width: 11rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .otherbox .arrow_box .slide-arrow {
      width: 5rem;
      height: 5rem;
      box-sizing: border-box;
      border: 1px solid black;
      cursor: pointer;
      background-color: white;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center; }
      .otherbox .arrow_box .slide-arrow:after {
        content: "";
        width: 1.4rem;
        height: 2.2rem;
        background: url(../images/common/svg/slide-arrow.svg) no-repeat center center/contain;
        display: block; }
      .otherbox .arrow_box .slide-arrow.next-arrow:after {
        background: url(../images/common/svg/slide-arrow.svg) no-repeat center center/contain;
        transform: rotate(180deg); }
  .otherbox h2 {
    margin-bottom: 6rem; }
    @media (max-width: 1023px) {
      .otherbox h2 {
        margin-bottom: 3rem; } }
  .otherbox--slider {
    margin-bottom: 6rem;
    width: 48.1770833333vw; }
    @media (max-width: 1023px) {
      .otherbox--slider {
        margin-bottom: 5rem;
        width: 100%; } }
    .otherbox--slider .slick-list {
      overflow: visible;
      padding: 0 4.53125vw 0 0; }
      @media (max-width: 1023px) {
        .otherbox--slider .slick-list {
          overflow: hidden;
          padding: 0; } }
  .otherbox--list {
    width: 100%; }
    .otherbox--list:not(:last-child) {
      margin: 0 2.6041666667vw 0 0; }
    .otherbox--list .box {
      background-color: white;
      position: relative; }
      .otherbox--list .box .cap img {
        width: 100%;
        height: 100%;
        aspect-ratio: 570 / 340;
        object-fit: cover; }
      .otherbox--list .box .textbox {
        padding: 1.6rem 2.3rem 1.7rem;
        box-sizing: border-box; }
        @media (max-width: 1023px) {
          .otherbox--list .box .textbox {
            padding-left: 1rem;
            padding-right: 1rem; } }
      .otherbox--list .box .title .number, .otherbox--list .box .title .txt, .otherbox--list .box .title .mintxt {
        display: block;
        font-weight: 500; }
      .otherbox--list .box .title .number {
        font-size: max(1.6rem,14px);
        line-height: 1.8; }
        .otherbox--list .box .title .number a.cat {
          border-radius: 3rem;
          background: var(--maincolor);
          padding: 0.2rem 1rem 0.2rem 1rem;
          box-sizing: border-box;
          font-size: max(1.4rem, 14px);
          border: 1px solid #000;
          background: #FFF;
          line-height: 1.8;
          margin-left: 1rem; }
      .otherbox--list .box .title .text {
        font-size: max(2rem,18px);
        line-height: 2; }
        @media (max-width: 1023px) {
          .otherbox--list .box .title .text {
            line-height: 1.6;
            font-size: 1.4rem; } }
      .otherbox--list .box .title .mintxt {
        font-size: max(1.6rem,14px);
        line-height: 2; }
        @media (max-width: 1023px) {
          .otherbox--list .box .title .mintxt {
            line-height: 1.6;
            font-size: 1.4rem; } }
  @media (max-width: 1023px) {
    .otherbox--works {
      padding-bottom: 8rem; }
      .otherbox--works .inner {
        padding: 0; } }
  @media (max-width: 1023px) {
    .otherbox--works .arrow_box {
      display: none; }
    .otherbox--works .slide-arrow {
      width: 4rem;
      height: 4rem;
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 5; }
      .otherbox--works .slide-arrow.prev-arrow {
        left: 1.3rem;
        background: url(../images/common/svg/slidearrow-left.svg) no-repeat center center/contain; }
      .otherbox--works .slide-arrow.next-arrow {
        right: 1.3rem;
        background: url(../images/common/svg/slidearrow.svg) no-repeat center center/contain; } }

.wpcf7 form .wpcf7-response-output {
  font-size: max(1.6rem, 14px); }

/*# sourceMappingURL=style.css.map */
