@charset "utf-8";

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

:root {
  --content-max-width: inherit;
  --content-width: 100%;
  --transition-base: none;
}

body {
  font-size: 14px;
  overflow-x: hidden;
}

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


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

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

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

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

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

.only-sp {
  display: block !important;
}
 
.c-btn-white {
  border-radius: 6px;
  font-size: 14px;
  min-height: inherit;
  padding: 8px 10px 10px;
  width: 240px;
}

.c-btn-navy {
  border-radius: 6px;
  font-size: 14px;
  min-height: inherit;
  padding: 8px 10px 10px;
  width: 240px;
}

.c-btn-blue {
  border-radius: 6px;
  font-size: 14px;
  min-height: inherit;
  padding: 8px 10px 10px;
  width: 240px;
}

.c-btn-red {
  border-radius: 6px;
  font-size: 14px;
  min-height: inherit;
  padding: 8px 10px 10px;
  width: 240px;
}

.c-section-inner {
  padding: 30px 20px;
}

.c-section-header {
  margin-bottom: 2em;
  padding-bottom: .75em;
}

.c-section-header::after {
  height: 2px;
  width: 50px;
}

.c-section-title {
  font-size: 24px;
}

.c-frame {
  border-width: 2px;
  border-radius: 6px;
  margin: 2em auto;
  padding: 20px;
  text-align: left;
}

.c-frame-title {
  font-size: 18px;
}

.c-frame-text {
  font-size: 14px;
}

.c-frame-conclusion {
  font-size: 16px;
}


/*   HEADER   */

.h-gnav-list-item > a {
  font-size: 18px;
}

.h-gnav-btn {
  font-size: 16px;
  width: 100%;
}


/*   CTA   */

.cta-inner {
  padding: 30px 15px;
}

.cta-title {
  font-size: 18px;
}

.cta-text {
  font-size: 14px;
}

.cta-btns {
  gap: .5em 1em;
  margin-top: 1.5em;
}


/*   SIDE   */

#side {
  display: none;
}

#side-en {
  display: none;
}


/*   FOOTER   */

.f-inner {
  padding: 0 15px;
}

.f-container {
  flex-wrap: wrap;
  gap: 0 2%;
  padding: 30px 15px;
}

.f-info {
  display: flex;
  align-items: center;
  column-gap: 2em;
  padding-bottom: 2em;
  width: 100%;
}

.f-info-name {
  font-size: 18px;
  margin-bottom: .5em;
}

.f-info-address {
  font-size: 12px;
}

.f-info-sns img {
  height: 24px;
  width: auto;
}

.f-nav {
  width: 49%;
}

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

.f-nav-list-item > a {
  font-size: 16px;
}

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

.f-nav-list-sub-title {
  font-size: 13px;
  font-weight: 400;
  margin-top: .5em;
}

.f-nav-sublist-item {
  display: none;
}

.f-bottom {
  flex-direction: column;
  justify-content: center;
  row-gap: 1em;
  padding: 20px 0;
  text-align: center;
}

.f-link {
  column-gap: 1em;
  justify-content: center;
  width: 100%;
}

.f-link a {
  font-size: 14px;
}

.f-copyright {
  font-size: 12px;
  width: 100%;
}


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

.home-section-inner {
  padding: 30px 20px;
}

.home-section-header {
  margin-bottom: 2em;
  padding-bottom: .75em;
}

.home-section-header::after {
  height: 2px;
  width: 50px;
}

.home-section-title {
  font-size: 24px;
}

.home-section-title-en {
  font-size: 14px;
}

#home-mainvisual {
  background-image: url(../images/home/mainvisual_sp.webp);
}

.home-mainvisual-inner {
  flex-wrap: wrap;
  row-gap: 40px;
  padding: 40px 20px;
  width: var(--content-width);
}

.home-mainvisual-content {
  flex: auto;
  text-align: center;
  width: 100%;
}

.home-mainvisual-title {
  font-size: 30px;
  margin-left: 0;
  text-indent: 0;
}

.home-mainvisual-subtitle {
  font-size: 15px;
  margin-left: 0;
}

.home-mainvisual-subtitle::before,
.home-mainvisual-subtitle::after {
  width: 33px;
}

