@charset "UTF-8";
/* --------- fonts --------- */
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap');

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
}

p{
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

@media (max-width: 1200px) and (min-width: 769px) {
  html {
    font-size: 16px;
    font-size: calc((100vw / 120) * 1.6);
  }
}

@media (max-width: 390px) {
  html {
    font-size: 16px;
    font-size: calc((100vw / 39) * 1.6);
  }
}

.u-en {
  font-family: "Jost", sans-serif;
}

/* SP フォントサイズ */
@media (max-width: 768px) {
  .fs-sm-18 {
    font-size: 1rem !important;
  }
  .fs-sm-16{
    font-size: 1rem!important;
  }

  .fs-sm-15 {
    font-size: 0.9375rem!important
  }

  .fs-sm-14 {
    font-size: 0.875rem !important
  }

  .tb-sp-block table{
    border-top: 1px solid #eee;
  }
  .tb-sp-block table,
  .tb-sp-block table tbody,
  .tb-sp-block table tr,
  .tb-sp-block table td{
    display: block;
    width: 100%!important;
    border-left: none!important;
  }
  .tb-sp-block table td{
    border-bottom: none;
  }
}

/* 黄色背景（点線有り） */
.c-bg-yellow {
  position: relative;
}

.c-bg-yellow::before,
.c-bg-yellow::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #b89c00, #b89c00 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  position: absolute;
  left: 0;
  z-index: 2;
}

.c-bg-yellow::before {
  top: 10px;
}

.c-bg-yellow::after {
  bottom: 10px;
}


/* --------- btn --------- */
.wp-block-buttons .wp-block-button {
  position: relative;
  width: 100%!important;
  max-width: 320px !important;
}

.wp-block-buttons .wp-block-button__link::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 15px;
  background: url('img/icon_arrow.png') no-repeat center/100%;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.wp-block-buttons .c-btn-back .wp-block-button__link::after{
  right: initial;
  left: 16px;
  transform: translateY(-50%) scale(-1, -1);
}

@media (max-width: 768px) {
  .c-btn-auto>.wp-block-button.has-custom-width {
    width: 100%;
  }

  .wp-block-buttons .wp-block-button__link{
    padding: 1rem!important;
    font-size: 1rem!important;
  }
}

/* --------- header --------- */
.c-site-branding__title {
  opacity: 0;
}

.l-header__logo {
  max-width: 154px;
}

.l-header__content {
  position: relative;
  z-index: 2;
}

.l-header::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: url('img/header_border.png') no-repeat center/100%;
  margin-top: 6px;
  position: relative;
  z-index: 1;
}

.l-header::after {
  content: '';
  display: block;
  width: 100%;
  height: 90px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

.l-header .c-site-branding{
  display: none;
}

@media (max-width: 1023px) {
  .l-header{
    background-color: #fff;
  }
  .l-header .c-site-branding {
    display: block;
  }
  .l-header .c-fluid-container{
    padding: 0 16px;
  }
}

.c-navbar {
  align-items: flex-start;
}

.p-global-nav .c-navbar__item>a {
  padding: 10px 1.5rem;
}

.p-global-nav .c-navbar__item>a>span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.p-global-nav .c-navbar__item>a>span>img {
  height: 32px;
  width: auto;
  max-width: 30px;
  object-fit: contain;
}

.p-global-nav ul li:first-child a{
  color: #000!important;
}

.p-drop-nav {
  display: none !important;
}

@media (max-width: 1024px) {
  .l-header::after {
    display: none;
  }

  .c-site-branding__title {
    opacity: 1;
  }

  .c-drawer {
    background-color: #fff;
  }

  .c-drawer a {
    color: #000;
    width: max-content;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
  }

  .c-drawer a .icon {
    display: inline-flex;
    justify-content: center;
    width: 32px;
    height: 32px;
  }

  .c-drawer a img {
    height: 32px;
    width: auto;
    max-width: 30px;
    object-fit: contain;
  }
}

/* --------- footer --------- */
.l-footer {
  z-index: 9;
  overflow: initial;
}

.l-footer__header {
  display: none;
}

.l-footer__body {
  background-color: #333333;
  color: #fff;
}

.l-footer--footer-2 .l-footer__body {
  border-top: none;
}

@media (min-width: 1024px) {
  .l-footer__body .c-row .l-footer-widget-area__item:first-child {
    --_item-width: 65%;
  }
  .l-footer__body .c-row .l-footer-widget-area__item:last-child {
    --_item-width: 35%;
  }
}

.l-footer .l-footer__footer {
  background-color: #333333;
  color: #fff;
  text-align: center;
}

.l-footer .l-footer__footer .c-row--middle {
  justify-content: center;
}

.l-footer .menu .menu-item {
  margin-top: 0 !important;
}

.l-footer .menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  width: fit-content;
  margin-left: auto;
  font-size: 1.125rem;
}

