:root {
  --colorBgCorpBlueBg: #EBEDF6;
  --roundR: 2px;
  --roundSQ: 2px;
  --roundTag: 4px;
}

.under .contents,
.under .header-kv {
  margin-bottom: 3.2rem;
}

.under .contents:last-child {
  margin-bottom: 0;
}

.under .inner {
  width: min(111.2rem, 100%);
}

footer {
  padding-top: 0;
}

#breadcrumb {
  margin-bottom: 1.6rem;
}

.wrapper:has(.under) {
  padding-bottom: 0;
}

article.under {
  margin-bottom: 0;
}

.corpBlu {
  background: var(--colorBgCorpBlueBg);
}

.base.copBlu {
  background: #EBEDF6;
}

.base.wht {
  background: var(--colorWht);
}

.base.default {
  background: transparent;
}

.linkBtn.circle {
  padding: 1.2rem;
}

.linkBtn.w:hover {
  background: var(--colorSGHBlue);
}

.linkBtn {
  padding: 2rem 3.2rem;
}

.linkBtn.b.ws {
  background: var(--colorPrimary);
}

.regexp {
  font-size: 75%;
}

.recent .lists .linkBtn.circle {
  padding: 0.5rem;
}

#mega-menu {
  margin-right: 2.4rem;
}

#mega-menu .menu-list .menu-title a.list {
  line-height: inherit;
}

#mega-menu .menu-list .menu-title a.list .material-symbols-rounded {
  font-size: 1.2rem;
}

#mega-menu .menu-list .menu-title .list-btn {
  font-size: 1.8rem;
  margin-left: 0.25em;
}

#mega-menu .menu-list .menu-title .list-btn:hover {
  opacity: 0.5;
}

#mega-menu .menu-list.open .menu-title .list-btn {
  transform: rotate(45deg);
}

#mega-menu .menu-contents .sub-menu {
  max-width: 1480px;
}

#mega-menu .menu-contents .sub-menu.col5 .sub-title {
  width: calc((100% / 5) - 1.6rem);
}

#mega-menu .menu-contents .sub-menu.col6 .sub-title {
  width: calc((100% / 6) - 1.6rem);
}

#mega-menu .menu-contents .sub-menu .sub-title picture {
  aspect-ratio: 16 / 9;
}

#mega-menu .menu-contents .sub-menu .sub-title picture img {
  height: 100%;
  object-fit: cover;
  transition: all cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
}

.sub-title .lists .linkBtn.circle {
  height: auto;
  margin-left: 0.5em;
}

#mega-menu .menu-list .menu-contents {
  width: calc(100vw - 3.2rem);
}

#mega-menu .sub-title .lists .linkBtn.circle span {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-size: 1.2rem;
}

nav#global-menu {
  width: 100%;
}

.linkBtn {
  color: var(--colorSGHBlue);
}

a.linkBtn.b:hover,
.recent .lists li a:hover .linkBtn {
  border-color: var(--colorPrimary);
  background-color: var(--colorWht);
  color: var(--colorPrimary);
}

.hvr .linkBtn.w {
  background-color: var(--colorSGHBlue);
}

a.coverWrapTxt:hover .linkBtn.b.ws {
  background: var(--colorWht);
  color: var(--colorPrimary);
}

a.coverWrapTxt:hover .linkBtn.w {
  background: var(--colorPrimary);
  color: var(--colorWht);
}

.linkBtn .material-symbols-rounded {
  position: static;
  margin: 0;
}

.tag {
  border-radius: var(--roundTag);
}

.tag .material-symbols-rounded {
  font-weight: 300;
  padding: 0;
  font-size: 1.5em;
}

.tags {
  gap: 1rem;
}

.tags li,
.tags fieldset {
  gap: 1rem;
}

.tags li .tag {
  margin-right: 0;
}

.tags .tag.fill {
  background: var(--colorPrimary);
  color: var(--colorWht);
}

.tags.anchor {
  margin-bottom: 6.4rem;
}

.tags.anchor .tag {
  padding: 1rem 2rem;
  font-size: 1.3rem;
}

