@charset 'utf-8';
/*
 * name:tpage.css
 * author: Nulo Lab
*/
/* page
-------------------- */

.page{ padding-top: var(--header-height-desktop); }
.page-bg-1{ background: url(../../img/share/bg_img.jpg) no-repeat center top / cover;  }
.page-bg-1--ai{ padding: 2em 0; }
.page-after-bg{ position: relative; padding-bottom: 6em; }
.page-after-bg:first-child { padding-top: 2em; }
.page-after-bg:after{ position: absolute; left: 0; bottom: 0; content: ''; height: 8.6em; width: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);}
.page-bg-2{ position: relative; }
.page-bg-2::before{ content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 54.1em; background: linear-gradient(128.47deg, #E2EDF3 0%, #FFFFFF 63.92%, #FBFDFE 88.38%, #F2F7FA 138.34%, #FBFEFF 224.96%); }
.page-bg-2:not(.page-bg-contact)::after{ content: ''; position: absolute; left: 0; top: 36.4em; width: 100%; height: 17.7em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }

.page-bg-3{ position: relative; }
.page-bg-3::before{ content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 37.7em; background: linear-gradient(128.47deg, #E2EDF3 0%, #FFFFFF 63.92%, #FBFDFE 88.38%, #F2F7FA 138.34%, #FBFEFF 224.96%); }
.page-bg-3::after{ content: ''; position: absolute; left: 0; top: 20em; width: 100%; height: 17.7em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }

.page-headline{ position: relative; padding-top: 4em; z-index: 1; }
.page-content-1{ position: relative; z-index: 1; /*padding-top: 2em;*/ padding-bottom: 6em; }
.page-content--contact::before{ content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 17.7em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
.page-content--contact::after{ content: ''; position: absolute; left: 0; top: 17em; width: 100%; height: calc(100% - 17em); background: url(../../img/contact/contact_bg.png) no-repeat center 0 / cover; }

.page-solution { display: flex; justify-content: center; align-items: center; position: relative; min-height: 14rem; overflow: hidden; }
.page-solution-title { padding: 1.8rem 2rem; background-color: rgba(255, 255, 255, 0.075); border-radius: 0.8rem; box-shadow: rgba(0, 0, 0, 0.3) 0.2rem 0.8rem 0.8rem; backdrop-filter: blur(1.5rem); text-align: center; }
.page-solution-ja { padding-bottom: 0.8rem; border-bottom: 1px solid #fff; font-size: 1.6rem; font-weight: 700; line-height: 1.8; letter-spacing: 0.2em; color: #fff; }
.page-solution-en { padding-top: 0.5rem; font-size: 1rem; font-weight: 700; line-height: 1.8; letter-spacing: 0.1em; color: #fff; }
.page-solution-bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); min-width: 100%; min-height: 100%; z-index: -10; }

.page-above { position: relative; }
.page-above .page-brebreadcrumbs { margin-top: 1rem; margin-bottom: 1rem; }

@media only screen and (max-width: 768px) {
  .page{ padding-top: var(--header-height); }
  .page-after-bg{ padding-bottom: 12em; }
  .page-after-bg:after{ height: var(--header-height); }
  .page-bg-1--mobile-pd0{ padding-bottom: 0; }
  .page-bg-1--ai{ padding-bottom: 6em; }
  .page-headline{ padding-top: 4em; }
  /* .page-content-1{ padding-top: 6em; } */
}

@media only screen and (min-width: 769px) {
  .page-solution { min-height: 14rem; }
  .page-solution-title { padding: 1.4rem 4rem; }
  .page-solution-ja { padding-bottom: 1rem; font-size: 2rem; }
  .page-solution-en { padding-top: 0.8rem; font-size: 1.4rem; }

}

.page-brebreadcrumbs{ margin-top: 2em; margin-bottom: 3em; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.page-brebreadcrumbs li{ font-size: 1.2em; font-weight: 500; line-height: calc(24/12); letter-spacing: 0.02em; opacity: 0.8; color: #364E6E; }
.page-brebreadcrumbs a{ text-decoration: underline; color: #364E6E; }
.page-brebreadcrumbs a:hover{ text-decoration: none; }
.page-brebreadcrumbs a:after{ content: '/'; display: inline-block; padding: .41666em; }
.page-brebreadcrumbs--banner{ margin: 3.8em 0 0; }
.page-brebreadcrumbs--banner li,
.page-brebreadcrumbs--banner a{ color:#fff; }
/* .page-brebreadcrumbs--company{ margin: 9em 0 0; } */
.page-brebreadcrumbs--detail{ margin-top: 1.2em; margin-bottom: 5.4em; justify-content: flex-start; }

.page-banner{ display: flex; flex-wrap: wrap; flex-direction: column; justify-content: flex-end; margin-top: 5em; padding-bottom: 2.4em; position: relative; height: 38.4895vw; max-height: 73.9em; }
.page-banner__ttl{ font-size: 5.8em; font-weight: 700; letter-spacing: 0.04em; }
.page-banner__ttl mark{ background-color: #fff; }
.page-banner__txt{ margin-top: 1.33333em; font-size: 1.8em; font-weight: 700; line-height: calc(32/18); }
.page-banner__desc{ position: relative; z-index: 1; letter-spacing: 0.02em; color:#fff; }
.page-banner__img{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.page-banner__img img{ width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }

.page-tab__head{ position: relative; margin-top: 2.9em; display: block; padding: 2.7em 2em; }
.page-tab__head--2::before{ content: ''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; opacity: .5; box-shadow: 0px 4px 50px 10px rgba(0, 55, 185, 0.01); background: linear-gradient(140.28deg, rgba(255, 255, 255, 0.81) 0%, rgba(255, 255, 255, 0.18) 37.5%, rgba(255, 255, 255, 0.9) 100%); }
.page-tab__nav{ position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: center; width: 100%; max-width: 125.8em; margin: 0 auto; gap: .8em; }
.page-tab__item{ width: calc((100% / 4) - (0.8em / (4 / 3))); text-align: center; }
.page-tab__item a{ padding: .64705em 0; display: block; font-size: 1.7em; font-weight: 700; line-height: calc(39/17); color: var(--blue-color); background-color: #fff; border-radius: 1px; }
.page-tab__item a.is_active{ color: #fff; background-color: var(--blue-color); }

.page-tab__head--3 { margin-top: 0; padding: 0 0 3em; }
.page-tab__head--3 .page-tab__item { width: calc(50% - .4em); }
.page-tab__head--3 .page-tab__item a:not(.is_active) { background-color: var(--sky-blue-color); color: #fff; }

.page-pagination{ display: flex; flex-wrap: wrap; justify-content: center; gap: 2em; margin-top: 6em; }
.page-pagination__link > a { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 2.5em; height: 2.5em; font-family: var(--ff-dm-sans); font-size: 1.6em; line-height: 1; color: #888888; border:1px solid #888888; border-radius: 50%; }
.page-pagination__link.disabled > a { pointer-events: none; opacity: .3; }

@media only screen and (max-width: 1920px) and (min-width: 769px) {
  .page-banner__desc{ font-size: 0.52083vw; }
  .page-brebreadcrumbs--banner{ font-size: 1rem !important; }

  .page-pagination__link > a:hover,
  .page-pagination__link.active > a{ font-weight: bold; color:#fff; border-color: var(--blue-color); background-color: var(--blue-color); }

  .page-tab__item a:not(.active):hover{ background: rgba(0, 78, 162, 0.14); }
}

@media only screen and (max-width: 768px) {
  .page-banner{ padding-top: 2.4em; max-height: unset; height: unset; min-height: 45em; }
  .page-banner__desc{ width: 100%; }
  .page-banner__ttl{ font-size: 2.5em; }
  .page-banner__txt{ max-width: 80%; font-size: 1.4em; }
  .page-brebreadcrumbs--banner{ margin-top: 2em; }

  .page-tab__item a{ padding: .5em 0; font-size: 1.6em; letter-spacing: .04em; }

  .page-tab__nav{ gap: 1em; }
  .page-tab__item{ width: calc(50% - .5em); }
  .page-tab__item:last-child{ width: 100%; }

  .page-tab__head--3 .page-tab__item { width: calc(50% - .5em); }

  .page-pagination{ margin-top: 6em; gap:1.5em; }
  .page-pagination__link > a{ font-size: 1.4em; }
}

/*
page-cards-1__card
------------------- */
.page-cards-1{ margin:0 auto; padding: 2rem; max-width: calc(80rem + 4rem)/*140rem*/; border-radius: 3em; overflow: hidden; background: linear-gradient(140.28deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.18) 47.6%, rgba(255, 255, 255, 0.9) 100%); box-shadow: 0px 4px 70px 10px rgba(0, 55, 185, 0.03); }
.page-cards-1 .title-2 { position: relative; z-index: 2; }
.page-cards-1__group{ margin-top: 1em; }
.page-cards-1__card{ padding: 1.2em; background-color: #fff; border-radius: 2em; overflow: hidden; box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.02); }
.page-cards-1__above { position: relative; padding-bottom: 0.6em; border-bottom: 1px solid var(--blue-color); }
.page-cards-1__above__info { position: relative; margin: 0 auto; }
.page-cards-1__logo{ position: relative; width: 100%; }
/*
.page-cards-1__logo.logo--gigo{ max-width: 10em; }
.page-cards-1__logo.logo--terilogy{max-width: 16em;}
.page-cards-1__logo.logo--oioi{ max-width: 5em; }
.page-cards-1__logo.logo--pcdepot{ max-width: 12em; }
*/
.page-cards-1__ttl-1,
.page-cards-1__txt-1,
.page-cards-1__txt-2 { width: fit-content; }
.page-cards-1__ttl-1{ margin-top: 0.2em; font-size: 1.5em; font-weight: 900; line-height: calc(42/30); letter-spacing: 0.03em; }
.page-cards-1__ttl-2{ margin-bottom: 1.25em; font-size: 1em; font-weight: 900; line-height: calc(28/20); letter-spacing: 0.02em; }
.page-cards-1__txt-1{ margin-top: 0.6em; font-size: 1em; font-weight: 500; line-height: calc(24/12); letter-spacing: 0.04em; }
.page-cards-1__txt-1.txt--mt-0{ margin: 0; }
.page-cards-1__txt-2{ font-size: 1em; font-weight: 400; line-height: calc(24/10); }
.page-cards-1__txt-3{ margin-top: 1.5em; display: flex; flex-wrap: wrap; justify-content: flex-end; gap:3em; }
.page-cards-1__txt-3--1{ font-size: 1.4em; font-weight: 400; line-height: calc(24/14); color: #52606D; }
.page-cards-1__txt-3--2{ font-size: 1.4em; font-weight: 900; line-height: calc(24/14); color: #0083C9; }
.page-cards-1__txt-4{ margin-bottom: 2.75em; font-size: 1em; font-weight: 500; line-height: calc(24/16); color: #364E6E; letter-spacing: 0.04em; }
.page-cards-1__txt-5 { margin-bottom: 1em; text-align: center; font-size: 1em; font-weight: 700; line-height: 1.8; }
.page-cards-1__txt-5 strong { color: var(--blue-color); }
.page-cards-1__info{ margin-top: 1.2em; }
.page-cards-1__row1 { display: flex; gap: 1em; }
.page-cards-1__row1_col { padding: 2em 1em; width: calc(50% - (1em / 2)); background-color: #F0F9FE; border-radius: 2em; overflow: hidden; }
.page-cards-1__col1{ display: flex; justify-content: center; align-items: center; margin-bottom: 2em; position: relative; padding: 1em; text-align: center; font-size: 1em; font-weight: 400; line-height: calc(30/20); color: #52606D; background-color: #F5F5F5; border-radius: .9em; }
.page-cards-1__col1::after{ content: ''; position: absolute; width: 1.1em; height: 2.5em; background: url(../../img/icons/arrow_next.png) no-repeat center / contain; }
.page-cards-1__col1 > ul{ display: inline-block; margin: 0 auto; text-align: left; vertical-align: top; }

.page-cards-1__row1_col .is-title { position: relative; padding-left: 1.4em; font-size: 1.1em; font-weight: 500; line-height: 1.4; }
.page-cards-1__row1_col .is-title::before { content: ''; position: absolute; top: 0.3em; left: 0; width: 1em; height: 1em; background-color: #008DBC; border-radius: 50%; }
.page-cards-1__row1_col .is-title strong { font-weight: 700; color: #008DBC; }
.page-cards-1__row1_col .is-text { font-size: 1em; line-height: 1.4; }
.page-cards-1__row1_col .is-column { display: flex; align-items: center; }

/*
.page-cards-1__row1_col.is-gigo-1 .is-pic { margin: 2.2em auto 0; width: 100%; }
.page-cards-1__row1_col.is-gigo-2 .is-pic { margin: 1em auto; width: 2.6em; }
.page-cards-1__row1_col.is-terilogy-1 .is-pic { margin: 2.2em auto 0; width: 100%; }
.page-cards-1__row1_col.is-terilogy-2 .is-column { gap: 1em; margin-top: 2.2em; padding: 0.8em; background-color: #fff; }
.page-cards-1__row1_col.is-terilogy-2 .is-pic { width: 2em; }
.page-cards-1__row1_col.is-terilogy-2 .is-text { width: calc(100% - (2em + 1em)); }
*/
.page-cards-1__row1_col.is-gigo-1,
.page-cards-1__row1_col.is-gigo-2,
.page-cards-1__row1_col.is-terilogy-1,
.page-cards-1__row1_col.is-terilogy-2 { padding: 0; }

.page-cards-1__row1_col.is-oioi-1 .is-column,
.page-cards-1__row1_col.is-oioi-2 .is-column { gap: 1em; margin-top: 2.8em; }
.page-cards-1__row1_col.is-oioi-1 .is-pic { width: 3.2em; }
.page-cards-1__row1_col.is-oioi-1 .is-text { width: calc(100% - (3.2em + 1em)); }
.page-cards-1__row1_col.is-oioi-2 .is-pic { width: 5em; }
.page-cards-1__row1_col.is-oioi-2 .is-text { width: calc(100% - (5em + 1em)); }
.page-cards-1__row1_col.is-energy-1 .is-pic { margin: 1em auto 0; width: 7em; }
.page-cards-1__row1_col.is-energy-2 .is-pic { margin: 1em auto 0; width: 10em; }

.page-cards-1__row1_col.is-pcdepot-1 .is-pic { margin: 1em auto; width: 7em; }
.page-cards-1__row1_col.is-pcdepot-2 .is-pic { margin: 1em auto; width: 10em; }
.page-cards-1__row1_col.is-sogo-1 .is-pic { margin: 1em auto; width: 7em; }
.page-cards-1__row1_col.is-sogo-2 .is-pic { margin: 1em auto; width: 6em; }

@media only screen and (min-width: 769px) {
  .page-cards-1__ttl-1 { white-space: nowrap; }
  .page-cards-1__row1_col.is-oioi-2 .is-text { white-space: nowrap; }
}

@media only screen and (max-width: 768px) {
  .page-cards-1__above__info { width: auto !important; }
}

/* .page-cards-1__col1 ul li{ padding-left: 1em; text-indent: -1em; } */
.page-cards-1__col1 ul li+li{ margin-top: .5em; }
.page-cards-1__col1.col1--mr-0{ margin-right: 0; }
.page-cards-1__col1.col1--center{ text-align: center; }
.page-cards-1__info.info--3{ gap: 4.4em; }
.page-cards-1__col2{ display: flex; flex-direction: column; justify-content: center; min-height: 26.8em; width: calc(372/1120 * 100%); padding: 1em 3.5em; font-weight: 400; text-align: center; line-height: calc(30/20); color: #52606D; background-color: #EEF9FF; border-radius: 1.8em; }
.page-cards-1__col3{ margin-left: 2.7em; padding: 1.2em 0; display: inline-flex; flex-wrap: wrap; flex-direction: column; justify-content: space-between; width: calc(341/1120 * 100%); }
.page-cards-1__col3.col3--2{ padding: 1.6em 0; }
.page-cards-1__col4{ flex: 1; }
.page-cards-1__col5{ padding: 4.4em; width: calc(50% - 2.2em); min-height: 16.8em; border: 1px solid #FFFFFF; background: #EEF9FF; border-radius: 1.2em; }
.page-cards-1__col5-ttl{ font-size: 1.6em; font-weight: 700; line-height: calc(24/16); color: #0083C9; }
.page-cards-1__col5-txt{ margin-top: 1em; font-size: 1.4em; line-height: calc(24/14); color: #000; }
.page-cards-1__quote{ position: relative; padding: 1.1111em; font-size: 1.5em; font-weight: 900; line-height: calc(26/18); letter-spacing: 0.03em; border-radius: .8888em; color: #fff; }
.page-cards-1__quote.quote--1{ background-color: var(--sky-blue-color); }
.page-cards-1__quote.quote--2{ display: inline-flex; flex-wrap: wrap; align-items: center;justify-content: center; font-size: 1.8em; font-weight: 700; text-align: center; background-color: #2FAC82; }
.page-cards-1__quote.quote--3{ display: flex; flex-wrap: wrap; flex-direction: column; width: 100%; justify-content: center; min-height: 12.3em; font-size: 1em; text-align: center; background-color:#EFFCF0; border-radius: 1.8em; }
.page-cards-1__quote.quote--3:not(:nth-child(-n+1)){ margin-top: 2.2em; }
.page-cards-1__quote.quote--h-1008{ min-height: 5.4em; }
.page-cards-1__quote.quote--polygon-1::before{ content: ''; position: absolute; left: -2.55555em; bottom: .72222em; width: 3.16666em; height: 2.38888em; background: url(../../img/icons/polygon_1.png) no-repeat center / contain; }
.page-cards-1__quote.quote--polygon-2::before{ content: ''; position: absolute; left: -2.6666em; top: 50%; transform: translateY(-50%); width: 3.7222em; height: 1.5555em; background: url(../../img/icons/polygon_2.png) no-repeat center / contain; }
.page-cards-1__quote-ttl{ font-size: 2.2em; font-weight: 700; line-height: calc(32/22); letter-spacing: 0.01em; color: #0AA471; }
.page-cards-1__quote-txt{ font-size: 2em; font-weight: 400; line-height: calc(30/20); letter-spacing: 0.01em; color: #52606D; }

@media only screen and (min-width: 769px) {
  .page-cards-1__group { display: grid; gap: 1em; grid-template-columns: repeat(2, calc(50% - (1em / 2))); margin-top: -5em; }
  .page-cards-1__card { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
  .page-cards-1__above { padding-top: 5em; }
  .page-cards-1__logo { position: absolute; top: 0; left: 0; text-align: right; }
  .page-cards-1__logo img { width: auto; height: 4em; max-width: inherit; }
  .page-cards-1__col1::after{ bottom: -2.5em; left: 50%; transform: translateX(-50%) rotate(90deg); }
  .page-cards-1__info.info--2{ gap: 6.5em; }
  .page-cards-1__col1.col1--lg{ width: calc(433/1120 * 100%); }
}

@media only screen and (max-width: 768px) {
  .page-cards-1{ padding: 4em 2em; width: calc(100% - 4em); max-width: 100%; border-radius: 3.8em; }
  .page-cards-1__card + .page-cards-1__card{ margin-top: 4em; }
  .page-cards-1__above { display: grid; gap: 2em; }
  .page-cards-1__logo.logo--gigo{ max-width: 12em; }
  .page-cards-1__logo.logo--terilogy{max-width: 18em;}
  .page-cards-1__logo.logo--oioi{ max-width: 8em; }
  .page-cards-1__logo.logo--pcdepot{ max-width: 15em; }
  .page-cards-1__row1 { display: grid; gap: 2em; }
  .page-cards-1__row1_col { width: 100%; }
  .page-cards-1__ttl-1{ font-size: 2.1em; }
  .page-cards-1__col1,
  .page-cards-1__ttl-2{ font-size: 1.4em; }
  .page-cards-1__txt-5 { font-size: 1.2em; }
  .page-cards-1__info{ flex-direction: column; gap: 3em; }
  .page-cards-1__info.info--3{ gap: 2em; }
  .page-cards-1__col1{ width: 100%; }
  .page-cards-1__col2{ width: 100%; }
  .page-cards-1__col3{ width: 100%; padding: 0; margin: 0; }
  .page-cards-1__col3.col3--2{ padding: 0; }
  .page-cards-1__col1::after{ bottom:-1.9em; left: 50%; transform: translateX(-50%) rotate(90deg); height: 2em; }
  .page-cards-1__col3{ gap: 1.5em; }
  .page-cards-1__col5{ width: 100%; padding: 2em; }
  .page-cards-1__quote{ font-size: 1.6em; }
  .page-cards-1__quote.quote--2{ font-size: 1.8em; }
  .page-cards-1__quote.quote--polygon-1::before,
  .page-cards-1__quote.quote--polygon-2::before{ top:unset; left: 50%; bottom: calc(100% - .2em); transform: translateX(-50%); height: 3em; background: url(../../img/icons/polygon_3.png) no-repeat center / contain; }
  .page-cards-1__quote-ttl,
  .page-cards-1__quote-txt{ font-size: 1.8em; }
}

.page-topics{ padding: 0 0 15em; background-color: #fff; }
.page-topics-wrap{ width: 125em; max-width: 80rem/*calc(100% - 16em)*/; margin: 0 auto; position: relative; }
.page-topics-slider .splide__track{ overflow: visible; }
.page-topics-slider{ padding-top: 2em; position: relative; }

.page-topics-slider .splide__arrows{ position: absolute; right: 0; bottom: unset; top:-6.6em; min-height: 5.1em; width: 12.6em; }
.page-topics-slider .splide__arrow{ font-size: 1em; width: 5.1em; height: 5.1em; background-color: #fff; opacity: 1; }
.page-topics-slider .splide__arrow:disabled{ opacity: .3; }
.page-topics-slider .splide__arrow svg{ width: 2em;height: 2em; }
.page-topics-slider .splide__arrow svg path{ fill:var(--main-color) }
.page-topics-slider .splide__arrow--prev{ left: 0; }
.page-topics-slider .splide__arrow--next{ right: 0; }

@media only screen and (max-width: 768px) {
  .page-topics-wrap{ max-width: unset; width: calc(100% - 4em); }
  .page-topics-slider .splide__arrows{ top: 2em; }
}

/*
page solution
------------------ */
.solution__lists{ display: flex; flex-wrap: wrap; gap: 2em 0; justify-content: space-between; }
.solution__lists-item{ width: calc(250/800 * 100%); }
.solution__lists-link{ display: block; }
.solution__lists-card{ position: relative; border-radius: 2em; overflow: hidden; }
.solution__lists-icon{ position: absolute; right: 1em; bottom: 1em; line-height: 1; }
.solution__lists-icon svg{ width: 3em; height: 3em; }
.solution__lists-ttl{ position: absolute; left: 0.8em; top: 0.6em; text-shadow: 2px 2px 8px #1F2933; font-size: 1.8em; font-weight: 900; line-height: 1.6; letter-spacing: 0.04em; color:#fff; }
.solution__lists-txt{ padding: 1em 0 0; font-size: 1.2em; font-weight: 500; line-height: calc(28/15); color: #1F2933; }

@media only screen and (max-width: 768px) {
  .solution__lists-item{ width: 100%; }
  .solution__lists-ttl{ top: 0.6em; left: 0.6em; font-size: 2.6em; }
  .solution__lists-icon{ bottom:2em; right:2em; }
  .solution__lists-icon svg{ width: 3.15em; height: 3.15em; }
  .solution__lists-txt{ padding: 1em 0 0; }
}

/*
page internet
------------------ */
.internet__cards-1{ margin-top: 2em; padding: 2em; background: linear-gradient(275.77deg, #E0EFFF 12.26%, #FCFEFF 33.75%, #F6FEFF 61.68%, #E9F4FE 82.31%); }
.internet__cards-1-lists{ display: grid; gap: 2em; margin: 0 auto; max-width: 80rem; }
.internet__cards-1-lists li{ padding: 2em; background-color: #fff; border: 1px solid var(--blue-color); border-radius: 2em; }
.internet__cards-1-ttl{ text-align: center; font-size: 1.4em; font-weight: 900; line-height: 1.6; background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent; }
.internet__cards-1-txt{ margin-top: 1.4285em; font-size: 1em; font-weight: 400; line-height: 1.2; }
.internet__cards-1-img{ position: relative; max-width: 10em; margin: 1em auto 0; }
.internet__cards-1-img img { width: 100%; max-width: inherit; }
.internet__cards-1-img.is-icon-3 { height: 10em; max-width: inherit; overflow: hidden; }
.internet__cards-1-img.is-icon-3 img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; max-width: 20em; }

.internet-brands{ margin-bottom: 4em; padding: 0 2rem; }
.internet-brands__lists{ display: flex; flex-wrap: wrap; gap: 1em; margin-top: 1em; }
.internet-brands__lists li{ position: relative; flex: 0 0 calc((100% / 7) - (1em / (7 / 6))); }
.internet-brands__lists li a{ display: block; width: 100%; height: 100%; background-color: #fff; border: 1px solid rgba(0, 78, 162, 0.14); border-radius: 2px; }
.internet-brands__name{ display: flex; justify-content: center; align-items: center; position: absolute; left: 0; bottom: 0; padding: 0.2em 0.6em 0; width: 100%; min-height: 3em; font-size: 1em; font-weight: 400; line-height: 1; color:#000; text-align: center; }

@media only screen and (min-width: 769px) {
  .internet__cards-1-img.is-icon-3 { margin-top: 4em; }
}

@media only screen and (max-width: 1920px) and (min-width: 769px) {
	/* .internet__cards-1-lists{ font-size: 0.52083vw; } */
}

@media only screen and (max-width: 768px) {
  .internet__cards-1-lists{ max-width: 41em; margin: 0 auto; }

  .internet-brands { margin-bottom: 3em; padding: 0; }
  .internet-brands__lists{ margin-top: 2em; gap: 1em; }
  .internet-brands__lists li{ flex: 0 0 calc(50% - (1em / 2)); }
  .internet-brands__name{ bottom: 0; font-size: 2.6vw; }
}

@media only screen and (min-width: 769px) {
  .internet__cards-1-lists{ grid-template-columns: repeat(3, calc((100% / 3) - (2em / (3 / 2)))); }
}

/*
strengths block
------------------ */
.strengths-row{ width: 125em; max-width: 80rem/*calc(100% - 16em)*/; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between;  }
.strengths-txt-1{ margin-top: 2.125em; font-size: 1.4em; font-weight: 400; line-height: calc(25/14); }
.strengths-lists{ counter-reset: item; }
.strengths-lists li{ padding-left: 10em; position: relative; counter-increment: item; }
.strengths-lists li+li{ margin-top: 4em; }
.strengths-lists li::before{ content: counter(item, decimal-leading-zero); position: absolute; left: 0; top: -.08235em; font-size: 5.2em; font-weight: 300; font-family: var(--ff-dm-sans); line-height: 1; letter-spacing: 0.14em; }
.strengths-lists li::before{
  background: linear-gradient(224.63deg, #09A6DC 47.39%, #004EA2 81.73%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.strengths-lists__ttl{ font-size: 2em; font-weight: 900; line-height: calc(24/20); background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent; }
.strengths-lists__txt{ margin-top: 1em; font-size: 1.4em; font-weight: 400; line-height: calc(25/14); }

@media only screen and (min-width: 769px) {
  .strengths-row{ padding-top: 4em; }
  .strengths-colleft{ width: 40%; }
  .strengths-colright{ padding-top: 4em; width: calc(100% - (4em + 40%)); }
}

@media only screen and (max-width: 768px) {
  .strengths-row{ margin-bottom: 6em; max-width: calc(100% - 4em); flex-direction: column; gap: 3em; }
  .strengths-lists li::before{ font-size: 6em; }
  .strengths-lists li{ padding-left: 10em; }
}

/*
page web
------------------ */
.web__cards-1{ margin-top: 2em; padding: 2em; background: linear-gradient(267.03deg, #D7E7FF 0.61%, #ECF4FF 26.17%, #F4F8FF 48.89%, #F0F6FE 68.77%, #DEEAFD 92.91%); box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.03); }
.web__cards-1-lists{ display: grid; gap: 2em; margin: 0 auto; max-width: 80rem; }
.web__cards-1-lists li{ padding: 2em 1.2em; background-color: #fff; border: 1px solid var(--blue-color); border-radius: 2em; }
.web__cards-1-ttl{ text-align: center; font-size: 1.4em; font-weight: 900; line-height: 1.6; background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent; }
.web__cards-1-txt{ margin-top: 1.4285em; font-size: 1em; font-weight: 400; line-height: 1.2; }
.web__cards-1-img{ position: relative; max-width: 10em; margin: 1em auto 0; }
.web__cards-1-img img { width: 100%; max-width: inherit; }
.web__cards-1-img.is-icon-4 { max-width: 12em; }

@media only screen and (max-width: 768px) {
  .web__cards-1-lists li{ width: 100%; }
}

@media only screen and (min-width: 769px) {
  .web__cards-1-lists{ grid-template-columns: repeat(4, calc((100% / 4) - (2em / (4 / 3)))); }
}

/*
page infrastructure
------------------ */
.infrastructure__cards-1{ margin-top: 2em; padding: 2em; background: linear-gradient(275.77deg, #E0EFFF 12.26%, #FCFEFF 33.75%, #F6FEFF 61.68%, #E9F4FE 82.31%); }
.infrastructure__cards-1-lists{ display: grid; gap: 2em; margin: 0 auto; max-width: 80rem; }
.infrastructure__cards-1-lists li{ padding: 2em; background-color: #fff; border: 1px solid var(--blue-color); border-radius: 2em; }
.infrastructure__cards-1-ttl{ text-align: center; font-size: 1.4em; font-weight: 900; line-height: 1.6; background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent; }
.infrastructure__cards-1-txt{ margin-top: 1.4285em; font-size: 1em; font-weight: 400; line-height: 1.2; }
.infrastructure__cards-1-img{ max-width: 10em; margin: 1em auto 0; }
.infrastructure__cards-1-img img { width: 100%; max-width: inherit; }
.infrastructure__cards-1-img.is-icon-3 { max-width: 13em; }

@media only screen and (min-width: 769px) {
  .infrastructure__cards-1-lists{ grid-template-columns: repeat(3, calc((100% / 3) - (2em / (3 / 2)))); }
}

@media only screen and (max-width: 768px) {
  .infrastructure__cards-1-lists li{ width: 100%; }
}

/*
page ai
------------------ */
.ai-use-cases__lists{ margin-top: 3.7em; display: flex; flex-wrap: wrap; gap: 2em; }
.ai-use-cases__card{ padding: 1em 2em 2em; width: calc((100% / 3) - (2em / (3 / 2))); background-color: #fff; box-shadow: 0px 8px 60px rgba(14, 26, 87, 0.04); border-radius: 3em; overflow: hidden; }
.ai-use-cases__icon{ max-width: 10em; margin: 0 auto; }
.ai-use-cases__icon img { width: 100%; max-width: inherit; }
/* カテゴリ名：clip-path で両端を外向きに尖らせたリボン形（--arrow は先端の幅／em 基準で文字サイズに追従） */
.ai-use-cases__cat{ --arrow: 1.1em; margin: 0 -.8em; padding: 0 calc(.4em + var(--arrow)); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; min-height: 2.5em; background: linear-gradient(90deg, #27B7E7 0%, #0553A7 100%); clip-path: polygon(var(--arrow) 0, calc(100% - var(--arrow)) 0, 100% 50%, calc(100% - var(--arrow)) 100%, var(--arrow) 100%, 0 50%); font-size: 1.2em; font-weight: 700; color: #fff; }
.ai-use-cases__content { position: relative; text-align: center; }
.ai-use-cases__sublists{ display: inline-block; margin-top: 1.7em; list-style: '\30FB'; list-style-position: inside; text-align: left; vertical-align: top; }
.ai-use-cases__sublists li{ font-size: 1em; line-height: 1.4; }
.ai-use-cases__sublists li + li { margin-top: 0.2em; }
.ai-benefit{ margin-top: 4em; }
.ai-benefit__lists{ margin-top: 2em; display: flex; flex-wrap: wrap; padding: 2em 0; background-color: #fff; border: 1px solid #2f8abe; box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.02); border-radius: 3em;}
.ai-benefit__lists li{ position: relative; padding: 1em; width: 33.33%; }
.ai-benefit__lists li+li::before{ content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 100%; background: linear-gradient(180deg, #5de0e6 0%, #004aad 100%); }
.ai-benefit__ttl{ text-align: center; font-size: 1.4em; font-weight: 900; line-height: 1.6; background: linear-gradient(90deg, #5de0e6 0%, #004aad 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.ai-benefit__content { position: relative; text-align: center; }
.ai-benefit__txt{ display: inline-block; margin-top: 1.785em; padding: 0 2em; text-align: left; vertical-align: top; font-size: 1em; line-height: 1.4; }

.ai-agent__section{ position: relative; padding-bottom: 5em; background: linear-gradient(140.28deg, #FFFFFF 0%, rgba(255, 255, 255, 0.5) 47.6%, #FFFFFF 100%); box-shadow: 0px 4px 70px 10px rgba(0, 55, 185, 0.03); }
.ai-agent__section::after{ content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 13.1em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
.ai-agent__group{ position: relative; z-index: 1; padding-top: 2em; }
.ai-agent__ttl{ font-size: 1em; font-weight: 700; letter-spacing: 0.04em;}
.ai-agent__ttl-txt{ display: inline-flex; flex-wrap: wrap; align-items: center; font-size: 2em; color: #0083C9; }
.ai-agent__ttl-sub{ font-size: .7619em; line-height: 1;  }
.ai-agent__ttl-small{ font-size: 1.5em; color: #1F2933;}
.ai-agent__head{ margin: 1em auto; display: table; width: 100%; background: linear-gradient(99.88deg, #0553A7 3.91%, #27B7E7 94.12%); }
.ai-agent__head-col{ padding: 0.6em; position: relative; display: table-cell; text-align: center; font-size: 1.2em; font-weight: 700; line-height: 1.4; color:#fff; letter-spacing: 0.04em; }
.ai-agent__head-col:not(:last-child)::after{ content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1.2em; height: .9em; background:url(../../img/icons/arrow_next_white.png) no-repeat center / contain; }
.ai-agent__head-col:last-child{ width: calc(175/1250 * 100%); }
.ai-agent__body{ display: flex; flex-wrap: wrap; gap: 1em; }
.ai-agent__body+.ai-agent__body{ padding-top: 1.4em; margin-top: 1.4em; border-top: 1px solid #ccc; }
.ai-agent__body-col{ width: calc((100% / 4) - (1em / (4 / 3))); letter-spacing: 0.04em; text-align: center; }
.ai-agent__body-ttl{ padding: 0.2em 0.24em; font-size: 1.2em; font-weight: 700; line-height: calc(30/17); color: #fff; background-color: var(--blue-color); border-radius: 2em; }
.ai-agent__body-icon { margin: 0.6em auto 0; width: 10em; height: 12em; }
.ai-agent__body-icon img { width: 100%; height: 100%; max-width: inherit; object-fit: contain; }
.ai-agent__body-decs{ margin-top: 0.6em; font-size: 1em; line-height: calc(28/14); }

.ai-process{ padding-top: 2em; padding-bottom: 2em; margin-bottom: 4em; background-color: #fff; }
.ai-process__lists{ display: flex; flex-wrap: wrap; gap:4em; width: 100%; max-width: 1026px; margin: 2em auto 0; }
.ai-process__lists-card{ position: relative; padding: 2em 1em; width: calc((100% / 4) - (4em / (4 /3))); text-align: center; background-color: #fff; box-shadow: 0px 8px 60px rgba(14, 26, 87, 0.04); border-radius: 3em; }
.ai-process__lists-card:not(:nth-child(-n+1))::before{ content: ''; position: absolute; left: -3.6em; top: 50%; transform: translateY(-50%); width: 3.2em; height: 2.3em; background: url(../../img/icons/arrow_next.png) no-repeat center / contain; }
.ai-process__lists-step{ margin: 0 auto 1.2em; aspect-ratio: 1 / 1; width: 6em; display: flex; flex-wrap: wrap; flex-direction: column; align-items: center; justify-content: center; font-family: var(--ff-dm-sans); color:#fff; background-color: #0066B3; border-radius: 50%; gap: .8em; }
.ai-process__lists-step-txt{ font-weight: 700; font-size: 1em; letter-spacing: 0.06em; line-height: 1; }
.ai-process__lists-step-num{ font-size: 2em; font-weight: 900; letter-spacing: 0.05em; line-height: 1; }
.ai-process__lists-ttl{ font-size: 1.1em; font-weight: 900; color: var(--blue-color); line-height: 1.4; }
.ai-process__lists-txt{ margin-top: .8571em; font-size: 1em; line-height: 1.4; color: #566D7D; }

@media only screen and (max-width: 768px) {
  .ai-use-cases__lists{ flex-direction: column; }
  .ai-use-cases__card{ width: 100%; }

  .ai-benefit__lists li{ width: 100%; }
  .ai-benefit__lists li+li::before{ transform: translate(-50%, 0); left: 50%; top: 0; width: 70%; height: 2px; background: linear-gradient(90deg, #FFFFFF 0%, #EFF2F5 27.88%, rgba(239, 242, 245, 0.94902) 74.52%, #FFFFFF 100%); }

  .ai-agent__section{ padding-bottom: 6em; }
  .ai-agent__group{ padding-top: 6em; }
  .ai-agent__ttl-txt{ font-size: 3em; }
  .ai-agent__ttl-sub{ font-size: 0.7333em; }
  .ai-agent__ttl-small{font-size: 1.7em;}

  .ai-agent__head,
  .ai-agent__body{ width: 100em; }
  .ai-agent__head-col{ padding: .25em 1em; vertical-align: middle; }
  .ai-agent__head-col:first-child{ text-align: center; }
  .ai-agent__head-col:not(:last-child)::after{ right:-.7em; }
  .ai-agent__head-col:last-child{ width: unset; }
  .ai-agent__body{ gap:2.5em; }
  .ai-agent__body-col{ width: calc(25% - 1.875em); }
  .ai-agent__mobile-scroll{ width: calc(100% + 4em); margin-left: -2em; overflow-x: auto; padding:0 2em 2em; }
  .ai-agent__head-col{ font-size: 1.8em; }
  .ai-agent__body-ttl{ font-size: 1.6em; }

  .ai-process{ padding-top: 6em; padding-bottom: 4em; margin-bottom: 0; }
  .ai-process__mobile-scroll{ width: calc(100% + 4em); margin-left: -2em; overflow-x: auto; padding: 6em 2em; }
  .ai-process__lists{ min-width: 95em; margin-top: 0; }
}

/*
business
--------------------------------------*/
.business-tools{ padding-bottom: 2em; }
.business-tools__lists{ margin-top: 2em; display: grid; gap: 2em; }
.business-tools__card{ padding: 2em; background-color: #fff; border: 1px solid var(--blue-color); border-radius: 2em; }
.business-tools__ttl{ text-align: center; font-size: 1.4em; font-weight: 900; line-height: 1.6; background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent; }
.business-tools__txt,
.business-tools__sublists{ margin-top: 1.4285em; font-size: 1em; line-height: 1.2; }
.business-tools__txt { text-align: center; }
.business-tools__content { text-align: center; }
.business-tools__sublists{ display: inline-block; text-align: left; vertical-align: top; list-style: '\30FB'; list-style-position: inside; }
.business-tools__sublists li{ padding-left: 1em; text-indent: -1em; }
.business-tools__desc{ flex: 1; }

.business-event{ position: relative; padding-top: 2em; padding-bottom: 2em; margin-bottom: 2em; background-color: #fff; box-shadow: 0px 4px 50px 10px rgba(0, 55, 185, 0.02); }
.business-event::before{ content: ''; display: block; position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: calc(1600/1920 * 100%); height: 2px; background: linear-gradient(90deg, #FFFFFF 0%, #EFF2F5 27.88%, rgba(239, 242, 245, 0.94902) 74.52%, #FFFFFF 100%); }
.business-event::after{ content: ''; display: block; position: absolute; left: 0; top: 100%; width: 100%; height: 13em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
.business-event__lists li{ position: relative; padding: 2em 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4.6em; }
.business-event__lists li:not(:nth-child(-n+2))::before{ content: ''; height: 2px; width: 160em; max-width: calc(100vw - 4em); position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: linear-gradient(90deg, #FFFFFF 0%, #EFF2F5 27.88%, rgba(239, 242, 245, 0.94902) 74.52%, #FFFFFF 100%);}
.business-event__img{ width: 25em; border-radius: 1.2em; overflow: hidden; }
.business-event__desc{ flex: 1; }
.business-event__txt-1{ padding-left: 1.4285em; position: relative; font-size: 1.2em; font-weight: 700; line-height: 1.4; color:var(--sky-blue-color) }
.business-event__txt-1::before{content: ''; position: absolute; left: 0; top: .6428em; width: .8571em; height: .8571em; background-color: var(--sky-blue-color);}
.business-event__txt-2{ margin-top: .85714em; font-size: 1.2em; line-height: 1.4; }
.business-event__ttl{ margin-top: .8333em; font-size: 1.6em; font-weight: 700; line-height: 1; color: var(--main-color); }

@media only screen and (min-width: 769px) {
  .business-tools__lists{ grid-template-columns: repeat(4, calc((100% / 4) - (2em / (4 / 3)))); }
  .business-tools__icon{ width: calc(128/465 * 100%); }
  .business-tools__icon.icon--2{ width: calc(156/465 * 100%); }
  .business-tools__icon.icon--3{ width: calc(133/465 * 100%); }
  .business-tools__icon.icon--4{ width: calc(165/465 * 100%); }
}

@media only screen and (max-width: 768px) {
  .business-tools{ padding-bottom: 6em; }
  .business-tools__lists{ flex-direction: column; gap: 3em; }
  .business-tools__card{ padding: 3em 2em; width: 100%; gap: 2em; }
  .business-tools__icon{ width: 7em; }
  .business-event__lists{ margin-top: 0; }
  .business-event__lists li { flex-direction: column; }
}

/*
development
--------------------------------------*/
.development-field__lists{ margin-top: 2em; display: flex; flex-wrap: wrap; gap: 3.8em; }
.development-field__card{ position: relative; padding: 3em 2em; width: calc(33.33% - 2.5333em); background-color: #fff; box-shadow: 0px 8px 60px rgba(14, 26, 87, 0.04); border-radius: 3em; }
.development-field__card:not(:nth-child(-n+1))::before{ content: ''; position: absolute; left: -1.9em; top: 0; width: 2px; height: 26.3em; background: linear-gradient(180deg, #FFFFFF 0%, #EFF2F5 27.88%, rgba(239, 242, 245, 0.94902) 74.52%, #FFFFFF 100%); }
.development-field__ttl{ font-size: 2em; font-weight: 900; line-height: calc(24/20); background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.development-field__txt{ margin-top: 1em; font-size: 1.4em; line-height: calc(24/14); }

@media only screen and (max-width: 768px) {
  .development-field__lists{ gap:3em; }
  .development-field__card{ width: 100%; min-height: 24em; }
  .development-field__card:not(:nth-child(-n+1))::before{  left: 50%; transform: translateX(-50%); top:-1.5em; width: 80%; height: 2px; background: linear-gradient(0deg, #FFFFFF 0%, #EFF2F5 27.88%, rgba(239, 242, 245, 0.94902) 74.52%, #FFFFFF 100%); }
  .development-field__ttl{ margin-top: 0; }
}

/*
company
--------------------------------------*/
.company__bg-1{ position: relative; padding-bottom: 19em; background: linear-gradient(154.87deg, #E2EDF3 2.84%, #FFFFFF 39.01%, #F2F7FA 74.87%, #FBFEFF 89.44%); }
.company__bg-1::after{ content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 10.7em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
.company__bg-2{ background: linear-gradient(128.47deg, #E2EDF3 0%, #FFFFFF 63.92%, #FBFDFE 88.38%, #F2F7FA 138.34%, #FBFEFF 224.96%); }
.company__content{ padding: 10em 0 20em; background-color: #fff; }

/*
corporate
--------------------------------------*/
.company-corporate__ttl-1{ padding: 0 2em; margin-top: 4.5em; margin-bottom: 5em; font-size: 1em; text-align: center; }
.company-corporate__ttl-1--ja{ margin-top: .862em; display: block; font-size: 4.2em; font-weight: 900; line-height: 1.4; letter-spacing: 0.08em; }
.company-corporate__ttl-1--ja{
  background: linear-gradient(99.88deg, #0553A7 3.91%, #27B7E7 94.12%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.company-corporate__ttl-1--en{ display: block; font-family: var(--ff-dm-sans); font-size: 3em; font-weight: 500; letter-spacing: 10px; text-transform: uppercase; line-height: calc(40/30); color: var(--sky-blue-color); }
.company-corporate__ttl-2{ padding: 0 2em; font-size: 2.4em; font-weight: 900; text-align: center; line-height: calc(34/24); letter-spacing: 0.12em; }
.company-corporate__ttl-2{
  background: linear-gradient(99.88deg, #0553A7 3.91%, #27B7E7 94.12%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.company-corporate__desc{ margin-top: 4.7222em; font-size: 1.8em; line-height: calc(36/18); }
.company-corporate__desc p+p{ margin-top: 2.055em; }
.company-corporate__card { position: relative; margin-top: 12.5em; padding: 12em 10em 8em; z-index: 1; }
.company-corporate__card::before,
.company-corporate__card::after { content: ''; pointer-events: none; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.company-corporate__card::before { top: 6em; left: 6em; width: calc(100% - (6em * 2)); height: calc(100% - (6em * 2)); background-image: url(../../img/company/message_bg.png); z-index: -1; }
.company-corporate__card::after { top: 0; left: 0; width: 100%; height: 100%; background-image: url(../../img/company/message_frame.png); z-index: -2; }
.company-corporate__ttl-3{ margin: 0 auto 2em; width: fit-content; text-align: center; font-family: 'Noto Serif JP', serif; font-size: 3.2em; font-weight: 900; line-height: 1.2; letter-spacing: 0.02em; }
.company-corporate__ttl-3{
  background: linear-gradient(to bottom, rgba(12,92,143,1) 0%,rgba(39,55,68,1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.company-corporate__ttl-3::after { content: ''; display: block; margin: 0.2em auto; width: 60%; height: 0.2em; background: linear-gradient(to right,  rgba(4,3,1,1) 0%,rgba(196,142,22,1) 100%); border-radius: 50%; }
.company-corporate__txt{ font-family: 'Noto Serif JP', serif; font-size: 1.5em; line-height: 2.25; letter-spacing: 0.06em; color:#000; }
.company-corporate__txt+.company-corporate__txt{ margin-top: 2.25em; }
/* .company-corporate__txt strong{ font-size: 1.875em; font-weight: 500; letter-spacing: 0.04em; } */
.company-corporate__txt .is-signature { text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.6); font-family: 'Ma Shan Zheng', cursive; font-size: 3em; font-weight: 400; line-height: 1; letter-spacing: 0.04em; }
.company-corporate__txt--name{ margin-top: 4.375em; display: flex; flex-wrap: wrap; align-items: center; justify-content:flex-end; gap:1.5625em; color: var(--main-color); }
.company-corporate__logo { margin: 5em auto 0; width: 12em; }

.company-csr{ margin-top: 14.5em; }
.company-csr__columns{ position: relative; }
.company-csr__colleft{ position: relative; margin-bottom: 2em; }
.company-csr__collright{ display: grid; gap: 2em; position: relative; }
.company-csr__card{ padding: calc(80/833 * 100%) calc(98/833 * 100%) calc(70/833 * 100%); border-radius: 4em; background: linear-gradient(140.28deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.54) 47.6%, rgba(255, 255, 255, 0.9) 100%); box-shadow: 0px 4px 50px 10px rgba(0, 55, 185, 0.02); overflow: hidden; }
.company-csr__ttl{ margin-bottom: 1.071em; font-size: 2.8em; font-weight: 700; line-height: calc(34/28); letter-spacing: 0.02em; }
.company-csr__ttl{
  background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.company-csr__txt{ font-size: 1.6em; line-height: calc(28/16); letter-spacing: 0.02em; }
.company-csr__txt+.company-csr__txt{ margin-top: 0.875em; }
.company-csr__txt-2{ font-size: 1.4em; line-height: calc(24/14); letter-spacing: 0.02em; color: #566D7D; }
.company-csr__img{ margin: 3.5em 0 2.7em; }

@media only screen and (max-width: 768px) {
  .company-corporate__ttl-1--ja{ font-size: 4em; line-height: 1.3; }
  .company-corporate__ttl-1--en{ font-size: 2.1em; }
  .company-corporate__ttl-2{ font-size: 1.8em; padding: 0 1.111em; }
  .company-corporate__desc{ margin-top: 1.666em; }
  .company-corporate__card{ margin-top: 6em; padding: 4em; }
  .company-corporate__card::before { top: 1em; left: 1em; width: calc(100% - (1em * 2)); height: calc(100% - (1em * 2)); }
  .company-corporate__txt { font-size: 1.4em; }
  .company-corporate__txt .is-signature { font-size: 2.6em; }
  .company-corporate__ttl-3,
  .company-csr__ttl{ font-size: 2.4em; }
  .company-csr{ margin-top: 10em; }
  .company-csr{ padding: 0; }
  .company-csr__colleft{ padding: 0; }
  .company-csr__columns{ flex-direction: column; gap:3em; }
  .company-csr__collright{ width: 100%; }
}

@media only screen and (min-width: 769px) {
  .company-csr__collright{ align-items: flex-start; gap: 2em; grid-template-columns: repeat(2, calc(50% - (2em / 2))); }
}

/*
profile
--------------------------------------*/
.company-profile__block{ padding: 4em 0; background-color: #fff; }
.company-profile__wrap{ width: calc(100% - 4em); max-width: 80rem/*92.7em*/; margin: 0 auto; }
.company-profile__table{ width: 100%; border-collapse: collapse; }
.company-profile__table th,
.company-profile__table td{ padding: 2.125em 0; font-size: 1.6em; line-height: calc(32/16); vertical-align: top; text-align: left; }
.company-profile__table tr > th{ width: 13.75em; padding-left: 2.875em; font-weight: 500; color: var(--blue-color); }
.company-profile__table tr > td p+p{ margin-top: 1.125em; }
.company-profile__table tr > td a{ text-decoration: underline; color:var(--main-color) }
.company-profile__table tr > td a:hover{ text-decoration: none; }
.company-profile__table tr:not(:last-child) > th,
.company-profile__table tr:not(:last-child) > td{ border-bottom: 1px solid #D0D3D5; }
.company-profile__map{ margin-top: 1.1875em; overflow: hidden; }
.company-profile__map iframe{ width: 100%; height: 23em; line-height: 1; border-radius: .4375em; }
.company-profile__table-sub td{ padding: 0.2em 0; font-size: inherit !important; line-height: calc(32/16); border: 0 !important; }
.company-profile__table-sub tr:first-child td { padding-top: 0; }
.company-profile__table-sub tr:last-child td { padding-bottom: 0; }
.company-profile__table-sub td:nth-child(1){ padding-right: 1.5em; }
.company-profile__table-sub td:nth-child(2){ padding-right: 1.5em; }
.company-profile__logo-1{ max-width: 96px; }
.company-profile__logo-2{ margin-top: 5px !important; max-width: 158px; }
.company-profile__logos{ display: flex; flex-wrap: wrap; gap: 1.25em 2.25em; }
.company-profile__different{ margin-top: 1.125em; text-align: right; }

@media only screen and (max-width: 768px) {
  .company-profile__block{ padding: 6em 0; }
  .company-profile__table th,
  .company-profile__table td{ font-size: 1.4em; }
  .company-profile__table tr > th{ padding-left: 1em; padding-right: 1em; white-space: nowrap; }
  .company-profile__table tr > th{ width: 7.857em; }
  .company-profile__table-sub td:nth-child(1){ width: 8.5714em; }
  .company-profile__table-sub td:nth-child(2){ width: 6em; }
  .company-profile__logos{ justify-content: center; }
  .company-profile__map iframe{ height: 41.92vw; }
}

@media only screen and (max-width: 650px) {
  .company-profile__table-wrap{ width: calc(100vw - 11.0714em); overflow-x: auto; }
  .company-profile__table-sub{ width: 35.5em; }
}

.company-logo__block{ position: relative; padding: 6em 0 20em; background: url(../../img/company/company_logo_bg.png) no-repeat top center / cover; }
.company-logo__block::after{ content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 10.7em; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%); }
.company-logo__card{ padding: calc(120/1480 * 100%) 2em calc(110/1480 * 100%); border-radius: 3em; background: linear-gradient(140.28deg, #FFFFFF 0%, rgba(255, 255, 255, 0.5) 47.6%, #FFFFFF 100%); }
.company-logo__card.organization---card{ padding: calc(80/1480 * 100%) calc(116/1480 * 100%) 0; }
.company-logo__ttl-1{ font-size: 2.4em; font-weight: 700; line-height: calc(32/24); color:var(--blue-color); }
.company-logo__txt-block+.company-logo__txt-block{ margin-top: 7em; }
.company-logo__txt-block p{ margin-bottom: 2.0625em; font-size: 1.6em; line-height: calc(32/16); color:#000; }
.company-logo__txt-block h3{ margin-bottom: .91666em; font-size: 2.4em; font-weight: 700; line-height: calc(32/24); color:var(--blue-color) }
.company-logo__logo{ max-width: 70em; margin: 0 auto 11.2em; }
.company-logo__profile{ margin-top: 6em; margin-bottom: 9em; padding: 5.7em 5em 5.4em 7.8em; position: relative; background: #EFF2F5; border-radius: 0 3.7em 0 3.7em; overflow: hidden; }
.company-logo__profile::before,
.company-logo__profile::after{ content: ''; position: absolute; width: 8.1em; height: 8.1em; background-color: #FBFCFF; }
.company-logo__profile::before{ top: -1px; left: -1px; clip-path: polygon(100% 0, 0% 100%, 0 0) }
.company-logo__profile::after{ bottom: -1px; right: -1px; clip-path: polygon(100% 0, 0 100%, 100% 100%);  }
.company-logo__profile-ttl{ font-size: 1em; }
.company-logo__profile-ttl--en{ font-size: 3.2em; font-weight: 900; line-height: calc(38/32); letter-spacing: 0.02em; color: var(--blue-color); }
.company-logo__profile-ttl--ja{ font-size: 2em; font-weight: 700; line-height: calc(24/20); color: rgba(2, 63, 129, 0.4); }
.company-logo__profile-columns{ margin-top: 3.8em; }
.company-logo__profile-pht{ margin-top: 3.4em; width: 26em; }
.company-logo__profile-desc h3{ margin-bottom: 1.35em; font-size: 2em; font-weight: 700; line-height: calc(24/20); }
.company-logo__profile-desc p{ margin-bottom: 1.928em; font-size: 1.4em; line-height: calc(30/14); color:#000; }
.company-logo__profile-desc dl{ margin-bottom: 2.08em; display: flex; flex-wrap: wrap; font-size: 1.2em; line-height: calc(24/12); width: 100%; }
.company-logo__profile-desc dt{ width: 6.8333em; padding-right: .3571em; text-align: right; }
.company-logo__profile-desc dd{ width: calc(100% - 6.8333em); }
.company-logo__profile-desc a{ color: var(--main-color); text-decoration: underline; }


@media only screen and (min-width: 769px) {
  .company-logo__profile-columns{ display: flex; flex-wrap: wrap; align-items: flex-start; gap: 5em; }
  .company-logo__profile-desc{ flex: 1; }
  .company-logo__profile-desc a:hover{ text-decoration: none; }
}

@media only screen and (max-width: 768px) {
  .company-logo__card{ padding: 4em 2em; border-radius: 4em; }
  .company-logo__profile{ padding: 6em 2em; }
  .company-logo__profile-ttl{ text-align: center; }
  .company-logo__profile-ttl--en{ display: block; }
  .company-logo__profile-ttl--ja{ display: block; }
  .company-logo__profile-pht{ margin: 0 auto; max-width: 75%; }
  .company-logo__profile-desc{ margin-top: 3em; }
  .company-logo__profile::before, .company-logo__profile::after{ width: 5.6em; height: 5.6em; }
}

.company-ir__linkspdf{ display: flex; flex-wrap: wrap; flex-direction: column; gap:2em; align-items: flex-start; }
.company-ir__linkspdf a{ padding-left: 2.375em; display: block; font-size: 1.6em; font-weight: 400; line-height: 1.8; color: var(--main-color); background-repeat: no-repeat; background-size: 1.75em; background-position: 0 center; background-image: url(../../img/icons/pdf_black.png); }

@media only screen and (min-width: 769px) {
  .company-ir__linkspdf a:hover{ text-decoration: underline; color:var(--blue-color); background-image: url(../../img/icons/pdf_blue.png); }
}

.company-history__lists-item{ display: flex; flex-wrap: wrap; background-color: #fff; padding: 1.25em calc(52/1100 * 100%); border-bottom: 1px solid rgba(204, 204, 204, 0.8); font-size: 1.6em; gap:1em; line-height: calc(32/16); }
.company-history__lists-item a { text-decoration: underline; color: var(--main-color); }
.company-history__lists-date{ width: 6em; color: var(--blue-color); }

@media only screen and (min-width: 769px) {
  .company-history__lists-desc{ flex: 1; }
}

@media only screen and (max-width: 768px) {
  .company-history__lists-item{ padding: 1.5em; gap: .5em; flex-direction: column; font-size: 1.4em; }
}

/*
action
--------------------------------------*/
.action-above { position: relative; padding: 2em 0 10em; -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 94%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 94%); background: url(../../img/action/mission-image2-pc.jpg) center top/cover no-repeat; }
.action-above-title { margin-bottom: 2em; text-align: center; }
.action-above-title span { display: block; text-align: center; line-height: 1.6; }
.action-above-title .en { font-family: var(--ff-dm-sans); font-size: 2em; font-weight: 600; }
.action-above-title .ja { margin-top: -1em; font-size: 1.6em; font-weight: 700; }
.action-above-text { padding: 2em; background-color: rgba(255, 255, 255, 0.7); font-size: 1.4em; line-height: 1.8; }
.action-above-text p { margin: 0; }
.action-above-text p + p { margin-top: 1.8em; }
.action-content { padding: 4em 0 6em; }
.action-block { display: grid; gap: 1em; position: relative; padding: 2em; background-color: #fff; box-shadow: 0 0.3em 0.6em 0.1em rgba(0, 0, 0, 0.2); }
.action-block + .action-block { margin-top: 4em; }
.action-block-logo { position: relative; }
.action-block-info { position: relative; }
.action-block-title { margin-bottom: 0.4em; font-size: 2em; font-weight: 700; line-height: 1.6; }
.action-block-text { font-size: 1.6em; line-height: 1.6; }
.action-block-btn { margin-top: 1em; }
.action-block-btn .btn-1 { margin: 0; }
.action-p { font-size: 1.4em; line-height: 1.6; }
.action-btn-back { margin-top: 2em; text-align: center; }
.action-btn-back .btn-1 { margin: 0; }

@media only screen and (max-width: 768px) {
  .action-block-logo { margin: 0 auto 1em; width: 36%; }
  .action-block-title { text-align: center; }
  .action-block-btn { text-align: center; }
}

@media only screen and (min-width: 769px) {
  .action-above { -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 88%); clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 88%); }
  .action-block { align-items: center; gap: 2em; grid-template-columns: 20em calc(100% - (20em + 2em)); }
  .action-block-logo { padding: 2em; text-align: center; }
  .action-block-btn { text-align: right; }
}

#detail{ padding-bottom: 6em; }
.detail-content{ padding-top: 2.5em; padding-bottom: 2.5em; position: relative; z-index: 1; font-size: 1.6em; font-weight: 400; line-height: calc(32/16); color: #111111; }
.detail-content a{ text-decoration: underline; color: #111111; }
.detail-content p:not(:last-child){ margin-bottom: 2.5em; }
.detail-content h2,
.detail-content h3,
.detail-content h4,
.detail-content h5,
.detail-content h6{ font-weight: 700; color: #000; line-height: 1.3; }
.detail-content h2{ margin-bottom: 0.78125em; margin-top: 1.3125em; font-size: 2em;  }
.detail-content h3{ margin-bottom: .5357em; margin-top: 1.142em; font-size: 1.75em; }
.detail-content h4{ margin-bottom: .5769em; margin-top: 1.23em; font-size: 1.625em; }
.detail-content h5{ margin-bottom: .6818em; margin-top: 1.454em; font-size: 1.375em; }
.detail-content h6{ margin: 1em 0; font-size: 1.125em; }
.detail-content ul{ margin-bottom: 2.5em; list-style: disc; list-style-position: inside; }
.detail-content ol{ margin-bottom: 2.5em; list-style: decimal; list-style-position: inside; }
.detail-content table{ margin-bottom: 2.5em; border-collapse: collapse; }
.detail-content table td,
.detail-content table th{ padding: .8em .5em; border: 1px solid var(--main-color); }
.detail-content--thumb{ margin-bottom: 7.5em !important; }

.main-detail-parson-wrap { margin-top: 4em; width: 100%; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__txt { font-size: 0.8em; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__icon { margin-left: 6px; width: 29px; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__icon a { margin-right: 0; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__icon a::after { content: none; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__icon a img { width: 100%; -webkit-transition: .2s; transition: .2s; }
.main-detail-parson-wrap .main-detail-parson-sns-wrap .main-detail-parson-sns__icon a:hover img { -webkit-transform: scale(1.2); transform: scale(1.2); }

.detail-nav{ padding: 4em 2em; border-bottom: 1px solid rgba(0, 0, 0, 0.1); border-top: 1px solid rgba(0, 0, 0, 0.1); }
.detail-nav__lists{ display: flex; flex-wrap: wrap; }
.detail-nav__item{ width: 50%; }
.detail-nav__item a{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap:2em; }
.detail-nav__item span{ font-size: 2em; color:#000; }
.detail-nav__item i{ line-height: 1; }
.detail__img { margin-bottom: 2.5em; }
.detail__tags{ margin-top: 4em; display: flex; flex-wrap: wrap; gap: 4em; }
.detail__tags a,
.detail__tags span{ font-size: 1.4em; line-height: calc(32/14); color: #888888; }
.detail__date{ display: block; margin-top: 3.3333em; font-size: 1.5em; line-height: calc(32/15); color:#000; }
.page-headline-text { margin-top: 1.5em; font-size: 1.4em; line-height: calc(32/14); color: #000; }

@media only screen and (min-width: 769px) {
  .detail-content a:hover{ text-decoration: none; }
}

@media only screen and (max-width: 768px) {
  .detail-content{ font-size: 1.4em; }
  .detail-content--thumb{ margin-bottom: 6em !important; }
  .detail__tags{ gap:.5em 2em; }
  .detail-nav__item span{ font-size: 1.6em; }
  .detail-nav__item svg{ width: 3em; height: 3em; }
}

/*
sitemap
-------------------- */
.sitemap__group{ margin-bottom: 8em; }
.sitemap__group .title-4 a { color: var(--main-color); }
.sitemap__lists{ margin-top: 4em; display:flex; flex-wrap: wrap; gap:2em; }
.sitemap__lists li{ width: calc((100% / 3) - (2em / (3 / 2))); background-color: #fff; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.12); border-radius: 2px; overflow: hidden; }
.sitemap__lists a{ transition: .2s; display: flex; flex-wrap: wrap; align-items: center; height: 100%; padding:2em 3.4em 2em 1em; font-size: 1.4em; font-weight: 500; line-height: 1.6; color:var(--main-color); background: url(../../img/icons/arrow_next_3.png) no-repeat calc(100% - 1.9285em) center / 1.4285em; }

@media only screen and (min-width: 769px) {
  .sitemap__lists a:hover{  color:#fff; background: var(--blue-color) url(../../img/icons/arrow_next_3.png) no-repeat calc(100% - 1em) center / 1.4285em; }
}

@media only screen and (max-width: 768px) {
  .sitemap__lists{ gap:2em 1em; }
  .sitemap__lists li{ width: calc(50% - .5em); }
  .sitemap__lists a{ padding:.8em 2.2em .8em .7142em; background-position: calc(100% - .7142em) center; line-height: 1.5; }
}

/*
policy
--------------------------*/
.policy-content{ font-size: 1.4em; line-height: calc(32/14); letter-spacing: 0.04em; color:#000; }
.policy-content a:not(.btn-1){ text-decoration: underline; color: #000; }
.policy-content a:hover{ text-decoration: none; }
.policy-content h2{ margin-bottom: .31818em; font-size: 1.5714em; font-weight: 700; color: #1F2933; }
.policy-content h3 { margin-bottom: 1.2em; font-weight: 700; }
.policy-content p,
.policy-content ul,
.policy-content ol { margin-bottom: 2.78571em; }
.policy-content ul:not(.list-none) { margin-left: 2em; list-style: disc; }
.policy-content ol:not(.list-none) { margin-left: 2em; list-style: decimal; }
.policy-content .parent-list-detail-order-list { display: flex; flex-wrap: wrap; gap: 2em; margin: 1em 0 2em; list-style: none !important; }
.policy-content .btn-1 { font-size: 1.4rem; }
.policy-lead p { margin-bottom: 1em; }
.policy-info{ margin-bottom: 6.0714em !important; text-align: right; }

/*
contact
--------------------------*/
.content-inner{ position: relative; z-index: 1; }
.contact-card{ padding: 6em 2em; background: linear-gradient(140.28deg, #FFFFFF 0%, rgba(255, 255, 255, 0.5) 47.6%, #FFFFFF 100%); border-radius: 3em; }
.contact-from{ max-width: 665px; margin: 0 auto; }
.contact-table{ margin-top: 1.8571em; width: 100%; border-collapse: collapse; }
.contact-table,
.contact-txt-1{ font-size: 1.4rem; font-weight: 400; line-height: calc(21/14); }
.contact-table th{ vertical-align: top; white-space: nowrap; padding: 1.714285em .3571em 1.142em; font-weight: 500; color: #575C63; text-align: left; border-bottom: 1px solid #E2E6EA; }
.contact-table td{ padding: 1.142em .2142em; color: #575C63; border-bottom: 1px solid #E2E6EA; }
.contact-required{ margin-left: .8em; display: inline-block; padding: 0 .6em; font-size: .7142em; font-size: 1rem; color: #DE1E40; border: 1px solid #DE1E40; border-radius: 1.3em; }
.contact-txt-1.txt--note{ display: table; margin: 2.1428em auto 0; padding-left: 1em; text-indent: -1em; font-weight: 500; color: #575C63; }
.contact-txt-1.txt--agree{ color: #404040; }
.contact-txt-1.txt--agree a{ padding-right: 1.4285em; text-decoration: underline; color: #404040; background: url(../../img/icons/icon_newtab_gray.svg) no-repeat calc(100% - .5714em) center / .7142em; }
.contact-txt-1.txt--agree a:hover{ text-decoration: none; }
.contact-from input[type="text"],
.contact-from input[type="tel"],
.contact-from input[type="email"],
.contact-from input[type="number"],
.contact-from select,
.contact-from textarea{ padding: 0 1em; width: 100%; height: 3.0714em; border: 1px solid rgba(82, 96, 109, 0.48);  border-radius: .4285em; appearance: none;       /* Removes default arrow and styling */-webkit-appearance: none;-moz-appearance: none; }
.contact-from select{ background: url(../../img/icons/expand_more_3.png) no-repeat calc(100% - 1em) center / 10px auto; }
.contact-from textarea{ padding:1em; min-height: 13.785em; font-family: var(--ff-main); }
.contact-from input[type="checkbox"] {
  width: 2em;
  height: 2rem;
  accent-color: var(--blue-color);
  cursor: pointer;
}
.contact-form__input-s{ /*max-width: 11.9285em;*/ max-width: 167px; }
.contact-form__input-m{ /*max-width: 24.928em;*/ max-width: 349px; }
.contact-txt-2{ margin-top: 0.9em; font-size: .7142em; font-size: 1rem; color: #54585B; }
.contact-textarea{ padding:0 0 2.2142em; line-height: 1; }
.contact-input-block { position: relative; }
.contact-input-block+.contact-input-block{ margin-top: 1.2857em; }
.contact-agree__card{ margin-top: 3em; padding: 1em; min-height: 8em; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; flex-direction: column; background-color: #F5F7FA; border: 1px solid #DBE0E8; border-radius: 4px; }
.contact-agree__block{ display: inline-flex; position: relative; }
.contact-from .error:not(input):not(select):not(textarea) { display: block; margin-top: .5em; font-size: 1.4rem; color: #DE1E40; }
.contact-from input.error, .contact-from select.error, .contact-from textarea.error { border-color: #DE1E40; }
.contact-agree__block span.error { position: absolute; bottom: -60px; left: 0; margin: 0; width: 100%; text-align: center; white-space: nowrap; }
.contact-btn-wrap a.btn-3 { background-position: right calc(100% - 1.125em) center; background-image: url(../../img/icons/arrow_next_white_2_left.png); }
.contact-massage { text-align: center; font-size: 1.4rem; }
.contact-massage-text { margin-bottom: 1em; font-size: 2rem; font-weight: 700; }

@keyframes spin {
	from {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@media only screen and (min-width: 769px) {
  .contact-table th{ width: 180px; }
  .contact-btn-wrap { display: flex; justify-content: center; }
}
@media only screen and (max-width: 768px) {
  .contact-card { padding-top: 3em; padding-bottom: 3em; }
  .contact-table th,
  .contact-table td{ display: block; }
  .contact-table th{ padding: 1.142em .2142em 0; border-bottom: 0; }
}

/*
sibpo（BPO／インフラ卸提供サービス）
--------------------------------------*/
.sibpo-sec { position: relative; }
.sibpo-sec + .sibpo-sec { margin-top: 2em; }
.sibpo-ttl{ text-align: center; }
.sibpo-ttl__main{ position: relative; display: inline-block; padding-bottom: .5em; font-size: 2em; font-weight: 700; letter-spacing: 0.02em; line-height: calc(54/42); color: var(--main-color); }
.sibpo-ttl__main::after{ content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 1.25em; height: 3px; background-color: var(--sky-blue-color); }
.sibpo-lead{ margin-top: 1.4285em; font-size: 1.2em; line-height: 1.4; }
.sibpo-figure{ margin: 2em auto; }
.sibpo-figure img{ width: 100%; height: auto; mix-blend-mode: multiply; }
.sibpo-points{ display: grid; gap: 0.8em; margin-top: 2em; }
.sibpo-points__item{ display: flex; align-items: center; gap: 1.6em; padding: 1em; background-color: #fff; border: 1px solid #0083C9; border-radius: 1em; }
.sibpo-points__num { position: relative; flex: 0 0 auto; width: 5.6em; text-align: center; color: var(--blue-color); font-family: var(--ff-dm-sans); }
.sibpo-points__num::after { content: ''; position: absolute; top: 50%; right: 0; width: 1px; height: 90%; transform: translateY(-50%); background: linear-gradient(90deg, #5CDEE5 0%, #024DAE 100%); }
.sibpo-points__label,
.sibpo-points__no { background: linear-gradient(90deg, #5CDEE5 0%, #024DAE 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-fill-color: transparent; }
.sibpo-points__label{ display: block; font-size: 1em; font-weight: 700; letter-spacing: 0.1em; line-height: 1; }
.sibpo-points__no{ display: block; margin-top: .1em; font-size: 2em; font-weight: 700; line-height: 1; }
.sibpo-points__body{ flex: 1; }
/* POINT タイトル：clip-path で両端を外向きに尖らせた矢印形（em 基準で文字サイズに追従） */
.sibpo-points__ttl{ --arrow: 0.6em; padding: 0.2em calc(0.8em + var(--arrow)); width: fit-content; max-width: 100%; background: linear-gradient(90deg, #5CDEE5 0%, #024DAE 100%); clip-path: polygon(var(--arrow) 0, calc(100% - var(--arrow)) 0, 100% 50%, calc(100% - var(--arrow)) 100%, var(--arrow) 100%, 0 50%); font-size: 1.1em; font-weight: 900; line-height: 1.2; color: #fff; }
.sibpo-points__txt{ margin-top: 0.2em; font-size: 1em; line-height: 1.6; }

/* bpo */
.sibpo-bpo-column { display: grid; gap: 1em; position: relative; margin-top: 2em; }
.sibpo-bpo-column .sibpo-points { margin-top: 0; }

@media only screen and (min-width: 769px) {
  .sibpo-bpo-column { grid-template-columns: 60% calc(40% - 1em); }
}

/* 課題解決 */
.sibpo-solve{ padding: 1.4em 0; background: url(../../img/solution/sibpo/solve_bg.png) no-repeat right top #fff; background-size: 8em; border: 1px solid #0083C9; border-radius: 1em; }
.sibpo-solve__ttl{ padding: 0 1em; background: linear-gradient(90deg, #004EA2 0%, #09A6DC 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-fill-color: transparent; font-size: 1.2em; font-weight: 700; line-height: calc(42/26); text-align: center; }
.sibpo-solve__icons{ margin: 2em auto 0; max-width: 46em; }
.sibpo-solve__icons img{ width: 100%; height: auto; }
.sibpo-solve__txt{ margin-top: 3em; padding: 0 4em; font-size: 1em; line-height: 1.4; }
.sibpo-compare__lists { display: grid; gap: 0.6em; margin-top: 2em; padding: 0 0.2em; }
.sibpo-compare__lists li { --arrow: 0.9em; display: grid; grid-template-columns: repeat(2, 50%); border: 1px solid #0083C9; border-radius: 0.2em; text-align: center; font-size: 1em; line-height: 1.4; overflow: hidden; }
.sibpo-compare__lists li p { position: relative; padding: 0.6em 0.2em; }
/* 左ラベル：右端を矢印形に clip-path で切り抜き、右セルへ --arrow ぶん食い込ませる（em 基準なので文字サイズに追従） */
.sibpo-compare__lists li p:nth-of-type(1) { z-index: 1; margin-right: calc(var(--arrow) * -1); padding-right: calc(0.2em + var(--arrow)); background: #fff; clip-path: polygon(0 0, calc(100% - var(--arrow)) 0, 100% 50%, calc(100% - var(--arrow)) 100%, 0 100%); }
.sibpo-compare__lists li p:nth-of-type(2) { padding-left: calc(0.2em + var(--arrow)); background: linear-gradient(90deg, #329BCB 0%, #014BAE 100%); color: #fff; }
.sibpo-compare__arrow{ flex: 0 0 auto; align-self: center; width: 4em; height: 3em; background: url(../../img/icons/arrow_next.png) no-repeat center / 2.4em auto; }

/* お問合せ バンド */
.sibpo-contact{ padding: 4em 0; background-color: #F5F7FA; text-align: center; }
.sibpo-contact__txt{ margin-top: 2.2em; font-size: 1.6em; line-height: 1.6; color: var(--main-color); }
.sibpo-contact__btn{ margin-top: 1em; display: inline-flex; align-items: center; justify-content: center; min-width: 34em; min-height: 4.8em; padding: 1em 3em; font-size: 1.6em; font-weight: 700; letter-spacing: 0.04em; color: #fff; background-color: #2B2C7C; border-radius: 1em; transition: opacity .2s; }
.sibpo-contact__btn:hover{ opacity: .85; }

@media only screen and (max-width: 768px) {
  .sibpo-ttl__main{ font-size: 2.6em; }
  .sibpo-figure{ margin-top: 3.5em; }
  .sibpo-points{ margin-top: 4.5em; }
  .sibpo-points__ttl { font-size: 1.4em; }
  .sibpo-points__txt { font-size: 1.2em; }

  .sibpo-contact{ padding: 5em 0; }
  .sibpo-contact__btn{ min-width: 0; width: 100%; max-width: 34em; }

  .sibpo-solve__ttl{ font-size: 1.6em; }
  .sibpo-solve__txt{ padding: 0 2em; font-size: 1.2em; }
  .sibpo-compare{ flex-direction: column; align-items: stretch; gap: 1.5em; margin-top: 4em; }
  .sibpo-compare__arrow{ width: 100%; height: 2.6em; transform: rotate(90deg); }
}

/*
sibpo 図版（HTML/CSS版 bpo_flow・oem_flow）
--------------------------------------*/
/* 共通パーツ */
.dia-card{ background-color: #E8F5FC; border-radius: 1.4em; padding: 2.2em 2.6em; }
.dia-card__ttl{ font-size: 1.8em; font-weight: 700; text-align: center; color: var(--main-color); }
.dia-card__txt{ margin-top: .9em; font-size: 1.3em; line-height: calc(23/13); text-align: center; color: #364E6E; }
.dia-node{ display: flex; flex-direction: column; align-items: center; gap: 1em; position: relative; padding-bottom: 2em; }
.dia-node__name{ position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 1em; font-weight: 700; color: var(--main-color); white-space: nowrap; }
.dia-icon{ display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; width: 9em; border-radius: 50%; }
.dia-icon svg{ width: 90%; }
.dia-icon--user{ background-color: #E2EDF3; }
.dia-icon--isp{ width: 8.4em; border-radius: 1.8em; background: linear-gradient(135deg, #27B7E7, #004EA2); }
.dia-icon--isp svg{ width: 96%; }
.dia-icon--logo{ background-color: #fff; border: 2px solid #D5E3EC; }
.dia-icon--logo img{ width: 68%; height: auto; }

.dia-arrow{ position: relative; display: block; height: 1em; background-color: #0083C9; }
.dia-arrow--right::after{ content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1em 0 1em 1.2em; border-color: transparent transparent transparent #0083C9; }
.dia-arrow--left::before{ content: ''; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1em 1.2em 1em 0; border-color: transparent #0083C9 transparent transparent; }
.dia-arrow--both::after{ content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1em 0 1em 1.2em; border-color: transparent transparent transparent #0083C9; }
.dia-arrow--both::before{ content: ''; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1em 1.2em 1em 0; border-color: transparent #0083C9 transparent transparent; }
.dia-arrow-label{ font-size: 1.3em; font-weight: 700; text-align: center; color: var(--blue-color); }

/* BPOサービス 図 */
.bpo-dia{ display: grid; grid-template-columns: auto minmax(0,1fr) auto minmax(0,1fr) auto; align-items: stretch; column-gap: 2.4em; row-gap: 4.5em; }
.bpo-dia > .dia-node{ align-self: center; }
.bpo-dia__link{ display: flex; flex-direction: column; align-items: stretch; gap: 1.8em; }
.bpo-dia__link .dia-card{ flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
.bpo-dia__link .dia-arrow{ margin: 0 1.6em; }
.bpo-dia__daiko{ grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,46em) minmax(0,1fr); align-items: center; column-gap: 2em; }
.bpo-dia__daiko .dia-arrow--left{ margin-left: 1.6em; }
.bpo-dia__daiko .dia-arrow--right{ margin-right: 1.6em; }

@media only screen and (max-width: 768px) {
  .bpo-dia{ display: flex; flex-direction: column; align-items: stretch; gap: 1.8em; }
  .bpo-dia .dia-node{ align-self: center; }
  .bpo-dia .dia-card__txt{ text-align: left; }
  .bpo-dia__link{ gap: 1.4em; }
  .bpo-dia__link .dia-arrow{ width: .5em; height: 3em; margin: 0 auto; }
  .bpo-dia__link .dia-arrow--right::after{ left: 50%; top: 100%; transform: translateX(-50%); border-width: 1.2em 1em 0 1em; border-color: #0083C9 transparent transparent transparent; }
  .bpo-dia__link .dia-arrow--both::after{ left: 50%; top: 100%; transform: translateX(-50%); border-width: 1.2em 1em 0 1em; border-color: #0083C9 transparent transparent transparent; }
  .bpo-dia__link .dia-arrow--both::before{ right: auto; left: 50%; top: auto; bottom: 100%; transform: translateX(-50%); border-width: 0 1em 1.2em; border-color: transparent transparent #0083C9 transparent; }
  .bpo-dia__link .dia-arrow{ order: 1; }
  .bpo-dia__link .dia-card{ order: 0; }
  .bpo-dia__daiko{ display: flex; flex-direction: column; gap: 1.4em; margin-top: 1em; }
  .bpo-dia__daiko .dia-arrow{ display: none; }
}

/* OEMサービス 図 */
.oem-dia{ display: flex; align-items: stretch; }
.oem-dia__card{ flex: 1; min-width: 0; background-color: #FCFEFF; border: 2px solid #C9DCEA; border-radius: 1.8em; padding: 2.8em 2em 3.2em; }
.oem-dia__ttl{ font-size: 1.8em; font-weight: 700; text-align: center; color: var(--main-color); }
.oem-dia__sub{ margin-top: 1.4em; font-size: 1.2em; color: #566D7D; }
.oem-dia__pill{ margin-top: .9em; padding: .55em 1em; border-radius: 10em; background: linear-gradient(90deg, #004EA2, #0083C9); font-size: 1.5em; font-weight: 700; text-align: center; color: #fff; }
.oem-dia__box{ margin-top: 1.6em; display: flex; align-items: center; justify-content: center; gap: 1em; background-color: #EFF6FB; border-radius: 1em; padding: 1.6em 1em; }
.oem-dia__list li{ font-size: 1.2em; line-height: 3; color: var(--main-color); }
.oem-dia__plus{ font-size: 2.6em; font-weight: 700; color: var(--blue-color); }
.oem-dia__value{ font-size: 1.45em; font-weight: 700; color: var(--main-color); }
.oem-dia__box--cyan{ display: block; margin-top: 7em; background-color: #DFF4FB; text-align: center; }
.oem-dia__box-ttl{ font-size: 1.5em; font-weight: 700; color: #0072AC; }
.oem-dia__box-txt{ margin-top: .6em; font-size: 1.2em; line-height: 2; color: var(--main-color); }

.oem-dia__provide{ margin-top: 2.6em; display: flex; align-items: flex-start; justify-content: center; gap: 1.4em; }
.dia-badge{ display: flex; flex-direction: column; align-items: center; gap: .6em; position: relative; padding-bottom: 2.2em; }
.dia-badge__circle{ display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; width: 6em; background-color: #fff; border: 2px solid #C9DCEA; border-radius: 50%; }
.dia-badge__circle svg{ width: 80%; }
.dia-badge__name{ position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 1.05em; color: #566D7D; }
.oem-dia__plus2{ align-self: center; margin-top: -1em; font-size: 2em; font-weight: 700; color: var(--blue-color); }
.oem-dia__down{ position: relative; width: 1em; height: 4em; margin: -3.2em auto 0; background-color: #0083C9; }
.oem-dia__down::after{ content: ''; position: absolute; left: 50%; top: 100%; transform: translateX(-50%); border-style: solid; border-width: 1.2em 1em 0; border-color: #0083C9 transparent transparent transparent; }

.oem-dia__relation{ margin-top: 2.8em; display: flex; align-items: center; justify-content: center; gap: 1em; }
.oem-dia__relation .dia-icon{ width: 7em; }
.oem-dia__relation .dia-icon--isp{ width: 7.2em; }
.oem-dia__arrows{ flex: 1; max-width: 10em; display: flex; flex-direction: column; gap: 2em; margin-top: -2em; }
.oem-dia__arrowrow{ display: flex; flex-direction: column; gap: .5em; }
.oem-dia__arrowrow .dia-arrow--right{ margin-right: 1.4em; }
.oem-dia__arrowrow .dia-arrow--left{ margin-left: 1.4em; }

.oem-dia__mid{ flex: 0 0 12em; display: flex; flex-direction: column; justify-content: center; gap: 4em; padding: 0 .4em; }
.oem-dia__mid-item{ display: flex; flex-direction: column; gap: 1.2em; }
.dia-fatarrow{ position: relative; display: block; height: 1.1em; background-color: #0083C9; }
.dia-fatarrow--left{ margin-left: 2em; }
.dia-fatarrow--left::before{ content: ''; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1.5em 2em 1.5em 0; border-color: transparent #0083C9 transparent transparent; }
.dia-fatarrow--both{ margin: 0 2em; }
.dia-fatarrow--both::before{ content: ''; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1.5em 2em 1.5em 0; border-color: transparent #0083C9 transparent transparent; }
.dia-fatarrow--both::after{ content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1.5em 0 1.5em 2em; border-color: transparent transparent transparent #0083C9; }

.oem-dia__supply{ margin-top: 3em; display: flex; align-items: center; justify-content: center; gap: 1.8em; }
.oem-dia__supply-arrows{ flex: 1; max-width: 15em; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; margin: 1.2em 0 1.4em; }
.dia-line{ position: relative; height: 1em; background-color: #0083C9; }
.dia-line::before{ content: ''; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border-style: solid; border-width: 1em 1.2em 1em 0; border-color: transparent #0083C9 transparent transparent; }
.oem-dia__supply-ttl{ margin-bottom: .7em; font-size: 1.4em; font-weight: 700; text-align: center; color: var(--main-color); }
.oem-dia__supply-list ul{ display: flex; flex-direction: column; gap: .8em; }
.oem-dia__supply-list li{ min-width: 10em; padding: .5em 1em; background-color: #EAF3FA; border: 1px solid #0083C9; border-radius: .6em; font-size: 1.3em; font-weight: 700; text-align: center; color: var(--blue-color); }

@media only screen and (max-width: 768px) {
  .oem-dia{ flex-direction: column; }
  .oem-dia__card{ padding: 2.4em 1.8em 2.6em; }
  .oem-dia__mid{ flex: none; flex-direction: row; justify-content: center; gap: 6em; padding: 2.4em 0; }
  .oem-dia__mid-item{ align-items: center; }
  .dia-fatarrow{ width: 1.1em; height: 4.2em; }
  .dia-fatarrow--left{ margin: 2em 0 0; }
  .dia-fatarrow--left::before{ right: auto; left: 50%; top: auto; bottom: 100%; transform: translateX(-50%); border-width: 0 1.5em 2em 1.5em; border-color: transparent transparent #0083C9 transparent; }
  .dia-fatarrow--both{ margin: 2em 0; }
  .dia-fatarrow--both::before{ right: auto; left: 50%; top: auto; bottom: 100%; transform: translateX(-50%); border-width: 0 1.5em 2em 1.5em; border-color: transparent transparent #0083C9 transparent; }
  .dia-fatarrow--both::after{ left: 50%; top: 100%; transform: translateX(-50%); border-width: 2em 1.5em 0 1.5em; border-color: #0083C9 transparent transparent transparent; }
  .oem-dia__box{ flex-direction: column; gap: .4em; padding: 1.6em; }
  .oem-dia__list li{ text-align: center; }
  .oem-dia__relation{ gap: 1.2em; }
  .oem-dia__relation .dia-icon{ width: 6.4em; height: 6.4em; }
  .oem-dia__relation .dia-icon--isp{ width: 6em; height: 6em; }
  .oem-dia__supply{ gap: 1.2em; }
}

@media only screen and (min-width: 769px) {
  .oem-dia__box { min-height: 14em; }
  .oem-dia__box--cyan { display: flex; flex-flow: column; justify-content: center; align-items: center; }
}