/*
Theme Name: a	
Theme URI: https://dessin.work/
Description: dessin Inc. Client theme.
Author: dessin Inc. development team [Yuki Fujii]
Version: 2023-08-03
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, u, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, input {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  color: #000;
  font: inherit;
  vertical-align: baseline;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-family: "Zen Old Mincho", serif;
}
input {
  font-family: "Zen Old Mincho", serif;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  font: inherit;
}
html {
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes topTitFadeIn {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* トップ：読み込みスプラッシュ（背景＋ロゴ＋％） */
.openingOverlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  transition: transform 0.62s cubic-bezier(0.83, 0, 0.17, 1);
  will-change: transform;
}
.openingOverlay__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #2d3a2f;
  overflow: hidden;
}
.openingOverlay__bgImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  pointer-events: none;
}
.openingOverlay--bgMissing .openingOverlay__bg {
  background-color: #3d4f42;
}
.openingOverlay__logo {
  position: relative;
  z-index: 1;
  width: min(28vw, 200px);
  height: auto;
  display: block;
  opacity: 1;
  transition: opacity 0.45s ease-out;
}
.openingOverlay.is-logoOut .openingOverlay__logo {
  opacity: 0;
}
.openingOverlay__progress {
  position: absolute;
  left: 50%;
  bottom: clamp(28px, 6vh, 64px);
  transform: translateX(-50%);
  z-index: 2;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 2.8vw, 16px);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}
