@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

body {
  font-family: "Inter", sans-serif;
  font-style: normal;
}

/* 共通クラス */
@media (width <= 600px) {
  .u-fz-cst {
    font-size: clamp(
      10px,
      10px + (16 - 10) * (100vw - 340px) / 260,
      16px
    ) !important;
  }
}

@media (width <= 600px) {
  .post_content h2 {
    font-size: clamp(
      20px,
      20px + (24 - 20) * (100vw - 340px) / 260,
      24px
    ) !important;
    padding-bottom: 1rem !important;
    margin-bottom: 2em !important;
  }
}

@media (width <= 600px) {
  .post_content h3 {
    font-size: clamp(
      18px,
      18px + (22 - 18) * (100vw - 340px) / 260,
      22px
    ) !important;
    margin: 2em 0 !important;
  }
}

@media (width <= 600px) {
  .post_content h4 {
    font-size: clamp(
      16px,
      16px + (20 - 16) * (100vw - 340px) / 260,
      20px
    ) !important;
    margin: 2em 0 1em !important;
  }
}

@media (width <= 600px) {
  .post_content p {
    font-size: clamp(
      14px,
      14px + (18 - 14) * (100vw - 340px) / 260,
      18px
    ) !important;
  }

  .post_content p.has-medium-font-size,
  .post_content p.u-fz-m {
    font-size: clamp(
      18px,
      18px + (22 - 18) * (100vw - 340px) / 260,
      22px
    ) !important;
  }
}

@media (width <= 600px) {
  .post_content p.has-xs-font-size {
    font-size: clamp(
      10px,
      10px + (14 - 10) * (100vw - 340px) / 260,
      14px
    ) !important;
  }
}

@media (width <= 600px) {
  .swell-block-step__item .swell-block-step__title {
    font-size: clamp(
      18px,
      18px + (22 - 18) * (100vw - 340px) / 260,
      22px
    ) !important;
  }
}

.l-block {
  padding: 40px 0;
}
@media (width <= 600px) {
  .l-block {
    padding: 24px 0;
  }
}

.l-section {
  padding: 40px 0;
}

@media (width <= 600px) {
  .cap_box_ttl .mininote {
    line-height: 2;
  }
}

@media (width <= 600px) {
  .cap_box_content p {
    font-size: 0.9em;
  }
}

@media (width <= 600px) {
  .c-fs-lh {
    margin-bottom: 0 !important;
  }
}

.c-box {
  border-radius: 16px;
  border: 1px solid #f5f7fa;
  padding: 1.5em 4.5em 1.5em 4.5em;
  margin-bottom: 2em;
}
@media (width <= 900px) {
  .c-box {
    padding: 1.5em 3em 1.5em 3em;
  }
}
@media (width <= 600px) {
  .c-box {
    padding: 1em 1.5em 1em 1.5em;
  }
}

.post_content h2 {
  position: relative;
  text-align: center;
  padding-bottom: 2rem;
  font-size: 1.8em;
  color: #f5f7fa;
}

.post_content h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 3.2rem;
  height: 2px;
  transform: translateX(-50%);
  background: #c9a24d;
}

.post_content h3 {
  position: relative;
  padding-left: 1em;
  font-size: 1.4em;
  color: #f5f7fa;
}
.post_content h3::before {
  content: "";
  position: absolute;
  top: 0.18em;
  width: 3px;
  height: 1.05em;
  background: #c9a24d;
}

.post_content h4.wp-block-heading {
  line-height: 1.45;
  letter-spacing: 0.02em;
  margin: 1em 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #c9a24d;
  font-size: 1.2em;
  color: #f5f7fa;
}

.top #content {
  padding-top: 0;
  margin-top: -1px;
}

.dark h2 {
  color: #f5f7fa;
}

/* 横並びボックス　高さ調整 */
@media (min-width: 782px) {
  .is-capbox-eq {
    align-items: stretch;
  }

  .is-capbox-eq > .wp-block-column {
    display: flex;
    align-self: stretch !important;
  }

  .is-capbox-eq > .wp-block-column > .wp-block-group,
  .is-capbox-eq
    > .wp-block-column
    > .wp-block-group
    > .wp-block-group__inner-container {
    display: flex;
    flex: 1;
  }

  .is-capbox-eq .cap_box {
    display: flex;
    flex-direction: column;
    flex: 1;
  }

  .is-capbox-eq .cap_box_content {
    flex: 1;
  }
}

@media (min-width: 782px) {
  .c-table {
    max-width: 85%;
    margin: 0 auto;
  }

  .c-table tr td {
    padding: 25px 0px 25px 10px;
  }
  .c-table tr th {
    padding: 25px 0px 25px 10px;
  }
}
.col_gap_2 {
  --wp-column-gap: 2em;
  gap: var(--wp-column-gap) !important;
  line-height: 1.8;
}