.tags.anchor a.tag:hover,
.tags .sort-select select:hover {
  opacity: 0.5;
}

.tags .sort-select select {
  padding: 1rem 2rem;
  font-size: 1.3rem;
  border: 1px solid;
  text-align: center;
  border-radius: var(--roundTag);
}

.tags.foot {
  margin-top: 3.2rem;
}

a.tag.blu:hover {
  background: var(--colorWht);
  color: var(--colorPrimary);
  transition: all 0.4s;
}

.tags .sort-select {
  margin-left: auto;
}

.under.post h1.h2 {
  font-size: var(--ledeFontSize);
  line-height: 1.75;
  color: var(--colorBlk);
}

.section-lede.head {
  margin-top: 0;
  text-align: center;
}

header.flex {
  gap: 0 5px;
  flex-wrap: nowrap;
}

header .linkBtn {
  background-color: var(--colorSecondary);
  position: static;
  margin: 0;
  height: 7rem;
  padding: 0 2.4rem;
  font-weight: 500;
  flex-shrink: 0;
  filter: drop-shadow(0px 2px 2px gray);
}

header .linkBtn:hover,
header .linkBtn.b:hover {
  background: var(--colorGry);
  color: var(--colorWht);
}

header .linkBtn .material-symbols-rounded {
  position: static;
  font-size: 2.4rem;
  font-variation-settings:
    'FILL' 0,
    'wght' 200,
    'GRAD' 0,
    'opsz' 24
}

header .linkBtn.b {
  background: var(--colorWSBlue);
}

.col4 .box {
  width: calc((100% / 4) - 1rem);
  height: max-content;
}

.col4 .box figure {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
}

.col4 .box figure img {
  height: 100%;
  object-fit: cover;
}

#contact-info .link-box {
  background: var(--colorWht);
  position: relative;
  z-index: 1;
  padding: 4.8rem 6.4rem;
  border-radius: var(--roundSQ);
  margin-top: 1rem;
  color: var(--colorSecondary);
}

.linkBtn.tel {
  margin: 3.2rem auto;
  font-size: var(--sectionTitleSizeL);
  padding: 1.6rem 8.6rem;
  border-radius: 10rem;
  border: 2px solid;
}

.linkBtn.tel .material-symbols-rounded {
  position: static;
  font-size: 3.2rem;
  font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
}

#contact-info .linkBtn.tel:hover {
  background: var(--colorSGHBlue);
  color: var(--colorWht);
}

.notice {
  gap: 1rem;
  align-items: stretch;
  flex-flow: row nowrap;
  margin-bottom: 1rem;
}

.notice>div {
  padding: 3.2rem 4.8rem;
  border-radius: var(--roundSQ);
  font-size: var(--ledeFontSize);
}

.notice .head {
  background: #D60000;
  flex-shrink: 0;
  gap: 1rem;
  color: #ffffff;
}

.notice .cont {
  background: var(--colorBaseGry);
  width: 100%;
  line-height: 1.75;
  color: #D60000;
}

.kv {
  aspect-ratio: 16 / 9;
  margin-bottom: 1.6rem;
  border-radius: var(--roundSQ);
  overflow: hidden;
  position: relative;
}

.kv picture {
  height: 100%;
  width: calc(100% / 4);
  border-radius: 0;
}

.kv picture::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgb(51 51 51 / 25%);
  mix-blend-mode: multiply;
  z-index: 1;
}

.kv picture::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background: white;
  transition: all cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
  z-index: 3;
}

.kv picture:nth-child(even)::after {
  top: 0;
  bottom: inherit;
}

.kv.on picture::after {
  height: 0;
}

.kv picture img {
  height: 100%;
  object-fit: cover;
}

.kv .twrap {
  position: absolute;
  left: 0;
  bottom: 0;
  color: var(--colorWht);
  line-height: 1.75;
  gap: 3.2rem 0;
  z-index: 2;
}