.l-footer__tel{
  margin-left: 0!important;
}

.l-footer__tel a{
  text-decoration: none;
}

.l-footer__tel a img{
  transform: translateY(-8px);
}

.l-footer__contact {
  margin-top: 0 !important;
  width: 100%;
  max-width: 270px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.l-footer__contact img {
  max-width: 24px;
}

.p-side-contact{
  position: fixed;
  top: 30%;
  right: 0;
  z-index: 9;
  width: 6%;
  max-width: 100px;
}

#page-top {
  width: 5.2vw;
  aspect-ratio: 1/1;
  height: auto;
  min-width: 50px;
  border-radius: 50%;
  right: 20px;
  bottom: 20px;
}

#page-top a {
  background: url('img/top_btn.png') no-repeat center/100%;
}

#page-top a svg{
  display: none;
}

.l-footer__flex .wp-block-button__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

@media (max-width: 992px) {
  .l-footer .menu {
    margin-left: 0;
  }

  .l-footer__left{
    padding: 0!important;
  }

  .l-footer .partnership-logo {
    float: initial!important;
    margin-left: 0!important;
  }

  .l-footer .address{
    font-size: 1rem!important;
  }

  .l-footer__flex {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
  }


  .l-footer__tel {
    margin: 0 !important;
  }

  .l-footer__contact {
    margin: 0 !important;
  }

  .l-footer__sns {
    max-width: 40px;
    margin-left: 0 !important;
  }

  .p-side-contact{
    display: none!important;
  }
}

/* --------- cta 共通--------- */
.p-img-list{
  gap: 0!important;
  margin-bottom: 0!important;
}

.p-img-list .swiper-wrapper {
  transition-timing-function: linear;
}

.p-img-list .swiper-wrapper .swiper-slide{
  margin: 0;
}

.p-img-list .swiper-wrapper .swiper-slide img {
  height: auto;
  width: 100%;
}

.p-cta {
  overflow: hidden;
  position: relative;
}

.p-cta::before,
.p-cta::after {
  content: '';
  display: block;
  width: 15%;
  max-width: 344px;
  aspect-ratio: 344/434;
  opacity: 0.4;
  background: url('img/contact_bg_parts.png') no-repeat center/100%;
  z-index: 1;
}

.p-cta::before {
  position: absolute;
  top: -15%;
  right: -10%;
}

.p-cta::after {
  position: absolute;
  bottom: -15%;
  left: 0;
}


.p-cta .smb-section__fixed-background::before,
.p-cta .smb-section__fixed-background::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #b89c00, #b89c00 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  position: absolute;
  left: 0;
  z-index: 2;
}

.p-cta .smb-section__fixed-background::before {
  top: 10px;
}

.p-cta .smb-section__fixed-background::after {
  bottom: 10px;
}

.p-cta .wp-block-heading {
  margin-top: 0 !important;
}

.p-cta .c-ttl-en:before {
  height: 100px;
  position: absolute;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
}

.p-cta__list{
  position: relative;
  z-index: 2;
}

.p-cta__list .wp-block-buttons {
  margin-top: 0 !important;
}

.p-cta__list .wp-block-buttons .wp-block-button {
  max-width: 100% !important;
}