.openingSlot {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.12em;
}
.openingSlot__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.openingSlot__window {
  display: inline-flex;
  align-items: stretch;
  gap: 0.06em;
  line-height: 1;
}
.openingSlot__reel {
  position: relative;
  height: 1.4em;
  overflow: hidden;
  min-width: 0.58em;
  border-radius: 3px;
}
.openingSlot__strip {
  display: flex;
  flex-direction: column;
  transform: translate3d(0, calc(var(--d, 0) * -1.4em), 0);
  transition: none;
  will-change: transform;
}
.openingOverlay.is-counting .openingSlot__strip {
  transition: transform 0.48s cubic-bezier(0.45, 0, 0.15, 1);
}
.openingSlot__num {
  flex: 0 0 1.4em;
  height: 1.4em;
  line-height: 1.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-variant-numeric: tabular-nums;
  color: #fff;
  font-family: "Marcellus";
}
.openingSlot__suffix {
  line-height: 1.4em;
  padding-bottom: 0.02em;
  color: #fff;
  font-family: "Marcellus";
}
@media (prefers-reduced-motion: reduce) {
  .openingOverlay {
    transition-duration: 0.01ms;
  }
  .openingOverlay.is-counting .openingSlot__strip {
    transition-duration: 0.01ms;
  }
  .openingOverlay__logo {
    transition-duration: 0.01ms;
  }
}
.openingOverlay.is-logoOut,
.openingOverlay.is-closing {
  pointer-events: none;
}
.openingOverlay.is-closing {
  transform: translate3d(0, -100%, 0);
}
/* ページ読み込みシーケンス（オープニング後） */
@keyframes loadFadeIn {
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}
body.opening-active header.pc h1,
body.opening-active header.pc nav ul li,
body.opening-active header.pc .headContact,
body.opening-active header.sp h1,
body.opening-active header.sp .telBtn,
body.opening-active header.sp .hbBtn,
body.opening-active .mvWrap .topTit,
body.opening-active .mvWrap .topTit .topTit__char,
body.opening-active .mvWrap .newsWrap,
body.opening-active .mvWrap .recruitBnr {
  opacity: 0;
}
body.openingComplete header.pc h1,
body.openingComplete header.sp h1 {
  animation: loadFadeIn 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s both;
}
body.openingComplete header.sp .telBtn,
body.openingComplete header.sp .hbBtn {
  animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.7s both;
}
body.openingComplete header.pc nav ul li:nth-child(1) { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both; }
body.openingComplete header.pc nav ul li:nth-child(2) { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s both; }
body.openingComplete header.pc nav ul li:nth-child(3) { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s both; }
body.openingComplete header.pc nav ul li:nth-child(4) { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both; }
body.openingComplete header.pc nav ul li:nth-child(5) { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s both; }
body.openingComplete header.pc .headContact { animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s both; }
body.home.openingComplete .mvWrap .topTit .topTit__char {
  animation: loadFadeIn 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    calc(0.9s + var(--i) * 0.038s) both;
}
body.home.openingComplete .mvWrap .newsWrap,
body.home.openingComplete .mvWrap .recruitBnr {
  animation: loadFadeIn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both;
}
.mvWrap .topTit span{
    color: #fff;
}
/* スクロールフェードイン */
.scrollFadeIn {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.scrollFadeIn.is-visible {
  opacity: 1;
  transform: translateY(0);
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a {
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}
a:hover img {
  opacity: 0.8;
}
img, iframe {
  vertical-align: bottom;
  max-width: 100%;
  background: transparent;
  transition: 0.3s;
}
input[type=submit], input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
        appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus, input[type=button]::focus {
  outline-offset: -2px;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
.grecaptcha-badge {
  display: none;
}
.clear:after {
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.df {
  display: flex;
}
.sb {
  justify-content: space-between;
}
.fw {
  flex-wrap: wrap;
}
.w90 {
  margin: 0 auto;
  width: 90%;
}
.smt{
    scroll-margin-top: 150px;
}
.pageTop{
    background-color: #E4EAE1;
    padding-bottom: 9.01vw;
}
header{
    position: fixed;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    transition: .3s;
}
header.pc{
    z-index: 999;
    padding: 1.61vw 2.19vw 0 2.55vw;
}
header.sp{
    display: none;
}
header.down{
    padding: 1vw 2.19vw 1vw 2.55vw;
    background-color: #EFF7EC;
}
header h1 .green{
    display: none;
}
header.down h1 .white{
    display: none;
}
header.down h1 .green{
    display: block;
}
header.pc nav{
    margin: 0 0 0 auto;
}
header.pc nav li{
    margin-right: 2.97vw;
}
header.pc nav li:last-child{
    margin-right: 0;
}
header.pc nav li a{
    color: #fff;
    font-weight: 700;
    transition: .3s;
}
header.pc.down nav li a{
    color: #2C493B;
}
header.pc nav li a:hover{
    color: #2C493B;
}
header.pc.down nav li a:hover{
    color: #999;
}
header.pc .headContact{
    width: 134px;
    height: 40px;
    background-color: #2C493B;
    border: 1px solid #2C493B;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    margin: 0 0 0 1.82vw;
    transition: .3s;
    color: #fff;
}
header.pc .headContact:hover{
    background-color: #fff;
    color: #000;
}
.mvWrap{
    position: relative;
}
.mv{
    position: relative;
}
.mv img{
    object-fit: cover;
}
.mv:after{
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background-color: rgba(0,0,0,0.45);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.mvWrap .topTit{
    position: absolute;
    top: 20.37vw;
    left: 5.16vw;
    z-index: 10;
    font-size: 2.86vw;
    color: #fff;
}
.mvWrap .topTit .topTit__char {
    display: inline-block;
    white-space: pre;
}
/* スペースだけの inline-block が幅0に潰れるのを防ぐ */
.mvWrap .topTit .topTit__char.topTit__char--space {
    min-width: 0.35em;
}
.mvWrap .topTit .topTit__enLine{
    display: block;
    font-size: 20px;
    color: #fff;
    font-family: "Marcellus", serif;
    margin-top: 0.89vw;
}
.mvWrap .newsWrap{
    position: absolute;
    bottom: 2.6vw;
    left: 2.55vw;
    z-index: 10;
}
.mvWrap .newsWrap *{
    color: #fff;
}
.mvWrap .newsWrap .postDetail{
    margin-bottom: 0.36vw;
}
.mvWrap .newsWrap .date{
    margin-right: 0.73vw;
}
.mvWrap .newsWrap .catName{
    padding: 1px 5px;
    background-color: #fff;
    font-size: 12px;
    color: #000;
    border-radius: 1px;
}
.mvWrap .swiper-wrapper{
  transition-timing-function: linear;
}
.mvWrap .recruitBnr {
    position: fixed;
    bottom: 1.61vw;
    right: 1.3vw;
    z-index: 10;
    width: 18.9vw;
    display: block;
}
.tit1{
    align-items: center;
}
.tit1 .titIcon{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #2C493B;
    margin-right: 0.73vw;
}
.tit1 h2{
    font-size: 18px;
    font-weight: 500;
}
.tit1 h2 span{
    display: block;
    font-size: 12px;
    font-family: "Marcellus", serif;
}
.topBlock1{
    padding: 10.84vw 0 12.92vw;
}
.topBlock1Inner{
    width: 83.44vw;
    max-width: 1602px;
    margin: 0 auto;
    align-items: center;
}
.topBlock1Inner .left{
    width: 63%;
    padding-right: 8%;
    box-sizing: border-box;
}
.topBlock1Inner .left .tit1{
    margin-bottom: 3.49vw;
}
.topBlock1Inner .left h3{
    font-size: 2.08vw;
    margin-bottom: 3.33vw;
}
.topBlock1Inner .left h3 br{
    display: none;
}
.topBlock1Inner .left > p{
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 3.33vw;
}
.linkBtn1 {
    background-color: #2C493B;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 5px;
    font-family: "Noto Sans", sans-serif;
    font-weight: 500;
    font-size: 15px;
    border: 1px solid #2C493B;
    transition: .3s;
}
.linkBtn1:hover{
    background-color: #fff;
    color: #2C493B;
}
.linkBtn1 .iconArrow{
    width: 18px;
    height: 18px;
    background: url('/wp-content/themes/a/img/linkArrow.svg');
    background-size: contain;
    display: block;
}
.linkBtn1:hover .iconArrow{
    background: url('/wp-content/themes/a/img/linkArrow_g.svg');
    background-size: contain;
}
.topBlock1Inner .left .linkBtn1{
    width: 255px;
    height: 59px;
}
.topBlock1Inner .left .linkBtn1 .iconArrow{
    margin-right: 1.41vw;
}
.topBlock1Inner .right{
    width: 37%;
    display: flex;
    justify-content: space-between;
}
.topBlock1Inner .right > div {
    width: 49%;
}
.topBlock1Inner .right .topBlock1Parallax img {
    display: block;
    width: 100%;
    height: auto;
    will-change: transform;
    transition: 0s;
}
.topBlock1Inner .right .topBlock1Img1 {
    padding-top: 30%;
}
.topBlock2{
    background-color: #2C493B;
    padding: 5.42vw 0 6.51vw;
}
.topBlock2Inner1{
    width: 91.72vw;
    margin: 0 0 4.32vw auto;
    align-items: center;
}
.topBlock2Inner1 .left{
    width: 49%;
    padding-right: 7%;
    box-sizing: border-box;
}
.topBlock2Inner1 .left .tit1{
    margin-bottom: 3.33vw;
}
.topBlock2Inner1 .left .tit1 .titIcon{
    background-color: #fff;
}
.topBlock2Inner1 .left .tit1 h2{
    color: #fff;
}
.topBlock2Inner1 .left .tit1 h2 span{
    color: #fff;
}
.topBlock2Inner1 .left h3{
    font-size: 2.08vw;
    color: #fff;
    margin-bottom: 3.07vw;
}
.topBlock2Inner1 .left p {
    font-size: 15px;
    color: #fff;
    line-height: 1.8;
    font-family: "Noto Sans", sans-serif;
    text-align: justify;
}
.topBlock2Inner1 .right{
    width: 51%;
    overflow: hidden;
}
.topBlock2Inner1 .right .businessSwiper{
    width: 100%;
}
.topBlock2Inner2{
    width: 83.49vw;
    max-width: 1603px;
    margin: 0 auto;
}
.topBlock2Inner2 .titTxt{
    font-size: 22px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 1.82vw;
}
.topBlock2Inner2 ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.09vw;
}
.topBlock2Inner2 ul li{
    background-color: #E4EAE1;
    padding: 3.33vw 0 3.7vw;
}
.topBlock2Inner2 ul li .num {
    text-align: center;
    font-size: 30px;
    color: #000000;
    margin-bottom: 0.89vw;
    font-family: "Marcellus";
}
.topBlock2Inner2 ul li .num:after{
    display: block;
    content: "";
    width: 15px;
    height: 1px;
    background-color: #274335;
    margin: 0.94vw auto 0;
}
.topBlock2Inner2 ul li h3{
    font-size: 28px;
    text-align: center;
    margin-bottom: 1.56vw;
}
.topBlock2Inner2 ul li p{
    width: 70.1%;
    margin: 0 auto 1.56vw;
    font-size: 15px;
    font-family: "Noto Sans", sans-serif;
    letter-spacing: 0.01em;
    line-height: 2;
}
.topBlock2Inner2 ul li .linkBtn1{
    width: 263px;
    height: 59px;
    margin: 0 auto;
}
.topBlock2Inner2 ul li .linkBtn1 .iconArrow{
    margin-right: 0.89vw;
}
.contactBlock{
    padding: 7.45vw 0 5.83vw;
    justify-content: center;
}
.contactBlock li{
    margin-right: 5.94vw;
}
.contactBlock li:last-child{
    margin-right: 0;
}
.contactBlock li > p{
    font-weight: 700;
    font-family: "Noto Sans", sans-serif;
    margin-bottom: 1.88vw;
    text-align: center;
}
.contactBlock li:nth-child(2) > p{
    margin-bottom: 1.3vw;
}
.contactBlock li .linkBtn1{
    width: 244px;
    height: 59px;
}
.contactBlock li .linkBtn1 .iconArrow{
    margin-right: 1.41vw;
}
.contactBlock li .telLink1{
    justify-content: center;
    align-items: center;
    width: 338px;
    height: 81px;
    border: 1px solid #707070;
    border-radius: 5px;
}
.contactBlock li .iconTel{
    width: 43px;
    height: 43px;
    background: url('/wp-content/themes/a/img/icon_tel.svg') no-repeat center;
    background-size: contain;
    margin-right: 0.68vw;
}
.contactBlock li .telNum{
    font-size: 29px;
    font-weight: 700;
    font-family: "Noto Sans", sans-serif;
}
.contactBlock li .openTime{
    font-size: 12px;
    font-weight: 500;
    font-family: "Noto Sans", sans-serif;
    margin-top: -0.8em;
}
.topBlock3{
    background-color: #D2D8CF;
    padding: 9.84vw 0 10.83vw;
}
.topBlock3Inner{
    width: 83.44vw;
    max-width: 1602px;
    margin: 0 auto;
    align-items: center;
}
.topBlock3Inner .left{
    width: 24%;
}
.topBlock3Inner .left .tit1{
    margin-bottom: 2.76vw;
}
.topBlock3Inner .left h3{
    font-size: 2.8vw;
    font-family: "Marcellus", serif;
    margin-bottom: 2.34vw;
}
.topBlock3Inner .left .sideCatLIst{
    margin-bottom: 5.1vw;
}
.topBlock3Inner .left .sideCatLIst li{
    margin-bottom: 6px;
    width: fit-content;
}
.topBlock3Inner .left .sideCatLIst li.active{
    padding: 6px 9px;
    background-color: #2C493B;
    border-radius: 6px;
    color: #fff;
}
.topBlock3Inner .left .sideCatLIst li a{
    font-size: 15px;
}
.topBlock3Inner .left .sideCatLIst li.active a{
    color: #fff;
}
.topBlock3 .linkBtn1{
    width: 225px;
    height: 59px;
}
.topBlock3 .linkBtn1.sp{
    display: none;
}
.topBlock3Inner .left .linkBtn1 .iconArrow{
    margin-right: 1.41vw;
}
.topBlock3Inner .worksList{
    width: 76%;
}
.worksList{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.89vw;
}
.worksList li  .hoverImg {
    overflow: hidden;
    aspect-ratio: 394 / 282;
    width: 100%;
    height: auto;
    margin-bottom: 0.73vw;
}
.worksList li img{
    display: block;
    aspect-ratio: 394 / 282;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.worksList li a:hover img {
    transform: scale(1.05);
}
.worksList li .postDetail{
    margin-bottom: 0.47vw;
}
.worksList li .postDetail p{
    font-size: 12px;
    font-weight: 500;
    color: #5F5F5F;
}
.worksList li .postDetail .date{
    padding-right: 0.5em;
    margin-right: 0.5em;
    border-right: 1px solid #5F5F5F;
}
.worksList li h3{
    font-size: 1.2vw;
}
.topBlock4{
    background: linear-gradient( transparent 0, transparent 53%, #7B531E 53%, #7B531E 100%);
    padding: 4.9vw 0 6.3vw;
    margin-bottom: 8.65vw;
}
.topBlock4 .tit1{
    margin-left: 8.28vw;
    margin-bottom: 2.97vw;
}
.topBlock4 > h3{
    text-align: center;
    font-size: 44px;
    font-family: "Marcellus", serif;
    margin-bottom: 3.85vw;
    color: #2C493B;
}
.topBlock4 > h3:after{
    display: block;
    content: "";
    width: 34px;
    height: 2px;
    background-color: #2C493B;
    margin: 1.51vw auto 0;
}
.topBlock4Inner{
    background-color: #fff;
    padding: 3.33vw 4% 2.6vw;
    box-sizing: border-box;
    width: 68.54vw;
    margin: 0 auto 4.32vw;
    box-sizing: border-box;
    border-radius: 24px;
}
.topBlock4Inner .left{
    width: 58%;
    padding-right: 9%;
    box-sizing: border-box;
}
.topBlock4Inner .left h4{
    font-size: 1.77vw;
    margin-bottom: 1.82vw;
}
.topBlock4Inner .left h4 br{
    display: none;
}
.topBlock4Inner .left p{
    font-size: 15px;
    margin-bottom: 1.72vw;
    line-height: 2;
    letter-spacing: 0.01em;
}
.topBlock4Inner .left .linkBtn1{
    width: 225px;
    height: 59px;
}
.topBlock4Inner .left .linkBtn1 .iconArrow{
    margin-right: 1.41vw;
}
.topBlock4Inner .right{
    width: 42%;
    object-fit: contain;
}
.followWrap h3{
    font-size: 44px;
    margin-bottom: 2.71vw;
    text-align: center;
    color: #fff;
    font-family: "Marcellus", serif;
}
.followWrap .linkWrap a{
    display: block;
    width: 90%;
    max-width: 394px;
    margin: 0 auto;
}
.followWrap .linkWrap a img{
    width: 100%;
}
.topBlock5{
    width: 83.49vw;
    max-width: 1603px;
    margin: 0 auto 7.76vw;
    align-items: flex-start;
}
.topBlock5 .tit1{
    width: 30%;
}
.topBlock5 .postList{
    width: 70%;
}
.topBlock5 .postList li{
    border-bottom: 1px solid #ADADAD;
}
.topBlock5 .postList li:first-child{
    border-top: 1px solid #ADADAD;
}
.topBlock5 .postList li a{
    padding: 1.82vw 0;
}
.topBlock5 .postList li a .postDetail{
    width: 23%;
}
.topBlock5 .postList li a .date{
    font-weight: 500;
    margin-right: 1.77vw;
}
.topBlock5 .postList li a .catName{
    font-size: 12px;
    padding: 1px 5px;
    color: #fff;
    background-color: #2C493A;
    border-radius: 1px;
    white-space: nowrap;
}
.topBlock5 .postList li a h3{
    width: 77%;
}
.topBlock6{
    width: 83.49vw;
    max-width: 1603px;
    margin: 0 auto;
    align-items: flex-start;
}
.topBlock6 .tit1{
    width: 30%;
}
.topBlock6 ul{
    width: 70%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15vw;
}
.topBlock6 ul li{
    background-color: #fff;
    border: 1px solid #A0A0A0;
    padding: 3.39vw 0;
}
.topBlock6 ul li h3{
    font-size: 1.35vw;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1.51vw;
}
.topBlock6 ul li p{
    text-align: center;
    font-size: 15px;
    font-family: "Noto Sans", sans-serif;
    margin-bottom: 1.51vw;
    width: 90%;
    margin: 0 auto 1.15vw;
}
.topBlock6 ul li .linkBtn1{
    width: 225px;
    height: 59px;
    margin: 0 auto;
}
.topBlock6 ul li .linkBtn1 .iconArrow{
    margin-right: 1.41vw;
}
footer{
    background-color: #2C493B;
    padding: 3.54vw 0 3.49vw;
    position: relative;
}
footer *{
    color: #fff;
}
.footerBlock1{
    padding-bottom: 9.32vw;
    border-bottom: 1px solid #416A55;
    margin-bottom: 3.39vw;
}
.footerBlock1Inner{
    padding: 0 6.61vw 0 3.7vw ;
    justify-content: space-between;
}
.footerBlock1Inner .logo{
    width: 14.48vw;
}
.footerBlock1Inner .logo img{
    width: 100%;
}
.footerBlock1Inner .footLinks{
    margin-right: 5.89vw;
}
.footerBlock1Inner .footLinks:last-child{
    margin-right: 0;
}
.footerBlock1Inner .footLinks .titLink{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 1.41vw;
    display: block;
    position: relative
}
.footerBlock1Inner .footLinks .titLink::before{
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0;
    position: absolute;
    top: 50%;
    right: calc(100% + 5px);
    transform: translateY(-50%);
    transition: .3s;
}
.footerBlock1Inner .footLinks .titLink:hover::before{
    opacity: 1;
}
.footerBlock1Inner .footLinks li{
    margin-bottom: 7px;
    position: relative;
}
.footerBlock1Inner .footLinks li::before{
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0;
    position: absolute;
    top: 50%;
    right: calc(100% + 5px);
    transform: translateY(-50%);
    transition: .3s;
}
.footerBlock1Inner .footLinks li:hover::before{
    opacity: 1;
}
.footerBlock2{
    padding: 0 3.54vw 0 3.49vw;
}
.footerBlock2 .box1{
    margin-right: 17.79vw;
}
.footerBlock2 .box1 .privacyLink{
    font-size: 12px;
    font-weight: 500;
    display: block;
    margin-bottom: 0.89vw;
}
.footerBlock2 .box1 .copy{
    font-size: 12px;
    font-weight: 500;
}
.footerBlock2 .companyDetail{
    margin-right: 14.92vw;
}
.footerBlock2 .companyDetail .titTxt{
    margin-bottom: 0.67vw;
    font-weight: 700;
}
.footerBlock2 .companyDetail .address{
    font-weight: 500;
    margin-bottom: 6px;
}
.footerBlock2 .companyDetail a{
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
}
.footerBlock2 .snsLinks .titTXt{
    margin-bottom: 0.67vw;
}
.footerBlock2 .snsLinks .links{
    display: flex;
}
.footerBlock2 .snsLinks a{
    display: block;
    margin-right: 1.3vw;
}
.footerBlock2 .snsLinks a:last-child{
    margin-right: 0;
}
.backPageTop{
    position: absolute;
    bottom: 1.3vw;
    right: 1.41vw;
    width: 53px;
    height: 53px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.backPageTop .arrow{
    width: 18px;
    height: 18px;
    background: url('/wp-content/themes/a/img/icon_top.svg') no-repeat center;
    background-size: contain;
}
.pageSub{
    padding-top: 110px;
    background-color: #F2F8ED;
    padding-bottom: 5.36vw;
}
.subMvWrap{
    position: relative;
    margin-bottom: 9.38vw;
}
.subMvWrap .subTit{
    position: absolute;
    top: 5.16vw;
    left: 8.75vw;
}
.subMvWrap .subTit{
    font-size: 3.65vw;
    font-weight: 500;
    color: #2C493B;
}
.subMvWrap .subTit span{
    font-size: 18px;
    color: #2C493B;
    font-family: "Marcellus", serif;
    display: block;
}
.subMvWrap .pankuzu{
    position: absolute;
    right: 2.4vw;
    bottom: 1.77vw;
    font-size: 12px;
    color: #2C493B;
}
.aboutBlock1{
    width: 83.45vw;
    max-width: 1602px;
    margin: 0 auto 11.35vw;
}
.aboutBlock1 .left{
    width: 70%;
    padding-right: 17%;
    box-sizing: border-box;
}
.aboutBlock1 .left .tit1{
    margin-bottom: 3.65vw;
}
.aboutBlock1 .left h3{
    font-size: 2.08vw;
    font-weight: 500;
    color: #000000;
    margin-bottom: 2.24vw;
}
.aboutBlock1 .left p{
    font-size: 15px;
    line-height: 1.8;
}
.aboutBlock1 .right{
    width: 30%;
    object-fit: contain;
}
.aboutBlock2{
    width: 82.5vw;
    max-width: 1584px;
    margin: 0 auto 6.56vw;
}
.pageAboutSlide{
    margin-bottom: 9.64vw;
}
.pageAboutSlide .swiper-wrapper{
    transition-timing-function: linear;
}
.ankerList{
    width: 19%;
    height: fit-content;
    position: sticky;
    top: 220px;
}
.ankerList a{
    display: block;
    margin-bottom: 7px;
    font-size: 15px;
    font-weight: 500;
    padding: 5px 9px;
    width: fit-content;
}
.ankerList a.active{
    background-color: #2C493B;
    color: #fff;
    border-radius: 6px;
}
.aboutContent{
    width: 81%;
}
.aboutInner{
    margin-bottom: 9.58vw;
}
.aboutInner.last{
    margin-bottom: 11.41vw;
}
.aboutInner h4{
    font-size: 2.2vw;
    font-weight: 500;
    margin-bottom: 3.65vw;
}
.aboutInner h4 br{
    display: none;
}
.aboutInner .aboutInnerSlide{
    margin-bottom: 3.65vw;
}
.aboutInner .txtBox{
    margin-bottom: 5.57vw;
}
.aboutInner .txtBox h5{
    width: 35%;
    font-size: 1.51vw;
    font-weight: 500;
    letter-spacing: 0;
}
.aboutInner .txtBox p {
    width: 64%;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    text-align: justify;
}
.aboutInner .icons{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 1.15vw;
    margin-bottom: 5.78vw;
}
.aboutInner .icons li{
    background-color: #E5EBDF;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.aboutInner .icons.no1 li img{
    display: block;
    width: 112px;
    margin: 0 auto 31px;
}
.aboutInner .icons.no2 li img{
    display: block;
    width: 90px;
    margin: 0 auto 37px;
}
.aboutInner .icons.no3 li img{
    display: block;
    width: 113px;
    margin: 0 auto 38px;
}
.aboutInner .icons p{
    font-weight: 600;
    font-family: "Noto Sans", sans-serif;
    color: #2C493B;
}
.aboutInner .zissekiBox .left{
    width: 34%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.aboutInner .zissekiBox h6{
    font-size: 1.35vw;
    font-weight: 500;
    min-height: 226px;
}
.aboutInner .zissekiBox h6:after{
    display: block;
    content: "";
    width: 12px;
    height: 1px;
    background-color: #000;
    margin-top: 21px;
}
.aboutInner .zissekiBox .linkBtn1{
    width: 225px;
    height: 59px;
}
.pageCivil .aboutInner .zissekiBox .linkBtn1{
    width: 266px;
}
.pageCivil .aboutInner .zissekiBox .linkBtn1{
    width: 266px;
}
.pageEarthwork .aboutInner .zissekiBox .linkBtn1{
    width: 250px;
    height: 59px;
}
.aboutInner .zissekiBox .linkBtn1 span{
    margin-right: 27px;
}
.aboutInner .zissekiBox .right{
    width: 64%;
}
.aboutInner .zissekiBox .right li{
    display: flex;
    padding: 43px 0;
    border-bottom: 1px solid #B2B2B2;
}
.aboutInner .zissekiBox .right li:first-child{
    border-top: 1px solid #B2B2B2;
}
.aboutInner .zissekiBox .right li .title{
    width: 20%;
    font-weight: 600;
}
.aboutInner .zissekiBox .right li .text{
    width: 80%;
}
.worksListWrap .titTxt{
    font-size: 1.35vw;
    padding-bottom: 2.5vw;
    margin-bottom: 2.6vw;
    border-bottom: 1px solid #B2B2B2;
}
.pageabout .worksList{
    gap: 4.9vw 2.76vw;
    padding-bottom: 4.32vw;
    border-bottom: 1px solid #B2B2B2;
    margin-bottom: 8.49vw;
}
.pageabout .worksList h3{
    font-size: 18px;
    margin-bottom: 27px;
    letter-spacing: 0;
}
.pageabout .worksList .tagName{
    font-size: 10px;
    font-weight: 500;
    font-family: "Noto Sans", sans-serif;
    color: #fff;
    padding: 3px 8px;
    background-color: #2C493B;
    border-radius: 12px;
    width: fit-content;
}
.contactBnr{
    background: url('/wp-content/themes/a/img/bg_contactBnr.jpg') no-repeat center;
    background-size: cover;
    justify-content: space-between;
    align-items: center;
    aspect-ratio: 1287 / 353;
    padding: 0 8% 0 6%;
    box-sizing: border-box;
}
.contactBnr .left *{
    color: #fff;
}
.contactBnr .titTxt{
    font-size: 3.33vw;
    margin-bottom: 1.46vw;
    font-family: "Marcellus", serif;
    line-height: 1;
}
.contactBnr .subTit{
    font-size: 22px;
    margin-bottom: 1.25vw;
}
.contactBnr .text{
    font-size: 15px;
    font-family: "Noto Sans", sans-serif;
}
.contactBnr .right a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    width: 319px;
    height: 73px;
    padding: 0 8%;
    box-sizing: border-box;
    border-radius: 5px;
    font-weight: 600;
    font-family: "Noto Sans", sans-serif;
    margin-bottom: 12px;
    transition: .3s;
}
.contactBnr .right a:hover{
    background-color: #000;
    color: #fff;
}
.contactBnr .right a .iconWrap{
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.contactBnr .right a:hover .iconWrap{
    background-color: #fff;
}
.contactBnr .right a .iconWrap span{
    width: 22px;
    height: 22px;
    display: block;
    background: url('/wp-content/themes/a/img/linkArrow.svg');
    background-size: contain;
}
.contactBnr .right a:hover .iconWrap span{
    background: url('/wp-content/themes/a/img/linkArrow_g.svg');
    background-size: contain;
}
.contactBnr .right .note{
    font-size: 12px;
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
    color: #fff;
}
.topLink{
    display: flex;
    align-items: center;
    margin-left: 8.85vw;
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
}
.topLink .iconWrap{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #2C493B;
    margin-right: 7px;
    transition: .3s;
}
.topLink:hover .iconWrap{
    background-color: #fff;
}
.topLink .iconWrap span{
    width: 18px;
    height: 18px;
    display: block;
    background: url('/wp-content/themes/a/img/linkArrow.svg');
    background-size: contain;
    transform: rotate(180deg);
}
.topLink:hover .iconWrap span{
    background: url('/wp-content/themes/a/img/linkArrow_g.svg');
    background-size: contain;
}
.pagePrivacy{
    padding-bottom: 9.27vw;
}
.pagePrivacy .subMvWrap{
    margin-bottom: 11vw;
}
.privacyBlock1{
    width: 82.4vw;
    max-width: 1582px;
    margin: 0 auto 6.88vw;
}
.privacyBlock1 .note{
    margin-bottom: 5.47vw;
}
.privacyBlock1 .box1{
    margin-bottom: 4.74vw;
}
.privacyBlock1 .box1:last-child{
    margin-bottom: 0;
}
.privacyBlock1 .box1 h2{
    font-size: 1.25vw;
    font-weight: 600;
    margin-bottom: 1vw;
}
.pageContact .subMvWrap{
    margin-bottom: 10.16vw;
}
.contactBlock1{
    width: 90%;
    max-width: 1080px;
    margin: 0 auto 6vw;
}
.contactBlock1 .mainTxt{
    margin-bottom: 17px;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.contactBlock1 .text{
    font-size: 12px;
    font-family: "IBM Plex Sans JP", sans-serif;
    margin-bottom: 3.02vw;
    color: #5F5F5F;
}
.contactBlock1 .telNum{
    font-family: "IBM Plex Sans JP", sans-serif;
    margin-bottom: 3.8vw;
    display: block;
}
.contactWrap ul{
    margin-bottom: 4.84vw;
}
.contactWrap li{
    border-bottom: 1px solid #D3DFD6;
}
.contactWrap li:first-child{
    border-top: 1px solid #D3DFD6;
}
.contactWrap li .title{
    width: 24%;
    background-color: #D3DFD6;
    padding: 0 0 0 2%;
    box-sizing: border-box;
    font-weight: 600;
    font-family: "IBM Plex Sans JP", sans-serif;
    display: flex;
    align-items: center;
}
.contactWrap li .title .hissu{
    font-size: 11px;
    font-weight: 500;
    font-family: "IBM Plex Sans JP", sans-serif;
    display: block;
    color: #fff;
    padding: 5px 11px;
    background-color: #2C493B;
    width: fit-content;
    margin-left: 1em;
    align-items: center;
}
.contactWrap li .inputWrap{
    width: 76%;
    padding: 32px 0 32px 3%;
    box-sizing: border-box;
}
.contactWrap li .df{
    justify-content: space-between;
    padding: 32px 0 32px 3%;
    width: 76%;
    box-sizing: border-box;
}
.contactWrap li .df .inputWrap{
    padding: 0;
    width: 49%;
}
.contactWrap select{
    display: block;
    width: 100%;
    background-color: #E4EAE1;
    border: 1px solid #A2ADA5;
    padding: 30px 13px;
    box-sizing: border-box;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.contactWrap input[type="text"],
.contactWrap input[type="tel"],
.contactWrap input[type="email"]{
    display: block;
    width: 100%;
    background-color: #E4EAE1;
    border: 1px solid #A2ADA5;
    padding: 30px 13px;
    box-sizing: border-box;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.contactWrap textarea{
    display: block;
    width: 100%;
    aspect-ratio: 788 / 343;
    background-color: #E4EAE1;
    border: 1px solid #A2ADA5;
    padding: 30px 13px;
    box-sizing: border-box;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.wpcf7-not-valid-tip {
    font-size: 14px;
    margin-top: 6px;
    font-weight: 700;
}
.wpcf7-response-output, 
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    text-align: center;
    padding: 20px 0;
    background: #fff;
}
.agree{
    margin-bottom: 1.98vw;
}
.agree p{
    text-align: center;
}
.agree p span{
    font-family: "IBM Plex Sans JP", sans-serif;
}
.agree p span a{
    font-family: "IBM Plex Sans JP", sans-serif;
    text-decoration: underline;
}
.subMit{
    width: 391px;
    height: 84px;
    margin: 0 auto;
    position: relative;
}
.subMit p{
    height: 100%;
}
.subMit input[type="submit"]{
    width: 100%;
    height: 100%;
    display: block;
    background-color: #2C493B;
    color: #fff;
    font-weight: 600;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.catrgoryContainer{
    width: 82.5vw;
    max-width: 1584px;
    margin: 0 auto 8.54vw;
}
.catrgoryContainer .categoryContent{
    width: 25%;
}
.catrgoryContainer .catTit{
    font-size: 2.18vw;
    font-weight: 400;
    margin-bottom: 2.71vw;
}
.catrgoryContainer .catList a{
    display: block;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 7px;
    width: fit-content;
}
.catrgoryContainer .catList a.active{
    background-color: #2C493B;
    color: #fff;
    padding: 5px 9px;
    box-sizing: border-box;
    border-radius: 6px;
}
.catrgoryContainer .catList a:last-child{
    margin: 0;
}
.catrgoryContainer .catList .box1{
    margin-bottom: 1.88vw;
}
.catrgoryContainer .tagList .titTxt{
    font-size: 18px;
    margin-bottom: 9px;
    display: flex;
    align-items: center;
}
.catrgoryContainer .tagList .titTxt span{
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2C493B;
    margin-right: 8px;
}
.catrgoryContainer .worksContent{
    width: 75%;
    padding-top: 2.86vw;
}
.pageWorks .worksList{
    padding-bottom: 2.97vw;
}
.pageWorks .worksList{
    gap: 2.97vw 2.55vw;
}
.pager{
    width: fit-content;
    margin: 3.18vw auto 0;
    display: flex;
    align-items: center;
}
.pager .page-numbers{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 41px;
    background-color: #fff;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #000;
    margin-right: 11px;
}
.pager .page-numbers:last-child{
    margin-right: 0;
}
.pager .page-numbers.current{
    background-color: #2C493B;
    color: #fff;
}
.topicsContent{
    width: 75%;
}
.topicsList li{
    border-bottom: 1px solid #B2B2B2;
}
.topicsList li:first-child{
    border-top: 1px solid #B2B2B2;
}
.topicsList li a{
    padding: 1.72vw 0;
    align-items: flex-start;
}
.topicsList li a .imgBox{
    width: 25%;
    aspect-ratio: 295 / 225;
    overflow: hidden;
}
.topicsList li a .imgBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.topicsList li a:hover .imgBox img{
    transform: scale(1.05);
}
.topicsList li a .postInfoWrap{
    width: 75%;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 4% 0 7%;
    box-sizing: border-box;
    align-self: stretch;
}
.topicsList li a .postInfoWrap .postInfo{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-self: stretch;
    padding: 23px 0;
}
.topicsList li a .postInfoWrap .postInfo h3{
    font-size: 1.2vw;
}
.topicsList li a .postInfoWrap .postInfo .postDetail p{
    font-weight: 500;
    color: #5F5F5F;
}
.topicsList li a .postInfoWrap .postInfo .postDetail .date{
    padding-right: 0.5em;
    margin-right: 0.5em;
    border-right: 1px solid #5F5F5F;
}
.topicsList li a .moreLink{
    font-weight: 500;
    display: flex;
    align-items: center;
}
.topicsList li a .moreLink .iconWrap{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 9px;
    transition: .3s;
}
.topicsList li a:hover .moreLink .iconWrap{
    background-color: #2C493B;
}
.topicsList li a .moreLink .iconWrap span{
    display: block;
    width: 18px;
    height: 18px;
    background: url('/wp-content/themes/a/img/linkArrow_g.svg');
    background-size: contain;
}
.topicsList li a:hover .moreLink .iconWrap span{
    background: url('/wp-content/themes/a/img/linkArrow.svg');
    background-size: contain;
}
.pageSinge{
    background-color: #E4EAE1;
}
.singleContainer{
    width: 75%;
}
.singleContent{
    padding: 4.06vw 9.6% 5.57vw;
    background-color: #F2F8ED;
    margin-bottom: 6.04vw;
}
.singleContent .postDetail{
    margin-bottom: 14px;
}
.singleContent .postDetail .date{
    font-weight: 500;
    margin-right: 1.77vw;
}
.singleContent .postDetail .catName{
    padding: 1px 5px;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    background-color: #2C493A;
    border-radius: 1px;
}
.singleContent h1{
    font-size: 1.67vw;
    font-weight: 500;
    padding-bottom: 1.56vw;
    margin-bottom: 2.19vw;
    border-bottom: 2px solid #B7B7B7;
}
.singleContent .postThumb{
    display: block;
    margin-bottom: 3.13vw;
}
.contentWrap{
    padding-bottom: 3.75vw;
    border-bottom: 2px solid #B7B7B7;
    margin-bottom: 2.5vw;
}
.contentWrap h2{
    font-size: 24px;
    font-weight: 500;
}
.contentWrap p {
    margin-bottom: 20px;
}
.contentWrap img {
    height: auto;
}
.postPrevNext{
    justify-content: space-between;
    align-items: center;
}
.postPrevNext a{
    font-weight: 500;
}
.postPrevNext .noPost{
    pointer-events: none;
    color: #ccc;
}
.postPrevNext .prev,
.postPrevNext .next{
    display: flex;
    justify-content: center;
    align-items: center;
}
.postPrevNext .prev img,
.postPrevNext .next img{
    display: block;
    width: 16px;
    height: 11px;
}
.postPrevNext .prev img{
    transform: rotate(180deg);
}
.topicsListWrap .titTxt{
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 2.5vw;
}
.pageSinge .worksListWrap{
    margin-bottom: 8.75vw;
}
.pageCompany .subTit{
    color: #FFFFFF;
}
.pageCompany .subTit span{
    color: #FFFFFF;
}
.pageCompany .pankuzu,
.pageCompany .pankuzu a{
    color: #FFFFFF;
}
.companyContainer{
    width: 82.19vw;
    max-width: 1578px;
    margin: 0 auto;
}
.companyContainer .ankerList{
    width: 18%;
}
.companyContainer .companyWrap{
    width: 82%;
}
.companyContainer .companyInner h2{
    font-size: 2.81vw;
    font-weight: 400;
    font-family: "Marcellus", serif;
    color: #2C493B;
}
.companyContainer .companyInner h2 span{
    font-size: 16px;
    font-weight: 900;
    color: #000000;
    margin-top: 6px;
    display: block;
}
.companyContainer .companyInner.no1{
    margin-bottom: 6.82vw;
}
.companyContainer .companyInner.no1 h2{
    margin-bottom: 5.89vw;
}
.companyContainer .companyInner.no1 .box1{
    margin-bottom: 3.54vw;
}
.companyContainer .companyInner.no1 .box1.last{
    margin-bottom: 5.52vw;
}
.companyContainer .companyInner.no1 .box1 h3{
    font-size: 1.35vw;
    font-weight: 500;
    color: #000;
    padding-bottom: 1.51vw;
    border-bottom: 1px solid #B2B2B2;
    margin-bottom: 1.41vw;
}
.companyContainer .companyInner.no1 .box1 p{
    font-size: 15px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.01em;
}
.companyContainer .companyInner.no1 .ceo{
    text-align: right;
    font-size: 24px;
    font-weight: 500;
}
.companyContainer .companyInner.no1 .ceo span{
    display: block;
    font-size: 18px;
    font-weight: 500;
}
.companyContainer .companyInner.no2{
    margin-bottom: 9.27vw;
}
.companyContainer .companyInner.no2 h2{
    margin-bottom: 4.38vw;
}
.companyContainer .companyInner.no2 ul{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.51vw 1.41vw;
}
.companyContainer .companyInner.no2 ul li{
    background-color: #E5EBDF;
    padding: 3.23vw 10.2% 2.81vw;
}
.companyContainer .companyInner.no2 ul li .num{
    text-align: center;
    font-size: 2.14vw;
    color: #2C493B;
    font-family: "Marcellus", serif;
    margin-bottom: 1.72vw;
}
.companyContainer .companyInner.no2 ul li h3{
    font-size: 1.25vw;
    margin-bottom: 1.67vw;
    text-align: center;
}
.companyContainer .companyInner.no2 ul li h3 br.sp{
    display: none;
}
.companyContainer .companyInner.no2 ul li .text{
    font-size: 15px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.01em;
}
.companyContainer .companyInner.no3{
    margin-bottom: 4.11vw;
}
.companyContainer .compamyImg1{
    margin-bottom: 10.89vw;
}
.companyContainer .companyInner.no3 h2{
    margin-bottom: 5.52vw;
}
.companyContainer .companyInner.no3 li{
    padding: 2.24vw 0;
    border-bottom: 1px solid #B2B2B2;
    align-items: center;
}
.companyContainer .companyInner.no3 li:first-child{
    border-top: 1px solid #B2B2B2;   
}
.companyContainer .companyInner.no3 ul .title{
    width: 22%;
}
.companyContainer .companyInner.no3 ul .text{
    width: 78%;
}
.companyContainer .companyInner.no4{
    margin-bottom: 12.03vw;
}
.companyContainer .companyInner.no4 h2{
    margin-bottom: 2.97vw;
}
.companyContainer .companyInner.no4 .mapWrap{
    aspect-ratio: 1287 / 542;
    margin-bottom: 2.97vw;
}
.companyContainer .companyInner.no4 .mapWrap iframe {
    width: 100%;
    height: 100%;
}
.companyContainer .companyInner.no4 .note{
    font-size: 1.04vw;
    font-weight: 500;
}
.companyContainer .companyInner.no4 .note span{
    font-size: 16px;
    font-weight: 500;
    display: block;
    margin-top: 8px;
}
.companyContainer .companyInner.no5{
    margin-bottom: 9.58vw;
}
.companyContainer .companyInner.no5 h2{
    margin-bottom: 5.52vw;
}
.companyContainer .companyInner.no5 li{
    padding: 2.24vw 0;
    border-bottom: 1px solid #B2B2B2;
    align-items: center;
}
.companyContainer .companyInner.no5 li:first-child{
    border-top: 1px solid #B2B2B2;
}
.companyContainer .companyInner.no5 li .year{
    font-weight: 500;
    width: 14%;
}
.companyContainer .companyInner.no5 li .month{
    font-weight: 500;
    width: 14%;
}
.companyContainer .companyInner.no5 li .text{
    width: 72%;
}
.pageCivil .aboutInner .icons.no1 li img{
    margin-bottom: 35px;
    width: 125px;
}
.pageEarthwork .aboutInner .icons.no1 li img{
    margin-bottom: 40px;
    width: 99px;
}
.pageabout .worksListWrap .titTxt .subTxt{
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    margin-top: 2.24vw;
}
.wrap404{
    height: 50vh;
    position: relative;
}
.text404{
    font-size: 20px;
    font-weight: 700;
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}
@media (width < 1500px){
    .aboutBlock2{
        width: 90%;
    }
    .aboutInner .icons p{
        font-size: 14px;
    }
}
@media (width < 1280px){
    .footerBlock1Inner{
        flex-direction: column;
    }
    .footerBlock1Inner .logo{
        margin-bottom: 53px;
    }
    .footerBlock1Inner .footLinkWrap{
        justify-content: space-between;
    }
    .topBlock1Inner{
        width: 90%;
    }
    .topBlock2Inner1{
        width: 95%;
    }
    .topBlock2Inner2{
        width: 90%;
    }
    .topBlock3Inner{
        width: 90%;
    }
    .topBlock4 .tit1{
        margin-left: 5%;
    }
    .topBlock4Inner{
        width: 90%;
    }
    .topBlock5{
        width: 90%;
    }
    .topBlock6{
        width: 90%;
    }
    .topBlock5 .postList li a{
        flex-wrap: wrap;
    }
    .topBlock5 .postList li a h3{
        width: 100%;
        margin-top: 9px;
    }
    .privacyBlock1{
        width: 90%;
    }
    .privacyBlock1 .box1 h2{
        font-size: 20px;
    }
    .companyContainer{
        width: 90%;
    }
}
@media (width < 1100px){
    .topBlock3Inner{
        flex-direction: column;
    }
    .topBlock3Inner .left{
        width: 100%;
    }
    .topBlock3Inner .left .sideCatLIst{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .topBlock3Inner .left .sideCatLIst li{
        margin-bottom: 0;
        margin-right: 9px;
    }
    .topBlock3Inner .worksList{
        width: 100%;
        margin-bottom: 40px;
    }
    .topBlock3 .linkBtn1.pc{
        display: none;
    }
    .topBlock3 .linkBtn1.sp{
        display: flex;
        margin-left: 5%;
    }
    .worksList li h3{
        font-size: 16px;
    }
    .topBlock5{
        flex-direction: column;
    }
    .topBlock5 .tit1{
        width: 100%;
        margin-bottom: 46px;
    }
    .topBlock5 .postList{
        width: 100%;
    }
    .topBlock6{
        flex-direction: column;
    }
    .topBlock6 .tit1{
        width: 100%;
        margin-bottom: 46px;
    }
    .topBlock6 ul{
        width: 100%;
        grid-template-columns: 1fr;
        gap: 11px;
    }
    .followWrap .linkWrap{
        width: 90%;
    }
    header.pc{
        display: none;
    }
    header.sp{
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        box-sizing: border-box;
        z-index: 997;
        padding: 14px 5%;
    }
    header.sp h1{
        width: 133px;
    }
    header.sp .telBtn{
        margin: 0 0 0 auto;
    }
    header.sp .telBtn .green{
        display: none;
    }
    header.sp.down .telBtn .white{
        display: none;
    }
    header.sp.down .telBtn .green{
        display: block;
    }
    .hbWrap{
        width: 20px;
        height: 20px;
        margin: 0 0 0 14px;
    }
    .hbBtn{
        display: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        z-index: 999;
    }
    .hbBtn span{
        width: 100%;
        height: 3px;
        background-color: #fff;
        display: block;
        margin-bottom: 4px;
        transition: .3s;
    }
    .down .hbBtn span{
        background-color: #2C493B;
    }
    .hbWrap.on .hbBtn span{
        background-color: #fff;
    }
    .hbBtn span:last-child{
        margin-bottom: 0;
    }
    .hbWrap.on .hbBtn span:nth-child(1){
        transform: rotate(30deg);
        margin-bottom: -3px;
    }
    .hbWrap.on .hbBtn span:nth-child(2){
        display: none;
    }
    .hbWrap.on .hbBtn span:nth-child(3){
        transform: rotate(-30deg);
    }
    .hbMenu{
        position: fixed;
        top: 0;
        left: 100%;
        width: 100%;
        height: 100vh;
        background-color: #2C493B;
        padding:  68px 8% 26px;
        box-sizing: border-box;
        z-index: 998;
        overflow-y: scroll;
        transition: .3s;
    }
    .hbWrap.on .hbMenu{
        left: 0;
    }
    .hbBox{
        align-items: flex-start;
        margin-bottom: 42px;
    }
    .hbBox:last-child{
        margin-bottom: 0;
    }
    .hbMenu .logo{
        width: 230px;
        margin-bottom: 53px;
    }
    .hbMenu nav{
        margin-bottom: 55px;
    }
    .hbBox .titLink{
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        display: block;
        margin-right: 29.23vw;
        white-space: nowrap;
    }
    .hbBox ul li{
        margin-bottom: 7px;
    }
    .hbBox ul a{
        font-size: 16px;
        font-weight: 500;
        color: #fff;
        white-space: nowrap;
    }
    .hbMenu .headContact{
        background-color: #fff;
        width: 100%;
        margin: 0 auto 49px;
        height: 59px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        font-family: "Noto Sans", sans-serif;
        font-size: 15px;
        font-weight: 500;
    }
    .hbMenu .headContact img{
        display: block;
        margin-right: 27px;
    }
    .hbAddress{
        margin-bottom: 34px;
    }
    .hbAddress .title{
        color: #fff;
        font-weight: 700;
        margin-bottom: 13px;
    }
    .hbAddress .address{
        font-weight: 500;
        color: #fff;
        margin-bottom: 5px;
    }
    .hbAddress .hbTel{
        color: #fff;
        font-weight: 500;
    }
    .hbAddress .fax{
        color: #fff;
        font-weight: 500;
    }
    .hbAddress .hbTel{
        color: #fff;
        font-weight: 500;
    }
    .hbMenu .snsBox{
        margin-bottom: 58px;
    }
    .hbMenu .snsBox > p{
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 11px;
    }
    .hbMenu .snsBoxInner{
        display: flex;
    }
    .hbMenu .snsBoxInner a{
        display: block;
        margin-right: 25px;
    }
    .hbMenu .snsBoxInner a:last-child{
        margin-right: 0;
    }
    .hbMenu .prapolyLink{
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        display: block;
        margin-bottom: 10px;
    }
    .hbMenu .copy{
        font-size: 12px;
        font-weight: 500;
        color: #fff;
    }
    .footerBlock1Inner .footLinkWrap{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 48px 34px;
    }
    .topBlock2Inner2 ul{
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .footerBlock2{
        flex-direction: column;
    }
    .footerBlock2 .companyDetail{
        order: 1;
        margin-bottom: 34px;
        margin-right: 0;
    }
    .footerBlock2 .snsLinks{
        order: 2;
        margin-bottom: 56px;
    }
    .footerBlock2 .box1{
        order: 3;
        margin-right: 0;
    }
    .topBlock6 ul li h3{
        font-size: 22px;
    }
    .aboutBlock1{
        width: 90%;
        flex-direction: column;
    }
    .aboutBlock1 .left{
        width: 100%;
        padding-right: 0;
        margin-bottom: 67px;
    }
    .aboutBlock1 .left .tit1{
        margin-bottom: 41px;
    }
    .aboutBlock1 .left h3{
        font-size: 32px;
        margin-bottom: 43px;
    }
    .aboutBlock1 .right{
        width: 100%;
    }
    .aboutBlock2{
        flex-direction: column;
        width: 100%;
    }
    .ankerList{
        position: static;
        width: 90%;
        margin: 0 auto 49px;
    }
    .ankerList a{
        width: 100%;
        background-color: #B3E6CE;
        padding: 15px 13px;
        border-radius: 6px;
        box-sizing: border-box;
    }
    .aboutContent{
        width: 100%;
    }
    .aboutInner{
        margin-bottom: 80px;
    }
    .aboutInner h4{
        font-size: 38px;
        width: 90%;
        margin: 0 auto 23px;
    }
    .aboutInner .txtBox{
        flex-direction: column;
        width: 90%;
        margin: 0 auto 39px;
    }
    .aboutInner .txtBox h5{
        font-size: 26px;
        width: 100%;
        margin-bottom: 20px;
    }
    .aboutInner .txtBox p{
        width: 100%;
    }
    .aboutInner .icons{
        grid-template-columns: 1fr 1fr;
        gap: 11px 8px;
        width: 90%;
        max-width: 90%;
        margin: 0 auto 85px;
    }
    .aboutInner .zissekiBox{
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }
    .aboutInner .zissekiBox .left{
        display: contents;
    }
    .aboutInner .zissekiBox h6{
        order: 1;
        width: 100%;
        font-size: 26px;
        margin-bottom: 39px;
        min-height: auto;
    }
    .aboutInner .zissekiBox .right{
        order: 2;
        width: 100%;
        margin-bottom: 45px;
    }
    .aboutInner .zissekiBox .linkBtn1{
        order: 3;
    }
    .pageabout .worksListWrap{
        width: 90%;
        margin: 0 auto;
    }
    .worksListWrap .titTxt{
        font-size: 26px;
        padding-bottom: 48px;
        margin-bottom: 50px;
    }
    .contactBnr{
        width: 100%;
        margin: 0 auto;
        flex-direction: column;
        padding: 58px 5% 47px;
        background: url('/wp-content/themes/a/img/bg_contactBnr_sp.jpg') no-repeat center;
        background-size: cover;
    }
    .pageLandscape .contactBnr,
    .pageCivil .contactBnr,
    .pageEarthwork .contactBnr{
        width: 90%;
    }

    .contactBnr .left{
        width: 100%;
        margin-bottom: 33px;
    }
    .contactBnr .right{
        width: 100%;
    }
    .pageSub{
        padding-top: 81px;
    }
    .catrgoryContainer{
        width: 90%;
        flex-direction: column;
    }
    .catrgoryContainer .categoryContent{
        width: 100%;
        margin-bottom: 40px;
    }
    .catrgoryContainer .catList .box1 a{
        width: 100%;
        background-color: #B3E6CE;
        padding: 14px 13px 15px;
        box-sizing: border-box;
        margin-bottom: 8px;
        border-radius: 6px;
    }
    .catrgoryContainer .catList .box1 a.active{
        background-color: #2C493B;
    }
    .catrgoryContainer .worksContent{
        width: 100%;
        padding-top: 0;
    }
    .singleContainer{
        width: 100%;
    }
    .topicsContent{
        width: 100%;
    }
    .companyContainer{
        flex-direction: column;
    }
    .companyContainer .ankerList{
        width: 100%;
        margin-bottom: 60px;
    }
    .companyContainer .companyWrap{
        width: 100%;
    }
    .companyContainer .companyInner.no1 .box1 h3 {
        font-size: 20px;
        margin-top: 60px;
    }
    .companyContainer .companyInner.no1 .ceo{
        font-size: 20px;
    }
    .companyContainer .companyInner.no2 ul li h3{
        font-size: 18px;
    }
}
@media (width < 820px) {
    .mv{
        height: 100vh;
    }
    .mvWrap .topTit{
        top: 63.85vw;
        left: 4.1vw;
        font-size: 32px;
        white-space: nowrap;
    }
    .mvWrap .topTit .topTit__enLine{
        font-size: 19px;
    }
    .mvWrap .newsWrap{
        bottom: 38.97vw;
    }
    .mvWrap .newsWrap .date{
        margin-right: 14px;
    }
    .mvWrap .recruitBnr {
        width: 93%;
        right: auto;
        left: 50% !important;
        transform: translateX(-50%) !important;
        bottom: 6.92vw;
        position: absolute;
    }
    .tit1 .titIcon{
        margin-right: 14px;
    }
    .topBlock1{
        padding: 72px 0 119px;
    }
    .topBlock1Inner{
        flex-flow: column;
    }
    .topBlock1Inner .left{
        width: 100%;
        padding-right: 0;
        margin-bottom: 63px;
    }
    .topBlock1Inner .left .tit1{
        margin-bottom: 41px;
    }
    .topBlock1Inner .left h3{
        font-size: 32px;
        margin-bottom: 41px;
    }
    .topBlock1Inner .left h3 br{
        display: inline;
    }
    .topBlock1Inner .left > p {
        line-height: 28px;
        margin-bottom: 41px;
        text-align: justify;
    }
    .topBlock1Inner .left .linkBtn1 .iconArrow {
        margin-right: 8vw;
    }
    .topBlock1Inner .right{
        width: 100%;
    }
    .topBlock2{
        padding: 97px 0 58px;
    }
    .topBlock2Inner1 .left .tit1{
        margin-bottom: 65px;
    }
    .topBlock2Inner1{
        flex-direction: column;
        margin-bottom: 47px;
    }
    .topBlock2Inner1 .left h3{
        font-size: 32px;
        margin-bottom: 41px;
    }
    .topBlock2Inner1 .left{
        width: 100%;
        padding-right: 5%;
        margin-bottom: 43px;
    }
    .topBlock2Inner1 .right{
        width: 100%;
    }
    .topBlock2Inner2 .titTxt{
        margin-bottom: 26px;
    }
    .topBlock2Inner2 ul li{
        padding: 44px 0 45px;
    }
    .topBlock2Inner2 ul li .num{
        margin-bottom: 15px;
    }
    .topBlock2Inner2 ul li h3{
        margin-bottom: 15px;
    }
    .topBlock2Inner2 ul li p {
        width: 81%;
        margin-bottom: 26px;
        text-align: justify;
    }
    .contactBlock{
        flex-direction: column;
        padding: 81px 0 72px;
    }
    .contactBlock li{
        margin-right: 0;
        margin-bottom: 43px;
    }
    .contactBlock li:last-child{
        margin-bottom: 0;
    }
    .contactBlock li > p{
        margin-bottom: 23px
    }
    .contactBlock li .linkBtn1{
        margin: 0 auto;
    }
    .contactBlock li .telLink1{
        margin: 0 auto;
    }
    .contactBlock li .iconTel{
        margin-right: 13px;
    }
    .topBlock3{
        padding: 63px 0 70px;
    }
    .topBlock3Inner .left .tit1{
        margin-bottom: 46px;
    }
    .topBlock3Inner .left h3{
        font-size: 54px;
        margin-bottom: 25px;
    }
    .topBlock3Inner .left .sideCatLIst li.active a{
        font-size: 12px;
    }
    .topBlock3Inner .worksList{
        grid-template-columns: 1fr;
    }
    .linkBtn1 .iconArrow {
        margin-right: 1em !important;
    }
    .topBlock3Inner .worksList li:first-child{
        margin-bottom: 43px;
    }
    .topBlock3Inner .worksList li:first-child .hoverImg{
        margin-bottom: 17px;
    }
    .topBlock3Inner .worksList li:first-child .postDetail{
        margin-bottom: 6px;
    }
    .topBlock3Inner .worksList li:nth-child(n+2){
        margin-bottom: 17px;
    }
    .topBlock3Inner .worksList li:last-child{
        margin-bottom: 0;
    }
    .topBlock3Inner .worksList li:nth-child(n+2) a{
        display: flex;
    }
    .topBlock3Inner .worksList li:nth-child(n+2) a .hoverImg{
        width: 34%;
    }
    .topBlock3Inner .worksList li:nth-child(n+2) a .txtBox{
        width: 66%;
        padding-left: 5%;
        box-sizing: border-box;
    }
    .topBlock3Inner .worksList li:nth-child(n+2) a .txtBox .postDetail{
        margin-bottom: 10px;
    }
    .topBlock4{
        padding: 44px 0 58px;
        background: linear-gradient( transparent 0, transparent 33%, #7B531E 33%, #7B531E 100%);
        margin-bottom: 72px;
    }
    .topBlock4 .tit1{
        margin-bottom: 73px;
    }
    .topBlock4 > h3{
        font-size: 39px;
        margin-bottom: 51px;
    }
    .topBlock4 > h3:after{
        margin-top: 29px;
    }
    .topBlock4Inner{
        flex-direction: column;
        border-radius: 22px;
        padding: 54px 5% 59px;
    }
    .topBlock4Inner .left{
        width: 100%;
        padding-right: 0;
        margin-bottom: 27px;
    }
    .topBlock4Inner .left h4{
        font-size: 34px;
        margin-bottom: 27px;
        text-align: center;
    }
    .topBlock4Inner .left h4 br{
        display: inline;
    }
    .topBlock4Inner .left p {
        line-height: 24px;
        margin-bottom: 27px;
        text-align: justify;
    }
    .topBlock4Inner .left .linkBtn1{
        margin: 0 auto;
    }
    .topBlock4Inner .right{
        width: 100%;
    }
    .followWrap .linkWrap {
        grid-template-columns: 1fr;
        gap: 10px;
        width: 80%;
        margin: auto;
    }
    .topBlock5{
        margin-bottom: 88px;
    }
    .topBlock5 .postList li a{
        padding: 20px 0;
    }
    .topBlock6 ul li{
        padding: 46px 0;
    }
    .topBlock6 ul li p{
        letter-spacing: 0;
        margin-bottom: 32px;
    }
    .topBlock6 ul li p br{
        display: none;
    }
    .topBlock6 ul li h3{
        margin-bottom: 32px;
    }
    .footerBlock1Inner .logo{
        width: 230px;
    }
    footer{
        padding: 76px 0 33px;
    }
    .footerBlock1{
        margin-bottom: 34px;
    }
    .footerBlock1Inner{
        padding: 0 5%;
    }
    .footerBlock2{
        padding: 0 5%;
    }
    .footerBlock2 .snsLinks a{
        margin-right: 25px;
    }
    .backPageTop{
        right: 9px;
        bottom: 23px;
    }
    .aboutInner .icons p{
        font-size: 12px;
    }
    .subMvWrap{
        margin-bottom: 92px;
    }
    .subMv{
        aspect-ratio: 392/173;
        margin-bottom: 12px;
    }
    .subMv img{
        height: 100%;
        object-fit: cover;
    }
    .subMvWrap .subTit{
        font-size: 34px;
        top: 50%;
        left: 5%;
        transform: translateY(-50%);
    }
    .subMvWrap .subTit span{
        font-size: 10px;
    }
    .subMvWrap .pankuzu{
        position: static;
        margin-left: 5%;
    }
    .aboutBlock1 .left h3{
        letter-spacing: 0;
    }
    .aboutBlock1 .left h3 br{
        display: none;
    }
    .aboutInner .aboutInnerSlide{
        aspect-ratio: 390 / 290;
        margin-bottom: 36px;
    }
    .aboutInner .aboutInnerSlide img{
        object-fit: cover;
        height: 100%;
    }
    .aboutInner .icons.no2 li img {
        margin: 0 auto 12px;
    }
    .aboutInner .icons.no3 li img {
        margin: 0 auto 18px;
    }
    .pageCivil .aboutInner .icons.no1 li img {
        margin-bottom: 13px;
        width: 110px;
    }
    .pageEarthwork .aboutInner .icons.no1 li img {
        margin-bottom: 16px;
        width: 87px;
    }
    .aboutInner .zissekiBox .right li{
        flex-direction: column;
        padding: 26px 0;
    }
    .aboutInner .zissekiBox .right li .title{
        width: 100%;
        margin-bottom: 13px;
    }
    .aboutInner .zissekiBox .right li .text{
        width: 100%;
        font-size: 15px;
    }
    .pageabout .worksList{
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 80px;
        padding-bottom: 60px;
    }
    .pageabout .worksList h3{
        margin-bottom: 10px;
    }
    .contactBnr .right a{
        width: 100%;
    }
    .contactBnr .titTxt{
        font-size: 54px;
        margin-bottom: 28px;
    }
    .contactBnr .subTit{
        margin-bottom: 24px;
    }
    .contactBnr .text br{
        display: none;
    }
    .aboutBlock2{
        margin-bottom: 80px;
    }
    .pageSub{
        padding-bottom: 80px;
    }
    .pageCategory .subMvWrap{
        margin-bottom: 55px;
    }
    .catrgoryContainer .catTit{
        font-size: 42px;
        margin-bottom: 30px;
    }
    .catrgoryContainer .catList .box1{
        margin-bottom: 30px;
    }
    .tagListInner{
        display: flex;
        flex-wrap: wrap;
    }
    .tagListInner a{
        display: block;
        margin-right: 1em;
    }
    .singleContent{
        padding: 60px 5%;
        margin-bottom: 120px;
    }
    .singleContent h1{
        font-size: 26px;
        padding-bottom: 40px;
        margin-bottom: 40px;
    }
    .contentWrap{
        padding-bottom: 40px;
        margin-bottom: 40px;
    }
    .postPrevNext{
        flex-wrap: wrap;
    }
    .postPrevNext .prev{
        order: 1;
        width: 48%;
    }
    .postPrevNext .next{
        order: 2;
        width: 48%;
    }
    .postPrevNext .backList{
        width: 100%;
        order: 3;
        text-align: center;
        margin-top: 20px;
    }
    .contentWrap p{
        font-size: 14px;
    }
    .topicsList li a .imgBox {
        width: 30%;
    }
    .topicsList li a {
        align-items: center;
        padding: 12px 0;
    }
    .topicsList li a .postInfoWrap {
        flex-direction: column;
        padding: 0 0 0 4%;
        width: 70%;
    }
    .topicsList li a .postInfoWrap .postInfo {
        padding: 0 0 5px;
    }
    .topicsList li a .moreLink{
        font-size: 12px;
    }
    .topicsList li a .postInfoWrap .postInfo h3 {
        font-size: 14px;
        margin-bottom: 5px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .topicsList li a .postInfoWrap .postInfo .postDetail .date{
        font-size: 11px;
    }
    .topicsList li a .postInfoWrap .postInfo .postDetail p{
        font-size: 11px;
    }
    .catrgoryContainer{
        margin-bottom: 80px;
    }
    .contactWrap li{
        flex-direction: column;
    }
    .contactWrap li .title{
        width: 100%;
        justify-content: center;
        padding: 20px;
    }
    .contactWrap li .inputWrap {
        width: 100%;
        padding: 4px 0 20px;
    }
    .contactWrap select,.contactWrap input[type="text"], .contactWrap input[type="tel"], .contactWrap input[type="email"] {
        padding: 14px;
    }
    .agree{
        font-size: 14px;
        margin-bottom: 80px;
    }
    .subMit{
        width: 100%;
    }
    .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output,.wpcf7 form.sent .wpcf7-response-output {
        box-sizing: border-box;
        padding: 5%;
    }
    .contactWrap li .df {
        flex-direction: column;
        padding: 4px 0 20px;
        width: 100%;
    }
    .contactWrap li .df .inputWrap {
        width: 100%;
        margin-bottom: 4px;
    }
    .contactBlock1 .telNum{
        font-size: 14px;
    }
    .pageContact .subMvWrap{
        margin-bottom: 92px;
    }
    .contactBlock1 .text{
        margin-bottom: 17px;
    }
    .contactBlock1 .telNum{
        margin-bottom: 80px;
    }
    .contactBlock1{
        margin-bottom: 80px;
    }
    .pagePrivacy .subMvWrap{
        margin-bottom: 92px;
    }
    .privacyBlock1 .note{
        margin-bottom: 60px;
    }
    .privacyBlock1 .box1{
        margin-bottom: 60px;
    }
    .privacyBlock1{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner h2 span{
        font-size: 16px;
    }
    .companyContainer .companyInner h2{
        font-size: 32px;
    }
    .companyContainer .companyInner.no2 ul{
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .companyContainer .companyInner.no2 ul li .num{
        font-size: 18px;
        margin-bottom: 20px;
    }
    .companyContainer .companyInner.no1{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner.no2 ul li{
        padding: 40px 5%;
    }
    .companyContainer .companyInner.no2 ul li h3{
        margin-bottom: 20px;
    }
    .companyContainer .companyInner.no3 li{
        padding: 24px 0;
    }
    .pageCompany  .pankuzu,
    .pageCompany  .pankuzu a{
        color: #000;
    }
    .companyContainer .companyInner.no2{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner.no1 .ceo span{
        font-size: 14px;
    }
    .companyContainer .companyInner.no1 .ceo{
        font-size: 16px;
    }
    .companyContainer .companyInner.no3 li{
        flex-direction: column;
    }
    .companyContainer .companyInner.no3 ul .title{
        width: 100%;
        margin-bottom: 10px;
    }
    .companyContainer .companyInner.no3 ul .text{
        width: 100%;
    }
    .companyContainer .companyInner.no3{
        margin-bottom: 40px;
    }
    .companyContainer .compamyImg1{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner.no4{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner.no5{
        margin-bottom: 80px;
    }
    .companyContainer .companyInner.no5 li{
        flex-wrap: wrap;
        padding: 20px 0;
    }
    .companyContainer .companyInner.no5 li .text{
        width: 100%;
        margin-top: 5px;
    }
    .companyContainer .companyInner.no5 li .year{
        width: 30%;
    }
    .companyContainer .companyInner.no4 .mapWrap{
        height: 70vw;
        width: 100%;
    }
    .companyContainer .companyInner.no2 ul li h3 br.sp{
        display: inline;
    }
    .worksList li .hoverImg{
        margin-bottom: 12px;
    }
    .aboutInner .icons.no1 li img{
        margin-bottom: 10px;
    }
    .aboutInner h4 br{
        display: inline;
    }
    .pageSinge .worksListWrap .titTxt{
            padding-bottom: 0;
    }
    .pageSinge .worksListWrap {
        margin-bottom: 80px;
        width: 100%;
    }
    .text404{
        font-size: 16px;
    }
}