.home-mainvisual-navbox {
  max-width: 100%;
  padding: 20px;
  width: 100%;
}

.home-mainvisual-navbox-title {
  font-size: 18px;
  margin-bottom: .75em;
}

.home-mainvisual-navbox-title .logo {
  height: auto;
  vertical-align: -2px;
  width: 165px;
}

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

.home-mainvisual-navbox-subtitle {
  font-size: 16px;
}

.home-mainvisual-navbox-list {
  gap: 10px 2%;
}

.home-mainvisual-navbox-list-item {
  min-height: 64px;
}

.home-mainvisual-navbox-list-item a {
  font-size: 13px;
  padding: 10px 15px 10px 10px;
}

.home-mainvisual-navbox-list-item a::after {
  background-size: 8px 6px;
  height: 6px;
  right: 8px;
  width: 8px;
}

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

.home-mainvisual-navbox-btn {
  border-radius: 6px;
  font-size: 18px;
  width: 240px;
}

.home-about-inner {
  padding: 20px 20px 5px;
  width: var(--content-width);
}

.home-about-box {
  border-radius: 6px;
  padding: 20px;
  width: 100%;
}

.home-about-box-title {
  font-size: 22px;
  margin-bottom: 0;
}

.home-about-box-text {
  display: none;
}

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

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

.home-service-title {
  font-size: 22px;
}

.home-service-box {
  border-radius: 6px;
  padding: 20px 15px;
  width: 100%;
}

.home-service-box-title {
  font-size: 21px;
}

.home-service-box-list {
  row-gap: 1em;
}

.home-service-box-list-item {
  border-radius: 6px;
  width: 100%;
}

.home-service-box-list-item a {
  padding: 15px 45px 15px 15px;
}

.home-service-box-list-item-title {
  display: block;
  font-size: 16px;
  min-height: inherit;
}

.home-service-box-list-item-text {
  font-size: 13px;
}

.home-service-box-list-item-btns {
  top: 50%;
  bottom: auto;
  right: 12px;
  transform: translateY(-50%);
}

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

.home-case-box {
  border-radius: 6px;
  width: 49%;
}

.home-case-box-figure {
  aspect-ratio: 168 / 94;
  border-radius: 6px;
}

.home-case-box-title {
  font-size: 14px;
  bottom: 5px;
  left: 10px;
  width: calc(100% - 20px);
}

.home-case-box-title .marker {
  padding: 0;
}

.home-case-box-content {
  padding: 8px 10px 10px;
}

.home-case-box-text {
  font-size: 12px;
}

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

.home-china-container {
  flex-wrap: wrap;
}

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

.home-china-type {
  font-size: 12px;
}

.home-china-tagline {
  font-size: 16px;
}

.home-china-text {
  font-size: 13px;
}

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

.home-china-thumbnail {
  width: 100%;
}

.home-china-image {
  aspect-ratio: 320 / 122;
  border-radius: 6px;
}

.home-china-info {
  padding: 10px 15px;
}

.home-china-info-meta {
  margin-bottom: 5px;
}

.home-china-info-meta .type {
  font-size: 10px;
  padding: 0 6px 1px;
}

.home-china-info-meta .desc {
  font-size: 10px;
}

.home-china-info-name {
  font-size: 22px;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

.home-china-info-more {
  font-size: 10px;
}

.home-blog-container {
  row-gap: 1em;
}

.home-blog-box {
  border-radius: 6px;
  width: 100%;
}

.home-blog-box.full {
  position: relative;
}

.home-blog-box-content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  padding: 30px 20px;
}

.home-blog-box.full .home-blog-box-content {
  background-image: linear-gradient(rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 0) 100%);
  align-items: center;
  column-gap: .5em;
  flex-direction: row;
  justify-content: space-between;
  padding: 10px 12px 12px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

.home-blog-box-title {
  font-size: 18px;
  margin-bottom: .25em;
}

.home-blog-box.full .home-blog-box-title {
  margin-bottom: 0;
  padding-top: 1px;
}

.home-blog-box-tagline {
  font-size: 14px;
  margin-bottom: 0;
}

.home-blog-box.full .home-blog-box-tagline {
  margin-bottom: 0;
}