.kv .twrap h1 {
  font-size: var(--sectionTitleSizeML);
  ;
  filter: drop-shadow(0px 3px 6px #333333);
  line-height: 1.25;
  margin-left: 3.2rem;
}

.kv .twrap h2 {
  font-size: 13.75vw;
  line-height: 0.725;
  font-weight: 100;
  white-space: nowrap;
  margin-left: -0.12em;
  letter-spacing: -0.025em;
}

#float-search {
  position: fixed;
  right: 0;
  top: 42%;
  margin: auto;
  height: max-content;
  gap: 1rem;
  transition: all 0.4s;
}

#float-search.hide {
  right: -25rem;
}

#float-search .linkBtn {
  filter: none;
  border-radius: 10rem 0 0 10rem;
  color: var(--colorWSBlue);
  background: var(--colorWht);
  border-top: 2px solid;
  border-left: 2px solid;
  border-bottom: 2px solid;
  gap: 0 1rem;
  padding-right: 0;
  width: 28rem;
}

#float-search .linkBtn .material-symbols-rounded {
  margin: 0;
}

#float-search .linkBtn .material-symbols-rounded:last-of-type {
  margin-left: auto;
}

#float-search .linkBtn:hover {
  border-color: var(--colorWht);
  background-color: var(--colorWSBlue);
  color: var(--colorWht);
}

#float-search.hide .linkBtn:hover {
  margin-left: -25rem;
}

#about .titles {
  background: var(--colorSGHBlue);
  color: var(--colorWht);
  border: 1px solid var(--colorSGHBlue);
  border-radius: var(--roundSQ);
  transition: all 0.4s;
}

#about .titles h3 {
  font-size: 1.5rem;
  margin: auto;
  padding: 1.75em 0;
}

#about .linkBtn {
  margin: 0;
  background: var(--colorWht);
  height: auto;
  border-radius: 0;
}

#about .titles:hover {
  background: var(--colorWht);
  color: var(--colorSGHBlue);
}

#about .titles:hover .linkBtn {
  background: var(--colorSGHBlue);
  color: var(--colorWht);
}

section.head,
#recruit-info .head {
  aspect-ratio: 1 / 0.25;
  height: 100%;
}

section.head picture {
  height: 100%;
  border-radius: 2px 2px 0 0;
}

.mtop {
  margin-top: 4.8rem;
}

.contents.col2,
.contents.col2 .inner.flex {
  gap: 1rem;
}

.contents.col2 .box {
  width: calc((100% / 2) - 0.5rem);
}

.contents.col3 .box {
  width: calc((100% / 3) - 0.5rem);
}

.contents.col2 .titles,
.contents.col3 .titles {
  padding: 1.6rem 0 0 0;
  margin-bottom: 0;
  border-radius: 0 0 2px 2px;
}

.contents .titles {
  position: relative;
}

.contents.col2 .full .titles {
  height: auto;
  margin-bottom: 0;
  width: 60%;
  border-radius: 0 2px 2px 0;
}

.col2 .box.full {
  width: 100%;
}

.col2 .box.full .coverWrapTxt {
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}

.col2 .box .coverWrapTxt:hover .linkBtn.w {
  background: none;
  color: var(--colorWht);
}

.col2 .box .coverWrapTxt:hover .linkBtn .material-symbols-rounded {
  right: -0.4rem;
}

.section-subtitle.w {
  color: var(--colorWht);
}

.linkBtn.abs {
  position: absolute;
  FONT-WEIGHT: 200;
  bottom: 0;
  right: 0;
}

.contents.col2 .titles .twrap {
  width: calc(100% - 8.2rem);
}

.contents .section-subtitle span {
  font-size: 80%;
}

.contents.col2 .box picture {
  aspect-ratio: 16 / 9;
  border-radius: 2px 2px 0 0;
}

.contents.col2 .box.full picture {
  border-radius: 2px 0 0 2px;
}

.contents.col2 .box picture::before,
.contents.col2 .box figure::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.75));
  display: block;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.25s;
}

.col2 .box .coverWrapTxt:hover picture::before,
.col2 .box .coverWrapTxt:hover figure::before {
  opacity: 1;
}

.coverWrapTxt.w {
  padding: 1.6rem;
  background: var(--colorBaseWht);
}

#recruit-info .titles {
  position: absolute;
  width: min(111.2rem, 100%);
  top: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  left: 0;
  right: 0;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