.p-cta__list .wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.p-cta__list .wp-block-buttons .wp-block-button__link::after{
  display: none;
}

.p-cta__list .p-tel a{
  text-decoration: none;
}

.p-cta__list .c-tel img {
  transform: translateY(-5px);
  margin-right: 10px;
}

.p-cta .p-area-block {
  position: relative;
}

.p-cta .p-area__en{
  position: absolute;
  bottom: 0;
  right: 0;
  line-height: 0.7;
}

.p-cta .p-area-block .area-fig {
  width: 19%;
  max-width: 90px;
  margin-top: 0;
  position: absolute;
  top: -16px;
  right: -20px;
}

@media (max-width: 768px) {
  .p-area-block {
    padding: 20px 20px 60px!important;
  }
  .p-area-block .p-area-ttl {
    font-size: 1.25rem!important;
  }
  .p-area-block .p-area-ttl span{
    font-size: 1.125rem;
  }
  .p-area-block .p-area-text{
    font-size: 14px!important;
  }

  .p-cta .p-area__en {
    font-size: 4.375rem!important;
  }
  .p-cta .lead{
    font-size: 1rem!important;
    margin-bottom: 40px!important;
  }
}

/* --------- heading --------- */
.c-section.p-section-front-page-content{
  padding-top: 0;
}

.c-page-heading {
  width: calc(100% - 3.125vw);
  margin: 0 auto !important;
  border-radius: 30px;
}

body.page .c-entry__header {
  margin-bottom: 0 !important;
}

body.page .c-entry__header {
  display: none;
}

body:not(.home) .l-contents{
  padding-top: 90px !important;
}


@media (max-width: 768px) {
  .c-page-heading {
    width: 100%;
    border-radius: 16px;
    min-height: 200px;
  }

  .c-page-heading .c-ttl-en img {
    max-width: 64%;
  }

  body:not(.home) .l-contents {
    padding-top: 80px !important;
  }
}

/* --------- breadcrumb --------- */
body.page .p-breadcrumbs-wrapper {
  display: none;
}

body.page .p-page-breadcrumbs {
  padding: 10px 0;
  font-weight: 700;
}

.c-breadcrumbs__item:last-child a {
  color: #3d7180;
}

body.page .p-page-breadcrumbs .p-breadcrumbs-wrapper {
  display: block;
}


body.page .p-page-breadcrumbs .p-breadcrumbs-wrapper {
  display: block !important;
}

/* ------ タイトル ------ */
@media (max-width: 768px) {
  .c-ttl {
    text-align: center;
  }

  .c-ttl-en img {
    max-width: 74%;
    margin: 0 auto;
  }

  .c-ttl-ja {
    font-size: 1.125rem !important;
    text-align: center;
  }
}

/* ======== トップページ ======= */
/* ---- mv --- */
.p-top-mv {
  position: relative;
  width: 100%;
  padding-top: 0;
  z-index: 2;
  width: calc(100% - 6.25vw);
  max-width: 100%;
  padding: 0 !important;
  margin-top: 90px !important;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1800/800;
  overflow: initial!important;
}

.p-top-mv .smb-section-with-bgimage__bgimage{
  overflow: hidden;
  border-radius: 30px;
}

.p-top-mv .smb-section__inner {
  position: initial;
}

.p-top-mv .smb-section__inner>.c-container {
  position: initial;
}

.p-top-mv__ttl {
  position: absolute;
  bottom: 13.5%;
  left: 4%;
  gap: 1rem!important;
}

.p-top-mv__ttl-text1,
.p-top-mv__ttl-text2 {
  background: url('img/mv_text_bg.png') no-repeat center/100% 100%;
  background-color: initial !important;
}

.p-top-mv__scroll {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: -1.875rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  gap: 4px;
  font-size: 1rem;
  font-family: "Jost", sans-serif;
  font-weight: 600;
}

.p-top-mv__scroll::after {
  content: '';
  width: 1px;
  height: 3.75rem;
  display: block;
  background-color: #3d7180;
}

.p-top-mv__scroll.is-active {
  color: #fff;
}

