/*
  Theme Name: SUGENA 2026
  Description: SUGENA オリジナルテーマ
  Version: 1.0.0
*/

@charset "utf-8";

/*----------------------------------------------
    BASE
----------------------------------------------*/

:root {
  --color-base: #000;
  --color-main: #242256;
  --color-sub: #2860A8;
  --color-light: #F4F2F4;
  --color-point: #CB2F36;
  --content-max-width: calc(100% - 120px);
  --content-width: 1180px;
  --transition-base: .2s ease-in-out;
}

html {
  scrollbar-gutter: stable;
}

body {
  color: var(--color-base);
  font: 400 16px/1.5 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", HiraKakuPro-W4, "ヒラギノ角ゴ Pro W4", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", verdana, sans-serif;
}

body.is-noscroll {
  overflow-y: hidden;
}

img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: inherit;
  text-decoration: none;
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}


/*----------------------------------------------
    COMMON (共通)
----------------------------------------------*/

.only-pc {
  display: block !important;
}

.only-pctb {
  display: block !important;
}

.only-tb {
  display: none !important;
}

.only-tbsp {
  display: none !important;
}

.only-sp {
  display: none !important;
}

.c-bg-gray {
  background-color: #F3F1F3;
}

.c-color-navy {
  color: var(--color-main);
}

.c-color-blue {
  color: var(--color-sub);
}

.c-color-red {
  color: var(--color-point);
}

.c-fs-120 {
  font-size: 1.2em;
}

.c-fw-bold {
  font-weight: 700;
}

.c-mt-0 {
  margin-top: 0 !important;
}

.c-mt-1 {
  margin-top: 1em !important;
}

.c-mt-15 {
  margin-top: 1.5em !important;
}

.c-mt-2 {
  margin-top: 2em !important;
}

.c-mb-0 {
  margin-bottom: 0 !important;
}

.c-mb-1 {
  margin-bottom: 1em !important;
}

.c-mb-15 {
  margin-bottom: 1.5em !important;
}

.c-mb-2 {
  margin-bottom: 2em !important;
}

.c-nolink {
  cursor: default;
  pointer-events: none;
}

.c-btn-white {
  background-color: #fff;
  border: 1px solid var(--color-sub);
  border-radius: 6px;
  color: var(--color-sub);
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  max-width: 100%;
  padding: 14px 16px 17px;
  transition: var(--transition-base);
  width: 320px;
}

.c-btn-white:hover {
  background-color: #DBE4F1;
}

.c-btn-navy {
  background-color: var(--color-main);
  border: 1px solid var(--color-main);
  border-radius: 6px;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  max-width: 100%;
  padding: 14px 16px 17px;
  transition: var(--transition-base);
  width: 320px;
}

.c-btn-navy:hover {
  background-color: #5D5B83;
  border-color: #5D5B83;
}

.c-btn-blue {
  background-color: var(--color-sub);
  border: 1px solid var(--color-sub);
  border-radius: 6px;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  max-width: 100%;
  padding: 14px 16px 17px;
  transition: var(--transition-base);
  width: 320px;
}

.c-btn-blue:hover {
  background-color: #5C86BD;
  border-color: #5C86BD;
}

.c-btn-red {
  background-color: var(--color-point);
  border: 1px solid var(--color-point);
  border-radius: 6px;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .35em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  max-width: 100%;
  padding: 14px 16px 17px;
  transition: var(--transition-base);
  width: 320px;
}

.c-btn-red:hover {
  background-color: #D76166;
  border-color: #D76166;
}

.c-icon {
  padding-top: .1em;
}

.icon-document {
  height: auto;
  width: 18px;
}

.icon-arrow-bl {
  height: auto;
  width: 14px;
}

.icon-arrow-wh {
  height: auto;
  width: 14px;
}

.icon-arrowhead-wh {
  height: auto;
  width: 3px;
}

.icon-download-wh {
  height: auto;
  width: 13px;
}

.icon-download-bl {
  height: auto;
  width: 13px;
}

.icon-calendar {
  height: auto;
  width: 16px;
}

.c-section {
  overflow: hidden;
}

.c-section-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 40px 0;
  width: var(--content-width);
}

.c-section-header {
  margin-bottom: 2.5em;
  padding-bottom: 1.5em;
  position: relative;
  text-align: center;
}

.c-section-header::after {
  content: "";
  background-color: var(--color-main);
  border-radius: 100vh;
  height: 3px;
  margin: auto;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 116px;
}

.c-section-title {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
}

.c-frame {
  background-color: #E3EFFF;
  border: 3px solid var(--color-sub);
  border-radius: 12px;
  margin: 3em auto;
  max-width: 100%;
  padding: 40px;
  text-align: center;
  width: 800px;
}

.c-frame-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.c-frame-text {
  font-size: clamp(16px,1.4vw,18px);
  margin-bottom: 1em;
}

.c-frame .c-frame-text:last-child {
  margin-bottom: 0;
}

.c-frame-conclusion {
  color: var(--color-main);
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1em;
}

.c-frame .c-frame-conclusion:last-child {
  margin-bottom: 0;
}


/*   HEADER   */

#header {
  background-color: #fff;
  display: flex;
  align-items: center;
  column-gap: 1em;
  justify-content: space-between;
  padding: 20px;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.h-logo-image {
  height: auto;
  width: 240px;
}

.h-menubtn {
  display: none;
}

.h-gnav {
  display: flex;
  align-items: center;
  column-gap: 1.5em;
  flex-wrap: wrap;
  justify-content: flex-end;
  row-gap: 1em;
  flex: 1;
}

