@charset "UTF-8";
:root {
  --site--contents--width: 1200px;
  --site--contents--padding: 20px;
  --site--contents--color01: #F7F7F7;
  --site--contents--color02: #E7F3FA;
}

.mail-img {
  width: 143px;
  display: inline-block;
  vertical-align: sub;
  line-height: 1;
}

body.index .contents-wrap {
  padding-top: 0;
}
body.index .float-img {
  position: absolute;
  top: calc(50% - 30px);
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 1;
  width: 112px;
}
@media screen and (max-width: 767px) {
  body.index .float-img {
    width: 21.3333333333vw;
  }
}
body.index .index-mv-inner .swiper-img {
  position: relative;
}
body.index .index-mv-inner .swiper-img img {
  height: 830px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  body.index .index-mv-inner .swiper-img img {
    height: 157.6vw;
  }
}
body.index .index-mv-inner .swiper-img .float-text {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  color: #fff;
  padding: 11px 20px 11px 60px;
}
@media screen and (min-width: 768px) {
  body.index .index-mv-inner .swiper-img .float-text {
    display: inline-block;
    background-color: rgba(51, 51, 51, 0.8);
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  body.index .index-mv-inner .swiper-img .float-text {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 3.2vw 2.6666666667vw 3.2vw 4vw;
  }
}
@media screen and (max-width: 767px) {
  body.index .index-mv-inner .swiper-img .float-text > p {
    line-height: 1.6;
  }
}
body.index .index-mv-inner .swiper-img .float-text .t01 {
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index .index-mv-inner .swiper-img .float-text .t01 {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.index .index-mv-inner .swiper-img .float-text .t01 {
    font-size: 4.2666666667vw;
  }
}
body.index .index-mv-inner .swiper-img .float-text .t02 {
  font-size: 1.4rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index .index-mv-inner .swiper-img .float-text .t02 {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.index .index-mv-inner .swiper-img .float-text .t02 {
    font-size: 3.7333333333vw;
  }
}
body.index #works .swiper-slide a {
  display: block;
  position: relative;
}
body.index #works .swiper-slide a .workCaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 5px 15px;
}
body.index #works .swiper + .swiper {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  body.index #works .swiper + .swiper {
    margin-top: 10px;
  }
}
body.index #philosophy .philosophy-box {
  position: relative;
  margin-block: 50px 110px;
}
@media screen and (max-width: 767px) {
  body.index #philosophy .philosophy-box {
    margin-block: 7.2vw 0;
  }
}
@media screen and (min-width: 768px) {
  body.index #philosophy .philosophy-box-img {
    padding-left: 320px;
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  body.index #philosophy .philosophy-box-img {
    margin-inline: calc(var(--site--contents--padding) * -1);
  }
}
body.index #philosophy .philosophy-box-img img {
  max-width: 1240px;
}
body.index #philosophy .philosophy-box .box-text {
  background: #fff;
}
@media screen and (min-width: 768px) {
  body.index #philosophy .philosophy-box .box-text {
    position: absolute;
    bottom: -33px;
    left: 0;
    width: 57%;
    padding: 45px 80px 30px 60px;
  }
}
@media screen and (max-width: 767px) {
  body.index #philosophy .philosophy-box .box-text {
    margin-top: 5.3333333333vw;
  }
}
body.index #recruit .recruit-menu {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  body.index #recruit .recruit-menu {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.index #company .conpany-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list {
    margin: 0 calc(var(--site--contents--padding) * -1);
  }
}
body.index #company .conpany-list li a {
  position: relative;
  padding: 50px 0 0 85px;
  display: block;
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list li a {
    padding: 7.2vw 0 0 12.8vw;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list li .c-btn-normal {
    padding-right: calc(var(--site--contents--padding) * 1.5);
  }
}
body.index #company .conpany-list li .c-btn-normal .c-btn {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list li .c-btn-normal .c-btn {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list li + li {
    margin-top: 16vw;
  }
}
body.index #company .conpany-list .float-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 170px;
  aspect-ratio: 1/1;
  background: #E7F3FA;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list .float-info {
    width: 36vw;
  }
}
body.index #company .conpany-list .float-info .num {
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 4rem;
  color: #4686AF;
  line-height: 1;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index #company .conpany-list .float-info .num {
    font-size: 3.9113428944vw;
  }
}
@media (max-width: 767px) {
  body.index #company .conpany-list .float-info .num {
    font-size: 8vw;
  }
}
body.index #company .conpany-list .float-info .num + .txt {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list .float-info .num + .txt {
    margin-top: 2.6666666667vw;
  }
}
body.index #company .conpany-list .float-info .txt {
  font-size: 2.4rem;
  line-height: 1.2;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index #company .conpany-list .float-info .txt {
    font-size: 2.3468057366vw;
  }
}
@media (max-width: 767px) {
  body.index #company .conpany-list .float-info .txt {
    font-size: 4.8vw;
  }
}
body.index #company .conpany-list .conpany-list-text {
  font-size: 1.6rem;
  margin-top: 15px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index #company .conpany-list .conpany-list-text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.index #company .conpany-list .conpany-list-text {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .conpany-list .conpany-list-text {
    margin-top: 2.6666666667vw;
    padding-right: calc(var(--site--contents--padding) * 1.5);
  }
}
body.index #company .address-box {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  body.index #company .address-box {
    margin-top: 16vw;
  }
}
body.index #company .address-box .address-box-list {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  body.index #company .address-box .address-box-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .address-box .address-box-list {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .address-box .address-box-list li + li {
    margin-top: 6.6666666667vw;
  }
}
body.index #company .address-box .address-box-list address {
  font-size: 1.6rem;
  margin: 0 0 25px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.index #company .address-box .address-box-list address {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.index #company .address-box .address-box-list address {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.index #company .address-box .address-box-list address {
    margin: 0 0 2.6666666667vw;
  }
}
body.index #news .c-archive-list {
  max-width: 963px;
  margin: 0 auto;
}