.p-top-mv__scroll.is-active::before {
  background-color: #fff;
}

@media (max-width: 768px) {
  .p-top-mv {
    min-height: 27.5rem;
    margin-top: 84px!important;
  }

  .p-top-mv .smb-section-with-bgimage__bgimage {
    overflow: hidden;
    border-radius: 16px;
  }

  .p-top-mv__scroll {
    bottom: -30px;
    font-size: 0.9375rem !important;
  }

  .p-top-mv__scroll::after {
    height: 50px;
  }

  .p-top-mv__ttl {
    position: absolute;
    bottom: 14%;
    left: 3%;
    gap: 8px !important;
  }

  .p-top-mv__ttl-text1 {
    font-size: 1.375rem !important;
    text-align: left;
    font-weight: 700 !important;
    letter-spacing: 0.04em!important;
    padding: 6px 0.75rem!important;
  }

  .p-top-mv__ttl-text2 {
    font-size: 1.125rem !important;
    text-align: left;
    line-height: 1.4;
  }
}

/* ------ top message ----- */
.p-top-message {
  position: relative;
  z-index: 1;
}

.p-top-message::before,
.p-top-message::after {
  content: '';
  display: block;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, #3d7180, #3d7180 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 4px;
  position: absolute;
  left: 0;
  z-index: 1;
}
.p-top-message::before {
  top: 4%;
}
.p-top-message::after{
  bottom: 4%;
}

.p-top-message .smb-section__fixed-background {
  top: -40%;
}

.p-top-message__img img {
  box-shadow: -6px 6px 0px 0px #3d7180;
}

@media (max-width: 768px) {
  .p-top-message__block {
    flex-direction: column-reverse;
  }

  .p-top-message::before,
  .p-top-message::after {
    width: 100%;
    height: 2px;
    background-size: 100% 2px;
  }

  .p-top-message__text{
    padding-right: 0!important;
    padding-left: 0 !important;
  }
}

/* ---- top service --- */

.c-ttl-border {
  border-bottom: 2px solid #3d7180 !important;
}

.p-top-service__text {
  position: relative;
  transform: translate(10%, 12%);
  z-index: 2;
}

.p-top-service__text::before {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  background-image: repeating-linear-gradient(180deg, #3d7180, #3d7180 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-y;
  background-size: 4px 100%;
  position: absolute;
  top: 0;
  left: 16px;
}

.p-top-service__list .wp-block-column {
  position: relative;
}

.p-top-service__list .wp-block-heading {
  position: absolute;
  top: 0;
  right: 0;
  padding: 8px;
  font-weight: 400;
}

.p-top-service__en {
  position: absolute;
  bottom: 4%;
  right: -4%;
  width: 70%;
  max-width: 440px;
}

@media (max-width: 768px) {
  .p-service-flex{
    padding: 0 20px;
  }
  .p-top-service__text {
    position: relative;
    transform: none;
    z-index: 2;
    padding: 20px 40px!important;
  }

  .p-top-service__text p{
    font-size: 0.875rem;
  }

  .p-top-service__text::before {
    width: 2px;
    background-size: 2px 100%;
    left: 8px;
  }
}

/* ---- top ranking --- */
.mt0 {
  margin-top: 0 !important;
}

.p-ranking__ttl {
  width: fit-content;
  padding: 0 100px;
  background: url('img/ttl-ranking_bg.png') no-repeat center/100%;
}
@media (max-width: 768px) {
  .p-ranking__ttl {
    width: 80%;
    padding: 0 4.375rem;
  }
  .p-ranking__ttl .c-ttl-ja{
    font-size: 0.875rem!important;
  }
}

.p-ranking__ttl.yellow{
  background-image: url('img/ttl-ranking_bg_yellow.png');
}

.p-ranking__list .wp-block-column {
  position: relative;
}

.p-ranking__list .wp-block-column::before {
  content: '';
  display: block;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  background: url('img/ranking_waku.png') no-repeat center/100% 100%;
  position: absolute;
  top: 5px;
  left: 5px;
}


.p-ranking__num {
  position: absolute;
  top: 20px;
  left: 30px;
  line-height: 1;
}

.p-ranking__list .ranking-text .sme-text-color {
  font-family: 'Zen Kaku Gothic Antique';
  line-height: 1;
}

.p-ranking__list .wp-block-column {
  position: relative;
}

.p-ranking__list.yellow .wp-block-column::before {
  width: 100%;
  height: 100%;
  background: url('img/ranking_waku_yellow.png') no-repeat center/100% 100%;
  top: 0;
  left: 0;
}
/* ---- top support --- */
.p-support__block {
  position: relative;
}

.p-support__block::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #3d7180;
  position: absolute;
  top: 16px;
  right: 16px;
}