.h-gnav-list {
  display: flex;
  align-items: center;
  column-gap: clamp(1em,1.8vw,2em);
  flex-wrap: wrap;
  justify-content: flex-end;
  line-height: 1.5;
}

.h-gnav-list-item.menu-item-has-children {
  position: relative;
}

.h-gnav-dropdown {
  display: none;
}

.h-gnav-icon {
  height: auto;
  margin-left: .25em;
  transition: var(--transition-base);
  vertical-align: .2em;
  width: 14px;
}

.h-gnav-list-item a {
  transition: var(--transition-base);
}

.h-gnav-list-item a:hover {
  color: var(--color-sub);
}

.h-gnav-list-item > a {
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
}

.h-gnav-list-sub {
  background-color: rgba(255,255,255,.9);
  display: none;
  min-width: 300px;
  padding: 1em;
  position: absolute;
  top: 100%;
  left: 0;
  transition: var(--transition-base);
  transition-behavior: allow-discrete;
  width: max-content;
}

.h-gnav-list-sub-title {
  color: var(--color-main);
  font-weight: 700;
  margin-top: 1em;
}

.h-gnav-list-sub .h-gnav-list-sub-title:first-child {
  margin-top: 0;
}

.h-gnav-sublist li {
  line-height: 1.35;
  margin: .5em 0;
}

.h-gnav-sublist li:last-child {
  margin-bottom: 0;
}

.h-gnav-sublist li {
  margin-left: .8em;
  text-indent: -.8em;
}

.h-gnav-sublist li::before {
  content: "-";
  margin-right: .5em;
}

.h-gnav-btns {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}

.h-gnav-btn {
  border-radius: 6px;
  border-style: solid;
  border-width: 1px;
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  max-width: 100%;
  padding: 7px 10px 10px;
  transition: var(--transition-base);
  width: clamp(150px,14vw,180px);
}

.h-gnav-btn.download {
  background-color: #F7F5F7;
  border-color: #999;
  color: var(--color-sub);
}

.h-gnav-btn.download:hover {
  background-color: #E9E3E9;
}

.h-gnav-btn.contact {
  background-color: var(--color-point);
  border-color: var(--color-point);
  color: #fff;
}

.h-gnav-btn.contact:hover {
  background-color: #D76166;
  border-color: #D76166;
}

.h-language {
  text-align: right;
}

.h-language-list-item {
  padding: .1em 0;
}

.h-language-list-item a {
  color: #666;
  display: block;
  font-size: 14px;
  font-weight: 700;
  transition: var(--transition-base);
}

.h-language-list-item a:hover {
  color: var(--color-sub);
}

.h-language-list-item .icon {
  margin-left: .25em;
  vertical-align: -1px;
}

@media screen and (min-width: 1081px) {
  .h-gnav-list-item.menu-item-has-children:hover .h-gnav-icon {
    transform: rotate(180deg);
    transform-origin: center center;
  }
  .h-gnav-list-item.menu-item-has-children:hover .h-gnav-list-sub {
    display: block;
    opacity: 1;
    @starting-style {
      opacity: 0;
    }
  }
}

@media screen and (max-width: 1080px) {
  #header {
    height: 70px;
    justify-content: center;
    padding: 15px;
  }
  #header.is-active {
    justify-content: flex-start;
  }
  .h-sitetitle {
    font-size: 1rem;
  }
  .h-logo-image {
    height: 28px;
    vertical-align: middle;
    width: auto;
  }
  .h-menubtn {
    cursor: pointer;
    display: block;
    height: 30px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-index: 100;
    width: 40px;
  }
  .h-menubtn span {
    background-color: var(--color-sub);
    border-radius: 100vh;
    display: block;
    height: 4px;
    position: absolute;
    left: 0;
    transition: .3s;
    width: 100%;
  }
  .h-menubtn .t {
    top: 0;
  }
  .h-menubtn .m {
    top: 50%;
    transform: translateY(-50%);
  }
  .h-menubtn .b {
    bottom: 0;
  }
  .h-menubtn.is-active .t {
    transform: translateY(13px) rotate(45deg);
  }
  .h-menubtn.is-active .m {
    opacity: 0;
  }
  .h-menubtn.is-active .b {
    transform: translateY(-13px) rotate(-45deg);
  }
  .h-gnav {
    background-color: #EFF0FF;
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    height: calc(100% - 70px);
    overflow-y: auto;
    padding: 15px 30px 30px;
    width: 100%;
    z-index: 101;
  }
  .h-gnav-list {
    display: block;
    margin-bottom: 2em;
  }
  .h-gnav-list-item {
    border-bottom: 1px solid #000;
    padding: .5em 0;
  }
  .h-gnav-list-item > a {
    display: inline-block;
    font-size: 20px;
    padding: 0;
  }
  .h-gnav-dropdown:checked + label .h-gnav-icon {
    transform: rotate(180deg);
    transform-origin: center center;
  }
  .h-gnav-dropdown:checked ~ .h-gnav-list-sub {
    display: block;
  }
  .h-gnav-list-sub {
    background-color: transparent;
    display: none;
    min-width: inherit;
    padding: .5em 0 1em;
    position: static;
    width: 100%;
  }
  .h-gnav-btns {
    gap: 1em 2%;
    justify-content: center;
  }
  .h-gnav-btn {
    font-size: 18px;
    width: 49%;
  }
  .h-language {
    display: none;
    position: absolute;
    top: 12px;
    right: 70px;
  }
}