#recruit-info .head {
  aspect-ratio: 16 / 7;
  height: 100%;
  position: relative;
}

#recruit-info .head img {
  object-position: center 80%;
}

#recruit-info .head .twrap {
  position: absolute;
  left: 0;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  height: max-content;
  width: min(111.2rem, 100%);
}

#recruit-info .head h6 {
  color: var(--colorPrimary);
  font-size: var(--h1FontSize);
  filter: drop-shadow(0px 3px 6px #afafaf);
  line-height: 1.5;
  font-weight: 500;
}

#recruit-info .head .linkBtn {
  margin-left: 0;
  margin-right: 0;
  margin-top: 3.2rem;
}

#contact-info {
  background: var(--colorBaseGry);
  margin-bottom: 1.6rem;
}

#contact-info.under {
  margin-top: 3.2rem;
}

#contact-info.under .titles {
  margin-bottom: 0;
}

#contact-info.under .contents {
  padding-top: 3.2rem;
}

#contact-info .inner {
  padding-top: 6.4rem;
}

#contact-info .contact .titles .section-title {
  gap: 1.6rem;
  color: var(--colorSGHBlue);
}

#contact-info .contact .titles .section-title .shoulder {
  margin-right: 0;
}

#contact-info .txt {
  font-size: var(--ledeFontSize);
  font-weight: 300;
  line-height: 1.5;
  margin-top: 2.4rem;
}

#contact-info .contact .contents a.linkBtn {
  margin: 0;
  width: 100%;
  padding: 3.2rem;
  font-size: var(--linkBtnFontSizeL);
}

#contact-info .contact .contents a.linkBtn .material-symbols-rounded:first-child {
  font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
  position: static;
  margin-left: 0;
  margin-right: 0;
  font-size: 3rem;
}

#footer-menu {
  margin-top: 0;
}

#footer-info {
  background: var(--colorPrimary);
  padding-top: 6rem;
}

#footer-menu nav ul {
  min-width: 20rem;
}

#footer-menu nav:last-of-type {
  margin-top: 6.4rem;
  border-top: 1px solid var(--colorWht);
  padding-top: 6.4rem;
}

#footer-menu nav .material-symbols-rounded {
  font-size: 1.4rem;
}

.box .subtitle {
  font-size: var(--bodyTxtSize);
  margin-top: 0.5em;
}

.subtitle.b {
  color: var(--colorSGHBlue);
}

.subtitle.ws.b {
  color: var(--colorPrimary);
}

.recent .lists li time {
  margin-left: 0;
  min-width: 6.5em;
}

.menu-title .sp-menu-box {
  display: none;
}

#mega-menu li.sp {
  display: none;
}

.page-category {
  position: static;
  margin-bottom: 0.5em;
  color: var(--colorPrimary);
}

.tsmall {
  font-size: 0.9em;
}

#top #works .inner.flex {
  padding-bottom: 0;
}

#top #works .titles {
  margin-bottom: 0;
}

#service .lede {
  gap: 3.2rem;
}

#service .lede .titles {
  width: calc(40% - 1.6rem);
}

#service .lede picture {
  width: calc(60% - 1.6rem);
}

#service .box:last-child {
  width: 100%;
}

#service .box:last-child .coverWrapTxt {
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  gap: 0 3.2rem;
}

#service .box:last-child .titles {
  height: auto;
  margin-bottom: 0;
  width: 60%;
}

#service .box:last-child .titles .twrap {
  width: calc(100% - 3.2rem);
}

.titles .tags {
  margin-top: 1.6rem;
}

#contact-info .contact .contents.col2 {
  gap: 2.4rem;
}

#contact #contact-info .contact .contents.col2 {
  padding-top: 0;
}

.under .contents.col3 .inner.flex {
  gap: 3.2rem 0;
}

.under.pages .contents {
  font-size: var(--bodyTxtSize);
}

.under.pages .contents p {
  line-height: 2;
  margin-bottom: 1.25em;
}

.under.pages .contents h1 {
  margin-bottom: 0.25em;
}

.under.pages .contents h2.section-lede.h2 {
  text-align: center;
  margin-top: 0;
}