.p-support__block .p-support__deco {
  width: 30%;
  max-width: 370px;
  position: absolute;
  top: 0;
  left: 0;
}

.p-support__list{
  gap: 5rem!important;
}
.p-support__list p {
  list-style: none;
  border-bottom: 1px solid #b89c00;
  padding-bottom: 5px;
  margin-top: 0 !important;
  line-height: 1;
}

.p-support__list p::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #b89c00;
}

.p-support__list p .sme-text-color {
  font-family: "Jost", sans-serif;
}

.p-support__list p img {
  transform: translateY(-5px);
  margin-right: 5px;
}

.p-support__list-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.p-support__list-2 li {
  list-style: none;
  background-color: #f4f0d9;
  margin-top: 0 !important;
  padding: 6px 24px;
}

.p-support__list-2 li img {
  transform: translateY(-5px);
  margin-right: 5px;
}

.c-list-check img{
  margin-right: 5px;
}
@media (max-width: 768px) {
  .p-support__list {
    gap: 16px!important;
  }

  .p-support__list img{
    width: 30px;
  }

  .p-support__list p .sme-text-color {
    font-size: 2rem!important;
  }

  .c-list-check{
    margin-top: 30px!important;
  }

  .c-list-check p{
    font-size: 1rem!important;
  }
  .c-list-check p img{
    width: 24px!important;
    transform: translateY(-2px);
  }

  .p-banner-list{
    gap: 20px!important;
  }
}

/* ---- top works --- */
.alignfull+.alignfull.p-works {
  position: relative;
  z-index: 2;
  overflow: initial;
  margin-top: -6%!important;
}

.p-top-works{
  margin-top: -6% !important;
}

.p-works .smb-section-with-bgimage__bgimage {
  background-color: initial !important;
  
}

.p-works::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #3d7180, #3d7180 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  position: absolute;
  left: 0;
  bottom: 10px;
}


.c-entry-summary__figure{
  border: 3px solid #b89c00;
  aspect-ratio: 380 / 253;
  margin-bottom: 10px;
}
.c-entry-summary__header{
  margin-bottom: 4px;
}
.c-entry-summary__title{
  line-height: 1.5;
}

.c-entry-summary__figure .c-entry-summary__term{
  background-color: #b89c00;
  top: initial;
  right: initial;
  bottom: 0;
  left: 0;
}
.p-works .smb-section-with-bgimage__bgimage--lg {
  object-position: center;
}

@media (max-width: 768px) {
  .p-works .smb-section-with-bgimage__bgimage--sm img {
    object-position: top;
  }
  .p-works .smb-section-with-bgimage__bgimage--lg{
    display: none;
  }

}

/* ---- top news --- */
.p-top-news {
  position: relative;
}

.p-top-news::before {
  content: '';
  display: block;
  width: 16%;
  max-width: 265px;
  aspect-ratio: 265/246;
  background: url('img/news_bg.png') no-repeat center/100%;
  position: absolute;
  bottom: -5.4%;
  right: 12%;
}

.p-top-news .c-entries--simple,
.p-top-news .c-entries--text,
.p-top-news .c-entries--text2 {
  border-top: none;
}

.p-top-news .c-entries--simple .c-entries__item,
.p-top-news .c-entries--text .c-entries__item,
.p-top-news .c-entries--text2 .c-entries__item {
  border-bottom: none;
}