/*   CTA   */

#cta {
  background-color: var(--color-main);
  text-align: center;
}

.cta-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 40px 0;
  width: var(--content-width);
}

.cta-title {
  color: #fff;
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.cta-text {
  color: #fff;
  font-size: clamp(18px,1.6vw,20px);
}

.cta-btns {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin-top: 2.5em;
}

#cta .c-btn-white {
  background-color: #F6F4F6;
}

#cta .c-btn-white:hover {
  background-color: #DBE4F1;
}


/*   SIDE   */

#side {
  position: fixed;
  top: max(310px,50%);
  right: 0;
  transform: translateY(-50%);
  z-index: 99;
}

.side-list {
  display: flex;
  flex-direction: column;
  row-gap: 1em;
}

.side-btn {
  border-radius: 10px 0 0 10px;
  border-right: 0 !important;
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
  height: 200px;
  letter-spacing: .1em;
  padding: 10px;
  text-align: center;
  transition: var(--transition-base);
  writing-mode: vertical-rl;
}

.side-btn.download {
  background-color: #F7F5F7;
  border-color: #999;
  color: var(--color-sub);
}

.side-btn.download:hover {
  background-color: #E9E3E9;
}

.side-btn.contact {
  background-color: var(--color-point);
  border-color: var(--color-point);
  color: #fff;
}

.side-btn.contact:hover {
  background-color: #D76166;
  border-color: #D76166;
}

#side-en {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  padding: 15px;
  position: fixed;
  bottom: 15px;
  right: 20px;
  z-index: 99;
}

.side-en-list {
  display: flex;
  column-gap: 1em;
}

.side-en-btn {
  border-radius: 6px;
  border-style: solid;
  border-width: 1px;
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  padding: 10px;
  text-align: center;
  transition: var(--transition-base);
  width: 240px;
}

.side-en-btn.download {
  background-color: #F7F5F7;
  border-color: #999;
  color: var(--color-sub);
}

.side-en-btn.download:hover {
  background-color: #E9E3E9;
}

.side-en-btn.contact {
  background-color: var(--color-point);
  border-color: var(--color-point);
  color: #fff;
}

.side-en-btn.contact:hover {
  background-color: #D76166;
  border-color: #D76166;
}

.side-en-close {
  aspect-ratio: 1 / 1;
  background-color: #000;
  border-radius: 100vh;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  height: 35px;
  line-height: 1;
  position: absolute;
  top: -15px;
  right: -15px;
  transition: var(--transition-base);
  width: 35px;
}

.side-en-close:hover {
  opacity: .8;
}


/*   FOOTER   */

#footer {
  background-color: #0C0C26;
  color: #fff;
}

.f-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding-top: 50px;
  width: var(--content-width);
}

.f-container {
  display: flex;
  gap: 1em 1.5em;
  justify-content: space-between;
  padding-bottom: 15px;
}

.f-info-name {
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .25em;
}

.f-info-address {
  font-size: clamp(14px,1.2vw,16px);
}

.f-info-sns {
  display: flex;
  align-items: center;
  column-gap: 1em;
  margin-top: 1em;
}

.f-info a {
  transition: var(--transition-base);
}

.f-info a:hover {
  opacity: .8;
}

.f-nav a:hover {
  text-decoration: underline;
}

.f-nav-list-item {
  margin-bottom: 1.25em;
}

.f-nav-list-item > a {
  font-size: clamp(18px,1.8vw,20px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1em;
}

.f-nav-list-sub {
  margin-top: 1em;
}

.f-nav-list-sub-title {
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
  margin-top: 1em;
}

.f-nav-sublist-item {
  margin: .5em 0;
}

.f-nav-sublist-item > a {
  display: inline-block;
  font-size: clamp(14px,1.2vw,16px);
  margin-left: 1em;
}

.f-bottom {
  border-top: 1px solid #fff;
  display: flex;
  align-items: center;
  column-gap: 2em;
  justify-content: space-between;
  padding: 30px 0;
}

.f-link {
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 2em;
}

.f-link a {
  font-size: clamp(14px,1.2vw,16px);
}

.f-link a:hover {
  text-decoration: underline;
}

.f-copyright {
  font-size: clamp(14px,1.2vw,16px);
}


/*----------------------------------------------
    TOP PAGE
----------------------------------------------*/

.home-section-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 40px 0;
  width: var(--content-width);
}

.home-section-header {
  margin-bottom: 2.5em;
  padding-bottom: 1em;
  position: relative;
  text-align: center;
}

.home-section-header::after {
  content: "";
  background-color: #808080;
  border-radius: 100vh;
  height: 3px;
  margin: auto;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 116px;
}

.home-section-title {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .1em;
}

.home-section-title-en {
  color: #808080;
  font-family: "Charter", sans-serif;
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
}

#home-mainvisual {
  background-image: url(assets/images/home/mainvisual_pc.webp);
  background-image: image-set(url(assets/images/home/mainvisual_pc.webp) 1x, url(assets/images/home/mainvisual_pc@2x.webp) 2x);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home-mainvisual-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  max-width: var(--content-max-width);
  padding: 50px 0;
  width: 1400px;
}

.home-mainvisual-content {
  color: #fff;
}

.home-mainvisual-title {
  font-size: clamp(36px,3.4vw,54px);
  font-weight: 700;
  margin-bottom: .25em;
  margin-left: 1em;
  text-indent: -1em;
}