.under.pages .contents p mark {
  border: 1px solid;
  padding: 0.25em 0.5em;
}

.under.pages .contents .wp-block-heading {
  margin-bottom: 0.5em;
  margin-top: 1.5em;
}

.under.pages .contents a {
  color: var(--colorWSBlue);
  text-decoration: underline;
}

.under.pages .contents a:hover {
  text-decoration: none;
  color: var(--colorGry);
}

.under.pages .contents .material-symbols-rounded {
  color: var(--colorWSBlue);
}

.under.pages .contents figure img,
.under.pages .contents picture img {
  transition: all cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
}

.under.pages .contents figure:has(a):hover img,
.under.pages .contents picture:has(a):hover img,
.under.pages .contents a.coverWrapTxt:hover img {
  transform: scale(1);
  opacity: 0.7;
}

.under.pages .contents figure figcaption {
  font-size: var(--linkBtnFontSizeS);
}

a[data-toggle],
a[data-filter] {
  cursor: pointer;
}

a[data-toggle].mixitup-control-active,
a[data-filter].mixitup-control-active {
  background: var(--colorPrimary);
  color: var(--colorWht);
}

#news.post .contents figure,
#news.post .contents picture,
#news.post .contents img {
  width: auto;
}

#news.post .contents .txt {
  overflow: hidden;
  clear: both;
}

b,
strong {
  font-weight: 500;
}

.under.post .contents section.base picture,
.under.post .contents section.base figure,
.under.post .contents section.base iframe {
  width: auto;
}

#sp-pickup {
  display: none;
}

@media (1340px <=width) {
  #float-search .linkBtn {
    width: 31rem;
  }
}

@media screen and (max-width: 1390px) {

  header .linkBtn,
  #ci span,
  #mega-menu .menu-list .menu-title a.list {
    font-size: var(--linkBtnFontSizeM);
  }

  header .linkBtn {
    padding: 0 1.4rem;
  }

  #float-search .linkBtn {
    padding-left: 2.4rem;
  }

  #float-search.hide .linkBtn:hover{
        margin-left: -22rem;
  }

  #ci img {
    width: 16rem;
  }

  #mega-menu {
    margin-right: 0;
    align-items: baseline;
  }

  #mega-menu .menu-list {
    padding: 0 0.75rem;
  }

  #float-search.hide {
    right: -22rem;
  }
}

@media (1160px >=width) {
  #about .titles br.sp {
    display: block;
  }

  #about .titles h3 {
    text-align: center;
    line-height: 1.5;
  }

  #mega-menu .menu-list {
    padding: 0 0.5vw;
  }
}