.p-top-news .c-entries--simple .c-entries__item::after,
.p-top-news .c-entries--text .c-entries__ite::after,
.p-top-news .c-entries--text2 .c-entries__item::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: url('img/border_2.png') no-repeat center/100%;
  position: relative;
  z-index: 1;
}

.p-top-news .c-entries__item>a .c-entry-summary__body {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 20px;
}

.p-top-news .c-entry-summary__meta {
  margin-top: 0;
}

.p-top-news .c-entry-summary__meta .c-meta {
  flex-wrap: nowrap;
}

.p-top-news .c-meta__item time{
  font-weight: 700;
  font-size: 1.125rem;
}

.p-top-news .c-entry-summary__title{
  font-weight: 700;
}

.p-top-news .c-entries--text2 .c-entry-summary__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.p-top-news .c-entry-summary__meta .c-meta__item--categories .c-entry-summary__term {
  background-color: #3d7180;
  border-radius: 20px;
}

@media (max-width: 768px) {
  .p-top-company__block {
    padding-right: 0;
    padding-left: 0;
  }

  .p-top-company__block .block-img {
    clip-path: none;
  }
}


/* ======== 下層ページ ======= */
.l-contents__inner {
  margin-top: 0;
}

@media (max-width: 768px) {
  .p-top-news .c-entries__item>a .c-entry-summary__body {
    flex-direction: column-reverse;
    gap: 12px;
  }
  .p-top-news .c-meta__item time {
    font-weight: 700;
    font-size: 0.9375rem;
  }
  .p-top-news .c-entry-summary__meta .c-meta__item--categories .c-entry-summary__term {
    padding: 2px 10px;
  }
}

/* ---- page company --- */
.p-company-intro .bottom__text img {
  transform: translateY(-8px);
}

.strategy-deco{
  position: absolute;
  right: 0;
  top: -6%;
  width: 9%;
  max-width: 150px;
}
.p-strategy__img{
  width: 50vw!important;
  margin-left: calc(50% - 50vw)!important;
}
@media (max-width: 768px) {
  .p-strategy__img {
    width: 100% !important;
    margin-left: auto !important;
  }
  
}

.p-outline-tb.wp-block-table td {
  border-color: #c9c9c9;
  padding: 16px 20px;
  background-color: #fff;
}


.p-outline-tb.wp-block-table td:first-of-type {
  background-color: #f1f6f7;
  border-left: none;
  width: 30%;
}

.p-outline-tb.wp-block-table td:last-of-type {
  border-right: none;
}

.p-outline-tb.wp-block-table td strong {
  display: flex;
  gap: 30px;
}

.p-outline-tb.wp-block-table td code {
  background: none;
  padding: 0;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0;
  font-family: 'Zen Kaku Gothic Antique';
  min-width: 240px;
}

@media (max-width: 767px) {
  .p-outline-tb.wp-block-table td {
    font-size: 1rem;
  }

  .p-outline-tb.wp-block-table td strong {
    flex-direction: column;
    gap: 0;
  }
  .p-outline-tb.wp-block-table td code {
    font-size: 0.975rem!important;
  }
}

.p-company-access {
  position: relative;
}

.p-company-access::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #b89c00, #b89c00 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  position: absolute;
  top: 4%;
  left: 0;
  z-index: 2;
}

.p-company-access iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
  border: 2px solid #b89c00;
}

.p-company-access a {
  text-decoration: none;
}

/* ---- page service --- */
.p-service-intro__block .deco{
  transform: translateX(5%);
  width: 20%;
}
.p-servcie-other__img .u-en{
  mix-blend-mode: screen;
}
.p-notice-list.smb-flex,
.p-notice-list.smb-grid{
  width: 82%;
  max-width: 860px;
  margin: 0 auto;
  gap: 20px;
}

@media (max-width: 781px) {
  .p-servcie-other__block:nth-child(even){
    flex-direction: column-reverse;
  }

  .p-notice-list.smb-flex,
  .p-notice-list.smb-grid {
    width: 100%;
    justify-content: flex-start;
  }

  .p-notice-list.smb-grid{
    grid-template-columns: 1fr;
  }

  .p-service-intro__text{
    padding-right: 0!important;
  }
}