.home-blog-box-text {
  display: none;
}

.home-blog-box-more {
  align-self: flex-end;
}

.home-blog-box.full .home-blog-box-more {
  margin-top: 0;
}

.home-blog-box-more a {
  font-size: 13px;
  padding: 2px 8px 4px;
}

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

.home-blog-talk-figure::before {
  content: none;
}

.home-blog-talk-figure img {
  object-position: center 30px;
}

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

#home-blog-story .home-blog-box-title {
  margin-left: -2em;
}

#home-blog-story .home-blog-box-tagline {
  letter-spacing: 0;
  white-space: wrap;
}

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

.home-documents-box {
  border-radius: 6px;
  padding: 15px;
  width: 100%;
}

.home-documents-box-icon {
  font-size: 14px;
  padding: 6px 30px 8px 15px;
}

.home-documents-box-image {
  aspect-ratio: 155 / 87;
  border-radius: 6px;
}

.home-documents-box-category {
  font-size: 12px;
}

.home-documents-box-title {
  font-size: 18px;
}

.home-documents-box-title .marker {
  padding: 0;
}

.home-documents-box-text {
  font-size: 14px;
}

.home-topics-container {
  row-gap: 1em;
}

.home-topics-content {
  order: 2;
  width: 100%;
}

.home-topics-header {
  border-bottom-width: 1px;
  margin-bottom: .5em;
  padding: 5px 10px;
}

.home-topics-list-item {
  flex-direction: column;
  row-gap: .25em;
  padding: 1em 10px;
}

.home-topics-list-item .date {
  font-size: 12px;
  width: 100%;
}

.home-topics-list-item .title {
  font-size: 14px;
}

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

.home-topics-banner {
  border-radius: 6px;
  margin: auto;
  max-width: 100%;
  width: 290px;
}


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

.page-title {
  font-size: 24px;
  min-height: 110px;
  padding: 20px;
}

.page-breadcrumb {
  font-size: 12px;
  padding: 8px 20px;
}

.page-award-icon {
  height: auto;
  width: 25px;
}

.page-award {
  padding: 12px 20px 14px;
}

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

.page-award-text {
  font-size: 16px;
}

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

.page-preamble-tagline {
  font-size: 20px;
}

.page-preamble-text {
  font-size: 14px;
}

.page-preamble-point {
  border-left-width: 5px;
  font-size: 16px;
}

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

.page-support-box {
  border-radius: 6px;
  padding: 20px;
  width: 100%;
}

.page-support-box-icon {
  margin-bottom: 1em;
}

.page-support-box-title {
  font-size: 18px;
}

.page-support-box-text {
  font-size: 14px;
}

.page-advantage-box {
  border-radius: 6px;
  width: 100%;
}

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

.page-advantage-box-num {
  font-size: 64px;
  top: -12px;
  left: -9px;
}

.page-advantage-box-title {
  font-size: 18px;
  padding: 20px 20px 10px 60px;
}

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

.page-advantage-box-text {
  font-size: 14px;
}

.page-advantage-box-profile a {
  padding: 10px 20px;
}

.page-advantage-box-profile-icon {
  width: 45px;
}

.page-advantage-box-profile-desc {
  font-size: 12px;
}

.page-advantage-box-profile-title {
  font-size: 18px;
}

.page-step-wrap::before {
  content: none;
}

.page-step-row {
  display: block;
  margin-bottom: 30px;
  position: relative;
}

.page-step-row-order {
  padding-top: 0;
  position: absolute;
  top: -15px;
  left: -15px;
  width: 50px;
}

.page-step-row-num {
  font-size: 24px;
  height: 50px;
  width: 50px;
}

.page-step-row-content {
  border-radius: 6px;
  padding: 30px;
}

.page-step-row.goal .page-step-row-content::before {
  font-size: 14px;
  padding: 1px 30px 2px 45px;
}

.page-step-row-title {
  font-size: 18px;
  margin-bottom: .5em;
}

.page-step-row-text {
  font-size: 14px;
}

.page-step-row-list-item .type {
  border-radius: 4px;
  font-size: 14px;
  padding: 0 6px 2px;
}

.page-step-row-list-item .desc {
  font-size: 14px;
}