@media (1024px >=width) {
  #sp-pickup {
    display: block;
    margin-bottom: 1.6rem;
    padding: 1.6rem 0;
  }

  #sp-pickup a.linkBtn {
    margin-top: 0;
    border: 1px solid;
    border-radius: 10rem;
    background: var(--colorSGHBlue);
    color: var(--colorWht);
    width: calc(100% - 3.2rem);
  }

  .wrapper {
    padding-top: 8.8rem;
  }

  .sp-menu-box {
    border-radius: 1px;
  }

  #footer-menu nav:last-of-type {
    padding-top: 0;
    margin-top: 1rem;
    border-top: 0;
  }

  #footer-menu nav:last-of-type ul {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  #footer-menu nav:last-of-type ul li.sub-menu {
    display: block;
  }

  #float-search {
    right: -20.5rem;
    bottom: 2dvh;
    margin-bottom: 0;
    z-index: -1;
  }

  #float-search .linkBtn {
    display: none;
  }

  #float-search .linkBtn.sp {
    display: flex;
    background: var(--colorSGHBlue);
    border-color: var(--colorWht);
    margin-right: 1rem;
  }

  nav#global-menu {
    width: calc(100% - 2.4rem);
  }

  #mega-menu.on {
    margin-top: 7.8rem;
    background: var(--colorSGHBlue);
    padding-bottom: 12vw;
    padding-top: 3.2rem;
  }

  .linkBtn.enter.sp {
    display: flex;
    justify-content: center;
    filter: none;
  }

  .linkBtn.enter.sp.dl {
    margin-bottom: 1rem;
    border: 1px solid;
  }

  .linkBtn.enter.sp.form {
    background-color: var(--colorWSBlue);
  }

  .linkBtn.enter.sp .material-symbols-rounded {
    margin: 0;
  }

  header .sp-menu-btn.circle {
    position: absolute;
    bottom: 0;
    margin: auto;
  }

  .menu-title .sp-menu-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .sp-menu-box span {
    color: var(--colorSGHBlue);
    font-size: 1.6rem;
  }

  #mega-menu li.sp {
    display: none;
    margin: 1.6rem 0px;
    gap: 1rem;
  }

  #mega-menu li.sp .linkBtn {
    width: 100%;
    height: 6rem;
    filter: none;
    color: var(--colorSGHBlue);
    background: var(--colorBaseWht);
    border-radius: 6rem;
    justify-content: center;
  }

  header .linkBtn:hover {
    background: var(--colorWSBlue);
  }

  #mega-menu .menu-list .menu-title .list-btn {
    display: none;
  }

  #mega-menu .menu-list .menu-contents {
    width: 100%;
    background: transparent;
  }

  #mega-menu .menu-contents .sub-menu {
    flex-flow: column;
  }

  #mega-menu .menu-contents .sub-menu.col5 .sub-title,
  #mega-menu .menu-contents .sub-menu.col6 .sub-title {
    width: 100%;
  }

  .sub-title .lists .linkBtn.circle {
    margin-left: auto;
  }

  #mega-menu .menu-list.open .sp-menu-box .line,
  #footer-menu .title.open .sp-menu-box .line {
    background: var(--colorSGHBlue);
  }

  #mega-menu .menu-list.open .sp-menu-box .line.top {
    transform: rotate(45deg);
  }

  #mega-menu .menu-list.open .sp-menu-box .line.middle {
    transform: rotate(-45deg);
  }
}