/* ---- category works --- */
body.single .spider {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  aspect-ratio: 900/680;
  max-height: 680px;
}

body.single .spider .spider__canvas{
  height: 100%;
}

body.single .spider .spider__canvas .spider__slide{
  height: 100%;
  border: 3px solid #ccb94f;
}

body.single .spider .smb-spider-slider__figure-wrapper{
  height: 100%;
}

body.single .spider .spider__figure{
  width: auto;
  height: 100%;
  margin: 0 auto;
}

body.single .c-entry__body .spider__dot img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

body.single .c-entry__body .spider__dot[aria-current="true"] {
  border: 3px solid #ccb94f;
}

body.single .p-works__detail{
  position: relative
}
body.single .p-works__detail::before,
body.single .p-works__detail::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #b89c00, #b89c00 8px, transparent 8px, transparent 16px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 2px;
  position: absolute;
  left: 0;
  z-index: 2;
}

body.single .p-category__block .p-category__ttl{
  border-radius: 6px 0 0 6px;
}

body.single .p-category__block .wp-block-categories .cat-item-3{
  display: none;
}

@media (max-width: 767px) {
  body.single .p-works__detail {
    padding: 30px 20px;
  }

  body.single .p-works__detail p{
    font-size: 1rem;
  }
}

body.single .p-works__detail::before {
  top: 10px;
}

body.single .p-works__detail::after {
  bottom: 10px;
}

body.single .p-works__detail .p-detail__ttl{
  border-left: 5px solid #c46830;
  padding-left: 8px;
  line-height: 1.3;
}

@media (max-width: 767px) {
  body.single .p-works__tb{
    padding: 20px;
  }

  body.single .p-works__tb table{
    font-size: 1rem;
  }
}

body.single .p-works__tb table tr td{
  border-bottom: 1px solid #c46830;
}

body.single .wp-block-categories-list .p-category__ttl{
  display: none;
}

body.single .p-works__tb table tr td:first-of-type {
  width: 20%;
  min-width: 100px;
}

body.single .c-entry__footer {
  display: none !important;
}

body.single .c-entry__header .c-entry__meta .c-meta {
  display: none !important;
}

body.single .post{
  margin-top: 5rem;
}
@media (max-width: 768px) {
  body.single .post {
    margin-top: 3.75rem;
  }
}

body.single .c-entry__title{
  text-align: center;
}

body.category .c-entry__title{
  display: none;
}

body.single .l-contents__body,
body.category .l-contents__body{
  margin-bottom: 10rem!important;
}

body.single .c-page-heading,
body.category .c-page-heading{
  width: calc(100% - 6vw);
}


@media (max-width: 768px) {
  body.single .l-contents__body,
  body.category .l-contents__body {
    margin-bottom: 5rem !important;
  }
}

body.category:not(.category-3) .c-meta__item time{
  display: none;
}

.c-entry-summary--type-post{
  font-weight: 500;
}


/*記事文字サイズ*/
@media screen and (max-width: 639px) {
h1.c-entry__title {
    font-size: 1.2em;
	text-align:left!important;
}
}
/*ドロワー*/
.c-hamburger-btn__bar {
    height: 2px;
}

/*施工事例サイドバーカテゴリー非表示*/
li.cat-item.cat-item-2 {
	display:none;
}

/*SP文字左寄せ*/
@media screen and (max-width: 639px) {
.sp-lefttext {
   text-align:left;
}
}
/*お問い合わせページTEL*/
.contact-tel a{
	text-decoration:none;
}
/*メールフォーム*/
form#snow-monkey-form-527 {
    background-color: #eee;
    padding: 2em;
}
/*お知らせアーカイブ*/
h2.c-entry-summary__title {
    font-weight: 600 !important;
}
.c-entry-summary__meta {
    font-weight: 500!important;
	    font-size: 1.1em !important;
}