.home-mainvisual-subtitle {
  display: flex;
  align-items: center;
  column-gap: .75em;
  justify-content: center;
  font-family: "Charter", sans-serif;
  font-size: clamp(20px,1.8vw,24px);
  font-style: italic;
  font-weight: 700;
}

.home-mainvisual-subtitle::before,
.home-mainvisual-subtitle::after {
  content: "";
  border-bottom: 1px solid #fff;
  height: 1px;
  width: clamp(35px,3.4vw,60px);
}

.home-mainvisual-navbox {
  background-color: #F9F9F9;
  border-radius: 12px;
  max-width: 52%;
  padding: 40px min(2.4vw,40px);
  width: 728px;
}

.home-mainvisual-navbox-title {
  color: var(--color-sub);
  font-size: clamp(20px,1.8vw,26px);
  font-weight: 700;
  margin-bottom: .5em;
  text-align: center;
}

.home-mainvisual-navbox-title .logo {
  height: auto;
  vertical-align: -3px;
  width: clamp(160px,15vw,200px);
}

.home-mainvisual-navbox-container {
  margin-bottom: 1.5em;
}

.home-mainvisual-navbox-subtitle {
  color: var(--color-main);
  font-size: clamp(16px,1.4vw,20px);
  font-weight: 700;
  margin-bottom: .5em;
}

.home-mainvisual-navbox-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 2%;
  justify-content: space-between;
}

.home-mainvisual-navbox-list-item {
  max-width: 49%;
  min-height: 70px;
  width: 320px;
}

.home-mainvisual-navbox-list-item a {
  background-color: #fff;
  border: 1px solid #B3B3B3;
  border-radius: 6px;
  color: var(--color-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px,1.2vw,18px);
  font-weight: 700;
  height: 100%;
  line-height: 1.35;
  padding: 10px 40px 12px;
  position: relative;
  text-align: center;
  transition: var(--transition-base);
}

.home-mainvisual-navbox-list-item a::after {
  content: "";
  background: url(assets/images/common/icon_arrow_right_nv.svg) no-repeat center center / 18px 15px;
  display: block;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  transition: var(--transition-base);
  width: 18px;
}

.home-mainvisual-navbox-list-item a:hover {
  background-color: var(--color-light);
}

.home-mainvisual-navbox-list-item a:hover::after {
  right: 10px;
}

.home-mainvisual-navbox-btns {
  display: flex;
  align-items: center;
  column-gap: 1em;
  justify-content: center;
  margin-top: 1.5em;
}

.home-mainvisual-navbox-btn {
  background-color: var(--color-sub);
  border-radius: 6px;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .25em;
  justify-content: center;
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
  max-width: 100%;
  padding: 10px 10px 12px;
  transition: var(--transition-base);
  width: 344px;
}

.home-mainvisual-navbox-btn:hover {
  background-color: #5C86BD;
}

.home-mainvisual-navbox-btn .icon {
  height: auto;
  padding-top: 3px;
  width: 18px;
}

.home-about-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 60px 0 5px;
  width: 1400px;
}

.home-about-container {
  display: flex;
  gap: 1em 2%;
  flex-wrap: wrap;
  justify-content: space-between;
}

.home-about-box {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 0 2px rgba(114,114,114,.75);
  padding: 40px 20px;
  text-align: center;
  width: 49%;
}

.home-about-box-title {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .75em;
}

.home-about-box-text {
  font-size: clamp(16px,1.4vw,20px);
  display: flex;
  align-items: center;
  justify-content: center;
}

#home-service .home-section-inner {
  padding-bottom: 20px;
}

.home-service-header {
  margin-bottom: 2em;
  text-align: center;
}

.home-service-title {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
}

.home-service-container {
  display: flex;
  gap: 1.5em 2%;
  flex-wrap: wrap;
  justify-content: space-between;
}

.home-service-box {
  background-color: var(--color-light);
  border-radius: 12px;
  padding: 30px 25px;
  width: 49%;
}

.home-service-box-title {
  border-bottom: 2px solid #808080;
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .5em;
  padding-bottom: 5px;
}

.home-service-box-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(1vw,1.25em) 2%;
  justify-content: space-between;
}

.home-service-box-list-item {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  overflow: hidden;
  position: relative;
  width: 49%;
}

.home-service-box-list-item a {
  display: block;
  height: 100%;
  padding: 20px 20px 75px;
  transition: .2s;
  width: 100%;
}

.home-service-box-list-item a:hover {
  background-color: var(--color-light);
  transform: scale(1.02);
}

.home-service-box-list-item-title {
  color: var(--color-main);
  display: flex;
  align-items: center;
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.home-service-box-list-item-text {
  font-size: clamp(14px,1.2vw,16px);
}

.home-service-box-list-item-btns {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.home-service-box-list-item-btns img {
  height: 45px;
  width: 45px;
}

.home-case-container {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.5vw,1.5em) 2%;
  justify-content: space-between;
  margin: auto;
}

.home-case-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  overflow: hidden;
  width: 32%;
}

.home-case-box a {
  display: block;
  height: 100%;
  transition: .2s;
  width: 100%;
}

.home-case-box a:hover {
  background-color: var(--color-light);
  transform: scale(1.02);
}

.home-case-box-figure {
  aspect-ratio: 454 / 255;
  border-radius: 13px;
  overflow: hidden;
  position: relative;
}

.home-case-box-figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.home-case-box-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  padding: 0 2px;
  position: absolute;
  bottom: 20px;
  left: 20px;
  width: calc(100% - 40px);
}