@media (912px >=width) {
  #float-search .linkBtn.sp {
    height: 6rem;
  }

  #contact-info .link-box {
    padding: 2rem;
  }

  .linkBtn.tel {
    padding: 1.6rem 3.6rem;
  }

  .notice {
    flex-flow: column;
  }

  .notice .head {
    flex-flow: row;
    padding: 1rem;
  }

  .notice .cont {
    padding: 1.6rem;
  }

  .kv {
    aspect-ratio: auto;
  }

  .kv picture {
    width: calc(100% / 2);
    aspect-ratio: 1 / 1;
  }

  #recruit-info .head {
    aspect-ratio: 9 / 14;
  }

  .kv picture .flex {
    left: 0;
    margin-left: auto;
    right: 0;
    top: 15vw;
    bottom: inherit;
  }

  .kv picture .flex h1 {
    text-align: center;
    font-size: 7vw;
    line-height: 1.5;
  }

  .kv picture .flex h2 {
    padding: 0 2rem;
  }

  .kv picture .flex h2 br {
    display: none;
  }

  #about .linkBtn {
    width: auto;
    justify-content: center;
    margin: 0 auto 1.75rem;
  }

  #info .titles {
    margin-bottom: 0;
  }

  section.head {
    aspect-ratio: 16 / 7;
  }

  section.head picture img {
    height: 100%;
    object-fit: cover;
  }

  .col2 .box.full .coverWrapTxt {
    flex-flow: column;
  }

  .contents.col2 .box,
  .contents.col2 .full .titles {
    width: 100%;
  }

  .contents.col2 .box.full .titles {
    border-radius: 0 0 2px 2px;
  }

  .contents.col2 .titles {
    padding: 1.6rem 0 0;
    width: 100%;
  }

  #service .box:last-child .coverWrapTxt {
    flex-wrap: wrap;
  }

  .contents.col2 .full .titles .section-lede,
  .contents.col2 .titles .twrap,
  #service .box:last-child .titles .twrap {
    width: calc(100% - 6.4rem);
  }

  .contents.col4 {
    gap: 2rem;
  }

  .col4 .box,
  #service .box:last-child .titles {
    width: 100%;
  }

  .col4 .box figure {
    aspect-ratio: 16 / 9;
  }

  #recruit-info .head img {
    object-position: 75%;
  }

  #recruit-info .head .twrap {
    justify-content: space-between;
    height: 100%;
    align-items: center;
  }

  #recruit-info .head h6 {
    text-align: center;
    font-size: 7vw;
    margin-top: 16vw;
    margin-left: 6.5vw;
  }

  #recruit-info .head {
    overflow: visible;
  }

  #recruit-info .head .linkBtn {
    margin-bottom: -2.5rem;
  }

  #contact-info .inner {
    padding-top: 3.2rem;
  }

  #contact-info .contact .contents a.linkBtn {
    width: 100%;
    text-align: center;
    line-height: 1.5;
    justify-content: space-between;
  }

  #contact-info .contact .titles .section-title {
    align-items: center;
  }

  #contact-info .contact .titles {
    margin-bottom: 2.4rem;
  }

  #footer-info {
    padding-top: 3.2rem;
  }

  #copyrights {
    border-top: 1px solid;
    padding-top: 3.2rem;
  }

  #mega-menu .menu-list .menu-title a.list {
    width: 100%;
  }

  .contents.col2 .box.full picture {
    border-radius: 2px 2px 0 0;
  }

  #ci img {
    width: 40vw;
    max-width: 18rem;
  }

  #ci span {
    font-size: min(3vw, 1.4rem);
    margin-left: 2vw;
  }

  .kv .twrap {
    line-height: 1.75;
    gap: 1rem 0;
  }

  .kv .twrap h1 {
    line-height: 1.5;
    margin-left: 1.6rem;
  }

  #service .lede {
    flex-flow: column-reverse;
    gap: 1rem;
  }

  #service .lede picture,
  #service .lede .titles {
    width: 100%;
  }

  .titles,
  #top #works .titles {
    margin-bottom: 1.6rem;
  }

  #top article#service,
  #top article#works,
  #top article#companyinfo {
    width: calc(100% + 1.6rem);
    margin-left: -0.8rem;
  }

  .titles.sub .section-lede {
    margin-top: 0.8rem;
  }

  .contents.col3 .box {
    width: 100%;
  }

  #top #works .inner.flex {
    padding-left: 0;
    padding-right: 0;
    gap: 3.2rem;
  }

  .under .inner {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }

  .under .contents,
  .under .header-kv,
  #contact-info.under {
    margin-bottom: 0;
    margin-top: 0.8rem;
  }

  .under .contents.title {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }

  #breadcrumb {
    margin: 0.8rem 0;
  }

  .tags.anchor {
    padding-bottom: 1.2rem;
    margin-bottom: 3.2rem;
  }

  .tags.anchor li.flex {
    flex-flow: row wrap;
    justify-content: flex-start;
  }

  #recruit-info {
    margin-bottom: 9.6rem;
  }

  #mega-menu .menu-list.open .sp-menu-box,
  #footer-menu .title.open .sp-menu-box {
    transform: rotate(0deg);
  }

  #mega-menu .menu-list.open .sp-menu-box {
    background: var(--colorWht);
  }

  #footer-menu .title.open .sp-menu-box .line {
    transform: rotate(180deg);
  }

  #about .titles h3 {
    padding: 1.75em 1em;
  }

  .page-category span.flex {
    flex-flow: nowrap;
    align-items: center;
  }

  .page-category span.flex .shoulder {
    min-width: max-content;
  }

  #end a.scrl {
    padding: 2rem;
  }

  #service-index .box .tags li .tag {
    padding: 0.4rem 0.6rem;
  }

  .tags.anchor.foot li.flex {
    width: 250vw;
  }
  #news.under.post .tags fieldset{
        justify-content: space-between;
  }
  #news.under.post .tags fieldset a.tag{
            padding: 1rem;
        width: calc(50% - 0.5rem);
        justify-content: center;
  }
  #news.under.post .tags fieldset.sort-select{
    margin-left: 0;
          width: 100%;
  }
  #news.under.post .tags fieldset.sort-select select{
    width: 100%;
  }
}