.is-style-inner > .cap_box_ttl {
  top: -14px;
}

.u-bg-main {
  font-weight: 400;
}

.c-border-top {
  border-top: 1px solid #f5f7fa;
  margin-top: 8em;
  padding-top: 1.5em;
}

/* SPメニュー */
.p-spMenu__inner::before {
  background: #102a42;
}
.c-widget__title.-spmenu {
  padding: 0.5em 0.75em;
  background: #102a42;
  border-top: 1px solid #f5f7fa;
  border-bottom: 1px solid #f5f7fa;
  color: #f5f7fa;
}
.p-spMenu {
  color: #f5f7fa;
}

/* ヘッダー */
@media (min-width: 960px) and (max-width: 1240px) {
  .c-headLogo .c-headLogo__link {
    font-size: clamp(20px, 20px + (24 - 20) * (100vw - 961px) / 279, 24px);
  }
}
@media (width <= 960px) {
  .c-headLogo .c-headLogo__link {
    font-size: clamp(15px, 15px + (20 - 15) * (100vw - 340px) / 620, 20px);
  }
}

/* FV */
@media (width <= 960px) {
  #main_visual .p-mainVisual__inner {
    height: 100svh;
    max-height: 800px;
  }
}
@media (width <= 600px) {
  #main_visual .p-mainVisual__inner {
    max-height: 640px;
  }
}

#main_visual .p-mainVisual__imgLayer {
  overflow: hidden;
}
@media (width <= 960px) {
  #main_visual .p-mainVisual__imgLayer {
    top: auto !important;
    bottom: 0;
    height: 60%;
  }
}

#main_visual .p-mainVisual__imgLayer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #1f5876;
  clip-path: polygon(0 0, 50% 0, 45% 100%, 0 100%);
  z-index: 1;
  pointer-events: none;
}
@media (width <= 960px) {
  #main_visual .p-mainVisual__slide.c-filterLayer::before {
    background-color: #1f5876;
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% 40%, 0 50%);
    pointer-events: none;
  }
}

#main_visual .p-mainVisual__slideTitle {
  font-weight: 700;
  font-size: 2.3em;
  max-width: 50%;
}
@media (min-width: 960px) and (max-width: 1240px) {
  #main_visual .p-mainVisual__slideTitle {
    font-size: clamp(30px, 30px + (36 - 30) * (100vw - 961px) / 279, 36px);
  }
}
@media (width <= 960px) {
  #main_visual .p-mainVisual__slideTitle {
    max-width: 100%;
    font-size: clamp(20px, 20px + (44 - 20) * (100vw - 340px) / 620, 44px);
    line-height: 1.22;
    letter-spacing: 0.02em;
    margin-bottom: 0.8em;
  }
}

#main_visual .p-mainVisual__slideText {
  font-size: 15px;
  line-height: 1.8;
  max-width: 30em;
}
@media (width <= 960px) {
  #main_visual .p-mainVisual__slideText {
    font-size: clamp(13px, 13px + (20 - 13) * (100vw - 320px) / 640, 20px);
  }
}
@media (width <= 600px) {
  #main_visual .p-mainVisual__slideText {
    margin-top: 2em;
  }
}

#main_visual .p-mainVisual__textLayer {
  z-index: 3;
}

#main_visual .p-mainVisual__img {
  position: relative;
  z-index: 0;
}
@media (min-width: 960px) {
  #main_visual .p-mainVisual__img {
    width: 55% !important;
    margin-left: auto;
  }
}

@media (max-width: 959px) {
  #main_visual .p-mainVisual__img {
    width: 100% !important;
    margin-left: 0 !important;
    object-position: 50% 40%;
  }
  #main_visual .p-mainVisual__imgLayer::before {
    background: transparent;
    clip-path: none;
    opacity: 0;
  }
  #main_visual .p-mainVisual__textLayer {
    left: 0;
    transform: none;
    width: 100%;
    justify-content: flex-start;
    padding: 56px 20px 0;
    z-index: 3;
  }
}

.-body-solid .l-fixHeader {
  box-shadow: 0 0px 0px var(--swl-color_shadow);
}

.c-gnav > .menu-item {
  font-weight: 600;
  /*	color: #13374F; */
}

.c-gnav a::after {
  background: #b79744;
}

.two_lines {
  padding-top: 2px;
  line-height: 1.4;
}

/* トップ　実績 */
@media (width <= 600px) {
  .p-achievements {
    margin-bottom: 4.5rem !important  ;
  }
}

@media (width <= 600px) {
  .p-achievements .wp-block-image img {
    max-height: 48px;
  }
}

@media (width <= 600px) {
  .p-achievements .u-fz-s {
    font-size: clamp(
      9px,
      9px + (14 - 9) * (100vw - 340px) / 260,
      14px
    ) !important;
  }
}