.home-case-box-title .marker {
  background: linear-gradient(transparent 15%, #fff 15%, #fff 92%,transparent 92%);
  padding: 0 4px;
}

.home-case-box-content {
  padding: 15px 20px 20px;
}

.home-case-box-text {
  font-size: clamp(16px,1.4vw,18px);
}

.home-case-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px;
}

#home-china {
  background-color: var(--color-light);
}

.home-china-container {
  display: flex;
  align-items: flex-start;
  gap: 2em 2%;
  justify-content: space-between;
  margin: auto;
  max-width: 1240px;
}

.home-china-content {
  width: 49%;
}

.home-china-type {
  background-color: #E0E0E0;
  border-radius: 5px;
  color: #4D4D4D;
  font-size: clamp(12px,1vw,14px);
  font-weight: 700;
  margin-bottom: .5em;
  padding: 1px 5px 2px;
  width: fit-content;
}

.home-china-tagline {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.home-china-text {
  font-size: clamp(14px,1.2vw,16px);
}

.home-china-btns {
  margin-top: 1.5em;
}

.home-china-thumbnail {
  position: relative;
}

.home-china-thumbnail a {
  transition: var(--transition-base);
}

.home-china-thumbnail a:hover {
  opacity: .8;
}

.home-china-image {
  aspect-ratio: 584 / 328;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.home-china-image::before {
  content: "";
  background: linear-gradient(transparent 30%, rgba(77,77,77,.7) 70%);
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.home-china-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.home-china-info {
  padding: 25px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

.home-china-info-meta {
  display: flex;
  align-items: center;
  column-gap: .5em;
  margin-bottom: .5em;
}

.home-china-info-meta .type {
  background-color: var(--color-point);
  border-radius: 3px;
  color: #fff;
  font-size: clamp(12px,1vw,14px);
  padding: 1px 8px 2px;
}

.home-china-info-meta .desc {
  color: #fff;
  font-size: clamp(12px,1vw,14px);
}

.home-china-info-name {
  border-bottom: 1px solid #fff;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt";
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.home-china-info-more {
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .5em;
  font-size: clamp(14px,1.2vw,16px);
}

.home-blog-container {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.5vw,1.5em) 2%;
  justify-content: space-between;
  margin: auto;
}

.home-blog-box {
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  border-radius: 12px;
  overflow: hidden;
  width: 49%;
}

.home-blog-box.full {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.home-blog-box-content {
  padding: 30px;
}

.home-blog-box.full .home-blog-box-content {
  width: 50%;
}

.home-blog-box-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.home-blog-box-tagline {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1em;
}

.home-blog-box-text {
  font-size: clamp(14px,1.2vw,16px);
}

.home-blog-box-more {
  margin-top: 1.25em;
}

.home-blog-box-more a {
  border: 1px solid #000;
  border-radius: 4px;
  display: inline-block;
  font-size: clamp(14px,1.2vw,16px);
  font-weight: 700;
  line-height: 1.35;
  padding: 2px 10px 5px;
  transition: var(--transition-base);
}

.home-blog-box-more a svg {
  height: auto;
  width: 15px;
}

.home-blog-box-more a:hover {
  background-color: #000;
  color: #fff;
}

.home-blog-box-more a:hover svg {
  fill: #fff;
}

.home-blog-box-more a img {
  margin-left: .25em;
  vertical-align: 0;
}

.home-blog-talk-figure {
  flex: 1;
  position: relative;
}

.home-blog-talk-figure::before {
  content: "";
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
}

.home-blog-talk-figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

#home-blog-sunday {
  background-image: url(assets/images/home/img_blog_sunday.webp);
  background-image: image-set(url(assets/images/home/img_blog_sunday.webp) 1x, url(assets/images/home/img_blog_sunday@2x.webp) 2x);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: cover;
}

#home-blog-sunday .home-blog-box-content {
  padding-right: 225px;
}

#home-blog-story {
  background-image: url(assets/images/home/img_blog_story.webp);
  background-image: image-set(url(assets/images/home/img_blog_story.webp) 1x, url(assets/images/home/img_blog_story@2x.webp) 2x);
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: cover;
}

#home-blog-story .home-blog-box-content {
  padding-left: 240px;
}

#home-documents {
  background-color: var(--color-light);
}

.home-documents-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  justify-content: space-between;
  margin: auto;
}

.home-documents-box {
  background-color: #fff;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  border-radius: 12px;
  overflow: hidden;
  padding: 20px;
  position: relative;
  width: 49%;
}