.page-step-postscript {
  font-size: 18px;
}

.page-strengths-box {
  border-radius: 6px;
  width: 100%;
}

.page-strengths-box-title {
  font-size: 20px;
}

.page-strengths-box-category {
  font-size: 12px;
}

.page-strengths-box-list {
  padding-left: 0;
}

.page-strengths-box-list-item {
  font-size: 14px;
  margin-left: calc(6px + .5em);
  text-indent: calc(-6px + -.5em);
}

.page-strengths-box-list-item::before {
  background-size: 6px 11px;
  height: 11px;
  margin-right: .5em;
  width: 6px;
}


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

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

.china-business-section-title {
  font-size: 36px;
  text-align: center;
}

.china-business-preamble-content {
  background-image: none;
  margin-bottom: 1.5em;
  padding: 0;
  position: static;
  transform: none;
  width: 100%;
}

.china-business-preamble-text {
  font-size: 16px;
  line-height: 1.5;
}

.china-business-preamble-figure {
  float: none;
  width: 100%;
}

.china-business-subsection-title {
  border-left-width: 5px;
  font-size: 18px;
  padding-left: 15px;
}

.china-business-text {
  font-size: 14px;
}

.china-business-list {
  padding-left: 0;
}

.china-business-list-item {
  font-size: 14px;
}

.china-business-list-item::before {
  top: .75em;
  left: 0;
}

.china-business-emphasis {
  font-size: 18px;
}

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

.china-business-team-title {
  font-size: 18px;
}

.china-business-team-list-item {
  column-gap: 1em;
}

.china-business-team-list-item::before {
  font-size: 24px;
  width: 50px;
}

.china-business-team-list-item-title {
  font-size: 18px;
}

.china-business-team-list-item-text {
  font-size: 14px;
}

.china-business-advantage-frame {
  padding: 25px;
}

.china-business-advantage-title {
  font-size: 24px;
  margin-bottom: 1em;
}

.china-business-advantage-box {
  border-radius: 6px;
  padding: 20px;
  width: 100%;
}

.china-business-advantage-box-title {
  font-size: 18px;
}

.china-business-advantage-box-text {
  font-size: 14px;
}


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

.case-section-header {
  margin-bottom: 1.5em;
}

.case-section-title {
  font-size: 24px;
}

.case-section-tagline {
  font-size: 18px;
}

.case-section-text {
  font-size: 16px;
}

.case-section-note {
  font-size: 12px;
}

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

.case-introduction-header {
  margin-bottom: 1em;
  padding: 1em;
}

.case-introduction-order {
  border-radius: 6px;
  font-size: 14px;
  padding: 4px 20px 6px;
}

.case-introduction-title {
  font-size: 24px;
}

.case-introduction-tagline {
  font-size: 16px;
}

.case-introduction-container {
  padding: 0 1em;
}

.case-introduction-row {
  flex-direction: column;
  row-gap: .5em;
}

.case-introduction-row-head {
  width: 100%;
}

.case-introduction-row-title {
  background-color: transparent;
  border: 1px solid var(--color-main);
  border-radius: 6px;
  color: var(--color-main);
  font-size: 14px;
  padding: 4px 12px 6px;
}

.case-introduction-row-text1 {
  font-size: 16px;
}

.case-introduction-row-text2 {
  font-size: 14px;
}

.case-trackrecord-section-inner {
  padding: 30px 20px;
  width: 100%;
}

.case-trackrecord-header {
  margin-bottom: 1.5em;
}

.case-trackrecord-title {
  font-size: 24px;
}

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

.case-trackrecord-box-title {
  font-size: 18px;
  margin-bottom: 1em;
  padding-bottom: .5em;
}

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

.case-trackrecord-box-list.flex {
  display: block;
}

.case-trackrecord-box-list-item {
  font-size: 14px;
}

.case-trackrecord-box-list-item::before {
  top: .3em;
  left: .3em;
}

.case-trackrecord-box-list.flex .case-trackrecord-box-list-item {
  margin-bottom: .75em;
  width: 100%;
}

.case-trackrecord-box-list-item .note {
  font-size: 12px;
}


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

.open-innovation #page-preamble .c-frame {
  padding: 20px;
}