@media (width <= 600px) {
  .wp-block-image {
    margin-bottom: 0.2rem !important;
  }
}
/* トップ　対象企業・業界 */
.industry .swell-block-columns__inner {
  justify-content: center !important;
  row-gap: 3rem;
}
.industry p {
  font-weight: 700;
}
.industry img {
  border-radius: 4px;
  box-shadow: 0px 0px 10px 4px rgba(19, 55, 79, 0.1);
}

/* トップ　解決できる課題 */
@media (width <= 600px) {
  .kadai .cap_box_ttl {
    font-size: clamp(
      14px,
      14px + (18 - 14) * (100vw - 340px) / 260,
      18px
    ) !important;
  }
}

.kadai .cap_box_ttl {
  border-radius: 4px 4px 0 0;
  padding: 0.4em 0.5em 0.8em 0.5em;
}

.kadai .cap_box_content {
  border-radius: 0 0 4px 4px;
}

/* 実績・導入事例 */
.results .c-box .swell-block-columns__inner > .swell-block-column:nth-child(1) {
  width: 50% !important;
  margin: 0 !important;
}
@media (width <= 960px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(1) {
    width: 55% !important;
  }
}
@media (width <= 600px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(1) {
    width: 100% !important;
    margin: 0 0 0 var(--swl-clmn-mrgn--x) !important;
  }
}

.results .c-box .swell-block-columns__inner > .swell-block-column:nth-child(2) {
  width: 10% !important;
  margin: 0 !important;
}
@media (width <= 600px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(2) {
    width: 100% !important;
    margin: 0 0 0 var(--swl-clmn-mrgn--x) !important;
  }
}
@media (width <= 600px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(2)
    span {
    rotate: 90deg;
    display: inline-block;
  }
}

@media (width <= 600px) {
  .results .swl-inline-icon {
    line-height: 1;
  }
}

.results .c-box .swell-block-columns__inner > .swell-block-column:nth-child(3) {
  width: 40% !important;
  margin: 0 !important;
}
@media (width <= 960px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(3) {
    width: 35% !important;
  }
}
@media (width <= 600px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(3) {
    width: 100% !important;
    margin: 0 0 0 var(--swl-clmn-mrgn--x) !important;
  }
}

.results .c-box .swell-block-columns__inner > .swell-block-column:nth-child(4) {
  width: 100% !important;
}
@media (width <= 600px) {
  .results
    .c-box
    .swell-block-columns__inner
    > .swell-block-column:nth-child(4) {
    margin: 1rem 0 0 var(--swl-clmn-mrgn--x) !important;
  }
}

@media (width <= 600px) {
  .results .c-box .swell-block-columns__inner {
    gap: 0 !important;
  }
}

@media (width <= 600px) {
  .results .c-box .wp-block-media-text__media {
    max-width: 200px;
    margin: 0 auto 0.5rem auto;
  }
}

@media (min-width: 600px) and (max-width: 960px) {
  .results .c-box .u-fz-l {
    font-size: clamp(
      18px,
      18px + (25 - 18) * (100vw - 600px) / 360,
      25px
    ) !important;
  }
}

@media (width <= 600px) {
  .results .c-box .wp-block-media-text__content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.results .swell-block-columns__inner {
  align-items: center;
}

.results .swl-inline-icon {
  display: inline-block;
  margin-left: 0.1em;
  margin-right: 0.1em;
  min-width: 1em;
  position: relative;
  font-size: 2.2em;
  color: #b08d3f;
}

/* 代表挨拶 */
.greeting {
  padding: 3em;
  background-color: rgb(16 42 66 / 45%);
  border-radius: 0px;
  /* box-shadow: 00px 0px 10px 0px rgb(0 10 24 / 40%); */
}
.greeting .wp-block-image img {
  padding: 0 0 10px 10px;
}

@media (width >= 601px) {
  .greeting .wp-block-image {
    float: right;
  }
}
@media (width <= 600px) {
  .greeting {
    padding: 1.5em;
  }
}

/* お問い合わせ */
@media (width <= 600px) {
  .c-form__group:has(.c-form__submit) {
    text-align: center;
  }
}
/*  お問い合わせ */
.c-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-form__label {
  min-width: 200px;
  font-weight: 700;
  margin-bottom: 20px !important;
}
.c-form__req {
  margin: 0px 10px 3px 0px;
  color: #102a42;
  font-weight: 500;
  border-radius: 4px;
  padding: 2px 10px 2px 10px;
  font-size: 12px;
  background: #d4a23a;
}
.c-form__any {
  margin: 0px 10px 3px 0px;
  color: #f5f7fa;
  font-weight: 500;
  border-radius: 4px;
  padding: 2px 10px 2px 10px;
  font-size: 12px;
  background: #6d757d;
}
.c-form__submit-wrap {
  margin-top: 24px;
}
.c-form__submit {
  display: inline-flex;
  cursor: pointer;
  height: 48px;
  padding: 0 32px;
  min-width: 260px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #b08d3f 0%, #c9a24d 50%, #d4b36a 100%);
  background-size: 200% 100%;
  border: 0px;
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  transition: all 0.3s ease-in-out;
}
.c-form__submit:hover {
  background-position: 100% 0;
}
.c-form__input {
  border: 1px solid #b7b7b7;
  border-radius: 4px;
  width: 100%;
  max-width: 400px;
}

#inquiry {
  width: 100%;
  max-width: 560px;
}
.c-form .error {
  color: #e9b4ba;
}