.home-documents-box-icon {
  background-color: var(--color-point);
  clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
  color: #fff;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  line-height: 1;
  padding: 10px 50px 14px 25px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.home-documents-box-thumbnail {
  position: relative;
}

.home-documents-box-image {
  aspect-ratio: 584 / 328;
  border-radius: 12px;
  overflow: hidden;
}

.home-documents-box-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.home-documents-box-info {
  position: absolute;
  bottom: 15px;
  left: 15px;
  width: calc(100% - 30px);
  z-index: 2;
}

.home-documents-box-category {
  color: var(--color-point);
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  text-shadow: 0 0 3px #fff;
}

.home-documents-box-title {
  color: var(--color-main);
  font-feature-settings: "palt";
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
}

.home-documents-box-title .marker {
  background: linear-gradient(transparent 15%, #fff 15%, #fff 92%,transparent 92%);
  padding: 0 4px;
}

.home-documents-box-text {
  font-size: clamp(16px,1.4vw,18px);
  margin-top: 1em;
}

.home-documents-box-btns {
  display: flex;
  justify-content: center;
  margin-top: 1.25em;
}

.home-topics-container {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 3em 2%;
  justify-content: space-between;
}

.home-topics-content {
  width: 52%;
}

.home-topics-header {
  border-bottom: 2px solid #808080;
  margin-bottom: 1em;
  padding: 10px 15px;
}

.home-topics-header .home-section-title {
  margin-bottom: .1em;
  margin-left: -.25em;
}

.home-topics-list-item {
  border-bottom: 1px solid #ccc;
  display: flex;
  column-gap: 1em;
  padding: 1em 15px;
}

.home-topics-list-item .date {
  font-size: clamp(14px,1.2vw,16px);
  width: 6em;
}

.home-topics-list-item .title {
  color: var(--color-main);
  flex: 1;
  font-size: clamp(14px,1.2vw,16px);
  font-weight: 700;
}

.home-topics-list-item .title:hover {
  text-decoration: underline;
}

.home-topics-btns {
  display: flex;
  justify-content: center;
  margin-top: 1.5em;
}

.home-topics-banner {
  border-radius: 12px;
  overflow: hidden;
  width: 46%;
}

.home-topics-banner a {
  transition: var(--transition-base);
}

.home-topics-banner a:hover {
  opacity: .8;
}


/*----------------------------------------------
    PAGE (共通)
----------------------------------------------*/

.page-title {
  background-color: var(--color-sub);
  color: #fff;
  display: flex;
  align-items: center;
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  min-height: 4em;
  padding: 10px min(5vw,80px);
}

.page-breadcrumb {
  background-color: #F6F4F6;
  border-bottom: 1px solid #989898;
  color: #333;
  font-size: clamp(12px,1vw,14px);
  font-weight: 700;
  padding: 10px min(5vw,80px);
}

.page-award {
  background-color: var(--color-sub);
  border-radius: 100vh;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .5em;
  line-height: 1.35;
  margin: 2em auto 3em;
  max-width: 100%;
  padding: 12px 40px 16px;
  width: fit-content;
}

.page-award-icon {
  padding-top: .3em;
}

.page-award-text {
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
}

.page-preamble-container {
  display: flex;
  gap: 1em 2%;
  flex-wrap: wrap;
  justify-content: space-between;
}

.page-preamble-content {
  width: 54%;
}

.page-preamble-tagline {
  color: var(--color-main);
  font-size: clamp(26px,2.4vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.page-preamble-text {
  font-size: clamp(16px,1.4vw,18px);
  margin-bottom: 1em;
}

.page-preamble-point {
  border-left: 5px solid var(--color-point);
  color: var(--color-point);
  font-size: clamp(18px,1.6vw,22px);
  font-weight: 700;
  line-height: 1.35;
  padding-left: .75em;
}

.page-preamble-figure {
  width: 44%;
}

.page-preamble-figure img {
  filter: drop-shadow(0 0 1.5px rgba(114,114,114,.75));
  height: auto;
  width: 100%;
}

.page-support-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  justify-content: space-between;
}

.page-support-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  padding: 30px;
  width: 32%;
}

.page-support-box-icon {
  margin-bottom: 2em;
  text-align: center;
}

.page-support-box-title {
  color: var(--color-sub);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
  text-align: center;
}

.page-support-box-text {
  font-size: clamp(16px,1.4vw,18px);
}

.page-advantage-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  justify-content: space-between;
}

.page-advantage-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  overflow: hidden;
  position: relative;
  width: 32%;
}

.page-advantage-box.half {
  width: 49%;
}

.page-advantage-box-num {
  color: #C7DEF7;
  font-family: "Charm", cursive;
  font-size: clamp(64px,5.4vw,98px);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: clamp(-18px,-1.2vw,-10px);
  left: clamp(-14px,-.8vw,-9px);
  z-index: 0;
}

.page-advantage-box-title {
  color: var(--color-main);
  display: flex;
  align-items: center;
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  padding: 20px 10px 20px min(6vw,90px);
}

.page-advantage-box-content {
  padding: 0 20px 30px;
}

.page-advantage-box-text {
  font-size: clamp(16px,1.4vw,18px);
  margin-bottom: 1em;
}

.page-advantage-box-content .page-advantage-box-text:last-child {
  margin-bottom: 0;
}

.page-advantage-box-profile {
  border-top: 1px solid #E5E5E5;
}

.page-advantage-box-profile a {
  display: flex;
  align-items: center;
  column-gap: 1em;
  padding: 10px clamp(12px,1.2vw,20px);
  transition: var(--transition-base);
}

.page-advantage-box-profile a:hover {
  background-color: #DBE4F1;
}

.page-advantage-box-profile a::after {
  content: "";
  aspect-ratio: 31 / 24;
  background: url(assets/images/common/icon_arrow_right_nv.svg) no-repeat center center / cover;
  display: block;
  height: auto;
  width: clamp(18px,1.8vw,31px);
}

.page-advantage-box-profile-icon {
  width: clamp(38px,3.8vw,68px);
}

.page-advantage-box-profile-content {
  flex: 1;
  line-height: 1.35;
}

.page-advantage-box-profile-desc {
  color: #333;
  font-size: clamp(14px,1.2vw,16px);
}

.page-advantage-box-profile-title {
  color: var(--color-main);
  font-size: clamp(18px,1.6vw,20px);
  font-weight: 700;
}

.page-step-wrap {
  margin: auto;
  max-width: 100%;
  position: relative;
  width: 1100px;
}