#loop-swiper02 {
  direction: rtl;
}

#loop-swiper02 .swiper-slide {
  direction: ltr;
}

body.about .us-box-outer {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  body.about .us-box-outer {
    margin-top: 5.3333333333vw;
  }
}
body.about .us-box-outer + .us-box-outer {
  padding-top: 50px;
}
@media screen and (max-width: 767px) {
  body.about .us-box-outer + .us-box-outer {
    padding-top: 6.6666666667vw;
    margin-top: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
body.about .us-box .img {
  line-height: 0;
}
@media screen and (min-width: 768px) {
  body.about .us-box .img {
    width: 45%;
    max-width: 960px;
  }
}
@media screen and (max-width: 767px) {
  body.about .us-box .img {
    margin-left: calc(var(--site--contents--padding) * -1);
    margin-right: calc(var(--site--contents--padding) * -1);
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box .text {
    width: 55%;
  }
}
@media screen and (max-width: 767px) {
  body.about .us-box .text {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.about .us-box .text .c-sub-title {
    margin-inline: 0;
  }
}
body.about .us-box .text .c-lead {
  margin-top: 20px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  body.about .us-box .text .c-lead {
    margin-top: 4vw;
  }
}
body.about .us-box .text .c-lead + .c-lead {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  body.about .us-box .text .c-lead + .c-lead {
    margin-top: 4vw;
  }
}
body.about .us-box .text .sup {
  margin-top: 20px;
  font-size: 2rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .us-box .text .sup {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.about .us-box .text .sup {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.about .us-box .text .sup {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box:not(.rsv) .img {
    margin-left: calc(50% - 50vw);
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box:not(.rsv) .text {
    padding-left: 45px;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box.rsv {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box.rsv .img {
    margin-right: calc(50% - 50vw);
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  body.about .us-box.rsv .text {
    padding-right: 45px;
  }
}
body.about .keireki {
  background: #E7F3FA;
  padding: 30px 45px 40px;
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  body.about .keireki {
    margin-top: 9.3333333333vw;
    padding: 5.3333333333vw var(--site--contents--padding) 8vw;
    margin-left: calc(var(--site--contents--padding) * -1);
    margin-right: calc(var(--site--contents--padding) * -1);
  }
}
body.about .keireki .keireki-list-outer {
  display: grid;
  grid-template-columns: max-content 1fr;
  padding-block: 5px 20px;
}
body.about .keireki .keireki-list-outer .keireki-list {
  display: contents;
}
body.about .keireki .keireki-list-outer .keireki-list dt,
body.about .keireki .keireki-list-outer .keireki-list dd {
  font-size: 1.6rem;
  margin-top: 10px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .keireki .keireki-list-outer .keireki-list dt,
  body.about .keireki .keireki-list-outer .keireki-list dd {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.about .keireki .keireki-list-outer .keireki-list dt,
  body.about .keireki .keireki-list-outer .keireki-list dd {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.about .keireki .keireki-list-outer .keireki-list dd {
    padding-left: 35px;
  }
}
body.about .keireki .keireki-text {
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .keireki .keireki-text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.about .keireki .keireki-text {
    font-size: 3.7333333333vw;
  }
}
body.about #about-rinen {
  padding-top: 85px;
}
@media screen and (max-width: 767px) {
  body.about #about-rinen {
    padding-top: 10.6666666667vw;
  }
}
body.about .rinen-list01 {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 27px;
}
@media only screen and (min-width: 767px) and (max-width: 1240px) {
  body.about .rinen-list01 {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list01 {
    margin-top: 6.6666666667vw;
    gap: 4.8vw;
  }
}
body.about .rinen-list01 li {
  width: calc(25% - 20.5px);
  aspect-ratio: 1/1;
  background: #A8CED5;
  border-radius: 1000px;
  text-align: center;
  padding: 45px 30px 0;
}
@media only screen and (min-width: 767px) and (max-width: 1240px) {
  body.about .rinen-list01 li {
    width: calc(50% - 20.5px);
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list01 li {
    width: calc(50% - 2.4vw);
    padding: 5.3333333333vw 2.6666666667vw 0;
  }
}
body.about .rinen-list01 li .num {
  font-size: 5rem;
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  color: #fff;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .rinen-list01 li .num {
    font-size: 4.1720990874vw;
  }
}
@media (max-width: 767px) {
  body.about .rinen-list01 li .num {
    font-size: 8.5333333333vw;
  }
}
body.about .rinen-list01 li .text {
  font-size: 3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  margin-top: 20px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .rinen-list01 li .text {
    font-size: 2.3468057366vw;
  }
}
@media (max-width: 767px) {
  body.about .rinen-list01 li .text {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list01 li .text {
    margin-top: 2.6666666667vw;
  }
}
body.about .rinen-list02 {
  margin-top: 75px;
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 {
    margin-top: 9.3333333333vw;
  }
}
body.about .rinen-list02 li .rinen-inner {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 li .rinen-inner {
    flex-wrap: wrap;
  }
}
body.about .rinen-list02 li .num {
  font-size: 10rem;
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  color: #A8CED5;
  white-space: nowrap;
  width: 130px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .rinen-list02 li .num {
    font-size: 9.1264667536vw;
  }
}
@media (max-width: 767px) {
  body.about .rinen-list02 li .num {
    font-size: 18.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 li .num {
    width: 24vw;
  }
}
body.about .rinen-list02 li .text {
  font-size: 2.4rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.6;
  width: 280px;
  padding-left: 25px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.about .rinen-list02 li .text {
    font-size: 2.6075619296vw;
  }
}
@media (max-width: 767px) {
  body.about .rinen-list02 li .text {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 li .text {
    width: calc(100% - 24vw);
    padding-left: 4vw;
  }
}
body.about .rinen-list02 li .c-lead {
  width: calc(100% - 410px);
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  body.about .rinen-list02 li .c-lead {
    padding-left: 15px;
  }
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 li .c-lead {
    width: 100%;
    margin: 2.6666666667vw 0 0;
  }
}
body.about .rinen-list02 li + li {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  body.about .rinen-list02 li + li {
    margin-top: 10.6666666667vw;
  }
}
body.about .company-info {
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  body.about .company-info {
    margin-top: 13.3333333333vw;
  }
}

body.recruit .recruit-list-outer {
  margin: 85px auto 0;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list-outer {
    margin-top: 13.3333333333vw;
  }
}
body.recruit .recruit-list-head .en {
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 4rem;
  line-height: 1;
  color: #4686AF;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-list-head .en {
    font-size: 3.6505867014vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-list-head .en {
    font-size: 7.4666666667vw;
  }
}
body.recruit .recruit-list-head .ja {
  font-size: 2rem;
  margin-top: 5px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-list-head .ja {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-list-head .ja {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list-head .ja {
    margin-top: 0.5333333333vw;
  }
}
body.recruit .recruit-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 52px;
  margin: 30px 0 0;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9.3333333333vw;
    padding: 0 2.6666666667vw;
    margin-top: 8vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list li {
    width: calc(50% - 4.6666666667vw);
  }
}
body.recruit .recruit-list a {
  display: block;
  line-height: 0;
  position: relative;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list a {
    padding-bottom: 5.8666666667vw;
  }
}
body.recruit .recruit-list a .recruit-info {
  background-color: rgba(70, 134, 175, 0.9);
  padding: 17px 25px;
  margin-top: -60px;
  margin-left: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list a .recruit-info {
    padding: 2.9333333333vw 3.4666666667vw;
    margin-top: -8vw;
    margin-left: 9.3333333333vw;
    position: relative;
  }
}
body.recruit .recruit-list a .recruit-info p {
  color: #fff;
}
body.recruit .recruit-list a .recruit-info p.t01 {
  font-size: 2.4rem;
  line-height: 1;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-list a .recruit-info p.t01 {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-list a .recruit-info p.t01 {
    font-size: 4.2666666667vw;
  }
}
body.recruit .recruit-list a .recruit-info p.t02 {
  font-size: 1.8rem;
  line-height: 1.4;
  margin-top: 13px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-list a .recruit-info p.t02 {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-list a .recruit-info p.t02 {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-list a .recruit-info p.t02 {
    margin-top: 1.3333333333vw;
  }
}
body.recruit .recruit-list a::after {
  content: "";
  width: 15px;
  height: 15px;
  border-top: solid 3px #4686AF;
  border-right: solid 3px #4686AF;
  position: absolute;
  right: 20px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) rotate(135deg);
}
body.recruit .recruit-body {
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body {
    padding-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .front {
    margin-left: calc(var(--site--contents--padding) * -1);
    margin-right: calc(var(--site--contents--padding) * -1);
  }
}
body.recruit .recruit-body .front .img {
  position: relative;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body .front .img .title {
    position: absolute;
    top: 90px;
  }
}
body.recruit .recruit-body .front .img .title span {
  position: relative;
  z-index: 0;
  display: inline-block;
  line-height: 1;
  font-weight: 500;
  font-size: 3rem;
  color: #fff;
  padding: 17px 22px;
  background: #000;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-body .front .img .title span {
    font-size: 2.6075619296vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-body .front .img .title span {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .front .img .title span {
    padding: 4vw 5.0666666667vw;
  }
}
body.recruit .recruit-body .front .img .title span:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .front .img .title span:not(:first-child) {
    margin-top: 1.6vw;
  }
}
body.recruit .recruit-body .front .name {
  background-color: #fff;
  padding: 40px 50px;
  margin-top: -60px;
  position: relative;
  max-width: 400px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .front .name {
    width: 55.2vw;
    padding: 5.3333333333vw 5.3333333333vw;
    margin-top: -6.6666666667vw;
  }
}
body.recruit .recruit-body .front .name p.t01 {
  font-size: 4rem;
  line-height: 1;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-body .front .name p.t01 {
    font-size: 3.1290743155vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-body .front .name p.t01 {
    font-size: 6.4vw;
  }
}
body.recruit .recruit-body .front .name p.t02 {
  font-size: 1.8rem;
  margin-top: 15px;
  line-height: 1.4;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-body .front .name p.t02 {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-body .front .name p.t02 {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .front .name p.t02 {
    margin-top: 2.6666666667vw;
  }
}
body.recruit .recruit-body .int-list {
  max-width: 1000px;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list {
    margin-top: 5.3333333333vw;
  }
}
body.recruit .recruit-body .int-list li + li {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list li + li {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body .int-list .flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
  }
}
body.recruit .recruit-body .int-list .flex-box .img-box {
  position: relative;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body .int-list .flex-box .img-box {
    width: 50%;
    flex: 1;
    max-width: 960px;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .flex-box .img-box {
    margin-left: calc(var(--site--contents--padding) * -1);
    margin-right: calc(var(--site--contents--padding) * -1);
    margin-bottom: 12vw;
  }
}
body.recruit .recruit-body .int-list .flex-box .img-box::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: -47px;
  background: #fff;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .flex-box .img-box::after {
    bottom: -6.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body .int-list .flex-box .txt-box {
    width: 50%;
  }
}
body.recruit .recruit-body .int-list .int-block .c-lead {
  font-weight: 400;
}
body.recruit .recruit-body .int-list .int-block .t01 {
  position: relative;
  padding-left: 30px;
  font-weight: 600;
  line-height: 1.6;
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruit-body .int-list .int-block .t01 {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruit-body .int-list .int-block .t01 {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .int-block .t01 {
    padding-left: 8vw;
  }
}
body.recruit .recruit-body .int-list .int-block .t01::after {
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 22px;
  height: 3px;
  background: #4686AF;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .int-block .t01::after {
    top: 2.9333333333vw;
    left: 0;
    width: 5.8666666667vw;
    height: 0.8vw;
  }
}
body.recruit .recruit-body .int-list .int-block .t01 + p {
  margin-top: 7px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .int-block .t01 + p {
    margin-top: 1.8666666667vw;
  }
}
body.recruit .recruit-body .int-list .int-block + .int-block {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body .int-list .int-block + .int-block {
    margin-top: 12vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body:not(.rsv) .front .name {
    margin-left: auto;
    margin-right: var(--site--contents--padding);
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body:not(.rsv) .front .img {
    padding-left: 180px;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body:not(.rsv) .front .img .title {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body:not(.rsv) .int-list .flex-box .img-box {
    margin-left: calc(50% - 50vw);
  }
}
body.recruit .recruit-body:not(.rsv) .int-list .flex-box .img-box::after {
  right: 45px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body:not(.rsv) .int-list .flex-box .img-box::after {
    right: -5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body:not(.rsv) .int-list .flex-box .txt-box {
    padding-left: 47px;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body.rsv .front .img {
    padding-right: 180px;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body.rsv .front .img .title {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body.rsv .front .img .title {
    text-align: right;
  }
}
body.recruit .recruit-body.rsv .front .name {
  margin-left: auto;
  background: #E7F3FA;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body.rsv .front .name {
    margin-left: var(--site--contents--padding);
  }
}
body.recruit .recruit-body.rsv .int-list .flex-box {
  flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body.rsv .int-list .flex-box .img-box {
    margin-right: calc(50% - 50vw);
  }
}
body.recruit .recruit-body.rsv .int-list .flex-box .img-box::after {
  right: -45px;
  background: #E7F3FA;
}
@media screen and (max-width: 767px) {
  body.recruit .recruit-body.rsv .int-list .flex-box .img-box::after {
    right: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.recruit .recruit-body.rsv .int-list .flex-box .txt-box {
    padding-right: 47px;
  }
}
body.recruit .recruitment-list.c-dl-list-body .head-title a {
  font-size: 2.2rem;
  background: #E7F3FA;
  padding: 10px 23px;
  display: inline-block;
  line-height: 1.4;
  font-weight: 500;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit .recruitment-list.c-dl-list-body .head-title a {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.recruit .recruitment-list.c-dl-list-body .head-title a {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit .recruitment-list.c-dl-list-body .head-title a {
    padding: 1.6vw 5.6vw;
  }
}
body.recruit .recruitment-list.c-dl-list-body .head-title + .c-dl-list-outer {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  body.recruit .recruitment-list.c-dl-list-body .head-title + .c-dl-list-outer {
    margin-top: 6.6666666667vw;
  }
}
body.recruit .recruitment-list.c-dl-list-body .c-dl-list-outer {
  padding-inline: 50px;
  border-left: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  body.recruit .recruitment-list.c-dl-list-body .c-dl-list-outer {
    padding-inline: 4.8vw 0;
  }
}
body.recruit #page-nav .recruitment-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}
@media screen and (max-width: 767px) {
  body.recruit #page-nav .recruitment-nav-list {
    gap: 2.6666666667vw 1.3333333333vw;
  }
}
body.recruit #page-nav .recruitment-nav-list a {
  display: block;
  font-size: 2.2rem;
  font-weight: 500;
  background: #E7F3FA;
  padding: 10px 40px 10px 23px;
  display: inline-block;
  line-height: 1.4;
  position: relative;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit #page-nav .recruitment-nav-list a {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.recruit #page-nav .recruitment-nav-list a {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.recruit #page-nav .recruitment-nav-list a {
    padding: 1.6vw 6.6666666667vw 2.1333333333vw 2.6666666667vw;
  }
}
body.recruit #page-nav .recruitment-nav-list a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  right: 15px;
  top: calc(50% - 1px);
  transform: translateY(-50%) rotate(135deg);
}
@media screen and (max-width: 767px) {
  body.recruit #page-nav .recruitment-nav-list a::after {
    top: calc(50% - 0.2666666667vw);
    width: 1.8666666667vw;
    height: 1.8666666667vw;
    right: 2.6666666667vw;
  }
}
body.recruit #recruitment-flow .flow-box {
  background: #E7F3FA;
  padding: 40px 40px 100px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box {
    margin: 0 4.8vw;
    border-radius: 2.6666666667vw;
    padding: 6.6666666667vw 17.8666666667vw 13.3333333333vw;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list {
  max-width: 735px;
  margin: 50px auto 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  body.recruit #recruitment-flow .flow-box .flow-list {
    display: flex;
    flex-wrap: wrap;
    gap: 35px 71px;
  }
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list {
    margin: 6.6666666667vw auto 0;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list .num {
  font-size: 3rem;
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #4686AF;
  line-height: 1;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit #recruitment-flow .flow-box .flow-list .num {
    font-size: 3.9113428944vw;
  }
}
@media (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list .num {
    font-size: 8vw;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner {
  position: relative;
  background: #fff;
  margin-top: 15px;
  padding: 15px 20px 20px;
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner {
    margin-top: 2.6666666667vw;
    padding: 1.8666666667vw 4vw 4vw;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner .text {
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner .text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner .text {
    font-size: 3.7333333333vw;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner img {
  display: block;
  max-width: 96px;
  margin: 10px auto 0;
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list .flow-list-inner img {
    max-width: 21.3333333333vw;
    margin-top: 2.6666666667vw;
  }
}
body.recruit #recruitment-flow .flow-box .flow-list li {
  position: relative;
}
@media screen and (min-width: 768px) {
  body.recruit #recruitment-flow .flow-box .flow-list li {
    width: calc(33.333% - 47.333px);
  }
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list li:not(:first-child) {
    padding-top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.recruit #recruitment-flow .flow-box .flow-list li:not(:first-child) .flow-list-inner::after {
    content: "";
    width: 15px;
    height: 15px;
    border-top: solid 2px #4686AF;
    border-right: solid 2px #4686AF;
    position: absolute;
    left: -47px;
    top: calc(50% + 1px);
    transform: translateY(-50%) rotate(45deg);
  }
}
@media screen and (max-width: 767px) {
  body.recruit #recruitment-flow .flow-box .flow-list li:not(:first-child)::after {
    content: "";
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border-top: solid 2px #4686AF;
    border-right: solid 2px #4686AF;
    position: absolute;
    left: 50%;
    top: 2.6666666667vw;
    transform: translateX(-50%) rotate(135deg);
  }
}
body.recruit #recruitment-flow .cap-text {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 25px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.recruit #recruitment-flow .cap-text {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  body.recruit #recruitment-flow .cap-text {
    font-size: 4.2666666667vw;
  }
}

@media screen and (min-width: 768px) {
  body.business {
    padding-bottom: 200px;
  }
}
body.business .business-list li .list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  body.business .business-list li .list-head {
    margin-left: calc(var(--site--contents--padding) * -1);
  }
}
body.business .business-list li .list-head .num {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 132px;
  aspect-ratio: 1/1;
  background: #E7F3FA;
  font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 5.5rem;
  color: #4686AF;
  line-height: 1;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.business .business-list li .list-head .num {
    font-size: 3.9113428944vw;
  }
}
@media (max-width: 767px) {
  body.business .business-list li .list-head .num {
    font-size: 8vw;
  }
}
@media screen and (max-width: 767px) {
  body.business .business-list li .list-head .num {
    width: 24vw;
  }
}
body.business .business-list li .list-head .title {
  font-size: 3rem;
  width: calc(100% - 132px);
  padding-left: 30px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  body.business .business-list li .list-head .title {
    font-size: 2.6075619296vw;
  }
}
@media (max-width: 767px) {
  body.business .business-list li .list-head .title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.business .business-list li .list-head .title {
    padding-left: 5.3333333333vw;
    width: calc(100% - 24vw);
  }
}
body.business .business-list li .list-head + p {
  margin-top: 35px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  body.business .business-list li .list-head + p {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.business .business-list li .img {
    margin: 8vw calc(var(--site--contents--padding) * -1) 0;
  }
}
@media screen and (max-width: 767px) {
  body.business .business-list li .img > figure + figure {
    margin-top: 1.6vw;
  }
}
body.business .business-list li:not(.rsv) .img {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  body.business .business-list li:not(.rsv) .img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 10px;
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  body.business .business-list li:not(.rsv) .img {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 1520px) {
  body.business .business-list li:not(.rsv) .img:not(.left) {
    margin-left: calc(50% - 50vw);
    padding-left: 10vw;
  }
}
@media screen and (min-width: 1240px) {
  body.business .business-list li:not(.rsv) .img:not(.left) {
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (min-width: 1520px) {
  body.business .business-list li:not(.rsv) .img.left {
    margin-right: calc(50% - 50vw);
    padding-right: 10vw;
  }
}
@media screen and (min-width: 1240px) {
  body.business .business-list li:not(.rsv) .img.left {
    margin-left: calc(50% - 50vw);
  }
}
@media screen and (min-width: 768px) {
  body.business .business-list li.rsv {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  body.business .business-list li.rsv .text-head {
    width: 58.4%;
    padding-left: 60px;
  }
}
@media screen and (min-width: 768px) {
  body.business .business-list li.rsv .img {
    width: 41.6%;
    flex: 1;
    margin-left: calc(50% - 50vw);
  }
}
body.business .business-list li + li {
  margin-top: 190px;
}
@media screen and (max-width: 767px) {
  body.business .business-list li + li {
    margin-top: 16vw;
  }
}

.worksContainer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 49px 22px;
  margin: 85px 0 0;
}
@media screen and (max-width: 767px) {
  .worksContainer {
    margin-top: 9.3333333333vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 5.8666666667vw 4.5333333333vw;
    margin-left: -2.4vw;
    margin-right: -2.4vw;
  }
}
.worksContainer > .work .workInner {
  height: 100%;
}
.worksContainer > .work a {
  display: block;
  line-height: 1;
  border-bottom: 1px solid #707070;
  padding-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .worksContainer > .work a {
    padding-bottom: 1.8666666667vw;
  }
}
.worksContainer > .work a .workCaption {
  display: block;
  font-size: 1.8rem;
  margin-top: 13px;
  line-height: 1.4;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .worksContainer > .work a .workCaption {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  .worksContainer > .work a .workCaption {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .worksContainer > .work a .workCaption {
    margin-top: 1.8666666667vw;
  }
}
.worksContainer > .work a img {
  aspect-ratio: 77/48;
  -o-object-fit: cover;
     object-fit: cover;
}
.worksContainer > .work a .info {
  margin: 15px 0 0;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .worksContainer > .work a .info {
    margin-top: 1.8666666667vw;
  }
}
.worksContainer > .work a .info > p {
  display: inline;
  font-size: 1.4rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .worksContainer > .work a .info > p {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .worksContainer > .work a .info > p {
    font-size: 3.7333333333vw;
  }
}
.worksContainer > .work a .info .year::before {
  content: "年代：";
}
.worksContainer > .work a .info .type::before {
  content: "／構造種別：";
}
.worksContainer #notFound {
  grid-column: 1/4;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .worksContainer #notFound {
    font-size: 2.3468057366vw;
  }
}
@media (max-width: 767px) {
  .worksContainer #notFound {
    font-size: 4.8vw;
  }
}

#searchBox {
  margin: 20px 0 0;
}
@media screen and (max-width: 767px) {
  #searchBox {
    margin-top: 5.3333333333vw;
  }
}
#searchBox table {
  width: 100%;
  border-collapse: collapse;
}
#searchBox table th,
#searchBox table td {
  border: 2px solid #fff;
  font-weight: 500;
  font-size: 1.8rem;
  padding: 20px 20px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  #searchBox table th,
  #searchBox table td {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  #searchBox table th,
  #searchBox table td {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #searchBox table th,
  #searchBox table td {
    width: 100%;
    display: block;
    border-width: 1px;
    padding: 5.3333333333vw 5.3333333333vw 8vw;
  }
}
#searchBox table th {
  background: #D1D1D1;
}
@media screen and (min-width: 768px) {
  #searchBox table th {
    width: 144px;
  }
}
@media screen and (max-width: 767px) {
  #searchBox table th {
    padding: 0.2666666667vw 2.6666666667vw;
  }
}
#searchBox table td {
  background: #EFEFEF;
}
@media screen and (min-width: 768px) {
  #searchBox table td {
    width: calc(100% - 144px);
  }
}
@media screen and (max-width: 767px) {
  #searchBox table td label {
    padding-top: 1px;
  }
}
#searchBox .checkboxOuter {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
}
@media screen and (max-width: 767px) {
  #searchBox .checkboxOuter {
    gap: 5.3333333333vw;
  }
}
#searchBox .checkboxOuter li {
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
}
#searchBox .checkboxOuter li > input[type=checkbox] {
  margin: 0px 7px 0 0px;
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 767px) {
  #searchBox .checkboxOuter li > input[type=checkbox] {
    margin: 0px 1.8666666667vw 0 0px;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  #works-detail #detailBox {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  #works-detail #detailBox .colA {
    width: 58%;
    flex: 1;
    margin-right: calc(50% - 50vw);
    max-width: 1056px;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colA {
    margin: 9.3333333333vw calc(var(--site--contents--padding) * -1) 0;
  }
}
#works-detail #detailBox .colA .sp-slide {
  line-height: 0;
}
#works-detail #detailBox .colA .sp-slide + .sp-slide {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colA .sp-slide + .sp-slide {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  #works-detail #detailBox .colB {
    width: 42%;
    padding-right: 72px;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB {
    display: contents;
  }
}
#works-detail #detailBox .colB .main-title {
  font-size: 3.6rem;
  line-height: 1.4;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  #works-detail #detailBox .colB .main-title {
    font-size: 2.6075619296vw;
  }
}
@media (max-width: 767px) {
  #works-detail #detailBox .colB .main-title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .main-title {
    order: -1;
  }
}
#works-detail #detailBox .colB .comment,
#works-detail #detailBox .colB .bikou {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  #works-detail #detailBox .colB .comment,
  #works-detail #detailBox .colB .bikou {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  #works-detail #detailBox .colB .comment,
  #works-detail #detailBox .colB .bikou {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .comment,
  #works-detail #detailBox .colB .bikou {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .comment {
    order: -1;
  }
}
#works-detail #detailBox .colB .info {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  margin-top: 35px;
  border-bottom: 1px solid #707070;
  max-width: 391px;
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .info {
    margin-top: 10.6666666667vw;
  }
}
#works-detail #detailBox .colB .info tr {
  border-top: 1px solid #707070;
}
#works-detail #detailBox .colB .info th,
#works-detail #detailBox .colB .info td {
  font-weight: 500;
  font-size: 1.4rem;
  padding: 3px 0px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  #works-detail #detailBox .colB .info th,
  #works-detail #detailBox .colB .info td {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  #works-detail #detailBox .colB .info th,
  #works-detail #detailBox .colB .info td {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .info th,
  #works-detail #detailBox .colB .info td {
    padding: 1.3333333333vw 0px;
  }
}
#works-detail #detailBox .colB .info td {
  padding-left: 30px;
  padding-right: 15px;
}
@media screen and (min-width: 768px) {
  #works-detail #detailBox .colB .sticky-inner {
    position: sticky;
    top: 0;
    left: 0;
    padding-top: 120px;
    margin-top: -120px;
  }
}
@media screen and (max-width: 767px) {
  #works-detail #detailBox .colB .sticky-inner {
    display: contents;
  }
}

.single-body-outer .single-date {
  font-size: 1.6rem;
  text-align: right;
  padding: 0 0 5px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .single-body-outer .single-date {
    font-size: 2.0860495437vw;
  }
}
@media (max-width: 767px) {
  .single-body-outer .single-date {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .single-body-outer .single-date {
    padding-bottom: 1.3333333333vw;
  }
}
.single-body-outer .single-title {
  font-size: 3rem;
  border-top: 1px solid #707070;
  line-height: 1.6;
  padding: 5px 0 0;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .single-body-outer .single-title {
    font-size: 2.6075619296vw;
  }
}
@media (max-width: 767px) {
  .single-body-outer .single-title {
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .single-body-outer .single-title {
    padding-top: 1.3333333333vw;
  }
}
.single-body-outer .single-body {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .single-body-outer .single-body {
    margin-top: 8vw;
  }
}
.single-body-outer .single-body p {
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .single-body-outer .single-body p {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .single-body-outer .single-body p {
    font-size: 3.7333333333vw;
  }
}
.single-body-outer .single-body p:not(:first-child) {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .single-body-outer .single-body p:not(:first-child) {
    margin-top: 8vw;
  }
}
.single-body-outer .single-body p:has(img) {
  text-align: center;
  line-height: 1;
  margin-left: calc(var(--site--contents--padding) * -1);
  margin-right: calc(var(--site--contents--padding) * -1);
}
.single-body-outer .single-body a {
  display: inline-block;
}
.single-body-outer .single-body a:has(img) {
  line-height: 1;
}
.single-body-outer .single-body img {
  display: inline-block;
  max-width: 700px;
}

.privacy-list .privacy-list-item + .privacy-list-item {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .privacy-list .privacy-list-item + .privacy-list-item {
    margin-top: 10.6666666667vw;
  }
}
.privacy-list .privacy-list-item p,
.privacy-list .privacy-list-item li {
  font-size: 1.4rem;
  font-weight: 400;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .privacy-list .privacy-list-item p,
  .privacy-list .privacy-list-item li {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .privacy-list .privacy-list-item p,
  .privacy-list .privacy-list-item li {
    font-size: 3.7333333333vw;
  }
}
.privacy-list .privacy-list-item li {
  text-indent: -1em;
  padding-left: 1em;
}
.privacy-list .privacy-list-item ol,
.privacy-list .privacy-list-item p + ul {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .privacy-list .privacy-list-item ol,
  .privacy-list .privacy-list-item p + ul {
    margin-top: 2.6666666667vw;
  }
}
.privacy-list .privacy-list-item ol li {
  list-style-type: decimal;
  list-style-position: inside;
}
.privacy-list .privacy-list-item li + li {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .privacy-list .privacy-list-item li + li {
    margin-top: 2.6666666667vw;
  }
}
.privacy-list .privacy-list-item li > ol {
  margin-left: 1rem;
}
.privacy-list .privacy-list-item li > ol li > ol {
  margin-left: 1rem;
}
.privacy-list .privacy-list-item .lead + .lead {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .privacy-list .privacy-list-item .lead + .lead {
    margin-top: 2.6666666667vw;
  }
}
.privacy-list .privacy-list-item .head {
  font-size: 2.2rem;
  margin-bottom: 10px;
  line-height: 1.6;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .privacy-list .privacy-list-item .head {
    font-size: 2.3468057366vw;
  }
}
@media (max-width: 767px) {
  .privacy-list .privacy-list-item .head {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 767px) {
  .privacy-list .privacy-list-item .head {
    margin-bottom: 2.6666666667vw;
  }
}

#contact-detail .c-sub-title-noto + .contact-body-outer {
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  #contact-detail .c-sub-title-noto + .contact-body-outer {
    margin-top: 8vw;
  }
}

.form-wrapper {
  position: relative;
  width: 100%;
}
.form-wrapper input[type=checkbox] {
  display: none;
}
.form-wrapper input,
.form-wrapper textarea {
  font-size: medium;
}
.form-wrapper .form {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 0;
  margin: 0;
  border-top: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form {
    flex-wrap: wrap;
    padding: 10px 0;
    gap: 10px;
  }
}
.form-wrapper .form.col {
  flex-direction: column;
  gap: 10px;
}
.form-wrapper .form.col .form_title {
  justify-content: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.form-wrapper .form_title {
  min-width: 290px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_title {
    width: 100%;
    min-width: none;
    justify-content: flex-start;
    gap: 15px;
  }
}
.form-wrapper .form_title.pt0 {
  padding-top: 0;
}
.form-wrapper .form_title.col {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 0;
}
.form-wrapper .form_title.col .form_title-name,
.form-wrapper .form_title.col .form_title-req {
  max-width: -moz-max-content;
  max-width: max-content;
}
.form-wrapper .form_title.start {
  justify-content: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: start;
}
.form-wrapper .form_title-name {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_title-name {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_title-name {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_title-name span {
  color: #FF0000;
}
.form-wrapper .form_input {
  margin: 0;
}
.form-wrapper .form_input .form_input-group p {
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_input .form_input-group p {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_input .form_input-group p {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_input input {
  height: 43px;
  border: none;
  padding: 0 15px;
  font-size: 1.8rem;
  background: #E7F3FA;
  color: #333;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_input input {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_input input {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_input.flex {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_input.flex {
    gap: 15px;
  }
}
.form-wrapper .form_input.md input {
  width: 200px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_input.md input {
    width: 100%;
  }
}
.form-wrapper .form_input.lg {
  width: 100%;
}
.form-wrapper .form_input.lg input {
  width: 100%;
}
.form-wrapper .form_input.tel input {
  width: 200px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_input.tel input {
    width: 100%;
  }
}
.form-wrapper .form_input-text {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin-top: 20px;
  margin-bottom: 5px;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_input-text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_input-text {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_input-post {
  margin-bottom: 16px;
}
.form-wrapper .form_input-post.sm input {
  width: 174px;
}
.form-wrapper .form_textarea {
  width: 100%;
  margin: 0;
}
.form-wrapper .form_textarea textarea {
  width: 100%;
  height: 302px;
  border: none;
  font-size: 1.8rem;
  background: #E7F3FA;
  padding: 15px;
  resize: vertical;
  line-height: 1.8;
  color: #333;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_textarea textarea {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_textarea textarea {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_textarea .top_text {
  font-size: 1.4rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_textarea .top_text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_textarea .top_text {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_privacy {
  border-top: 1px solid #333;
  text-align: center;
  padding: 50px 0 10px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_privacy {
    padding: 6.6666666667vw 0 0px;
  }
}
.form-wrapper .form_privacy-text {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_privacy-text {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_privacy-text {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_privacy-check + .wpcf7-list-item-label {
  padding-left: 40px;
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_privacy-check + .wpcf7-list-item-label {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_privacy-check + .wpcf7-list-item-label {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_privacy-check + .wpcf7-list-item-label {
    padding-left: 10.6666666667vw;
  }
}
.form-wrapper .form_privacy-check + .wpcf7-list-item-label::after, .form-wrapper .form_privacy-check + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
}
.form-wrapper .form_privacy-check + .wpcf7-list-item-label::before {
  top: 0;
  border: 1px solid #ccc;
  background-color: #ffffff;
  width: 24px;
  aspect-ratio: 1/1;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_privacy-check + .wpcf7-list-item-label::before {
    width: 6.4vw;
  }
}
.form-wrapper .form_privacy-check + .wpcf7-list-item-label a {
  opacity: 1 !important;
  text-decoration: underline;
}
.form-wrapper .form_privacy-check + .wpcf7-list-item-label a:hover {
  text-decoration: none;
}
.form-wrapper .form_privacy-check:checked + .wpcf7-list-item-label::after {
  top: 0px;
  left: 8px;
  transform: rotate(45deg);
  width: 11px;
  height: 20px;
  border: solid #3A4C68;
  border-width: 0 2px 2px 0;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_privacy-check:checked + .wpcf7-list-item-label::after {
    left: 2.1333333333vw;
    width: 2.9333333333vw;
    height: 5.3333333333vw;
  }
}
.form-wrapper .form_privacy-check + .wpcf7-not-valid-tip {
  text-align: center;
}
.form-wrapper .btnBox {
  position: relative;
  margin-top: 45px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox {
    margin-top: 10.6666666667vw;
  }
}
.form-wrapper .btnBox .c-btn-normal {
  position: relative;
  display: inline-block;
  width: 280px;
  background: #3A4C68;
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox .c-btn-normal {
    width: 65.3333333333vw;
  }
}
.form-wrapper .btnBox .c-btn-normal::after {
  content: "";
  width: 9px;
  height: 9px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  right: 20px;
  top: calc(50% + 1px);
  transform: translateY(-50%) rotate(45deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox .c-btn-normal::after {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    right: 5.3333333333vw;
  }
}
.form-wrapper .btnBox .c-btn {
  margin: 0 auto;
  cursor: pointer;
  border: none;
  background: none;
  z-index: 5;
  transition: 0.3s all;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .form-wrapper .btnBox .c-btn:hover {
    opacity: 0.7;
  }
}
.form-wrapper .btnBox .btnBack {
  position: relative;
}
@media screen and (min-width: 768px) {
  .form-wrapper .btnBox .btnBack {
    position: absolute;
    top: 10px;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox .btnBack {
    text-align: center;
    padding: 5.3333333333vw 0 0;
  }
}
.form-wrapper .btnBox .btnBack p {
  position: relative;
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox .btnBack p {
    display: inline-block;
    padding-left: 4vw;
    margin-left: -4vw;
  }
}
.form-wrapper .btnBox .btnBack p::after {
  content: "";
  width: 9px;
  height: 9px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-135deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .form-wrapper .btnBox .btnBack p::after {
    top: calc(50% - 1px);
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}
.form-wrapper .btnBox .btnBack input {
  border: none;
  background: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .btnBox .btnBack input {
    font-size: 1.5645371578vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .btnBox .btnBack input {
    font-size: 3.2vw;
  }
}
.form-wrapper .wpcf7-spinner {
  display: none !important;
}
.form-wrapper .wpcf7-not-valid-tip {
  font-size: 1.4rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .wpcf7-not-valid-tip {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .wpcf7-not-valid-tip {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .wpcf7-response-output {
  margin: 20px 0 0 !important;
  border: none !important;
  text-align: center;
  color: #dc3232 !important;
  font-size: 1.4rem;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .wpcf7-response-output {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .wpcf7-response-output {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .confirm .form {
  margin-bottom: 26px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .confirm .form {
    margin-bottom: 5.3333333333vw;
  }
}
.form-wrapper .confirm .btnBox {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .confirm .btnBox {
    margin-top: 10.6666666667vw;
  }
}
.form-wrapper .form_radio {
  margin-left: 0;
}
.form-wrapper .form_radio input[type=radio] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .form-wrapper .form_radio .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 35px;
  }
}
.form-wrapper .form_radio span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.8rem;
  color: #333;
}
@media only screen and (min-width: 767px) and (max-width: 1000px) {
  .form-wrapper .form_radio span.wpcf7-list-item-label {
    font-size: 1.8252933507vw;
  }
}
@media (max-width: 767px) {
  .form-wrapper .form_radio span.wpcf7-list-item-label {
    font-size: 3.7333333333vw;
  }
}
.form-wrapper .form_radio span.wpcf7-list-item {
  margin: 0;
  display: block;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_radio span.wpcf7-list-item + .wpcf7-list-item {
    margin-top: 2.6666666667vw;
  }
}
.form-wrapper .form_radio span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  border: 1px solid #4686AF;
  width: 30px;
  aspect-ratio: 1/1;
  margin-right: 7px;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_radio span.wpcf7-list-item-label::before {
    width: 6.4vw;
    margin-right: 1.8666666667vw;
  }
}
.form-wrapper .form_radio span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 18px;
  aspect-ratio: 1/1;
  background-color: #4686AF;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}
@media screen and (max-width: 767px) {
  .form-wrapper .form_radio span.wpcf7-list-item-label::after {
    width: 3.7333333333vw;
    left: 1.3333333333vw;
  }
}
.form-wrapper .form_radio input[type=radio]:checked + span.wpcf7-list-item-label::after {
  display: block;
}/*# sourceMappingURL=styles.css.map */