.c-form__bottom{
	margin-top:2.4rem;
}

.c-form__bottom-note{
	font-size:.9em;
	line-height:1.2;
	text-indent:-1em;
	padding-left:1em;
	display:block;
	margin:.4rem 0;
}

/* 投稿記事 */
.single-post .l-mainContent.l-article{
	padding:1rem 2rem;
	background:#F5F8FF;
	border-radius: 8px;
	
}
.single-post .l-mainContent.l-article {
  --color_text: #13374f;
	color: var(--color_text);
}

/* サイドバー */

.l-sidebar a{
	color:#fff;
	position:relative;
}

.l-sidebar a:not(ul a)::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  height:1px;
  width:100%;
  background:#fff;
}

.l-sidebar .wp-block-search__input{
	background:#fff;
}
.l-sidebar h2.wp-block-heading {
    color: #fff;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, #b79744 0%, #b79744 20px, #102A42 20px, #102A42 100%);
}

@media (min-width: 960px) {
.c-contact:not(.l-footer__nav .c-contact){
  display: flex;
  align-items: center;
  margin-left: clamp(8px, 8px + (24 - 8) * (100vw - 960px) / 64, 24px);
}

.c-contact:not(.l-footer__nav .c-contact) a{
  display: inline-flex !important;
  width: clamp(100px, 100px + (180 - 100) * (100vw - 960px) / 64, 180px);
  height: 48px !important;
  background-color: #c9a24d;
  align-items: center;
  justify-content: center;
  transition: all .3s ease-in;
  border-radius: 4px;
}

.c-contact:not(.l-footer__nav .c-contact) a:hover{
  background-color: #cfad62;
  text-decoration: none !important;
}
}

.c-contact:not(.l-footer__nav .c-contact) a:hover::after{
  display:none;
}


/* cta */
.c-cta .c-cta__text{
	font-size:24px;
	font-weight:700;
	position:relative;
	padding:0 64px;
	line-height:1;
	display:inline-block;
}

@media (width <= 960px){
	.c-cta .c-cta__text{
padding:0 40px;
}
}

@media (width <= 600px){
	.c-cta .c-cta__text{
		padding:0 32px;
font-size: clamp(18px, 18px + (24 - 18) * (100vw - 375px) / 225, 24px) !important;
}
}

@media (width <= 400px){
	.c-cta .c-cta__text{
padding: 0 clamp(18px, 18px + (24 - 18) * (100vw - 340px) / 60, 24px);
		white-space:nowrap;
}
}

.c-deco{
	text-align:center;
	margin-bottom:32px !important;
}

@media (width <= 600px){
.c-deco{
	text-align:center;
	margin-bottom:24px !important;
}
}

.c-cta .c-cta__text::before,.c-cta .c-cta__text::after{
	content:"";
	background:#fff;
	position:absolute;
	width:32px;
	height:2px;
	transform: translateY(-50%);
    top: 50%;
}
@media (width <= 960px){
.c-cta .c-cta__text::before,.c-cta .c-cta__text::after{
	width:24px;
}
}


.c-cta .c-cta__text::before{
	left:0;
	rotate:45deg;
}
@media (width <= 400px){
.c-cta .c-cta__text::before{
	left:-4px;
}
}

.c-cta .c-cta__text::after{
	right:0;
	rotate:-45deg;
}
@media (width <= 400px){
.c-cta .c-cta__text::after{
	right:-4px;
}
}

.c-cta__uptext{
	font-size:18px;
	margin-bottom:10px !important;
}

@media (width <= 600px){
.c-cta__uptext{
	margin-bottom:4px !important;
}
}


.c-cta .swell-block-button__link{
	border-radius:8px;
	font-size:20px;
}

@media (width <= 600px){
	.c-cta .swell-block-button__link{
	font-size:16px;
}
}

.c-cta [class*=is-style-btn_].-size-l {
    --the-min-width: 70%;
}

@media (width <= 600px){
.c-cta [class*=is-style-btn_].-size-l {
    --the-min-width: 75%;
    --the-padding: 1em 1.5em;
}
}