.page-step-wrap::before {
  content: "";
  background-color: #B2B2B2;
  height: calc(100% - 20px - 10px);
  position: absolute;
  top: 15px;
  left: 31px;
  width: 4px;
  z-index: 0;
}

.page-step-row {
  display: flex;
  column-gap: 30px;
  margin-bottom: 20px;
}

.page-step-wrap .page-step-row:last-child {
  margin-bottom: 0;
}

.page-step-row-order {
  padding-top: 15px;
  position: relative;
  width: 65px;
  z-index: 2;
}

.page-step-row-num {
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border: 2px solid var(--color-sub);
  border-radius: 100vh;
  box-shadow: 0 0 1px rgba(114,114,114,.75);
  color: var(--color-sub);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 29px;
  font-weight: 700;
  height: 65px;
  line-height: 1;
  padding-bottom: .1em;
  width: 65px;
}

.page-step-row.start .page-step-row-num {
  background-color: var(--color-sub);
  border-color: #fff;
  color: #fff;
}

.page-step-row.goal .page-step-row-num {
  background-color: var(--color-point);
  border-color: #fff;
  color: #fff;
}

.page-step-row-content {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  flex: 1;
  overflow: hidden;
  padding: 30px;
  position: relative;
  z-index: 1;
}

.page-step-row.goal .page-step-row-content::before {
  content: "GOAL";
  background-color: var(--color-point);
  clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
  color: #fff;
  display: block;
  font-size: clamp(14px,1.4vw,18px);
  font-weight: 700;
  padding: 1px 30px 2px 12px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.page-step-row-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.page-step-row-text {
  font-size: clamp(16px,1.4vw,18px);
}

.page-step-row-list {
  display: flex;
  flex-direction: column;
  row-gap: .5em;
  margin-top: 1em;
}

.page-step-row-list-item {
  display: flex;
  align-items: flex-start;
  column-gap: 1.25em;
}

.page-step-row-list-item.column {
  flex-direction: column;
  row-gap: .25em;
}

.page-step-row-list-item .type {
  background-color: var(--color-main);
  border-radius: 6px;
  color: #fff;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  margin-top: .1em;
  padding: 0 12px 2px;
}

.page-step-row-list-item .desc {
  flex: 1;
  font-size: clamp(16px,1.4vw,18px);
}

.page-step-postscript {
  color: var(--color-point);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  margin-top: 1.25em;
  margin-bottom: .5em;
  text-align: center;
}

.page-step-postscript .underline {
  border-bottom: 2px solid var(--color-point);
}

.page-strengths-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  justify-content: space-between;
}

.page-strengths-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1.5px rgba(114,114,114,.75);
  overflow: hidden;
  position: relative;
  width: 49%;
}

.page-strengths-box-figure {
  aspect-ratio: 582 / 183;
  overflow: hidden;
}

.page-strengths-box-figure img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.page-strengths-box-content {
  padding: 20px;
}

.page-strengths-box-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .75em;
}

.page-strengths-box-title .underline {
  border-bottom: 2px solid var(--color-main);
}

.page-strengths-box-category {
  background-color: #F1F1F1;
  border-radius: 100vh;
  font-size: clamp(14px,1.2vw,16px);
  font-weight: 700;
  padding: 2px 12px 4px;
  width: fit-content;
}

.page-strengths-box-list {
  margin-top: 1em;
  padding-left: 1.5em;
}

.page-strengths-box-list-item {
  font-size: clamp(16px,1.4vw,18px);
  padding: .1em 0;
  text-indent: calc(-8px + -.5em);
}

.page-strengths-box-list-item::before {
  content: "";
  background: url(assets/images/common/icon_triangle_right_rd.svg) no-repeat center center / 8px 14px;
  display: inline-block;
  height: 14px;
  margin-right: .5em;
  width: 8px;
}


/*----------------------------------------------
    中国ビジネス相談室  .china-business
----------------------------------------------*/

.china-business-section-header {
  margin-bottom: 1em;
}

.china-business-section-title {
  color: var(--color-main);
  font-size: clamp(32px,3vw,48px);
  font-weight: 700;
  line-height: 1.35;
}

.china-business-preamble-container {
  overflow: hidden;
  position: relative;
}

.china-business-preamble-content {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .8) 80%, rgba(255, 255, 255, 0) 100%);
  padding: 24px 48px 24px 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: max-content;
}

.china-business-preamble-text {
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
}

.china-business-preamble-figure {
  float: right;
  width: 47%;
}

.china-business-preamble-figure img {
  height: auto;
  width: 100%;
}

.china-business-subsection-title {
  border-left: 7px solid var(--color-main);
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 1em;
  padding-left: 1em;
}

.china-business-text {
  font-size: clamp(14px,1.2vw,16px);
  margin-bottom: 1em;
}

.china-business-subsection .china-business-text:last-child {
  margin-bottom: 0;
}

.china-business-list {
  margin: 2em 0;
}

.china-business-list-item {
  font-size: clamp(14px,1.2vw,16px);
  margin-bottom: .75em;
  padding-left: 1.5em;
  position: relative;
}

.china-business-list .china-business-list-item:last-child {
  margin-bottom: 0;
}

.china-business-list-item::before {
  content: "●";
  color: #989898;
  font-size: 10px;
  position: absolute;
  top: .5em;
  left: .5em;
}

.china-business-list-item .title {
  margin-bottom: .25em;
}

.china-business-emphasis {
  color: var(--color-main);
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  margin-bottom: .5em;
}

.china-business-team {
  margin-top: 3em;
}

.china-business-team-title {
  color: var(--color-main);
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .25em;
  text-align: center;
}

.china-business-team-list {
  counter-reset: number 0;
}

.china-business-team-list-item {
  border-bottom: 2px solid #CBCBCB;
  display: flex;
  align-items: flex-start;
  column-gap: 2em;
  padding: 2em 0;
}

.china-business-team .china-business-team-list-item:last-child {
  border-bottom: 0;
}

.china-business-team-list-item::before {
  counter-increment: number 1;
  content: counter(number);
  aspect-ratio: 1 / 1;
  background-color: #E5E5E5;
  border-radius: 100vh;
  color: var(--color-main);
  font-size: 40px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 80px;
}

.china-business-team-list-item-content {
  flex: 1;
  padding-top: .5em;
}

.china-business-team-list-item-title {
  color: var(--color-main);
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
}

.china-business-team-list-item-text {
  font-size: clamp(14px,1.2vw,16px);
}

.china-business-advantage-frame {
  background-color: #F1F1F1;
  box-shadow: 0 0 2px rgba(114,114,114,.75);
  padding: 40px;
}

.china-business-advantage-title {
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .75em;
  text-align: center;
}

.china-business-advantage-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2%;
  justify-content: space-between;
}

.china-business-advantage-box {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 0 1px rgba(114,114,114,.75);
  padding: 25px 15px;
  width: 32%;
}

.china-business-advantage-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  margin-bottom: 1em;
}

.china-business-advantage-box-title {
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .5em;
  text-align: center;
}

.china-business-advantage-box-text {
  font-size: clamp(16px,1.4vw,18px);
  line-height: 1.35;
  text-align: center;
}


/*----------------------------------------------
    支援実績  .case
----------------------------------------------*/

.case-section-header {
  margin-bottom: 2em;
  text-align: center;
}

.case-section-title {
  color: var(--color-sub);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .25em;
}

.case-section-tagline {
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
}

.case-section-content {
  text-align: center;
}

.case-section-text {
  font-size: clamp(16px,1.4vw,18px);
  margin-bottom: .5em;
}

.case-section-note {
  color: #808080;
  font-size: clamp(14px,1.2vw,16px);
}

.case-introduction-section {
  margin-bottom: 60px;
}

#case-introduction .case-introduction-section:last-child {
  margin-bottom: 0;
}

.case-introduction-header {
  border-bottom: 1px solid #B2B2B2;
  margin-bottom: 2em;
  padding: 0 1.25em 1.25em;
}

.case-introduction-order {
  background-color: var(--color-main);
  border-radius: 6px;
  color: #fff;
  font-size: clamp(14px,1.2vw,16px);
  font-weight: 700;
  margin-bottom: .75em;
  padding: 4px 20px 6px;
  width: fit-content;
}

.case-introduction-title {
  color: var(--color-main);
  font-size: clamp(22px,2vw,26px);
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: .2em;
}

.case-introduction-tagline {
  color: var(--color-sub);
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
}

.case-introduction-container {
  display: flex;
  flex-direction: column;
  row-gap: 1.5em;
  padding: 0 1.25em;
}

.case-introduction-row {
  display: flex;
  column-gap: 1.5em;
  align-items: flex-start;
}

.case-introduction-row-head {
  width: 200px;
}

.case-introduction-row-title {
  background-color: var(--color-main);
  border-radius: 6px;
  color: #fff;
  font-size: clamp(16px,1.4vw,18px);
  font-weight: 700;
  padding: 6px 12px 8px;
  text-align: center;
}

.case-introduction-row-content {
  flex: 1;
  padding-top: 6px;
}

.case-introduction-row-text1 {
  color: var(--color-main);
  font-size: clamp(16px,1.4vw,18px);
}

.case-introduction-row-text2 {
  font-size: clamp(16px,1.4vw,18px);
}

.case-trackrecord-section-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 40px 0;
  width: var(--content-width);
}

.case-trackrecord-header {
  margin-bottom: 2em;
  text-align: center;
}

.case-trackrecord-title {
  color: var(--color-main);
  font-size: clamp(30px,2.8vw,36px);
  font-weight: 700;
}

.case-trackrecord-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 2%;
  justify-content: space-between;
}

.case-trackrecord-box {
  width: 49%;
}

.case-trackrecord-box-title {
  border-bottom: 2px solid var(--color-main);
  color: var(--color-main);
  display: flex;
  align-items: center;
  column-gap: .25em;
  font-size: clamp(20px,1.8vw,24px);
  font-weight: 700;
  padding: .25em;
  margin-bottom: .75em;
}

.case-trackrecord-box-title .icon {
  height: 30px;
  width: auto;
}

.case-trackrecord-box-list.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75em 2%;
}

.case-trackrecord-box-list-item {
  font-size: clamp(14px,1.2vw,16px);
  line-height: 1.35;
  margin-bottom: .75em;
  padding-left: 1.5em;
  position: relative;
}

.case-trackrecord-box-list-item::before {
  content: "●";
  color: #989898;
  font-size: 10px;
  position: absolute;
  top: .5em;
  left: .75em;
}

.case-trackrecord-box-list.flex .case-trackrecord-box-list-item {
  margin-bottom: 0;
  width: 49%;
}

.case-trackrecord-box-list-item .note {
  display: block;
  font-size: clamp(12px,1vw,14px);
}


/*----------------------------------------------
    中国企業を活用した開発・調達・製造支援  .open-innovation
----------------------------------------------*/

.open-innovation #page-preamble .c-frame {
  width: fit-content;
}


