https://www.gmes.or.jp/project-comhttps://www.gmes.or.jp/project-com@import"https://fonts.googleapis.com/css2?family=Roboto&display=swap";
@keyframes arrow {
  0% {
    transform: translateX(0)
  }
  50% {
    transform: translateX(120%)
  }
  51% {
    transform: translateX(-120%)
  }
  to {
    transform: translateX(0);
    opacity: 1
  }
}
@keyframes arrowBlue {
  0% {
    transform: translateX(0);
    stroke: #003e88
  }
  50% {
    transform: translateX(100%);
    opacity: 0;
    stroke: #003e88
  }
  51% {
    transform: translateX(-100%);
    opacity: 0;
    stroke: #fff
  }
  to {
    transform: translateX(0);
    opacity: 1;
    stroke: #fff
  }
}
@keyframes arrowWhite {
  0% {
    transform: translateX(0);
    stroke: #fff
  }
  50% {
    transform: translateX(100%);
    opacity: 0;
    stroke: #fff
  }
  51% {
    transform: translateX(-100%);
    opacity: 0;
    stroke: #003e88
  }
  to {
    transform: translateX(0);
    opacity: 1;
    stroke: #003e88
  }
}
@keyframes line {
  0% {
    background-size: 0 1px
  }
  to {
    background-position: 0 100%;
    background-size: 100% 1px
  }
}
@keyframes lineOut {
  0% {
    background-position: 100% 100%;
    background-size: 100% 1px
  }
  to {
    background-position: 100% 100%;
    background-size: 0 1px
  }
}
@keyframes lineScale {
  0% {
    transform-origin: 100% 100%;
    transform: scaleX(1)
  }
  to {
    transform-origin: 100% 100%;
    transform: scaleX(0)
  }
}
@keyframes lineScaleOut {
  0% {
    transform-origin: 0 0;
    transform: scaleX(0)
  }
  to {
    transform-origin: 0 0;
    transform: scaleX(1)
  }
}
@keyframes infiniteScrollAnimation {
  0% {
    transform: translateX(100%)
  }
  to {
    transform: translateX(-100%)
  }
}
@keyframes scrollsign {
  0% {
    transform: translateY(0);
    opacity: 1
  }
  10% {
    transform: translateY(0);
    opacity: 1
  }
  50% {
    transform: translateY(12px);
    opacity: 0
  }
  50.1% {
    transform: translateY(-8px);
    opacity: 0
  }
  to {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes show {
  0% {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@keyframes rotate {
  0% {
    rotate: 0
  }
  to {
    rotate: 1turn
  }
}
@keyframes slide {
  0% {
    transform: translateX(0);
    opacity: 1
  }
  50% {
    transform: translateX(200%);
    opacity: 0
  }
  50.1% {
    transform: translateX(-200%);
    opacity: 0
  }
  to {
    transform: translateX(0);
    opacity: 1
  }
}
@keyframes loading {
  0% {
    -webkit-clip-path: ellipse(200% 100% at 0 0);
    clip-path: ellipse(200% 100% at 0 0)
  }
  50% {
    -webkit-clip-path: ellipse(120% 95% at 40% -66%);
    clip-path: ellipse(120% 95% at 40% -66%)
  }
  to {
    -webkit-clip-path: ellipse(59% 95% at 42% -66%);
    clip-path: ellipse(59% 95% at 42% -66%)
  }
}
::-moz-selection {
  background-color: #003e88;
  color: #fff;
  text-shadow: none
}
::selection {
  background-color: #003e88;
  color: #fff;
  text-shadow: none
}
* {
  box-sizing: border-box
}
html.is-drawer-open, html.is-fixed {
  overflow: hidden
}
body {
  width: 100%;
  min-height: 100vh;
  line-height: 1.6;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  overscroll-behavior: none
}
body.preload * {
  transition: none !important
}

/*------------------------------------------------------------------------------

  Common

------------------------------------------------------------------------------*/
/*
  Utility
------------------------------------------------------------------------------*/
.pcOnly {
  display: block;
}

@media only screen and (max-width: 767px) {
  .pcOnly {
    display: none;
  }
}

.spOnly {
  display: none;
}

@media only screen and (max-width: 767px) {
  .spOnly {
    display: block;
  }
}

.pcOnly-ib {
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .pcOnly-ib {
    display: none;
  }
}

.spOnly-ib {
  display: none;
}

@media only screen and (max-width: 767px) {
  .spOnly-ib {
    display: inline-block;
  }
}

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

.mb0 {
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 768px) {
  .p0 {
    padding: 0 !important;
  }
}

@media only screen and (max-width: 767px) {
  .p0 {
    padding-top: 0 !important;
    border-bottom: 1px solid #eaeced;
  }
}



a {
  color: #222;
  cursor: pointer;
  text-decoration: none
}
img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: middle
}
li {
  list-style: none
}
em {
  font-style: normal
}
button, input, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit
}
button, label, select {
  cursor: pointer
}
button {
  display: inline-block;
  position: relative;
  text-decoration: none;
  text-align: left
}
.preload {
  transition: 0 !important
}
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4
}
*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: border-box
}
:after, :before {
  text-decoration: inherit;
  vertical-align: inherit
}
* {
  padding: 0;
  margin: 0
}
hr {
  overflow: visible;
  height: 0;
  color: inherit
}
details, main {
  display: block
}
summary {
  display: list-item
}
small {
  font-size: 80%
}
[hidden] {
  display: none
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
a {
  background-color: transparent
}
a:active, a:hover {
  outline-width: 0
}
code, kbd, pre, samp {
  font-family: monospace, monospace
}
pre {
  font-size: 1em
}
b, strong {
  font-weight: bolder
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: auto
}
sup {
  top: auto
}
table {
  border-color: inherit;
  text-indent: 0
}
iframe {
  border-style: none
}
input {
  border-radius: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
textarea {
  overflow: auto;
  resize: vertical
}
button, input, optgroup, select, textarea {
  font: inherit
}
optgroup {
  font-weight: 700
}
button {
  overflow: visible
}
button, select {
  text-transform: none
}
[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText
}
[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button
}
button, input, select, textarea {
  background-color: transparent;
  border-style: none
}
a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0
}
select {
  -moz-appearance: none;
  -webkit-appearance: none
}
select::-ms-expand {
  display: none
}
select::-ms-value {
  color: currentColor
}
legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit
}
[disabled] {
  cursor: default
}
img {
  border-style: none
}
progress {
  vertical-align: baseline
}
[aria-busy=true] {
  cursor: progress
}
[aria-controls] {
  cursor: pointer
}
[aria-disabled=true] {
  cursor: default
}
@keyframes splide-loading {
  0% {
    transform: rotate(0)
  }
  to {
    transform: rotate(1turn)
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1
}
.splide--rtl {
  direction: rtl
}
.splide__track--ttb > .splide__list {
  display: block
}
.splide__container {
  box-sizing: border-box;
  position: relative
}
.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block
}
.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto
}
.splide:not(.is-overflow) .splide__pagination {
  display: none
}
.splide__progress__bar {
  width: 0
}
.splide {
  position: relative;
  visibility: hidden
}
.splide.is-initialized, .splide.is-rendered {
  visibility: visible
}
.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative
}
.splide__slide img {
  vertical-align: bottom
}
.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px
}
.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}
.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline
}
.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0
}
.companyInfo__headingJp .circle, .priceContentAbout__trustfeeDetail .circle, .serviceContent__contact .circle {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #003e88
}
.companyInfo__headingJp .circle .arrow, .priceContentAbout__trustfeeDetail .circle .arrow, .serviceContent__contact .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem
}
.companyInfo__headingJp .circle .arrow:after, .companyInfo__headingJp .circle .arrow:before, .priceContentAbout__trustfeeDetail .circle .arrow:after, .priceContentAbout__trustfeeDetail .circle .arrow:before, .serviceContent__contact .circle .arrow:after, .serviceContent__contact .circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow.svg);
  background-size: cover
}
.companyInfo__headingJp .circle .arrow:after, .priceContentAbout__trustfeeDetail .circle .arrow:after, .serviceContent__contact .circle .arrow:after {
  transform: translateX(-101%)
}
.casePickup__arrows .splide__arrow, .caseSingleSimilar__arrows .splide__arrow {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #fff
}
.casePickup__arrows .splide__arrow .arrow, .caseSingleSimilar__arrows .splide__arrow .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  margin-left: .125rem;
  stroke: #003e88
}
.casePickup__arrows [disabled].splide__arrow, .caseSingleSimilar__arrows [disabled].splide__arrow {
  border: 1px solid #999;
  pointer-events: none
}
.casePickup__arrows [disabled].splide__arrow .arrow, .caseSingleSimilar__arrows [disabled].splide__arrow .arrow {
  stroke: #999
}
.companyInfoMain__headingCircle, .priceContentStructure__headingLink .circle, .serviceOptionType__link .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #003e88
}
.companyInfoMain__headingCircle .arrow, .priceContentStructure__headingLink .circle .arrow, .serviceOptionType__link .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem
}
.companyInfoMain__headingCircle .arrow:after, .companyInfoMain__headingCircle .arrow:before, .priceContentStructure__headingLink .circle .arrow:after, .priceContentStructure__headingLink .circle .arrow:before, .serviceOptionType__link .circle .arrow:after, .serviceOptionType__link .circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow_simple.svg);
  background-size: cover
}
.companyInfoMain__headingCircle .arrow:after, .priceContentStructure__headingLink .circle .arrow:after, .serviceOptionType__link .circle .arrow:after {
  transform: translateX(-101%)
}
.contactConfirm__submit .circle, .footerPrimary__contactItem .circle, .headerContact__circle, .introductionBodyNav__afterItem .circle, .introductionBodyNav__beforeItem .circle, .serviceNavSp__topCircle, .serviceSide__link .circle, .spPagenavi__button .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #fff
}
.contactConfirm__submit .circle .arrow, .footerPrimary__contactItem .circle .arrow, .headerContact__circle .arrow, .introductionBodyNav__afterItem .circle .arrow, .introductionBodyNav__beforeItem .circle .arrow, .serviceNavSp__topCircle .arrow, .serviceSide__link .circle .arrow, .spPagenavi__button .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem
}
.contactConfirm__submit .circle .arrow:after, .contactConfirm__submit .circle .arrow:before, .footerPrimary__contactItem .circle .arrow:after, .footerPrimary__contactItem .circle .arrow:before, .headerContact__circle .arrow:after, .headerContact__circle .arrow:before, .introductionBodyNav__afterItem .circle .arrow:after, .introductionBodyNav__afterItem .circle .arrow:before, .introductionBodyNav__beforeItem .circle .arrow:after, .introductionBodyNav__beforeItem .circle .arrow:before, .serviceNavSp__topCircle .arrow:after, .serviceNavSp__topCircle .arrow:before, .serviceSide__link .circle .arrow:after, .serviceSide__link .circle .arrow:before, .spPagenavi__button .circle .arrow:after, .spPagenavi__button .circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
  background-size: cover
}
.contactConfirm__submit .circle .arrow:after, .footerPrimary__contactItem .circle .arrow:after, .headerContact__circle .arrow:after, .introductionBodyNav__afterItem .circle .arrow:after, .introductionBodyNav__beforeItem .circle .arrow:after, .serviceNavSp__topCircle .arrow:after, .serviceSide__link .circle .arrow:after, .spPagenavi__button .circle .arrow:after {
  transform: translateX(-101%)
}
.caseInterviewTag__button .circle, .indexNewsSideSerect__button .circle, .indexNewsSide__button .circle, .indexNewsSide__serecter .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #fff
}
.caseInterviewTag__button .circle .arrow, .indexNewsSideSerect__button .circle .arrow, .indexNewsSide__button .circle .arrow, .indexNewsSide__serecter .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem
}
.caseInterviewTag__button .circle .arrow:after, .caseInterviewTag__button .circle .arrow:before, .indexNewsSideSerect__button .circle .arrow:after, .indexNewsSideSerect__button .circle .arrow:before, .indexNewsSide__button .circle .arrow:after, .indexNewsSide__button .circle .arrow:before, .indexNewsSide__serecter .circle .arrow:after, .indexNewsSide__serecter .circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow_simple_gray.svg);
  background-size: cover
}
.caseInterviewTag__button .circle .arrow:after, .indexNewsSideSerect__button .circle .arrow:after, .indexNewsSide__button .circle .arrow:after, .indexNewsSide__serecter .circle .arrow:after {
  transform: translateX(-101%)
}
.caseHeader__headingEn, .companyHeader__headingEn, .companyInfoMain__headingEn, .companyInfo__headingEn, .headerNavService__en, .recruitHeader__headingEn, .serviceNavSp__topEn, .serviceNavTop__en, .topCompanyPage__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.caseHeader__headingEn:before, .companyHeader__headingEn:before, .companyInfoMain__headingEn:before, .companyInfo__headingEn:before, .headerNavService__en:before, .recruitHeader__headingEn:before, .serviceNavSp__topEn:before, .serviceNavTop__en:before, .topCompanyPage__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.caseHeader__headingJp, .companyHeader__headingJp, .recruitHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 1000;
  background-color: #fff
}
.header__inner, .header__logo {
  position: relative
}
.header__logo {
  z-index: 100
}
.header__logoLink {
  display: block
}
.headerNav__infoItem {
  position: relative
}
.headerNav__infoLink {
  display: block
}
.headerNav__infoLink.is-current {
  color: #003e88;
  pointer-events: none
}
.headerNav__pageItem.is-visible .headerNav__pageLink:before {
  opacity: 1;
  pointer-events: auto;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1) .05s
}
.headerNav__pageItem.is-active .headerNav__pageLink.--service:after {
  opacity: 0
}
.headerNav__pageLink {
  position: relative;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.headerNav__pageLink.--service {
  z-index: 1
}
.headerNav__pageLink.is-current {
  color: #003e88
}
.headerNavMore__link.is-current, .headerNav__pageLink.is-current:not(.--service) {
  pointer-events: none
}
.headerNavService__wrapper {
  display: flex;
  align-items: flex-start;
  border-radius: .25rem;
  margin: 0 auto;
  padding: 3rem 2.5rem;
  background-color: #003e88
}
.headerNavService__top {
  display: block
}
.headerNavService__jp {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  margin-top: .375rem;
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.headerNavService__jp .circle {
  margin-top: .1875rem
}
.headerNavService__text {
  margin-top: .75rem;
  color: #fff;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.headerNavService__inner {
  display: flex;
  position: relative
}
.headerNavService__inner:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-image: linear-gradient(180deg, hsla(0, 0%, 100%, .5), hsla(0, 0%, 100%, .5) 2px, transparent 0, transparent 4px);
  background-size: 1px 4px;
  background-repeat: repeat-y
}
.headerNavService__trust {
  display: flex
}
.headerNavService__trust .--first-block {
  min-width: 20.25rem;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2rem;
  column-gap: 2rem
}
.headerNavService__trustLink {
  display: block
}
.headerNavService__trustLink.is-current {
  pointer-events: none
}
.headerNavService__trustLink.is-current .circle {
  opacity: 0
}
.headerNavService__trustText {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  padding-left: .1875rem;
  color: #fff;
  font-size: 1.0625rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.headerNavService__trustImg {
  overflow: hidden;
  border-radius: .25rem;
  margin-top: 1.5rem
}
.headerNavService__trustItem {
  margin-bottom: 1rem
}
.headerNavService__trustItem + .headerNavService__trustItem {
  margin-top: 1.25rem
}
.headerNavService__trustItem .sub-2 {
  color: #fff;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.headerNavService__trustItem.--service_02 .main {
  line-height: 1.6;
  padding-bottom: .3125rem;
  background-size: 0 0
}
.headerNavService__trustItem.--service_02 .main > span {
  background-image: linear-gradient(#fff, #fff);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.headerNavService__trustItemLink {
  display: block
}
.headerNavService__trustItemLink .sub {
  color: #fff;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.headerNavService__trustItemLink .main {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: .25rem;
  background-image: linear-gradient(#fff, #fff);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1);
  color: #fff;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.headerNavService__trustItemLink small {
  font-weight: 500
}
.headerNavService__trustItemLink.is-current {
  pointer-events: none
}
.headerNavService__trustItemLink.is-current .main {
  background-size: 0 1px;
  background-position: 100% 100%
}
.headerNavService__trustList {
  flex: 1;
  margin-top: 3.125rem;
  margin-left: -.75rem
}
.headerNavService__trustList.--option-pool {
  flex-wrap: wrap;
  align-items: center
}
.headerNavService__callLink {
  display: block;
  max-width: 17.5rem
}
.headerNavService__callLink.is-current {
  pointer-events: none
}
.headerNavService__callLink.is-current .circle {
  opacity: 0
}
.headerNavService__callText {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  color: #fff;
  font-size: 1.0625rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.headerNavService__callImg {
  overflow: hidden;
  border-radius: .25rem;
  margin-top: 1.625rem
}
.headerContact {
  display: flex
}
.headerContact__item {
  overflow: hidden;
  position: relative;
  border-radius: .25rem;
  text-align: center
}
.headerContact__item:after {
  content: "";
  display: block;
  position: absolute;
  margin: auto
}
.headerContact__item.--document {
  background-color: #003e88
}
.headerContact__item.--document:after {
  background-image: url(/assets/img/common/icon_document.svg)
}
.headerContact__item.--form {
  background-color: #0296d6
}
.headerContact__item.--form:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: linear-gradient(270deg, #003e88, #016db2 60%, #0197d7)
}
.headerContact__item.--form:after {
  background-image: url(/assets/img/common/icon_mail.svg)
}
.headerContact__text {
  display: block;
  position: relative
}
.footer {
  overflow: hidden;
  background-color: #1c1c1c;

}
.footer__wrapper {
  position: relative
}
.footer__wrapper:before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(/assets/img/common/logo_symbol_white.svg);
  background-size: cover;
  opacity: .05;
  pointer-events: none
}
.footer__foot, .footer__head {
  position: relative
}
.footerPrimary__contactItem {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  place-items: center;
  position: relative;
  border-radius: .25rem;
  padding-right: .25rem
}
.footerPrimary__contactItem:before {
  content: "";
  display: block;
  position: relative;
  z-index: 1;
  background-size: contain
}
.footerPrimary__contactItem .text {
  position: relative;
  z-index: 1
}
.footerPrimary__contactItem .circle {
  position: absolute;
  margin: auto
}
.footerPrimary__contactItem.--document {
  background: #003e88
}
.footerPrimary__contactItem.--document:before {
  top: 1px;
  width: 1rem;
  height: 1.1875rem;
  background-image: url(/assets/img/common/icon_document.svg)
}
.footerPrimary__contactItem.--form {
  background-color: #0296d6
}
.footerPrimary__contactItem.--form:before {
  top: 1px;
  width: 1.25rem;
  height: .9375rem;
  background-image: url(/assets/img/common/icon_mail.svg)
}
.footerPrimary__contactItem.--form:after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: linear-gradient(270deg, #003e88, #016db2 60%, #0197d7)
}
.footerPrimary__pageLink {
  display: block
}
.footerPrimaryService__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content
}
.footerPrimaryService__itemLink {
  flex-wrap: nowrap
}
.footerPrimaryService__innerLink > span {
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.footerOther__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content
}
.footerOther__association {
  border: 1px solid #393a3c;
  border-radius: .25rem
}
.footerOther__associationLink {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%
}
.footerOther__associationLink img {
  display: block
}
.footerOther__group {
  display: flex;
  flex-wrap: wrap
}
.footerOther__groupLink {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(#999, #999);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%
}
.footerFoot {
  display: flex;
  align-items: center;
  padding-top: 2.875rem
}
.footerFoot__copyright {
  font-family: Montserrat, sans-serif
}
.footerFoot__pagetop {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem
}
.footerFoot__pagetop .text {
  font-family: Montserrat, sans-serif;
  color: #999;
  font-size: .75rem;
  line-height: 1.5
}
.footerFoot__pagetop .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #999
}
.footerFoot__pagetop .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-top: -.125rem;
  transform: rotate(-90deg)
}
.footerFoot__pagetop .circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow_simple_black.svg);
  background-size: cover
}
.loading {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5000;
  background-color: #fff
}
.loading__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0;
  z-index: 1;
  text-align: center
}
.loading__logo {
  margin: 0 auto
}
.loading__logo, .loading__text {
  transform: 8px;
  opacity: 0
}
.loading__text img {
  display: block
}
.loading__shape {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh
}
.loading__path {
  transition: 0 0
}
.loading__bar {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0 0;
  transform: scaleX(0);
  width: 100%;
  height: .25rem;
  background-color: #003e88
}
.homeMv {
  overflow: hidden;
  position: relative;
  background-color: #062d59
}
.homeMv.is-loading #splide01-slide01 .homeMv__link {
  opacity: 0;
  scale: .75;
  translate: 0 16px;
  transition: none
}
.homeMv.is-loading #splide01-slide01 .homeMv__content {
  opacity: 0
}
.homeMv.is-loading #splide01-slide02 .homeMv__link {
  opacity: 0;
  translate: 5% 0;
  rotate: 5deg;
  scale: .75;
  transition: none
}
.homeMv.is-loading .homeMv__scrollsign, .homeMv.is-loading .homeMv__slider .splide__pagination {
  opacity: 0
}
.homeMv.is-opening #splide01-slide01 .homeMv__link {
  translate: 0 0;
  scale: 1;
  opacity: 1;
  transition: opacity 1.4s cubic-bezier(.33, 1, .68, 1) .45s, scale 1.4s cubic-bezier(.33, 1, .68, 1) .45s, translate 1.4s cubic-bezier(.33, 1, .68, 1) .45s
}
.homeMv.is-opening #splide01-slide01 .homeMv__content {
  opacity: 1;
  transition: opacity .8s cubic-bezier(.33, 1, .68, 1) 1.2s
}
.homeMv.is-opening #splide01-slide02 .homeMv__link {
  translate: 0 0;
  rotate: 0deg;
  scale: .695;
  transition: opacity .8s cubic-bezier(.33, 1, .68, 1) 1.2s, scale .8s cubic-bezier(.33, 1, .68, 1) 1.2s, rotate .8s cubic-bezier(.33, 1, .68, 1) 1.2s, translate .8s cubic-bezier(.33, 1, .68, 1) 1.2s
}
.homeMv.is-opening .homeMv__scrollsign, .homeMv.is-opening .homeMv__slider .splide__pagination {
  opacity: 1;
  transition: opacity .8s cubic-bezier(.33, 1, .68, 1) 1.2s
}
.homeMv__header {
  position: relative;
  z-index: 1
}
.homeMv__headingEn {
  display: block;
  font-family: Montserrat, sans-serif;
  color: #003e88;
  font-size: .75rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 600
}
.homeMv__headingJp {
  display: block
}
.homeMv__lead {
  margin-top: 1.5rem;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.homeMv__slider {
  opacity: 1;
  transform: translate(0);
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1), transform .3s cubic-bezier(.33, 1, .68, 1);
  position: static
}
.homeMv__slider .splide__track {
  overflow: visible
}
.homeMv__slider .splide__pagination {
  font-size: 0;
  -moz-column-gap: .25rem;
  column-gap: .25rem
}
.homeMv__slider .splide__pagination__page {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
	padding-left: 0;
	padding-right: 0;
	border: 0;
	background: none;
}
.homeMv__slider .splide__pagination__page:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background-color: #fff;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
}
.homeMv__slider .splide__pagination__page:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #0296d6;
  border-radius: 50%;
  margin: auto;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.homeMv__slider .splide__pagination__page.is-active:before {
  background-color: #0296d6
}
.homeMv__slider .splide__pagination__page.is-active:after {
  opacity: 1
}
.homeMv__slide {
  opacity: 0;
  transition: opacity .8s cubic-bezier(.33, 1, .68, 1);
  pointer-events: none
}
.homeMv__slide.is-active {
  opacity: 1;
  pointer-events: auto
}
.homeMv__slide.is-active .homeMv__link {
  scale: 1
}
.homeMv__slide.is-active .homeMv__content, .homeMv__slide.is-next {
  opacity: 1
}
.homeMv__link {
  display: block;
  scale: .695;
  transition: scale .8s cubic-bezier(.33, 1, .68, 1)
}
.homeMv__img {
  overflow: hidden;
  position: relative;
  border-radius: 50%;
  transform: translateZ(0)
}
.homeMv__content {
  width: 100%;
  opacity: 0
}
.homeMv__category {
  position: relative;
  padding-left: 1rem;
  font-family: Montserrat, sans-serif;
  color: #fff!important;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 700
}
.homeMv__category:before {
  content: "";
  display: block;
  position: absolute;
  top: .1875rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeMv__text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-top: .75rem
}
.homeMv__text:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #fff
}
.homeMv__text .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%
}
.homeMv__text .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff
}
.homeMv__text .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  background-image: url(/assets/img/common/icon_arrow_green-vogue.svg);
  background-size: cover
}
.homeMv__shape {
  display: block;
  position: absolute;
  background-color: #fff;
  pointer-events: none;
  border-radius: 50%
}
.homeService {
  background-color: #062d59
}
.homeService__wrapper {
  margin: 0 auto
}
.homeService__headingEn {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.homeService__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeService__headingJp {
  display: block
}
.homeService__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #fff;
  font-size: .9375rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 700
}
.homeServiceOption__section {
  position: relative;
  width: 100%
}
.homeServiceOption__section.--service_01 {
  flex: 1 1 auto;
  background-color: #d5e8e6;
  border-radius: .25rem
}
.homeServiceOption__section.--service_01 .homeServiceOption__link:before {
  background-image: url(/assets/img/service/img-s1.png)
}
.homeServiceOption__section.--service_02 {
  background-color: #cae0ee
}
.homeServiceOption__section.--service_02 .homeServiceOption__link:before {
  background-image: url(/assets/img/service/img-s2.png)
}

.homeServiceOption__section.--service_03 {
  background-color: #cae0ee
}
.homeServiceOption__section.--service_03 .homeServiceOption__link:before {
  background-image: url(/assets/img/service/img-s3.png)
}

.homeServiceOption__content {
  position: relative
}
.homeServiceOption__link {
  overflow: hidden;
  display: block;
  position: relative;
  height: 100%
}
.homeServiceOption__link:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  pointer-events: none;
  background-size: contain
}
.homeServiceOption__heading {
  font-feature-settings: "palt"
}
.homeServiceOption__circle {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%
}
.homeServiceOption__circle:before {
  background-color: #003e88
}
.homeServiceOption__circle:after, .homeServiceOption__circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%
}
.homeServiceOption__circle:after {
  width: .3125rem;
  height: .3125rem;
  background-color: #fff;
  transform: scale(0);
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.homeServiceOption__circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.homeServiceOption__circle .arrow:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/common/icon_arrow.svg);
  background-size: cover
}
.homeServiceGuide__heading {
  position: relative
}
.homeServiceGuide__heading:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  margin: auto;
  width: .1875rem;
  height: 100%;
  border-radius: .09375rem;
  background: linear-gradient(0deg, #0295d5, #01428c)
}
.homeServiceGuide__headingJp {
  font-size: .625rem;
  font-weight: 700
}
.homeServiceGuide__headingEn, .homeServiceGuide__headingJp {
  display: block;
  color: #fff;
  letter-spacing: .02em;
  line-height: 1
}
.homeServiceGuide__headingEn {
  font-family: Montserrat, sans-serif;
  font-size: 1.125rem;
  font-weight: 600
}
.homeServiceGuide__item {
  width: 100%
}
.homeServiceGuide__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  border-bottom: 1px solid hsla(0, 0%, 100%, .3);
  padding-bottom: .75rem
}
.homeCase__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.homeCase__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeCase__headingJp {
  display: block;
  margin-top: .5rem
}
.homeCase__content {
  border-bottom: 1px solid #e6e6e6
}
.homeCase__lead {
  font-feature-settings: "palt"
}
.homeCase__more {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 700
}
.homeCase .homeCase__slider {
  overflow: hidden;
  position: relative;
  height: 86px
}
.homeCase__list {
  flex: 0 0 auto;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 1.625rem
}
.homeCase__list:first-child {
  animation: infiniteScrollAnimation 280s linear 0s infinite
}
.homeCase__list:nth-child(2) {
  animation: infiniteScrollAnimation 280s linear -140s infinite
}
.homeCase__item {
  white-space: nowrap
}
.homeCase__date {
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-family: Montserrat, sans-serif
}
.homeCase__text {
  margin-top: .5rem;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500
}
.homeCaseInterview {
  position: relative;
  z-index: 1
}
.homeCaseInterview__wrapper {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.homeCaseInterview__header {
  border-bottom: 1px solid #e6e6e6
}
.homeCaseInterview__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.homeCaseInterview__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeCaseInterview__headingJp {
  display: block;
  font-feature-settings: "palt"
}
.homeCaseInterview__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 700
}
.homeCaseInterviewArticle__link {
  display: flex
}
.homeCaseInterviewArticle__tag {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .25rem;
  column-gap: .25rem;
  row-gap: .25rem;
  margin-top: 1rem
}
.homeCaseInterviewArticle__tagItem {
  position: relative;
  padding: .125rem .5rem;
  background-color: #fff;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1.5
}
.homeCaseInterviewArticle__heading {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-feature-settings: "palt"
}
.homeCaseInterviewArticle__inner {
  margin-top: .75rem
}
.homeCaseInterviewArticle__company, .homeCaseInterviewArticle__name {
  color: #062d59;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.5
}
.homeCaseInterviewArticle__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 240/180
}
.homeCaseInterviewArticle__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.homeColumn {
  color: #fff;
  background-color: #062d59
}
.homeColumn__header {
  position: relative
}
.homeColumn__header:before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-color: hsla(0, 0%, 90%, .1)
}
.homeColumn__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.homeColumn__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeColumn__headingJp {
  display: block;
  margin-top: .5rem;
  font-feature-settings: "palt"
}
.homeColumn__lead, .homeColumn__more {
  font-size: .9375rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.homeColumn__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #fff;
  font-weight: 700
}
.homeColumn__what {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
  border-radius: .25rem;
  background-color: #003e88;
  background-image: url(/assets/img/common/logo_symbol_gradation.svg);
  background-repeat: no-repeat
}
.homeColumnPost__article {
  flex: 0 0 auto
}
.homeColumnPost__link {
  display: block;
  color: #fff
}
.homeColumnPost__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 240/180
}
.homeColumnPost__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.homeColumnPost__content {
  margin-top: 1.25rem
}
.homeColumnPost__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  row-gap: 8
}
.homeColumnPost__category {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.375rem;
  border-radius: .6875rem;
  padding: 0 .625rem;
  background-color: #003e88;
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1
}
.homeColumnPost__tag {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  row-gap: .375rem;
  margin-top: 1rem
}
.homeColumnPost__tagItem {
  position: relative;
  padding-bottom: .25rem;
  font-size: .75rem;
  letter-spacing: .06em;
  line-height: 1;
  opacity: .7
}
.homeColumnPost__heading {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: .75rem
}
.homeColumnPost__data {
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-family: Montserrat, sans-serif
}
.homeNews__wrapper {
  display: flex
}
.homeNews__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.homeNews__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.homeNews__headingJp {
  display: block;
  margin-top: .5rem
}
.homeNews__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 700
}
.homeNews__item + .homeNews__item .homeNews__link {
  padding-top: 1.5rem
}
.homeNews__link {
  display: block;
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 1.5rem
}
.homeNews__info {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem
}
.homeNews__date {
  color: #1f1c1c;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1;
  font-family: Montserrat, sans-serif
}
.homeNews__category {
  display: grid;
  place-items: center;
  height: 1.375rem;
  border-radius: .6875rem;
  border: 1px solid #003e88;
  padding: 0 .75rem;
  color: #003e88;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 500
}
.homeNews__content {
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  margin-top: .75rem
}
.homeNews__text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  font-feature-settings: "palt"
}
.serviceHeader.loaded .serviceHeader__group:before, .serviceHeader.loaded .serviceHeader__inner:before {
  transform: scaleX(1)
}
.serviceHeader__inner {
  position: relative
}
.serviceHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.serviceHeader__group:before, .serviceHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.serviceHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.serviceHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.serviceHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.serviceHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.serviceHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceOption {
  background-color: #062d59
}
.serviceOption__section.--stock .serviceOption__header {
  background-color: #d5e8e6;
  background-image: url(/assets/img/service/top/ilust_qualified.png)
}
.serviceOption__section.--stock .serviceOption__number {
  color: #6ca6a1
}
.serviceOption__section.--call .serviceOption__header {
  background-color: #cae0ee;
  background-image: url(/assets/img/service/top/ilust_qualified.png)
}
.serviceOption__section.--call .serviceOption__number {
  color: #749bb8
}
.serviceOption__header {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem
}
.serviceOption__headingMain, .serviceOption__headingSub {
  display: block
}
.serviceOption__number {
  font-family: Montserrat, sans-serif
}
.serviceOption__body {
  border-bottom-left-radius: .25rem;
  border-bottom-right-radius: .25rem;
  background-color: #fff
}
.serviceOption__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceOptionRecommend {
  border: 1px solid #e6e6e6;
  border-radius: .25rem;
  background-color: #f5f5f5
}
.serviceOptionRecommend__text {
  display: flex;
  align-items: center;
  position: relative;
  -moz-column-gap: .8125rem;
  column-gap: .8125rem;
  padding-bottom: 1rem;
  font-feature-settings: "palt";
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.serviceOptionRecommend__text:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.serviceOptionRecommend__text .icon {
  display: block;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1px solid #e6e6e6;
  background-color: #fff
}
.serviceOptionRecommend__text .icon:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: .25rem;
  width: 1.0625rem;
  height: .875rem;
  background-image: url(/assets/img/common/icon_check.svg);
  background-size: cover
}
.serviceOptionRecommend__list {
  margin-top: 1.25rem
}
.serviceOptionRecommend__item {
  position: relative;
  padding-left: 1em;
  font-feature-settings: "palt"
}
.serviceOptionRecommend__item:before {
  content: "";
  display: block;
  position: absolute;
  top: .625rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.serviceOptionType {
  position: relative
}
.serviceOptionType:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  border-radius: .5px;
  margin: auto;
  background-color: #e6e6e6
}
.serviceOptionType__column {
  margin: 0 auto
}
.serviceOptionType__name {
  border-radius: .25rem;
  background-color: #062d59;
  text-align: center
}
.serviceOptionType__name strong {
  display: block;
  color: #fff;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.serviceOptionType__section {
  border-radius: .25rem
}
.serviceOptionType__section.--newly .serviceOptionType__state {
  background-color: #00c7e2
}
.serviceOptionType__section.--newly .serviceOptionType__inner {
  border-color: #00c7e2
}
.serviceOptionType__section.--3years .serviceOptionType__state {
  background-color: #00b5e2
}
.serviceOptionType__section.--3years .serviceOptionType__inner {
  border-color: #00b5e2
}
.serviceOptionType__section.--after .serviceOptionType__state {
  background-color: #0099d9
}
.serviceOptionType__section.--after .serviceOptionType__inner {
  border-color: #0099d9
}
.serviceOptionType__section.--listedcompany .serviceOptionType__state {
  background-color: #0176b9
}
.serviceOptionType__section.--listedcompany .serviceOptionType__inner {
  border-color: #0176b9
}
.serviceOptionType__section.--owner .serviceOptionType__state {
  background-color: #999
}
.serviceOptionType__section.--owner .serviceOptionType__inner {
  border-color: #999
}
.serviceOptionType__state {
  display: grid;
  place-items: center;
  height: 2.625rem;
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.serviceOptionType__inner {
  border: 1px solid;
  border-top: none;
  border-bottom-left-radius: .25rem;
  border-bottom-right-radius: .25rem;
  padding: 1rem .8125rem 1.25rem;
  text-align: center
}
.serviceOptionType__heading {
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceOptionType__headingLink {
  position: relative;
  padding-left: .625rem;
  color: #003e88
}
.serviceOptionType__headingLink:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -.1875rem;
  bottom: 0;
  width: .4375rem;
  height: .625rem;
  margin: auto;
  background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
  background-size: cover
}
.serviceOptionType__headingLink > span {
  padding-bottom: 2px;
  background-image: linear-gradient(#003e88, #003e88);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%
}
.serviceOptionType__link {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.serviceOptionType__link .text {
  background-image: linear-gradient(#003e88, #003e88);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.servicePatents {
  overflow: hidden
}
.servicePatents__tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  margin: 0 auto
}
.servicePatents__tab-3colum {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  margin: 0 auto
}
.servicePatents__tabItem {
  display: grid;
  place-items: center;
  flex: 1 1 auto;
  position: relative;
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
  background-color: #999;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1);
  cursor: pointer
}
.servicePatents__tabItem:before {
  content: "";
  display: block;
  position: absolute;
  inset: auto 0 -.4375rem 0;
  transform: translateY(-100%);
  width: 1rem;
  height: .625rem;
  background-image: url(/assets/img/common/icon_triangle2.svg);
  background-size: cover;
  margin: auto;
  opacity: 0
}
.servicePatents__tabItem[aria-selected=true] {
  background-color: #003e88
}
.servicePatents__tabItem[aria-selected=true]:before {
  opacity: 1;
  transform: translateY(0);
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.servicePatents__tabItem:focus {
  outline: none
}
.servicePatents__continer {
  background-color: #f5f5f5
}
.servicePatents__continer .faqHeader__nav {
  margin: 0 auto 4rem;
  padding: 0
}
.servicePatents__continer .faqHeader__link {
  width: 19rem
}
.servicePatents__continer .faqHeader__list {
  justify-content: center
}
.servicePatents__panel {
  display: none
}
.servicePatents__panel.react-tabs__tab-panel--selected {
  display: block
}
.servicePatents__panel.react-tabs__tab-panel--selected .servicePatents__block {
  animation: show .5s cubic-bezier(.33, 1, .68, 1)
}
.servicePatents__table {
  overflow-x: auto
}
.servicePatents__table table {
  box-sizing: border-box;
  overflow: hidden;
  table-layout: fixed;
  border-spacing: 0;
  border: 1px solid #062d59;
  border-radius: .25rem
}
.servicePatents__table tr:not(:first-child) td {
  border-top: 1px solid #e6e6e6
}
.servicePatents__table tr:first-child {
  border-left-color: #062d59
}
.servicePatents__table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.servicePatents__table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.servicePatents__table tr.second__label th {
  border-top-left-radius: unset;
  border-top-right-radius: unset;
  border-top: 1px solid hsla(0, 0%, 90%, .2)
}
.servicePatents__table th {
  border-bottom: none;
  padding: .625rem 0;
  background-color: #062d59
}
.servicePatents__table th:first-child {
  border-top-left-radius: .25rem
}
.servicePatents__table th:last-child {
  border-top-right-radius: .25rem
}
.servicePatents__table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.servicePatents__table th .sub-text {
  font-size: 80%;
  display: inline-block;
  line-height: 1.2
}
.servicePatents__table td {
  position: relative;
  border-left: 1px solid #e6e6e6;
  background: #fff;
  text-align: center
}
.servicePatents__table td:first-child {
  background-color: #f5f5f5
}
.servicePatents__table td.not__border {
  border-right: none
}
.servicePatents__table td.last__border {
  border-bottom: 1px solid #062d59
}
.servicePatents__table td.patented:before {
  content: "";
  display: block;
  margin: 0 auto;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.servicePatents__table td.patented.--get:before {
  background-image: url(/assets/img/common/icon_patented_2.svg)
}
.servicePatents__table td.not:before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.servicePatents__table td small {
  display: inline-block
}
.servicePatents__table .sub {
  background-color: #f5f5f5
}
.servicePatents__table .patent-list {
  text-align: left;
  display: inline-block;
  margin: 0 auto;
  padding: .5rem
}
.servicePatents__table .cross {
  display: block;
  position: relative;
  transform: rotate(45deg)
}
.servicePatents__table .cross:after, .servicePatents__table .cross:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #222
}
.servicePatents__table .cross:after {
  transform: rotate(90deg)
}
.servicePatents .patentdetail__paragraph {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  border-radius: .25rem;
  background-color: #f5f5f5;
  padding: 1.25rem
}
.servicePatents .patentdetail__paragraph dt {
  flex-basis: 15%;
  border-right: 1px solid #d7d7d7
}
.servicePatents .patentdetail__paragraph dd {
  flex-basis: 85%;
  padding-left: 1.25rem
}
.serviceGuide {
  background-color: #062d59
}
.serviceGuide__heading {
  position: relative
}
.serviceGuide__heading:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  border-radius: 1.5px;
  background: linear-gradient(0deg, #0295d5, #01428c)
}
.serviceGuide__headingJp {
  display: block;
  color: #fff;
  font-size: .625rem;
  letter-spacing: .02em;
  line-height: 1;
  font-weight: 700
}
.serviceGuide__headingEn {
  display: block;
  font-family: Montserrat, sans-serif;
  color: #fff;
  font-size: 1.125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 600
}
.serviceGuide__lead {
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceGuideList__link {
  display: block
}
.serviceGuideList__content {
  position: relative;
  border-bottom: 1px solid hsla(0, 0%, 87%, .1);
  padding-bottom: .625rem
}
.serviceGuideList__content:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: 100% 100%
}
.serviceGuideList__en {
  position: relative;
  padding-left: 1em;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.4;
  font-weight: 600;
  font-family: Montserrat, sans-serif
}
.serviceGuideList__en:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.serviceGuideList__text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: .375rem;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceGuideList__lead {
  color: #fff;
  font-size: .8125rem;
  line-height: 1.6
}
.serviceGuideList__img {
  overflow: hidden;
  border-radius: .25rem
}
.serviceInfo__heading {
  position: relative
}
.serviceInfo__heading:before {
  content: "";
  display: block;
  position: absolute;
  top: .125rem;
  left: 0;
  bottom: 0;
  width: 3px;
  height: 1.625rem;
  border-radius: 1.5px;
  margin: auto;
  background: linear-gradient(0deg, #0295d5, #01428c)
}
.serviceInfo__slider .splide__track {
  overflow: visible
}
.serviceInfo__more {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceInfo__link {
  display: block
}
.serviceInfo__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 260/193
}
.serviceInfo__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.serviceInfo__content {
  margin-top: 1rem
}
.serviceInfo__date {
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.2;
  font-family: Montserrat, sans-serif
}
.serviceName {
  position: relative;
  z-index: 1
}
.serviceName.loaded .serviceName__header:before {
  opacity: 1;
  transform: translateY(0)
}
.serviceName.loaded .serviceName__head:before {
  transform: scaleX(1)
}
.serviceName__head {
  position: relative
}
.serviceName__head:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform-origin: 0 0;
  transform: scaleX(0);
  background-color: #e6e6e6;
  transition: transform 1s cubic-bezier(.33, 1, .68, 1)
}
.serviceName__head.--stockoption-1yen .serviceName__header:before {
  background-image: url(/assets/img/service/stockoption-1yen/ilust_kv.png)
}
.serviceName__header:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  background-size: contain;
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s cubic-bezier(.5, 1, .89, 1) .6s, transform .6s cubic-bezier(.5, 1, .89, 1) .6s;
  transform: translateY(12px)
}
.serviceName__heading {
  position: relative
}
.serviceName__headingMain, .serviceName__headingSub {
  display: block
}
.serviceName__type {
  position: relative;
  color: #003e88;
  font-size: .9375rem;
  line-height: 1.5
}
.serviceName__type .tag {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: .25rem;
  padding: 0 .625rem
}
.serviceName__type .tag.--newly {
  background-color: #00c7e2
}
.serviceName__type .tag.--seed {
  background-color: #00b5e2
}
.serviceName__type .tag.--after {
  background-color: #0099d9
}
.serviceName__type .tag.--seriesb {
  background-color: #0296d6
}
.serviceName__type .tag.--listedcompany {
  background-color: #0176b9
}
.serviceName__type .note {
  position: relative;
  padding-left: 1em;
  color: #f03f2b;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.serviceName__type .note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.serviceName__lead {
  position: relative;
  font-size: .875rem;
  line-height: 1.5
}
.serviceNameLineup {
  position: relative
}
.serviceNameLineup__nav {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.serviceNameLineup__item {
  position: relative
}
.serviceNameLineup__item:not(:first-child):before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-color: #999
}
.serviceNameLineup__item:first-child .serviceNameLineup__type {
  background-color: #0176b9
}
.serviceNameLineup__item:nth-child(2) .serviceNameLineup__type {
  background-color: #0099d9
}
.serviceNameLineup__item:nth-child(2) .serviceNameLineup__type.--L2-ohter-label {
  background-color: #999
}
.serviceNameLineup__item:nth-child(3) .serviceNameLineup__type {
  background-color: #00b5e2
}
.serviceNameLineup__item:nth-child(4) .serviceNameLineup__type {
  background-color: #999
}
.serviceNameLineup__item:first-child .serviceNameLineup__type.--L3-label-01 {
  background-color: #749bb8
}
.serviceNameLineup__item:nth-child(2) .serviceNameLineup__type.--L3-label-02 {
  background-color: #6ca6a1
}
.serviceNameLineup__item:nth-child(3) .serviceNameLineup__type.--L3-label-03 {
  background-color: #12c0de
}
.serviceNameLineup__link {
  display: block;
  position: relative
}
.serviceNameLineup__type {
  border-radius: .25rem
}
.serviceNameLineup__circle {
  margin: auto
}
.serviceNameInfo__info {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.serviceNameInfo__info a {
  text-decoration: underline
}
.serviceDetail {
  background-color: #062d59
}
.serviceDetail.--L3DetailBG {
  background-color: #90a7c2
}
.serviceDetail__past .serviceDetail__section {
  background-color: #e6e6e6
}
.serviceDetail__past .serviceDetail__header {
  border-bottom: 1px solid #fff
}
.serviceDetail__past .serviceDetail__recommendCompany {
  background-color: #999
}
.serviceDetail__section {
  overflow: hidden;
  position: relative;
  border-radius: .25rem;
  background-color: #fff
}
.serviceDetail__header {
  border-bottom: 1px solid #e6e6e6
}
.serviceDetail__done {
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center
}
.serviceDetail__done:before {
  content: "";
  display: block;
  position: absolute;
  right: -3.125rem;
  transform: rotate(38deg);
  height: 6.25rem;
  background-color: #f03f2b
}
.serviceDetail__done > span {
  position: relative;
  z-index: 1
}
.serviceDetail__heading {
  margin: 0 auto
}
.serviceDetail__heading.--black {
  color: #222
}
.serviceDetail__subheading {
  margin: 0 auto
}
.serviceDetail__subheading.--black {
  color: #222
}
.serviceDetail__body {
  margin: 0 auto
}
.serviceDetail__block:nth-child(2) {
  border-top: 1px solid #e6e6e6
}
.serviceDetail__type {
  display: inline-grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #062d59
}
.serviceDetail__type.--type_pattern1 {
  background-color: #749bb8
}
.serviceDetail__type.--type_pattern2 {
  background-color: #6ca6a1
}
.serviceDetail__type.--type_pattern3 {
  background-color: #062d59
}
.serviceDetail__type.--type_pattern4 {
  background-color: #00b5e2
}
.serviceDetail__type.--type_pattern5 {
  background-color: #999
}
.serviceDetail__description sup {
  top: -.1875rem
}
.serviceDetail__note {
  position: relative;
  padding-left: 1em
}
.serviceDetail__note:before {
  content: "※";
  position: relative;
  margin-left: -1em;
  font-size: 1em
}
.serviceDetail__recommendText {
  min-width: 6.875rem
}
.serviceDetail__recommendCompany {
  border-radius: .25rem;
  text-align: center
}
.serviceDetail__recommendCompany.--newly {
  background-color: #00c7e2
}
.serviceDetail__recommendCompany.--seed {
  background-color: #00b5e2
}
.serviceDetail__recommendCompany.--after {
  background-color: #0099d9
}
.serviceDetail__recommendCompany.--seriesb {
  background-color: #0296d6
}
.serviceDetail__recommendCompany.--listedcompany {
  background-color: #0176b9
}
.serviceDetail__recommendCompany.--paid {
  background-color: #015aa1
}
.serviceDetail__recommendCompany.--1yen {
  background-color: #008e8e
}
.serviceDetail__link {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.serviceDetail__info {
  border: 1px solid #f03f2b;
  border-radius: .25rem;
  margin-bottom: 1.25rem;
  background-color: #fff;
  color: #f03f2b;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.serviceBody, .serviceSide__text {
  position: relative
}
.serviceSide__text:before {
  content: "";
  display: block;
  position: absolute
}
.serviceSide__item:last-child .serviceSide__link {
  padding-bottom: 0
}
.serviceSide__link {
  position: relative;
  transition: color .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceSide__link:before {
  content: "";
  display: block;
  position: absolute
}
.serviceSide__link .text {
  display: block
}
.serviceSide__link .circle {
  transform: rotate(90deg)
}
.serviceSide__link .circle.--2nd {
  transform: rotate(0deg)
}
.serviceSide__contactLink:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background: linear-gradient(270deg, #003e88, #016db2 61%, #0197d7);
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceSide__contactLink .text {
  position: relative;
  z-index: 1
}
.serviceContent__block.--gray {
  background-color: #f5f5f5
}
.serviceContent__blockHeading {
  font-size: 1.75rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceContent__heading {
  position: relative
}
.serviceContent__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceContent__heading small {
  display: block
}
.serviceContent__headingSub {
  position: relative
}
.serviceContent__headingSub:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.serviceContent__list {
  margin-top: 2rem
}
.serviceContent__list:is(ol) {
  counter-reset: number 0
}
.serviceContent__list:is(ol) li {
  position: relative;
  padding-left: 2.5rem
}
.serviceContent__list:is(ol) li:before {
  counter-increment: number 1;
  content: counter(number);
  display: grid;
  place-items: center;
  position: absolute;
  top: .125rem;
  left: 0;
  width: 1.4375rem;
  height: 1.4375rem;
  border-radius: .125rem;
  background-color: #003e88;
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 500;
  font-family: Montserrat, sans-serif
}
.serviceContent__item {
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContent__text sup {
  top: -.1875rem
}
.serviceContent__textSmall {
  margin-top: .75rem;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContent__table {
  overflow-x: auto;
  width: 100%
}
.serviceContent__table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  border-spacing: 0
}
.serviceContent__table tr:not(:first-child) td {
  border-top: 1px solid #e6e6e6
}
.serviceContent__table tr:last-child td {
  border-bottom: 1px solid #062d59
}
.serviceContent__table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.serviceContent__table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.serviceContent__table th {
  border-bottom: none;
  white-space: nowrap;
  background-color: #062d59
}
.serviceContent__table th:first-child {
  border-top-left-radius: .25rem
}
.serviceContent__table th:last-child {
  border-top-right-radius: .25rem
}
.serviceContent__table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.serviceContent__table td {
  position: relative;
  border-left: 1px solid #e6e6e6;
  text-align: center;
  white-space: nowrap
}
.serviceContent__table td small {
  display: block;
  margin-top: .25rem;
  font-size: .75rem;
  letter-spacing: .0015em;
  line-height: 1.5
}
.serviceContent__table td sup {
  position: absolute;
  margin-top: .3125rem;
  margin-left: .125rem
}
.serviceContent__table td:first-child {
  border-left-color: #062d59;
  background-color: #f5f5f5
}
.serviceContent__table td:last-child {
  border-right: 1px solid #062d59
}
.serviceContent__table td.patented:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.serviceContent__table td.mark {
  width: 100%
}
.serviceContent__table td.mark:before {
  content: "";
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  margin: 0 auto
}
.serviceContent__table td.mark sup {
  margin-left: .3125rem
}
.serviceContent__table td.none:before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.serviceContent__table td.blue {
  color: #003e88
}
.serviceContent__table td.last-rowspan {
  border-right: 1px solid #e6e6e6
}
.serviceContent__table.--white th {
  width: -moz-fit-content;
  width: fit-content
}
.serviceContent__table.--white td {
  background-color: #fff;
  width: -moz-min-content;
  width: min-content
}
.serviceContent__table.--white td:not(:first-child) {
  white-space: unset
}
.serviceContent__table.--service_02 table {
  table-layout: unset;
  width: 100%
}
.serviceContent__table.--service_02 .rowblock {
  border-right: unset
}
.serviceContent__table.--service_02 .rowinner {
  line-height: .75
}
.serviceContent__table ul {
  padding-left: .75rem
}
.serviceContent__table li {
  text-align: left;
  list-style-type: disc;
  list-style-position: inside;
  padding-bottom: .25rem
}
.serviceContent__table.--option-plan td:first-child {
  padding: 1.25rem .75rem
}
.serviceContent__table.--option-plan td:last-child {
  text-align: left;
  padding-left: 1.5rem
}
.serviceContent__tableNote {
  margin-top: .75rem;
  text-align: right;
  color: #7a7a7a;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContent__img {
  position: relative
}
.serviceContent__img img {
  border-radius: .25rem
}
.serviceContent__img.--patented:before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.serviceContent__img.--patented.--get:before {
  background-image: url(/assets/img/common/icon_patented_2.svg)
}
.serviceContent__contact {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: 2.5rem;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceContentGrid__item {
  border-radius: .25rem;
  background-color: #e6ecf3
}
.serviceContentGrid__item.--group {
  display: flex
}
.serviceContentGrid__number {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.75rem;
  border-radius: .25rem;
  margin: 0 auto;
  padding: 0 .75rem;
  background-color: #003e88;
  font-family: Montserrat, sans-serif;
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 600
}
.serviceContentGrid__heading {
  margin-top: 1.25rem;
  text-align: center
}
.serviceContentGrid__heading sup {
  position: absolute;
  top: auto;
  margin-top: .375rem;
  margin-left: .125rem;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 400
}
.serviceContentGrid__text sup {
  top: auto;
  font-size: .6875rem;
  letter-spacing: .05em;
  line-height: 1
}
.serviceContentHead {
  position: relative
}
.serviceContentHead__inner {
  max-width: 57.5rem;
  width: 100%;
  border-bottom: 1px solid #e6e6e6;
  margin-left: auto
}
.serviceContentHead__heading {
  width: -moz-fit-content;
  width: fit-content
}
.serviceContentHead__heading:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  background: linear-gradient(90deg, #0099d9, #004788);
  color: transparent;
  pointer-events: none
}
.serviceContentFeatures__section {
  border: 1px solid #90a7c2;
  border-radius: .25rem;
  background-color: #fff
}
.serviceContentFeatures__section.--bg {
  border: none;
  background-color: #f5f5f5
}
.serviceContentFeatures__heading {
  position: relative
}
.serviceContentFeatures__heading .number {
  position: absolute;
  top: .25rem;
  left: 0;
  font-family: Montserrat, sans-serif
}
.serviceContentFeatures__heading .number:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  border-radius: 1px;
  margin: auto;
  background: linear-gradient(0deg, #0099d9, #004788)
}
.serviceContentFeatures__heading sup {
  top: -.5rem;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.serviceContentFeatures__heading.--border {
  border-bottom: 1px solid #e6e6e6;
  padding-left: 0;
  padding-bottom: .75rem
}
.serviceContentFeatures__text sup {
  top: -.1875rem;
  font-size: .6875rem;
  line-height: 1
}
.serviceContentFeatures__img {
  overflow: hidden;
  border-radius: .25rem;
  flex: 0 0 auto
}
.serviceContentArticle {
  margin-top: 2rem
}
.serviceContentArticle__text {
  position: relative;
  padding-left: 1em;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceContentArticle__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .5rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  font-size: 1em;
  border-radius: 50%;
  background-color: #003e88
}
.serviceContentArticle__list {
  margin-top: 1rem
}
.serviceContentArticle__link {
  display: flex;
  align-items: center;
  position: relative;
  border-radius: .25rem;
  color: #fff;
  background-color: #013f8a
}
.serviceContentArticle__img {
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: .25rem;
  position: relative;
  transform: translateZ(0)
}
.serviceContentArticle__circle {
  position: absolute;
  margin: auto
}
.serviceContentArticle__circle .arrow {
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceContentBox {
  border: 1px solid #003e88;
  border-radius: .25rem
}
.serviceContentBox.--bgwhite {
  border: none;
  background-color: #fff
}
.serviceContentBox__subject {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.375rem;
  border: 1px solid #003e88;
  border-radius: .6875rem;
  padding: 0 .625rem;
  color: #003e88;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1
}
.serviceContentBox__heading {
  position: relative;
  margin-top: .625rem
}
.serviceContentBox__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceContentBox__link {
  display: flex;
  align-items: center;
  position: relative;
  max-width: 32.5rem;
  width: 100%;
  border-radius: .25rem;
  background-color: #003e88
}
.serviceContentBox__link .circle {
  margin: auto
}
.serviceContentBox__link .circle:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  margin: auto;
  background-color: #0296d6;
  transform: scale(0)
}
.serviceContentBox__link .circle .arrow, .serviceContentBox__link .circle:after {
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceContentCost {
  border-radius: .25rem;
  border: 1px solid #003e88;
  margin-top: 4rem
}
.serviceContentCost__header {
  display: block;
  position: relative;
  background-color: #003e88;
  cursor: pointer
}
.serviceContentCost__header .circle {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  margin: auto;
  background-color: #fff
}
.serviceContentCost__header .circle:after, .serviceContentCost__header .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: .625rem;
  height: 2px;
  border-radius: 1px;
  margin: auto;
  background-color: #003e88
}
.serviceContentCost__header .circle:after {
  transform: rotate(90deg);
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceContentCost__header.is-active .circle:after {
  opacity: 0
}
.serviceContentCost__body {
  overflow: hidden;
  height: 0;
  margin: 0;
  padding: 0;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.serviceContentCost__body.--open {
  overflow: unset;
  height: auto
}
.serviceContentCost__text.--pt {
  padding-top: 1.25rem
}
.serviceContentCost__plan {
  margin-top: 1.5rem
}
.serviceContentCost__planText {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: .9375rem
}
.serviceContentCost__planText:before {
  content: "";
  display: block;
  position: absolute;
  inset: .125rem auto 0 0;
  margin: auto;
  width: 3px;
  height: 1.125rem;
  border-radius: 1.5px;
  background: linear-gradient(0deg, #0099d9, #004091)
}
.serviceContentCost__planTable {
  margin-top: 1.25rem
}
.serviceContentCost__planTable table {
  table-layout: fixed;
  border: none;
  border-spacing: 0
}
.serviceContentCost__planTable table th {
  padding: .75rem 0;
  color: #fff;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500;
  background-color: #062d59
}
.serviceContentCost__planTable table th:first-child {
  border-top-left-radius: .25rem
}
.serviceContentCost__planTable table th:last-child {
  border-top-right-radius: .25rem
}
.serviceContentCost__planTable table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.serviceContentCost__planTable table tr:last-child td {
  border-bottom: 1px solid #062d59
}
.serviceContentCost__planTable table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.serviceContentCost__planTable table td {
  position: relative;
  border-left: 1px solid hsla(0, 0%, 60%, .2);
  padding: .75rem 0;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center
}
.serviceContentCost__planTable table td:last-child {
  border-right: 1px solid #062d59
}
.serviceContentCost__planTable table td.bg-mystic {
  background-color: #e6ecf3
}
.serviceContentCost__planTable table td[rowspan="2"] {
  border-bottom-left-radius: .25rem;
  border-left: 1px solid #062d59;
  border-bottom: 1px solid #062d59;
  background-color: #f5f5f5
}
.serviceContentCost__planTable table sup {
  top: -.1875rem;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.serviceContentCost__planTable table .contract {
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContentCost__planTable table .contract > small {
  display: block;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContentCost__planTable table .none {
  font-size: 0
}
.serviceContentCost__planTable table .none:before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.serviceContentCost__planTable table .none sup {
  position: absolute;
  top: 1rem;
  margin-left: .25rem
}
.serviceContentExample {
  border: 1px solid #003e88;
  border-radius: .25rem
}
.serviceContentExample__heading {
  position: relative
}
.serviceContentExample__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.serviceContentExample__text {
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContentExample__img img {
  border-radius: .25rem
}
.serviceContentConsiderations {
  max-width: 57.5rem;
  width: 100%;
  margin-left: auto
}
.serviceContentConsiderations__text {
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.serviceContentConsiderations__item {
  position: relative;
  padding-left: 1em
}
.serviceContentConsiderations__item:before {
  content: "";
  display: block;
  position: absolute;
  top: .625rem;
  left: 0;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  background-color: #003e88
}
.serviceContentConsiderations__item + .serviceContentConsiderations__item {
  margin-top: .5rem
}
.serviceContentConsiderations__item .note {
  display: block;
  position: relative;
  margin-top: .375rem;
  padding-left: 1em;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceContentConsiderations__item .note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.serviceContentConsiderations__item .note + .note {
  margin-top: 0
}
.serviceContentNotes__continer {
  border-radius: .25rem;
  margin-top: 1.5rem;
  background-color: #f5f5f5
}
.serviceContentNotes__inner {
  max-width: 50rem;
  margin: 0 auto
}
.serviceContentNotes__inner.--L3 {
  max-width: unset
}
.serviceContentNotes__text {
  position: relative;
  padding-bottom: .5rem
}
.serviceContentNotes__text:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 62, 136, .1)
}
.serviceContentNotes__list {
  counter-reset: number 0
}
ul.serviceContentNotes__list li {
  padding-left: 1em
}
ul.serviceContentNotes__list li:before {
  content: "※"
}
ol.serviceContentNotes__list li {
  padding-left: 2em
}
ol.serviceContentNotes__list li:before {
  counter-increment: number;
  content: "※"counter(number)
}
.serviceContentNotes__item {
  position: relative
}
.serviceContentNotes__item:before {
  display: block;
  position: absolute;
  left: 0;
  font-size: 1em
}
.serviceContentNotes__item + .serviceContentNotes__item {
  margin-top: .5rem
}
.serviceContentNotes__item .Notes-link {
  text-decoration: underline
}
.serviceContentSupport {
  overflow: hidden;
  position: relative;
  border: 1px solid #003e88;
  border-radius: .25rem
}
.serviceContentSupport:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #003e88
}
.serviceContentSupport__heading {
  position: relative
}
.serviceContentSupport__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceContentSupport__list {
  background-color: #f5f5f5
}
.serviceContentSupport__term {
  position: relative;
  border-bottom: 1px solid #e6e6e6;
  padding-left: 1em;
  padding-bottom: .75rem
}
.serviceContentSupport__term:before {
  content: "・";
  position: absolute;
  margin-left: -.7em;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.1
}
.serviceContentSupport__description {
  margin-top: 1rem
}
.serviceNav {
  border-top: 1px solid #e6e6e6
}
.serviceNav, .serviceNavTop, .serviceNavTop__wrapper {
  position: relative
}
.serviceNavTop__link {
  display: block;
  margin: 0 auto
}
.serviceNavTop__jp {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: .5rem;
  font-size: 1.5rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceNavTop__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 240/144
}
.serviceNavlower {
  position: relative;
  background-color: #fff
}
.serviceNavlower__lineupLink {
  background-color: #062d59
}
.serviceNavlower__guideList.--lineup-50 {
  align-items: stretch
}
.serviceNavlower__guideLink {
  display: block
}
.serviceNavlower__guideLink.is-current {
  pointer-events: none
}
.serviceNavlower__guideLink.is-current .serviceNavlower__guideLinkHeading {
  color: #003e88
}
.serviceNavlower__guideLink.is-current .circle {
  opacity: 0
}
.serviceNavlower__guideLinkHeading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.serviceNavlower__guideLinkText {
  position: relative;
  margin-top: .5rem;
  padding-bottom: .75rem;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceNavlower__guideLinkText:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.serviceFeatures.--L3 {
  padding-bottom: 0
}
.serviceFeatures__header {
  position: relative;
  border-bottom: 1px solid #e6e6e6
}
.serviceFeatures__heading:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1.5px;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceFeatures__section {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  border: 1px solid #90a7c2;
  border-radius: .25rem
}
.serviceFeatures__section.--L3-option {
  background-color: #fff;
  border-radius: unset
}
.serviceFeatures__sectionHeading {
  display: flex;
  align-items: flex-start
}
.serviceFeatures__sectionHeading.--L3-option {
  position: relative;
  display: block
}
.serviceFeatures__sectionHeading.--L3-option:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceFeatures__sectionHeading.--L3-option span {
  display: block
}
.serviceFeatures__sectionHeading .number {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.serviceFeatures__sectionHeading .number:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  border-radius: 1px;
  margin: auto;
  background: linear-gradient(0deg, #0099d9, #004788)
}
.serviceFeatures sup {
  top: -3px
}
.serviceFeatures__img {
  overflow: hidden;
  border-radius: .25rem;
  background-color: #e6ecf3
}
.serviceChoose {
  background-color: #f5f5f5
}
.serviceChoose__header {
  position: relative;
  border-bottom: 1px solid #e6e6e6
}
.serviceChoose__heading:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1.5px;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.serviceChoose__continer.--detail {
  max-width: 75rem
}
.serviceChoose__inner {
  border-radius: .25rem;
  background-color: #fff
}
.serviceChoose__section.--flex {
  border-top: 1px solid #e6e6e6
}
.serviceChoose__section:last-child {
  padding-bottom: 0
}
.serviceChoose__sectionHeading {
  display: flex;
  align-items: flex-start
}
.serviceChoose__sectionHeading .number {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.serviceChoose__sectionHeading .number:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  border-radius: 1px;
  margin: auto;
  background: linear-gradient(0deg, #0099d9, #004788)
}
.serviceChoose__text .note {
  display: block;
  position: relative;
  padding-left: 1em
}
.serviceChoose__text .note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.serviceChoose__text sup {
  top: -3px
}
.serviceChoose__img {
  overflow: hidden;
  border-radius: .25rem;
  background-color: #e6ecf3
}
.serviceChoose__list {
  border-radius: .25rem;
  background-color: #062d59
}
.serviceChoose__item {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 176/70
}
.serviceChoose__note {
  margin-top: 1.5rem;
  color: #999;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.serviceChoose__link {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.indexNewsHeader {
  position: relative
}
.indexNewsHeader.loaded .indexNewsHeader__group:before, .indexNewsHeader.loaded .indexNewsHeader__inner:before {
  transform: scaleX(1)
}
.indexNewsHeader__headingEn {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.indexNewsHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.indexNewsHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.indexNewsHeader__inner {
  position: relative
}
.indexNewsHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  transition: transform .8s cubic-bezier(.5, 1, .89, 1) .2s
}
.indexNewsHeader__group:before, .indexNewsHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0)
}
.indexNewsHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none;
  transition: transform .6s cubic-bezier(.5, 1, .89, 1) .2s
}
.indexNewsHeader__heading {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.indexNewsHeader__lead {
  font-size: .8125rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.indexNewsSide__text {
  position: relative;
  padding-left: 1em
}
.indexNewsSide__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.indexNewsSide__box {
  position: relative
}
.indexNewsSide__button .circle {
  position: absolute;
  inset: 0 .75rem 0 auto;
  border: 1px solid #e6e6e6;
  margin: auto;
  background-color: #fff;
  pointer-events: none;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.indexNewsSide__button .circle .arrow {
  transform: rotate(90deg);
  margin-top: .125rem;
  margin-left: 0
}
.indexNewsSide__button.is-active .circle {
  transform: rotate(180deg)
}
.indexNewsSide__button.is-active + .indexNewsSide__inner .indexNewsSide__link {
  opacity: 1;
  transition: color .3s cubic-bezier(.33, 1, .68, 1), opacity .3s cubic-bezier(.33, 1, .68, 1) .1s
}
.indexNewsSide__serecter {
  position: relative
}
.indexNewsSide__serecter .circle {
  position: absolute;
  inset: 0 .75rem 0 auto;
  border: 1px solid #e6e6e6;
  margin: auto;
  background-color: #fff;
  pointer-events: none
}
.indexNewsSide__serecter .circle .arrow {
  transform: rotate(90deg);
  margin-top: .125rem;
  margin-left: 0
}
.indexNewsSideSerect__text {
  position: relative
}
.indexNewsSideSerect__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.indexNewsSideSerect__box {
  position: relative;
  height: 2.625rem
}
.indexNewsSideSerect__boxInner {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.indexNewsSideSerect__inner {
  overflow: hidden;
  height: 0;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.indexNewsSideSerect__button {
  position: relative;
  width: 100%;
  color: #999;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.indexNewsSideSerect__button .circle {
  position: absolute;
  inset: 0 .75rem 0 auto;
  border: 1px solid #e6e6e6;
  margin: auto;
  background-color: #fff;
  pointer-events: none;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.indexNewsSideSerect__button .circle .arrow {
  transform: rotate(90deg);
  margin-top: .125rem;
  margin-left: 0
}
.indexNewsSideSerect__button.is-active .circle {
  transform: rotate(180deg)
}
.indexNewsSideSerect__button.is-active + .indexNewsSideSerect__inner .indexNewsSideSerect__link {
  opacity: 1;
  transition: color .3s cubic-bezier(.33, 1, .68, 1), opacity .3s cubic-bezier(.33, 1, .68, 1) .1s
}
.indexNewsSideSerect__list {
  display: flex;
  flex-direction: column-reverse;
  row-gap: .625rem;
  color: #999;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.indexNewsSideSerect__item.--all {
  order: 1
}
.indexNewsSideSerect__link {
  display: block;
  opacity: 0;
  color: #999;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.indexNewsList__link {
  display: block;
  border-bottom: 1px solid #e6e6e6
}
.indexNewsList__meta {
  display: flex;
  align-items: center
}
.indexNewsList__date {
  font-family: Montserrat, sans-serif;
  color: #1f1c1c;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.indexNewsList__category {
  display: grid;
  place-items: center;
  height: 1.375rem;
  border-radius: .6875rem;
  border: 1px solid #003e88;
  padding: 0 .75rem;
  color: #003e88;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 500
}
.indexNewsList__text {
  margin-top: .75rem
}
.singleNews__inner {
  display: flex
}
.singleNews__backLink {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.singleNewsShare {
  flex: 0 0 auto
}
.singleNewsShare__text {
  position: relative;
  padding-left: 1rem;
  font-family: Montserrat, sans-serif;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 600
}
.singleNewsShare__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .1875rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.singleNewsShare__link {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  margin: 0 auto;
  background-color: #f5f5f5
}
.singleNewsShare__link svg {
  display: block;
  width: 1.1875rem;
  height: 1.125rem
}
.singleNewsContent__header {
  border-bottom: 1px solid #e6e6e6
}
.singleNewsContent__meta {
  display: flex;
  align-items: center;
  -moz-column-gap: .75rem;
  column-gap: .75rem
}
.singleNewsContent__date {
  font-family: Montserrat, sans-serif;
  color: #1f1c1c;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.singleNewsContent__category {
  display: grid;
  place-items: center;
  height: 1.375rem;
  border: 1px solid #003e88;
  border-radius: .6875rem;
  padding: 0 .75rem;
  color: #003e88;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 500
}
.singleNewsContent__body .img {
  overflow: hidden;
  border-radius: .25rem
}
.singleNewsContent__body :is(h3) + p {
  margin-top: 1.5rem
}
.singleNewsContent__body h2 {
  position: relative;
  border-bottom: 1px solid #e6e6e6
}
.singleNewsContent__body h2:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1.5px;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.singleNewsContent__body h3 {
  position: relative
}
.singleNewsContent__body h3:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.singleNewsContent__body ul > li {
  position: relative;
  padding-left: 1em
}
.singleNewsContent__body ul > li:before {
  content: "";
  display: block;
  position: absolute;
  top: .75rem;
  left: 0;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  background-color: #003e88
}
.singleNewsContent__body ol {
  counter-reset: number 0
}
.singleNewsContent__body ol > li {
  position: relative;
  padding-left: 1em
}
.singleNewsContent__body ol > li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  display: block;
  position: absolute;
  margin-left: -1.2em;
  font-size: 1em;
  color: #003e88
}
.singleNewsContent__body li + li {
  margin-top: .5rem
}
.singleNewsContent__body a {
  background-image: linear-gradient(#222, #222);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%
}
.singleNewsContent__body > a {
  display: block;
  width: -moz-fit-content;
  width: fit-content
}
.singleNewsContent__body .box {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.singleNewsContent__body .table {
  overflow-x: auto;
  width: 100%
}
.singleNewsContent__body .table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  width: auto;
  border-spacing: 0;
  border-collapse: collapse
}
.singleNewsContent__body .table small {
  display: block
}
.singleNewsContent__body .table td, .singleNewsContent__body .table th {
  border: 1px solid #e6e6e6;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.5;
  font-weight: 400;
  white-space: nowrap
}
.singleNewsContent__body .table th {
  padding: .75rem 2.5rem;
  background-color: #f5f5f5
}
.singleNewsContent__body .table td {
  padding: .75rem 2.5rem;
  background-color: #fcfcfc
}
.singleNewsContent__arrow svg {
  transform: scaleX(-1)
}
.note__inner {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.note__heading {
  flex: 0 0 auto;
  position: relative;
  font-feature-settings: "palt"
}
.note__heading:before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-image: url(/assets/img/common/icon_note.svg);
  background-size: contain
}
.note__text {
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.companyHeader, .note__text {
  position: relative
}
.companyHeader.loaded .companyHeader__content:before, .companyHeader.loaded .companyHeader__group:before {
  transform: scaleX(1)
}
.companyHeader__content:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.companyHeader__content:before, .companyHeader__group:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.companyHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.companyHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.companyHeaderNav {
  overflow: hidden;
  border-radius: .25rem;
  background-color: #062d59
}
.companyHeaderNav__list {
  margin: 0 auto
}
.companyHeaderNav__item {
  position: relative;
  height: 100%
}
.companyHeaderNav__item.is-current {
  pointer-events: none
}
.companyHeaderNav__item:first-child:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  height: 1.75rem;
  margin: auto;
  background-color: #fff
}
.companyHeaderNav__item:first-child .companyHeaderNav__link > span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(.33, 1, .68, 1);
  transform-origin: 100% 100%
}
.companyHeaderNav__item:first-child.is-current .companyHeaderNav__link > span:before {
  transform: scaleX(1)
}
.companyHeaderNav__item:first-child.is-current ~ .companyHeaderNav__item:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  height: 1.125rem;
  margin: auto;
  background-color: hsla(0, 0%, 100%, .2)
}
.companyHeaderNav__item:not(:first-child).is-current .companyHeaderNav__link {
  background-color: #003e88
}
.companyHeaderNav__item:nth-child(2).is-current ~ .companyHeaderNav__item:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  height: 1.125rem;
  margin: auto;
  background-color: hsla(0, 0%, 100%, .2)
}
.companyHeaderNav__item:nth-child(3):before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 1px;
  height: 1.125rem;
  margin: auto;
  background-color: hsla(0, 0%, 100%, .2)
}
.companyHeaderNav__item:nth-child(3).is-current:before {
  content: none
}
.companyHeaderNav__item:nth-child(3).is-current ~ .companyHeaderNav__item:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 0 auto;
  width: 1px;
  height: 1.125rem;
  margin: auto;
  background-color: hsla(0, 0%, 100%, .2)
}
.companyHeaderNav__link {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-top: .125rem;
  padding-bottom: .125rem;
  text-align: center
}
.companyHeaderNav__link span {
  position: relative;
  padding-bottom: .125rem
}
.topCompanyAbout__wrapper {
  overflow: hidden;
  position: relative;
  background-color: #f5f5f5;
  background-image: url(/assets/img/common/bg_gray.png);
  background-size: 50px 50px;
  background-repeat: repeat
}
.topCompanyAbout__content {
  position: relative;
  z-index: 1;
  margin: 0 auto
}
.topCompanyAbout__heading {
  flex: 0 0 auto;
  background: linear-gradient(0deg, #003e88 5%, #0165ab 38%, #0296d6 92%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}
.topCompanyAbout__logo {
  position: absolute
}
.topCompanyAbout__logoGray {
  position: absolute;
  height: auto
}
.topCompanyMivi__section {
  border-top: 1px solid #e6e6e6
}
.topCompanyMivi__heading {
  position: relative
}
.topCompanyMivi__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.topCompanyMivi__headingEn {
  display: block;
  font-family: Montserrat, sans-serif
}
.topCompanyMivi__headingJp {
  display: block
}
.topCompanyMivi__graphic {
  position: relative;
  border-radius: .25rem
}
.topCompanyMivi__graphic.--mission {
  background-color: #00c7e2
}
.topCompanyMivi__graphic.--mission .topCompanyMivi__shape {
  position: absolute;
  inset: -.625rem 0 0 -2.5rem;
  width: 21.1875rem;
  height: 11rem;
  margin: auto
}
.topCompanyMivi__graphic.--mission .topCompanyMivi__en {
  color: #00bbdc
}
.topCompanyMivi__graphic.--vision {
  background-color: #0064fb
}
.topCompanyMivi__graphic.--vision .topCompanyMivi__shape {
  position: absolute;
  inset: 0 0 0 -2.25rem;
  width: 14.75rem;
  height: 9.5rem;
  margin: auto
}
.topCompanyMivi__graphic.--vision .topCompanyMivi__en {
  color: #2778f2
}
.topCompanyMivi__en {
  position: absolute
}
.topCompanyPage {
  background-color: #062d59
}
.topCompanyPage__link {
  display: block
}
.topCompanyPage__content {
  position: relative;
  border-bottom: 1px solid hsla(0, 0%, 87%, .1)
}
.topCompanyPage__content:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: 100% 100%
}
.topCompanyPage__header {
  position: relative
}
.topCompanyPage__headingJp {
  display: block;
  margin-top: .5rem;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.topCompanyPage__circle {
  position: absolute;
  right: 0;
  bottom: .125rem
}
.topCompanyPage__text {
  margin-top: .75rem;
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.topCompanyPage__img {
  overflow: hidden;
  border-radius: .25rem
}
.companyMessageBody {
  display: block;
  align-items: flex-start
}
.companyMessageBody__name > small {
  display: block
}
.companyMessageBody__img {
  overflow: hidden;
  border-radius: .25rem
}
.companyInfo {
  background-color: #f5f5f5
}
.companyInfo__headingLink {
  display: block
}
.companyInfo__headingJp {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: .375rem
}
.companyInfoMain__section {
  width: 100%
}
.companyInfoMain__link {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start
}
.companyInfoMain__link.is-current {
  pointer-events: none
}
.companyInfoMain__link.is-current .companyInfoMain__headingJp {
  color: #003e88
}
.companyInfoMain__link.is-current .companyInfoMain__headingCircle {
  opacity: 0
}
.companyInfoMain__link.is-current .companyInfoMain__content {
  transform: scaleX(1)
}
.companyInfoMain__content {
  flex: 1 1 auto;
  position: relative
}
.companyInfoMain__heading {
  position: relative
}
.companyInfoMain__headingEn {
  color: #003e88
}
.companyInfoMain__headingJp {
  display: block;
  margin-top: .375rem
}
.companyInfoMain__headingCircle {
  position: absolute;
  inset: 0 0 0 auto;
  margin: auto
}
.companyInfoMain__text {
  margin-top: .5rem;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.companyInfoMain__img {
  overflow: hidden;
  flex: 0 0 auto;
  position: relative;
  border-radius: .25rem
}
.companyInfoMain__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.companyOutlineBody {
  display: flex;
  align-items: flex-start
}
.companyOutlineBody__item {
  display: flex;
  -moz-column-gap: .875rem;
  column-gap: .875rem;
  border-bottom: 1px solid #e6e6e6
}
.companyOutlineBody__item:first-child {
  padding-top: 0
}
.companyOutlineBody__term {
  flex: 0 0 auto
}
.companyOutlineBody__name {
  display: block
}
.companyOutlineBody__document {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.companyOutlineBody__documentText {
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.companyOutlineBody__documentItem + .companyOutlineBody__documentItem {
  margin-top: 1rem
}
.companyOutlineBody__documentLink {
  display: flex;
  align-items: center;
  -moz-column-gap: .375rem;
  column-gap: .375rem
}
.companyOutlineBody__documentLink .text {
  display: block;
  position: relative;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.companyOutlineBody__documentLink .text:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.companyOutlineBody__documentLink .pdf {
  display: grid;
  place-items: center;
  height: 1.375rem;
  border-radius: .6875rem;
  padding: 0 .75rem;
  background-color: #003e88;
  font-family: Montserrat, sans-serif;
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 500
}
.companyHistoryBody__list {
  position: relative;
  max-width: 42.5rem;
  width: 100%
}
.companyHistoryBody__list:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 1px;
  height: calc(100% - .5rem);
  background-color: #e6e6e6
}
.companyHistoryBody__item {
  display: flex;
  align-items: flex-start;
  width: 100%;
  border-bottom: 1px solid #e6e6e6
}
.companyHistoryBody__item:first-child {
  padding-top: 0
}
.companyHistoryBody__term {
  flex: 0 0 auto;
  position: relative
}
.companyHistoryBody__term:before {
  content: "";
  display: block;
  position: absolute;
  top: .5rem;
  right: .875rem;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.recruitHeader {
  position: relative
}
.recruitHeader.loaded .recruitHeader__group:before, .recruitHeader.loaded .recruitHeader__inner:before {
  transform: scaleX(1)
}
.recruitHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.recruitHeader__group:before, .recruitHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.recruitHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.recruitHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.recruitLead {
  position: relative;
  z-index: 1
}
.recruitLead__heading {
  flex: 0 0 auto;
  background: linear-gradient(270deg, #01418b 13%, #0197d7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}
.recruitLead__img {
  overflow: hidden;
  position: relative;
  z-index: 1
}
.recruitLead__img img {
  border-radius: .25rem 0 0 .25rem
}
.recruitInfo, .recruitInfoPersonality {
  position: relative
}
.recruitInfoPersonality__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/assets/img/rectuit/personality_bg.png);
  background-size: 50px 50px;
  background-repeat: repeat
}
.recruitInfoPersonality__wrapper {
  position: relative;
  z-index: 1
}
.recruitInfoPersonality__heading {
  position: relative
}
.recruitInfoPersonality__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.recruitInfoPersonality__headingEn {
  display: block;
  font-family: Montserrat, sans-serif
}
.recruitInfoPersonality__headingJp {
  display: block
}
.recruitInfoPersonality__lead {
  color: #fff;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.recruitInfoPersonality__list {
  counter-reset: number 0
}
.recruitInfoPersonality__item {
  position: relative;
  border-bottom: 1px solid hsla(0, 0%, 90%, .4)
}
.recruitInfoPersonality__item:before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  font-family: Montserrat, sans-serif
}
.recruitInfoPersonality__term {
  font-family: Montserrat, sans-serif
}
.recruitInfoPersonality__description {
  margin-top: .75rem
}
.recruitInfoPosition__heading {
  position: relative
}
.recruitInfoPosition__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.recruitInfoPosition__headingEn {
  display: block;
  font-family: Montserrat, sans-serif
}
.recruitInfoPosition__headingJp {
  display: block;
  margin-top: .5rem
}
.recruitInfoPosition__item {
  display: block;
  position: relative
}
.recruitInfoPosition__item:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #e6e6e6
}
.recruitInfoPosition__term {
  flex: 0 0 auto;
  font-size: 1.25rem;
  letter-spacing: .06em;
  line-height: 1.5;
  font-weight: 700
}
.recruitInfoPosition__term small {
  display: block;
  margin-top: .5rem;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.5;
  font-weight: 700
}
.recruitInfoPosition__descriptionText {
  display: block
}
.recruitInfoPosition__descriptionLink {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  pointer-events: none
}
.recruitInfoPosition__descriptionLink:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  border-radius: .5px;
  background-color: #003e88
}
.recruitInfoFaq {
  background-color: #f5f5f5
}
.recruitInfoFaq__heading {
  position: relative
}
.recruitInfoFaq__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.recruitInfoFaq__headingEn {
  display: block;
  font-family: Montserrat, sans-serif
}
.recruitInfoFaq__headingJp {
  display: block;
  margin-top: .5rem
}
.recruitInfoFaq__item {
  background-color: #fff
}
.recruitInfoFaq__question {
  position: relative;
  cursor: pointer
}
.recruitInfoFaq__question:before {
  content: "Q.";
  display: block;
  position: absolute;
  font-family: Montserrat, sans-serif
}
.recruitInfoFaq__question.is-active .recruitInfoFaq__questionButton {
  background-color: transparent
}
.recruitInfoFaq__question.is-active .recruitInfoFaq__questionButton:before {
  background-color: #003e88
}
.recruitInfoFaq__question.is-active .recruitInfoFaq__questionButton:after {
  opacity: 0
}
.recruitInfoFaq__questionText {
  display: block
}
.recruitInfoFaq__questionButton {
  flex: 0 0 auto;
  display: block;
  position: relative;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoFaq__questionButton:after, .recruitInfoFaq__questionButton:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 10px;
  height: 2px;
  border-radius: 1px;
  margin: auto;
  background-color: #fff;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1), opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoFaq__questionButton:after {
  transform: rotate(90deg)
}
.recruitInfoFaq__Answer {
  position: relative;
  overflow: hidden;
  height: 0;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoFaq__AnswerInner {
  display: block;
  position: relative
}
.recruitInfoFaq__AnswerInner:before {
  content: "A.";
  display: block;
  position: absolute;
  left: 0;
  font-family: Montserrat, sans-serif
}
.recruitInfoFaq__AnswerInner:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 2.5rem;
  width: calc(100% - 8.75rem);
  height: 1px;
  background-color: #e6e6e6
}
.recruitInfoNav__text:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1.375rem;
  height: 2px;
  border-radius: 1px;
  background-color: #fff;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoNav__item {
  position: relative
}
.recruitInfoNav__link {
  display: block;
  position: relative;
  transition: color .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoNav__link:before {
  content: "";
  display: block;
  position: absolute;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #fff;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1), background-color .3s cubic-bezier(.33, 1, .68, 1);
  opacity: 0
}
.recruitInfoNav__link .text {
  display: block;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.recruitInfoNav__link.is-active:before {
  opacity: 1
}
.recruitGuidelunes__heading {
  position: relative;
  padding-bottom: 1.5rem
}
.recruitGuidelunes__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788);
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.recruitGuidelunes__heading.loaded:before {
  transform: scaleX(1)
}
.recruitGuidelunes__headingSub, .recruitGuidelunes__headingmain {
  display: block
}
.recruitGuidelunes__item {
  border-bottom: 1px solid #e6e6e6
}
.recruitGuidelunes__item:first-child {
  border-top: 1px solid #e6e6e6
}
.recruitGuidelunes__apply {
  display: grid;
  place-items: center;
  position: relative;
  border-radius: .25rem;
  margin: 0 auto;
  background-color: #12c0de
}
.recruitGuidelunes__apply:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: linear-gradient(270deg, #018cc4, #09a7d1 52%, #11c0dd)
}
.recruitGuidelunes__apply .text {
  position: relative
}
.recruitGuidelunes__apply .circle {
  position: absolute;
  margin: auto
}
.recruitGuidelunes__back {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.caseHeader {
  position: relative;
  margin: 0 auto
}
.caseHeader:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.caseHeader.loaded .caseHeader__wapper:after, .caseHeader.loaded:before {
  transform: scaleX(1)
}
.caseHeader__wapper:after {
  display: block;
  position: absolute;
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.caseHeader__inner {
  flex: 1 1 auto
}
.caseHeader__link {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1
}
.caseHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.casePickup__wrapper {
  position: relative
}
.casePickup__wrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(270deg, #062d59, #045792)
}
.casePickup__slider {
  position: relative;
  z-index: 1
}
.casePickup__slider .splide__track {
  transition: height .5s cubic-bezier(.33, 1, .68, 1)
}
.casePickup__slide {
  width: 100%
}
.casePickup__counter {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center
}
.casePickup__counter .current {
  color: #003e88
}
.casePickup__counter .current, .casePickup__counter .total {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 500;
  font-family: Montserrat, sans-serif
}
.casePickup__counter .total {
  color: #999
}
.casePickup__counter .line {
  border-radius: .5px;
  background-color: #999
}
.casePickup__arrows {
  position: absolute;
  z-index: 10
}
.casePickup__arrows .splide__arrow--prev {
  transform: scaleX(-1)
}
.casePickup__content {
  width: 100%
}
.casePickup__en {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.5rem;
  border-radius: .75rem;
  padding: 0 .75rem;
  background-color: #072f5b;
  font-family: Montserrat, sans-serif;
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 600
}
.casePickup__list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .25rem;
  column-gap: .25rem;
  row-gap: .25rem
}
.casePickup__item {
  border-radius: .125rem;
  padding: .0625rem .5rem .125rem;
  background-color: hsla(0, 0%, 100%, .15);
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.casePickup__profile {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  margin-top: 2rem
}
.casePickup__name {
  margin-top: .25rem;
  color: #fff;
  font-size: .875rem
}
.casePickup__name, .casePickup__name small {
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500
}
.casePickup__name small {
  font-size: .75rem
}
.casePickup__logo {
  overflow: hidden;
  position: relative;
  flex: 0 0 auto;
  border-radius: .25rem;
  aspect-ratio: 105/70
}
.casePickup__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.casePickup__view {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  color: #fff;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 700
}
.casePickup__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 560/420
}
.casePickup__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.caseSingleHeader {
  background: linear-gradient(270deg, #062d59, #045792)
}
.caseSingleHeader__content {
  width: 100%
}
.caseSingleHeader__text {
  position: relative;
  padding-left: 1em;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 700
}
.caseSingleHeader__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .1875rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.caseSingleHeader__list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .375rem;
  column-gap: .375rem;
  row-gap: .375rem
}
.caseSingleHeader__item {
  font-size: 0
}
.caseSingleHeader__link {
  border-radius: .125rem;
  padding: .0625rem .5rem .125rem;
  background-color: hsla(0, 0%, 100%, .15);
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.caseSingleHeader__heading {
  margin-top: 1rem
}
.caseSingleHeader__profile {
  display: flex;
  align-items: center;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  position: relative
}
.caseSingleHeader__profile:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  border-top-left-radius: .5px;
  border-bottom-left-radius: .5px;
  background-color: hsla(0, 0%, 90%, .1)
}
.caseSingleHeader__logo {
  overflow: hidden;
  position: relative;
  border-radius: .25rem;
  flex: 0 0 auto
}
.caseSingleHeader__logo:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: .25rem;
  border: 1px solid #e6e6e6;
  margin: auto
}
.caseSingleHeader__name {
  margin-top: .375rem
}
.caseSingleHeader__img {
  overflow: hidden;
  border-radius: .25rem
}
.caseSingleBody__lead {
  position: relative;
  z-index: 1;
  border-radius: .25rem;
  margin-top: -5rem;
  margin-left: auto;
  background-color: #f5f5f5
}
.caseSingleBody__lead p {
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.caseSingleBody__lead p + p {
  margin-top: .75rem
}
.caseSingleBody__primary {
  display: flex
}
.caseSingleBodyShare {
  flex: 0 0 auto
}
.caseSingleBodyShare__text {
  position: relative;
  padding-left: 1rem;
  font-family: Montserrat, sans-serif;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 600
}
.caseSingleBodyShare__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .1875rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.caseSingleBodyShare__link {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  margin: 0 auto;
  background-color: #f5f5f5
}
.caseSingleBodyShare__link svg {
  display: block;
  width: 1.1875rem;
  height: 1.125rem
}
.caseSingleBodyContent__inner img {
  overflow: hidden;
  display: block;
  border-radius: .25rem
}
.caseSingleBodyContent__inner .moderator, .caseSingleBodyContent__inner .moderator p {
  position: relative
}
.caseSingleBodyContent__inner .moderator p:before {
  content: "";
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.caseSingleBodyContent__arrow svg {
  transform: scaleX(-1)
}
.caseSingleBodyContentInfo {
  position: relative
}
.caseSingleBodyContentInfo:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background-color: #e6e6e6
}
.caseSingleBodyContentInfo__note {
  position: relative;
  padding-left: 1em;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.caseSingleBodyContentInfo__note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.caseSingleBodyContentInfo__company {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.caseSingleBodyContentInfo__companyLogo {
  overflow: hidden;
  flex: 0 0 auto;
  position: relative;
  border-radius: .25rem
}
.caseSingleBodyContentInfo__companyLogo:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border: 1px solid #e6e6e6;
  border-radius: .25rem
}
.caseSingleBodyContentInfo__companyLink {
  background-image: linear-gradient(#999, #999);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  word-break: break-all
}
.caseSingleBodyContentInfo__contact {
  overflow: hidden;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: .25rem;
  background-color: #0296d6
}
.caseSingleBodyContentInfo__contact:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background: linear-gradient(270deg, #003e88, #006bb0 56%, #0198d8);
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.caseSingleBodyContentInfo__contact .text {
  position: relative;
  z-index: 1
}
.caseSingleBodyContentInfo__contact .circle {
  margin: auto
}
.caseSingleBodyContentInfo__introduction {
  position: relative
}
.caseSingleBodyContentInfo__introduction:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background-color: #e6e6e6
}
.caseSingleBodyContentInfo__introductionText {
  text-align: center
}
.caseSingleBodyContentInfo__introductionInner {
  display: flex
}
.caseSingleBodyContentInfo__introductionDatail {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: .25rem;
  background-color: #1c1c1c;
  text-align: center
}
.caseSingleBodyContentInfo__introductionDatail.c-hover-dot-small-wh .circle {
  inset: 0 1.5rem 0 auto;
  margin: auto
}
.caseSingleBodyContentInfo__introductionDatail.c-hover-dot-small-wh .circle .arrow {
  background-image: url(/assets/img/common/icon_arrow_simple_black.svg)
}
.caseSingleBodyContentInfo__introductionDocument {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: .25rem;
  background-color: #003e88;
  text-align: center
}
.caseSingleBodyContentInfo__introductionDocument:before {
  content: "";
  display: block;
  position: absolute;
  width: .8125rem;
  height: .8125rem;
  margin: auto;
  background-image: url(/assets/img/common/icon_blank.svg);
  background-size: contain
}
.caseSingleSimilar {
  overflow: hidden
}
.caseSingleSimilar__wrapper {
  position: relative
}
.caseSingleSimilar__wrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: #fff
}
.caseSingleSimilar__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.caseSingleSimilar__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.caseSingleSimilar__slider .splide__track {
  overflow: visible
}
.caseSingleSimilar__slider .splide__pagination {
  display: none
}
.caseSingleSimilar__link {
  display: block
}
.caseSingleSimilar__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 310/232
}
.caseSingleSimilar__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.caseSingleSimilar__text {
  margin-top: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden
}
.caseSingleSimilar__detail {
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 1rem
}
.caseSingleSimilar__item {
  display: flex
}
.caseSingleSimilar__item + .caseSingleSimilar__item {
  margin-top: .5rem
}
.caseSingleSimilar__term {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 4.125rem;
  height: 1.375rem;
  border-radius: .125rem;
  background-color: #f5f5f5;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.caseSingleSimilar__description {
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.caseSingleSimilar__back {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.caseSingleSimilar__control {
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem
}
.caseSingleSimilar__control, .caseSingleSimilar__counter {
  display: flex;
  align-items: center
}
.caseSingleSimilar__counter .current {
  color: #003e88
}
.caseSingleSimilar__counter .current, .caseSingleSimilar__counter .total {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 500;
  font-family: Montserrat, sans-serif
}
.caseSingleSimilar__counter .total {
  color: #999
}
.caseSingleSimilar__counter .line {
  width: 1.875rem;
  height: 1px;
  border-radius: .5px;
  margin-left: .625rem;
  margin-right: .625rem;
  background-color: #999
}
.caseSingleSimilar__arrows {
  display: flex
}
.caseSingleSimilar__arrows .splide__arrow[disabled] {
  border-color: #999;
  pointer-events: none
}
.caseSingleSimilar__arrows .splide__arrow[disabled] .arrow:before {
  background-image: url(/assets/img/common/icon_arrow_gray.svg)
}
.caseSingleSimilar__arrows .splide__arrow--prev {
  transform: scaleX(-1)
}
.caseInterview__header {
  position: relative
}
.caseInterview__heading {
  position: relative;
  padding-left: .75rem;
  font-size: 1.125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.caseInterview__heading:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: 3px;
  height: 1.25rem;
  border-radius: 1.5px;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.caseInterview__tagText {
  position: relative;
  padding-left: .75rem;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 700
}
.caseInterview__tagText:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.caseInterview__link {
  display: block
}
.caseInterview__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 250/190
}
.caseInterview__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.caseInterview__content {
  margin-top: 1rem
}
.caseInterview__tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: .25rem;
  column-gap: .25rem;
  row-gap: .25rem;
  margin-top: 1rem
}
.caseInterview__tagItem {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: .125rem;
  padding: .0625rem .5rem .125rem;
  background-color: #f5f5f5;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.caseInterview__title {
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.caseInterview__inner {
  margin-top: .75rem
}
.caseInterview__comapny, .caseInterview__name {
  color: #003e88;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.caseInterviewTag {
  display: flex;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  row-gap: 1rem;
  z-index: 10
}
.caseInterviewTag__item {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: .1875rem;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.caseInterviewTag__item.is-current {
  display: none
}
.caseInterviewTag__text {
  flex: 0 0 auto;
  position: relative;
  margin-top: .75rem;
  padding-left: .75rem;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 700
}
.caseInterviewTag__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.caseInterviewTag__boxInner {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.caseInterviewTag__inner {
  overflow: hidden;
  height: 0;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.caseInterviewTag__button {
  position: relative;
  width: 100%;
  color: #999;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.caseInterviewTag__button .text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden
}
.caseInterviewTag__button .circle {
  position: absolute;
  inset: 0 .75rem 0 auto;
  border: 1px solid #e6e6e6;
  margin: auto;
  background-color: #fff;
  pointer-events: none;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.caseInterviewTag__button .circle .arrow {
  transform: rotate(90deg);
  margin-top: .125rem;
  margin-left: 0
}
.caseInterviewTag__button.is-active .circle {
  transform: rotate(180deg)
}
.caseInterviewTag__button.is-active + .caseInterviewTag__inner .caseInterviewTag__link {
  opacity: 1;
  transition: color .3s cubic-bezier(.33, 1, .68, 1), opacity .3s cubic-bezier(.33, 1, .68, 1) .1s
}
.caseInterviewTag__list {
  display: flex;
  flex-direction: column-reverse;
  row-gap: .625rem
}
.caseInterviewTag__link, .caseInterviewTag__list {
  color: #999;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.6;
  font-weight: 500
}
.caseInterviewTag__link {
  opacity: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden
}
.casetPerformance__tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: .25rem;
  column-gap: .25rem;
  margin: 0 auto
}
.casetPerformance__tabItem {
  display: grid;
  place-items: center;
  position: relative;
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
  background-color: #999;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1);
  cursor: pointer
}
.casetPerformance__tabItem .icon {
  display: block;
  position: absolute;
  inset: auto 0 -.375rem 0;
  width: 1rem;
  height: .625rem;
  margin: auto;
  opacity: 0;
  transform: translateY(-100%)
}
.casetPerformance__tabItem .icon svg {
  display: block;
  width: 1rem;
  height: .625rem;
  fill: #003e88
}
.casetPerformance__tabItem[aria-selected=true] {
  background-color: #003e88
}
.casetPerformance__tabItem[aria-selected=true] .icon {
  opacity: 1;
  transform: translateY(0);
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.casetPerformance__tabItem:focus {
  outline: none
}
.casetPerformance__body {
  display: none;
  background-color: #f5f5f5
}
.casetPerformance__body.react-tabs__tab-panel--selected {
  display: block
}
.casetPerformance__body.react-tabs__tab-panel--selected .casetPerformance__inner {
  animation: show .5s cubic-bezier(.33, 1, .68, 1)
}
.casetPerformance__table {
  position: relative
}
.casetPerformance__table table {
  width: 100%;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  border-spacing: 0;
  background-color: #fff
}
.casetPerformance__table table tr {
  counter-increment: listNum
}
.casetPerformance__table table tr > td:first-child:before {
  content: counter(listNum, decimal-leading-zero);
  font-size: 1em;
  font-weight: 500
}
.casetPerformance__table table tr > td:first-child, .casetPerformance__table table tr > th:first-child {
  font-family: Montserrat, sans-serif;
  text-align: center
}
.casetPerformance__table table tr > td:nth-child(2), .casetPerformance__table table tr > th:nth-child(2) {
  border-right: 1px solid #e6e6e6;
  text-align: left
}
.casetPerformance__table table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.casetPerformance__table table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.casetPerformance__table table tr:nth-child(n+11) {
  display: none
}
.casetPerformance__table table td, .casetPerformance__table table th {
  border-left: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6
}
.casetPerformance__table table td a, .casetPerformance__table table th a {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: .3125rem;
  color: #003e88;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.casetPerformance__table table td a:before, .casetPerformance__table table th a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #003e88;
  transform-origin: 0 0
}
.casetPerformance__table table th {
  color: #fff;
  background-color: #062d59
}
.casetPerformance__table table th:first-child {
  border-top-left-radius: .25rem
}
.casetPerformance__table table th:last-child {
  border-top-right-radius: .25rem
}
.casetPerformance__table.is-active tr:nth-child(n+11) {
  display: table-row
}
.casetPerformance__table.is-active + .casetPerformance__more .text:before {
  content: "閉じる"
}
.casetPerformance__table.is-active + .casetPerformance__more .circle {
  transform: rotate(-90deg)
}
.casetPerformance__tableNote {
  position: absolute;
  right: 0
}
.casetPerformance__more {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.casetPerformance__more .text:before {
  content: "もっと見る";
  display: block;
  font-size: 1em
}
.casetPerformance__more .circle {
  transform: rotate(90deg)
}
.casetPerformance .serviceNameLineup__header {
  max-width: 75rem;
  margin: 0 auto;
  padding: 3.75rem 2.5rem 0
}
.faqHeader.loaded .faqHeader__group:before, .faqHeader.loaded .faqHeader__inner:before {
  transform: scaleX(1)
}
.faqHeader__inner {
  position: relative
}
.faqHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.faqHeader__group:before, .faqHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.faqHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.faqHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.faqHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.faqHeader__headingJp {
  display: block
}
.faqHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.faqHeader__lead a {
  position: relative
}
.faqHeader__lead a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.faqHeader__list {
  display: flex;
  flex-wrap: wrap
}
.faqHeader__link {
  display: flex;
  align-items: center;
  position: relative;
  border-radius: .25rem;
  background-color: #003e88
}
.faqHeader__link .arrow {
  display: block;
  position: absolute;
  transform: rotate(90deg);
  width: .5rem;
  height: .75rem;
  margin: auto;
  stroke: #fff
}
.faqBody__heading {
  position: relative;
  font-size: 1.125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.faqBody__heading:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  height: 1.5rem;
  border-radius: 1.5px;
  margin: auto;
  background: linear-gradient(0deg, #0099d9, #004788)
}
.faqBody__list {
  margin-top: 2.25rem
}
.faqBody__item {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.faqBody__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  cursor: pointer
}
.faqBody__question:before {
  content: "Q.";
  display: block;
  position: absolute;
  font-family: Montserrat, sans-serif
}
.faqBody__question .button {
  flex: 0 0 auto;
  position: relative;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88
}
.faqBody__question .button:after, .faqBody__question .button:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  margin: auto;
  background-color: #fff
}
.faqBody__question .button:after {
  transform: rotate(90deg)
}
.faqBody__question.is-active .button {
  background-color: transparent
}
.faqBody__question.is-active .button:before {
  background-color: #003e88
}
.faqBody__question.is-active .button:after {
  opacity: 0
}
.faqBody__answer {
  position: relative;
  overflow: hidden;
  height: 0;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.faqBody__answer:before {
  content: "A.";
  display: block;
  position: absolute;
  font-family: Montserrat, sans-serif
}
.faqBody__answerInner {
  display: block;
  position: relative
}
.faqBody__answerInner:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 1px;
  background-color: #e6e6e6
}
.faqBody__answerInner a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(#999, #999);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  animation: line .3s cubic-bezier(.33, 1, .68, 1) forwards
}
.faqBody__answerInner a:hover {
  animation: lineOut .3s cubic-bezier(.33, 1, .68, 1) forwards;
  color: #999
}
.columnHeader.loaded .columnHeader__group:before, .columnHeader.loaded .columnHeader__inner:before {
  transform: scaleX(1)
}
.columnHeader__inner {
  position: relative
}
.columnHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.columnHeader__group:before, .columnHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.columnHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.columnHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.columnHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.columnHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.columnHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.columnCategory {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.columnCategory__text {
  display: flex;
  align-items: center;
  -moz-column-gap: .75rem;
  column-gap: .75rem
}
.columnCategory__textEn {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.columnCategory__textEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: .125rem auto 0 0;
  width: 2px;
  border-radius: 1px;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.columnCategory__textJp {
  display: block;
  margin-top: .125rem;
  color: #003e88;
  font-size: .625rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 700
}
.columnCategory__list {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  row-gap: .5rem;
  margin-top: 1.25rem
}
.columnCategory__link {
  display: grid;
  place-items: center;
  height: 1.375rem;
  border-radius: .6875rem;
  padding: 0 .625rem .125rem;
  background-color: #003e88;
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.columnCategory__link.is-current {
  background-color: #072f5b;
  pointer-events: none
}
.columnCategory__keyword {
  border-top: 1px solid #e6e6e6
}
.columnCategory__keywordText {
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.columnCategory__keywordList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  row-gap: .625rem
}
.columnCategory__keywordItem {
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.columnCategory__keywordLink {
  display: block;
  position: relative;
  padding-bottom: .1875rem;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.columnCategory__keywordLink:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #222;
  transform-origin: 0 100%;
  transform: scaleX(1)
}
.columnCategory__keywordLink.is-current {
  color: #003e88;
  pointer-events: none
}
.columnCategory__keywordLink.is-current:before {
  transform: scaleX(0);
  transform-origin: 100% 100%
}
.columnCategory__beginnersText {
  position: relative;
  padding-left: 1em;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.columnCategory__beginnersText:before {
  content: "";
  display: block;
  position: absolute;
  top: .5rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.columnCategory__beginnersLink {
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 4.5rem;
  border-radius: .25rem;
  background-color: #003e88
}
.columnCategory__beginnersLink:before {
  content: "";
  display: block;
  position: absolute;
  right: 3.25rem;
  bottom: -2.25rem;
  width: 5.375rem;
  height: 5.625rem;
  background-image: url(/assets/img/common/logo_symbol_gradation.svg);
  background-size: cover
}
.columnCategory__beginnersLink .text {
  position: relative
}
.columnList__link {
  display: block
}
.columnList__img {
  overflow: hidden;
  border-radius: .25rem;
  aspect-ratio: 340/255
}
.columnList__img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%
}
.columnList__category {
  display: grid;
  place-items: center;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.375rem;
  border-radius: .6875rem;
  padding: 0 .625rem .125rem;
  background-color: #003e88;
  color: #fff;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.columnList__tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  row-gap: .375rem
}
.columnList__tagItem {
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: .1875rem;
  font-size: .75rem;
  opacity: .7
}
.columnList__tagItem, .columnList__tagText {
  position: relative;
  letter-spacing: .04em;
  line-height: 1
}
.columnList__tagText {
  padding-left: .75rem;
  font-size: .875rem;
  font-weight: 700
}
.columnList__tagText:before {
  content: "";
  display: block;
  position: absolute;
  top: .3125rem;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.columnList__title {
  margin-top: .75rem
}
.columnList__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  row-gap: 8
}
.columnList__data {
  font-family: Montserrat, sans-serif;
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.singleColumn__inner {
  position: relative
}
.singleColumn__backLink {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.singleColumnContent__header {
  border-bottom: 1px solid #e6e6e6
}
.singleColumnContent__meta {
  display: flex;
  align-items: center;
  -moz-column-gap: .75rem;
  column-gap: .75rem
}
.singleColumnContent__date {
  font-family: Montserrat, sans-serif;
  color: #1f1c1c;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.singleColumnContent__status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-bottom: 1rem
}
.singleColumnContent__category {
  border-radius: .6875rem;
  padding: .125rem .625rem .1875rem;
  background-color: #003e88;
  color: #fff;
  font-size: .6875rem;
  line-height: 1.5
}
.singleColumnContent__category, .singleColumnContent__tag {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: .06em;
  font-weight: 400
}
.singleColumnContent__tag {
  position: relative;
  font-size: .75rem;
  line-height: 1.6
}
.singleColumnContent__tag:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.singleColumnContent__body {
  overflow: hidden
}
.singleColumnContent__body .img, .singleColumnContent__body .kv {
  overflow: hidden;
  border-radius: .25rem
}
.singleColumnContent__body :where(h3) + p {
  margin-top: 1.25rem
}
.singleColumnContent__body * + .block {
  margin-top: 4rem
}
.singleColumnContent__body * + .img {
  margin-top: 1.25rem
}
.singleColumnContent__body h2 {
  position: relative;
  border-bottom: 1px solid #e6e6e6
}
.singleColumnContent__body h2:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1.5px;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.singleColumnContent__body h3 {
  position: relative
}
.singleColumnContent__body h3:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  border-radius: 50%;
  background: linear-gradient(270deg, #003e88, #016db2 61%, #0197d7)
}
.singleColumnContent__body h4 {
  position: relative
}
.singleColumnContent__body ul:not([class]) > li {
  position: relative;
  padding-left: 1em
}
.singleColumnContent__body ul:not([class]) > li:before {
  content: "";
  display: block;
  position: absolute;
  top: .75rem;
  left: 0;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  background-color: #003e88
}
.singleColumnContent__body ul:not([class]) > li + li {
  margin-top: .5rem
}
.singleColumnContent__body ol:not([class]) {
  counter-reset: number 0
}
.singleColumnContent__body ol:not([class]) > li {
  position: relative;
  padding-left: 1em
}
.singleColumnContent__body ol:not([class]) > li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  display: block;
  position: absolute;
  margin-left: -1.2em;
  font-size: 1em;
  color: #003e88
}
.singleColumnContent__body ol:not([class]) > li + li {
  margin-top: .5rem
}
.singleColumnContent__body ul.note {
  margin-top: 1rem
}
.singleColumnContent__body ul.note > li {
  position: relative;
  padding-left: 1em;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.5
}
.singleColumnContent__body ul.note > li:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.singleColumnContent__body ul.note > li + li {
  margin-top: .25rem
}
.singleColumnContent__body p:not([class]) sup {
  display: block;
  margin-top: -1.25rem;
  line-height: unset
}
.singleColumnContent__body a {
  background-image: linear-gradient(#222, #222);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  word-break: break-all
}
.singleColumnContent__body > a {
  display: block;
  width: -moz-fit-content;
  width: fit-content
}
.singleColumnContent__body .box {
  border-radius: .25rem;
  background-color: #f5f5f5
}
.singleColumnContent__body .table {
  width: 100%
}
.singleColumnContent__body .table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  width: auto;
  border-spacing: 0;
  border-collapse: collapse
}
.singleColumnContent__body .table small {
  display: block
}
.singleColumnContent__body .table td, .singleColumnContent__body .table th {
  border: 1px solid #e6e6e6;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1.5;
  font-weight: 400
}
.singleColumnContent__body .table th {
  padding: .75rem 2.5rem;
  background-color: #f5f5f5
}
.singleColumnContent__body .table td {
  padding: .75rem 2.5rem;
  background-color: #fcfcfc
}
.singleColumnContent__body .table td:first-child {
  white-space: nowrap
}
.singleColumnContent__body .img img {
  border: 1px solid #e6e6e6
}
.singleColumnContent__body p + p {
  margin-top: 0
}
.singleColumnContent__body .center {
  text-align: center
}
.singleColumnContent__index {
  position: relative;
  margin-top: 3rem
}
.singleColumnContent__index.is-active .singleColumnContent__indexMore:before {
  display: none
}
.singleColumnContent__index.is-active .singleColumnContent__indexButton .circle {
  transform: rotate(-90deg)
}
.singleColumnContent__indexCotnent, .singleColumnContent__indexCotnentSmall {
  overflow: hidden;
  transition: height .3s cubic-bezier(.33, 1, .68, 1)
}
.singleColumnContent__indexInner, .singleColumnContent__indexInnerSmall {
  position: relative;
  border-radius: .25rem;
  background-color: #f5f5f5
}
.singleColumnContent__indexText {
  position: relative;
  padding-left: 1em
}
.singleColumnContent__indexText:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: .375rem;
  height: .375rem;
  border-radius: 50%;
  background-color: #003e88
}
.singleColumnContent__indexList {
  counter-reset: number 0
}
.singleColumnContent__indexItem {
  position: relative;
  font-weight: 700;
  padding-left: 1.5rem
}
.singleColumnContent__indexItem:before {
  counter-increment: number 1;
  content: counter(number) ".";
  display: block;
  position: absolute;
  left: 0;
  font-size: 1em;
  color: #003e88
}
.singleColumnContent__indexItem a {
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.singleColumnContent__indexItem + .singleColumnContent__indexItem {
  margin-top: .75rem
}
.singleColumnContent__indexSub {
  margin-top: .25rem
}
.singleColumnContent__indexSubItem {
  position: relative;
  padding-left: 1em;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.singleColumnContent__indexSubItem:before {
  content: "・";
  position: absolute;
  margin-left: -1em;
  color: #003e88;
  font-size: 1em;
  font-weight: 700
}
.singleColumnContent__indexSubItem + .singleColumnContent__indexSubItem {
  margin-top: .25rem
}
.singleColumnContent__indexMore {
  position: absolute;
  left: 0;
  bottom: 2rem;
  width: 100%
}
.singleColumnContent__indexMore:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 6.25rem;
  margin: auto;
  background: linear-gradient(0deg, #f5f5f5, #f5f5f5 72%, transparent);
  border-radius: 0 0 4px 4px
}
.singleColumnContent__indexMore:after {
  content: "";
  display: block;
  position: absolute;
  inset: 1px 0 0 0;
  width: calc(100% - 7.5rem);
  height: 1px;
  margin: auto;
  background-color: #e6e6e6
}
.singleColumnContent__indexButton {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 1.25rem;
  background-color: #f5f5f5;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.singleColumnContent__arrow svg {
  transform: scaleX(-1)
}
.singleColumnContent__inner img {
  margin-bottom: 1.5rem
}
.singleColumnShare__text {
  position: relative;
  padding-left: 1rem;
  font-family: Montserrat, sans-serif;
  font-size: .875rem;
  letter-spacing: .06em;
  line-height: 1;
  font-weight: 600
}
.singleColumnShare__text:before {
  content: "";
  display: block;
  position: absolute;
  top: .1875rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.singleColumnShare__link {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  margin: 0 auto;
  background-color: #f5f5f5
}
.singleColumnShare__link svg {
  display: block;
  width: 1.1875rem;
  height: 1.125rem
}
.introductionHeader.loaded .introductionHeader__group:before, .introductionHeader.loaded .introductionHeader__inner:before {
  transform: scaleX(1)
}
.introductionHeader__inner {
  position: relative
}
.introductionHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.introductionHeader__group:before, .introductionHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.introductionHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.introductionHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.introductionHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.introductionHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.introductionHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.introductionHeader__list {
  display: flex;
  flex-wrap: wrap
}
.introductionHeader__link {
  display: flex;
  align-items: center;
  position: relative;
  border-radius: .25rem;
  background-color: #003e88
}
.introductionHeader__link .arrow {
  display: block;
  position: absolute;
  transform: rotate(90deg);
  width: .5rem;
  height: .75rem;
  margin: auto;
  stroke: #fff
}
.introductionBody__tab {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  margin: 0 auto
}
.introductionBody__tabItem {
  display: grid;
  place-items: center;
  flex: 1 1 auto;
  position: relative;
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
  background-color: #999;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1);
  cursor: pointer
}
.introductionBody__tabItem:before {
  content: "";
  display: block;
  position: absolute;
  inset: auto 0 -.4375rem 0;
  transform: translateY(-100%);
  width: 1rem;
  height: .625rem;
  background-image: url(/assets/img/common/icon_triangle2.svg);
  background-size: cover;
  margin: auto;
  opacity: 0
}
.introductionBody__tabItem[aria-selected=true] {
  background-color: #003e88
}
.introductionBody__tabItem[aria-selected=true]:before {
  opacity: 1;
  transform: translateY(0);
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.introductionBody__tabItem:focus {
  outline: none
}
.introductionBody__continer {
  background-color: #f5f5f5
}
.introductionBody__panel {
  display: none
}
.introductionBody__panel.react-tabs__tab-panel--selected {
  display: block
}
.introductionBody__panel.react-tabs__tab-panel--selected .introductionBody__block {
  animation: show .5s cubic-bezier(.33, 1, .68, 1)
}
.introductionBody__block {
  position: relative
}
.introductionBody__inner {
  display: flex;
  flex-direction: column;
  position: relative
}
.introductionBody__inner:before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  background: linear-gradient(0, #08c2db, #09477d)
}
.introductionBody__block.--type2 .introductionBody__inner:before {
  height: calc(100% - 2.5rem)
}
.introductionBody__block.--type2 .introductionBody__inner:after {
  bottom: 2.375rem
}
.introductionBody__section {
  position: relative;
  z-index: 1
}
.introductionBody__progress {
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.introductionBody__icon {
  flex: 0 0 auto;
  position: relative;
  border-radius: 50%;
  background: linear-gradient(270deg, #072e5b, #09609e)
}
.introductionBody__icon.--after {
  background: linear-gradient(270deg, #00bfd9, #a3eaf3)
}
.introductionBody__icon.--after:before {
  background-color: #09adcc
}
.introductionBody__icon.--end {
  background: linear-gradient(270deg, #868686, #d2d2d2)
}
.introductionBody__heading > small:is(.ml0) {
  display: block;
  margin-left: 0
}
.introductionBody__Categoryheading {
  position: relative
}
.introductionBody__Categoryheading:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.introductionBody__Categoryheading small {
  display: block
}
.introductionBody__link {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.introductionBody__box {
  border-radius: .25rem;
  background-color: #e6e6e6
}
.introductionBody__boxItem {
  position: relative;
  padding-left: 1em
}
.introductionBody__boxItem:before {
  content: "・";
  display: block;
  position: absolute;
  margin-left: -1em;
  font-size: 1em;
  font-weight: 600
}
.introductionBody__note {
  position: relative;
  padding-left: 1em
}
.introductionBody__note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.introductionBody__sectionGroup.--spLast .introductionBody__section:nth-child(2) {
  order: 2
}
.introductionBody__sectionGroup.--spLast .introductionBody__section:nth-child(2):after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -1.25rem;
  width: 1.25rem;
  height: calc(100% - 1.9375rem);
  background-color: #f5f5f5
}
.introductionBody__case, .introductionBody__caseItem + .introductionBody__caseItem {
  margin-top: 1.5rem
}
.introductionBody__caseItem :last-child {
  margin-bottom: unset
}
.introductionBody__caseTerm {
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.introductionBody__caseDescription {
  margin-top: .75rem;
  margin-bottom: 1.5rem;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.introductionBodyNav {
  position: relative;
  background-color: #fff
}
.introductionBodyNav__wrapper {
  margin: 0 auto
}
.introductionBodyNav__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
.introductionBodyNav__linkItem {
  position: absolute;
  display: block
}
.introductionBodyNav__linkItem .circle {
  position: absolute;
  margin: auto
}
.introductionBodyNav__before {
  position: relative
}
.introductionBodyNav__beforeText {
  color: #062d59;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 400
}
.introductionBodyNav__beforeItem {
  position: relative;
  border-radius: .25rem;
  background-color: #062d59;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.introductionBodyNav__beforeItem .main {
  display: block
}
.introductionBodyNav__beforeItem small {
  display: block;
  color: #fff;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 400
}
.introductionBodyNav__beforeItem:nth-child(n+2):before {
  content: "";
  display: block;
  position: absolute
}
.introductionBodyNav__beforeItem .circle {
  transform: rotate(90deg);
  position: absolute;
  margin: auto
}
.introductionBodyNav__beforeLink {
  display: block;
  height: 100%;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.introductionBodyNav__after {
  position: relative
}
.introductionBodyNav__afterText {
  color: #062d59;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 400
}
.introductionBodyNav__afterList {
  display: grid
}
.introductionBodyNav__afterItem {
  position: relative;
  width: 100%;
  border-radius: .25rem;
  background-color: #a4ebf4;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.introductionBodyNav__afterItem .main {
  display: block
}
.introductionBodyNav__afterItem small {
  display: block;
  color: #003e88;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 400
}
.introductionBodyNav__afterItem .main + small {
  margin-top: .5rem
}
.introductionBodyNav__afterItem:nth-child(2):before {
  transform: translateX(-100%)
}
.introductionBodyNav__afterItem:nth-child(2):before, .introductionBodyNav__afterItem:nth-child(3):before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-image: url(/assets/img/common/icon_introduction_triangle.svg);
  background-size: contain
}
.introductionBodyNav__afterItem:nth-child(4) {
  background-color: #e6e6e6
}
.introductionBodyNav__afterItem:nth-child(4):before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-image: url(/assets/img/common/icon_introduction_triangle_gray.svg);
  background-size: contain
}
.introductionBodyNav__afterItem:nth-child(4) small {
  margin-top: .125rem;
  color: #003e88;
  font-size: .6875rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700
}
.introductionBodyNav__afterItem:nth-child(5):before {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  background-image: url(/assets/img/common/icon_introduction_triangle.svg);
  background-size: contain
}
.introductionBodyNav__afterItem .circle {
  transform: rotate(90deg);
  position: absolute;
  margin: auto
}
.introductionBodyNav__afterLink {
  display: block;
  height: 100%;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.priceHeader.loaded .priceHeader__group:before, .priceHeader.loaded .priceHeader__inner:before {
  transform: scaleX(1)
}
.priceHeader__inner {
  position: relative
}
.priceHeader__inner:before {
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.priceHeader__group:before, .priceHeader__inner:before {
  display: block;
  position: absolute;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.priceHeader__group:before {
  bottom: -1px;
  height: .1875rem;
  border-radius: .09375rem;
  color: transparent;
  background: linear-gradient(90deg, #0099d9, #004788);
  pointer-events: none
}
.priceHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.priceHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.priceHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.priceHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceBody, .priceSide__text {
  position: relative
}
.priceSide__text {
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1
}
.priceSide__text:before {
  content: "";
  display: block;
  position: absolute
}
.priceSide__item:last-child .priceSide__link {
  padding-top: 0
}
.priceSide__link {
  position: relative
}
.priceSide__link:before {
  content: "";
  display: block;
  position: absolute
}
.priceSide__link .text {
  display: block;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.priceSide__link.is-active {
  color: #222
}
.priceSide__link.is-active:before {
  opacity: 1;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.priceSide__link.is-active .text {
  transform: translateX(1em)
}
.priceSide__inner {
  position: relative;
  margin-top: .5rem;
  margin-left: 1rem;
  padding-left: .75rem
}
.priceSide__inner:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  border-radius: .5px;
  background-color: #999
}
.priceSide__inner > a {
  display: block;
  color: #999;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500;
  transition: color .3s cubic-bezier(.33, 1, .68, 1)
}
.priceSide__inner > a.is-active {
  color: #222
}
.priceSide__inner > a + a {
  margin-top: .5rem
}
.priceContent__block.--gray {
  background-color: #f5f5f5
}
.priceContent__blockHeading {
  font-size: 1.75rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700
}
.priceContent__heading {
  position: relative
}
.priceContent__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.priceContent__heading small {
  display: block
}
.priceContent__headingSub {
  position: relative
}
.priceContent__headingSub:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.priceContent__textSmall {
  margin-top: .75rem;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceContent__table {
  overflow-x: auto
}
.priceContent__table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  width: 57.5rem;
  border-spacing: 0
}
.priceContent__table tr:not(:first-child) td {
  border-top: 1px solid #e6e6e6
}
.priceContent__table tr:last-child td {
  border-bottom: 1px solid #062d59
}
.priceContent__table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.priceContent__table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.priceContent__table th {
  width: 14rem;
  height: 7rem;
  border-bottom: none;
  color: #fff;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500;
  background-color: #062d59
}
.priceContent__table th:first-child {
  border-top-left-radius: .25rem
}
.priceContent__table th:last-child {
  border-top-right-radius: .25rem
}
.priceContent__table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.priceContent__table td {
  position: relative;
  width: 14rem;
  height: 5.5rem;
  border-left: 1px solid #e6e6e6;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center
}
.priceContent__table td small {
  display: block;
  margin-top: .25rem;
  font-size: .75rem;
  letter-spacing: .0015em;
  line-height: 1.5
}
.priceContent__table td sup {
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.priceContent__table td:first-child {
  border-left-color: #062d59;
  background-color: #f5f5f5
}
.priceContent__table td:last-child {
  border-right: 1px solid #062d59
}
.priceContent__table td.patented:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.priceContent__table td.circle {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: .3125rem;
  column-gap: .3125rem;
  width: 100%
}
.priceContent__table td.circle:before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  border: 1px solid #003e88
}
.priceContent__table td.not:before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.priceContent__table td.blue {
  color: #003e88
}
.priceContent__tableNote {
  text-align: right;
  color: #7a7a7a;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceContent__img {
  position: relative
}
.priceContent__img img {
  border-radius: .25rem
}
.priceContent__img.--patented:before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.priceContentStructure__option {
  border: 1px solid #e6e6e6;
  border-radius: .25rem
}
.priceContentStructure__heading {
  background-color: #e6e6e6
}
.priceContentStructure__heading > span {
  display: inline-block
}
.priceContentStructure__headingLink {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem
}
.priceContentStructure__headingLink .circle {
  transform: rotate(90deg)
}
.priceContentStructure__detail {
  display: flex;
  justify-content: space-around;
  flex-direction: row;
  gap: 1rem
}
.priceContentStructure__detail:before {
  content: "";
  border: 1px solid hsla(0, 0%, 60%, .2);
  align-self: stretch
}
.priceContentStructure__typeblock {
  display: inline-block
}
.priceContentStructure .--start {
  order: -1
}
.priceContentStructure__upperText {
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceContentStructure__lower {
  background-color: #fff
}
.priceContentStructure__lowerLink {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem
}
.priceContentStructure__lowerLink .circle {
  flex: 0 0 auto
}
.priceContentAbout__box {
  border-radius: .25rem;
  background-color: #e6ecf3
}
.priceContentAbout__wholeHeading {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: .25rem;
  background-color: #003e88
}
.priceContentAbout__wholeItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 1.25rem;
  column-gap: 1.25rem;
  position: relative;
  border-radius: .25rem;
  border: 1px dashed #003e88;
  background-color: #fff
}
.priceContentAbout__wholeItem + .priceContentAbout__wholeItem {
  margin-top: .375rem
}
.priceContentAbout__wholeSource {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  height: 1.25rem;
  border-radius: .625rem;
  padding: 0 .625rem .0625rem;
  background-color: #999
}
.priceContentAbout__trustfee {
  position: relative;
  border-radius: .25rem;
  background-color: #fff
}
.priceContentAbout__trustfeeHeading {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: .25rem;
  background-color: #003e88;
  text-align: center
}
.priceContentAbout__trustfeeGroup + .priceContentAbout__trustfeeGroup {
  margin-top: 1.25rem
}
.priceContentAbout__trustfeeOption p:first-child {
  margin: .625rem 0
}
.priceContentAbout__trustfeeOption + .priceContentAbout__trustfeeOption {
  margin-top: 1.25rem
}
.priceContentAbout__trustfeeType {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 500
}
.priceContentAbout__trustfeeTable {
  overflow-x: auto
}
.priceContentAbout__trustfeeTable table {
  overflow: hidden;
  table-layout: fixed;
  width: 34.875rem;
  border-spacing: 0
}
.priceContentAbout__trustfeeTable table thead th {
  height: 2rem;
  background-color: #062d59;
  color: #fff;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500
}
.priceContentAbout__trustfeeTable table thead th:first-child {
  border-top-left-radius: .25rem
}
.priceContentAbout__trustfeeTable table thead th:last-child {
  border-top-right-radius: .25rem
}
.priceContentAbout__trustfeeTable table thead th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.priceContentAbout__trustfeeTable table tbody td {
  position: relative;
  padding: .375rem 0
}
.priceContentAbout__trustfeeTable table tbody td sup {
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 400
}
.priceContentAbout__trustfeeTable table tbody td.none:before {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1px;
  border-radius: .5px;
  background-color: #222
}
.priceContentAbout__trustfeeTable table tbody td.none sup {
  position: absolute;
  margin-top: .375rem;
  margin-left: .125rem
}
.priceContentAbout__trustfeeTable table tbody tr:first-child td {
  border-left: 1px solid hsla(0, 0%, 60%, .2);
  background-color: #f5f5f5;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center
}
.priceContentAbout__trustfeeTable table tbody tr:first-child td:first-child {
  border-left: 1px solid #062d59
}
.priceContentAbout__trustfeeTable table tbody tr:first-child td:last-child {
  border-right: 1px solid #062d59
}
.priceContentAbout__trustfeeTable table tbody tr:last-child td {
  border-top: 1px solid #e6e6e6;
  border-left: 1px solid hsla(0, 0%, 60%, .2);
  border-bottom: 1px solid #062d59;
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 700;
  text-align: center
}
.priceContentAbout__trustfeeTable table tbody tr:last-child td:first-child {
  border-left: 1px solid #062d59;
  border-bottom-left-radius: .25rem
}
.priceContentAbout__trustfeeTable table tbody tr:last-child td:last-child {
  border-right: 1px solid #062d59;
  border-bottom-right-radius: .25rem
}
.priceContentAbout__note:is(ol) {
  counter-reset: number 0
}
.priceContentAbout__note:is(ol) > li {
  padding-left: 2em
}
.priceContentAbout__note:is(ol) > li:before {
  counter-increment: number 1;
  content: "※"counter(number);
  margin-left: -2em
}
.priceContentAbout__noteItem {
  position: relative;
  padding-left: 1em
}
.priceContentAbout__noteItem:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em;
  line-height: 1.5
}
.priceContentAbout__noteItem + .priceContentAbout__noteItem {
  margin-top: 0
}
.priceContentAbout__link {
  display: flex;
  align-items: center;
  -moz-column-gap: .625rem;
  column-gap: .625rem;
  color: #003e88;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 400
}
.priceContentAbout__trustfeeText {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceContentAbout__trustfeeText > a {
  position: relative;
  background-image: linear-gradient(#222, #222);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.priceContentAbout__trustfeeText > a:hover {
  background-size: 0 1px;
  background-position: 100% 100%
}
.priceContentAbout__trustfeeDetail {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.priceContentExample__tab {
  position: relative
}
.priceContentExample__tabItem {
  position: relative;
  border-radius: .25rem;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  text-align: center;
  cursor: pointer;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1), border-color .3s cubic-bezier(.33, 1, .68, 1)
}
.priceContentExample__tabItem[aria-selected=true] {
  color: #fff;
  border-color: #003e88;
  background-color: #003e88
}
.priceContentExample__tabItem[aria-selected=true]:focus {
  outline: none
}
.priceContentExample__tabItem > span {
  position: relative;
  z-index: 1
}
.priceContentExample__panel {
  display: none
}
.priceContentExample__panel.react-tabs__tab-panel--selected {
  display: block;
  animation: show .5s cubic-bezier(.33, 1, .68, 1)
}
.priceContentExample__table {
  overflow-x: auto;
  width: 100%
}
.priceContentExample__table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  width: 57.5rem;
  border-spacing: 0
}
.priceContentExample__table tr:not(:first-child) td {
  border-top: 1px solid #e6e6e6
}
.priceContentExample__table tr:last-child td {
  border-bottom: 1px solid #062d59
}
.priceContentExample__table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.priceContentExample__table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.priceContentExample__table th {
  width: 14rem;
  height: 3.5rem;
  border-bottom: none;
  color: #fff;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  font-weight: 500;
  background-color: #062d59
}
.priceContentExample__table th:first-child {
  border-top-left-radius: .25rem
}
.priceContentExample__table th:first-child.--2col {
  width: 12.5rem
}
.priceContentExample__table th:first-child.--sub {
  border-top-left-radius: unset;
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.priceContentExample__table th:last-child {
  border-top-right-radius: .25rem
}
.priceContentExample__table th:last-child.--sub {
  border-top-right-radius: unset
}
.priceContentExample__table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2);
  border-bottom: 1px solid hsla(0, 0%, 90%, .2)
}
.priceContentExample__table tr.--2col {
  height: 1.75rem
}
.priceContentExample__table tr.--2col th {
  height: unset;
  padding: .5rem
}
.priceContentExample__table td {
  position: relative;
  width: 14rem;
  height: 5.5rem;
  padding: .5rem;
  border-left: 1px solid #e6e6e6;
  color: #003e88;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center
}
.priceContentExample__table td small {
  margin-top: .25rem;
  font-size: .75rem;
  letter-spacing: .0015em;
  line-height: 1.5
}
.priceContentExample__table td sup {
  font-size: .6875rem;
  letter-spacing: .04em;
  line-height: 1
}
.priceContentExample__table td:first-child {
  border-left-color: #062d59;
  color: #222;
  background-color: #f0f0f0
}
.priceContentExample__table td:not(:first-child) {
  background-color: #fff
}
.priceContentExample__table td:last-child {
  border-right: 1px solid #062d59
}
.priceContentExample__table td.patented:before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  background-image: url(/assets/img/common/icon_patented.svg);
  background-size: cover
}
.priceContentExample__table td.circle {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: .3125rem;
  column-gap: .3125rem;
  width: 100%
}
.priceContentExample__table td.circle:before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 50%;
  border: 1px solid #003e88
}
.priceContentExample__table td.none:before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.priceContentExample__table td.blue {
  color: #003e88
}
.priceContentExample__table sup {
  top: -.1875rem
}
.priceContentExample__trustfeeText {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.priceContentExample__trustfeeText > a {
  position: relative;
  background-image: linear-gradient(#222, #222);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.priceContentExample__trustfeeText > a:hover {
  background-size: 0 1px;
  background-position: 100% 100%
}
.priceContentExample__trustfeeDetail {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #003e88;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.priceContentExample__note:is(ol) {
  counter-reset: number 0
}
.priceContentExample__note:is(ol) > li {
  padding-left: 2em
}
.priceContentExample__note:is(ol) > li:before {
  counter-increment: number 1;
  content: "※"counter(number);
  margin-left: -2em
}
.priceContentExample__noteItem {
  position: relative;
  padding-left: 1em
}
.priceContentExample__noteItem:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em;
  line-height: 1.5
}
.priceContentExample__noteItem + .priceContentExample__noteItem {
  margin-top: 0
}
.priceContentExample__trustfeeNote {
  margin-top: .75rem;
  text-align: right;
  color: #7a7a7a;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.appendixHeader.loaded .appendixHeader__inner:before {
  transform: scaleX(1)
}
.appendixHeader__inner {
  position: relative
}
.appendixHeader__inner:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform-origin: 0 0;
  transform: scaleX(0);
  background-color: #e6e6e6;
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.appendixHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.appendixHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.appendixHeader__headingJp {
  display: block;
  margin-top: .5rem
}
.appendixHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.appendixBody {
  position: relative
}
.appendixBody:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(100% - 5rem);
  height: 1px;
  margin: auto;
  background-color: #e6e6e6
}
.appendixBody__text sup {
  top: -.1875rem
}
.appendixBody__note {
  position: relative;
  padding-left: 1em;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.appendixBody__note:before {
  content: "※";
  position: absolute;
  margin-left: -1em;
  font-size: 1em
}
.appendixBody__table table {
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  table-layout: fixed;
  border-spacing: 0
}
.appendixBody__table a {
  display: flex;
  align-items: center;
  -moz-column-gap: .75rem;
  column-gap: .75rem
}
.appendixBody__table tr:not(:first-child) td {
  border-top: 1px solid #e6e6e6
}
.appendixBody__table tr:last-child td {
  border-bottom: 1px solid #062d59
}
.appendixBody__table tr:last-child td:first-child {
  border-bottom-left-radius: .25rem
}
.appendixBody__table tr:last-child td:last-child {
  border-bottom-right-radius: .25rem
}
.appendixBody__table th {
  border-bottom: none;
  background-color: #062d59
}
.appendixBody__table th:first-child {
  border-top-left-radius: .25rem
}
.appendixBody__table th:nth-child(2) {
  text-align: left
}
.appendixBody__table th:last-child {
  border-top-right-radius: .25rem
}
.appendixBody__table th:not(:first-child) {
  border-left: 1px solid hsla(0, 0%, 90%, .2)
}
.appendixBody__table td {
  position: relative;
  border-left: 1px solid #e6e6e6;
  text-align: center
}
.appendixBody__table td:first-child {
  border-left-color: #062d59;
  font-family: Montserrat, sans-serif
}
.appendixBody__table td:nth-child(2) {
  text-align: left
}
.appendixBody__table td:last-child {
  border-right: 1px solid #062d59
}
.appendixBody__table .mark:before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1px solid #222;
  margin: 0 auto
}
.appendixBody__table .none:before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1px;
  margin: 0 auto;
  background-color: #222
}
.termsHeader.loaded .termsHeader__inner:before {
  transform: scaleX(1)
}
.termsHeader__inner {
  position: relative
}
.termsHeader__inner:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1.2s cubic-bezier(.33, 1, .68, 1) .5s
}
.termsHeader__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.termsHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.termsHeader__headingJp {
  display: block
}
.termsHeader__lead {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.termsBody__text + .termsBody__section {
  margin-top: 3rem
}
.termsBody__heading {
  position: relative;
  padding-bottom: 1.5rem
}
.termsBody__heading:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.termsBody__text > a {
  color: #003e88;
  background-image: linear-gradient(#003e88, #003e88);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.termsBody__contentHeading {
  position: relative
}
.termsBody__contentHeading .number {
  margin-right: .75rem
}
.termsBody__contentList + .termsBody__contentText {
  margin-top: 1rem
}
.termsBody__contentItem {
  position: relative;
  padding-left: 1em
}
.termsBody__contentItem:before {
  content: "・";
  font-size: 1em;
  position: absolute;
  margin-left: -1em;
  color: #003e88;
  font-weight: 700
}
.termsBody__contentItem + .termsBody__contentItem {
  margin-top: .5rem
}
.termsBody__contentText + .termsBody__contentText {
  margin-top: 1rem
}
.termsBody__contentText > a {
  color: #003e88;
  background-image: linear-gradient(#003e88, #003e88);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.termsBody__end {
  margin-top: 2rem
}
.termsBody__list:is(ol) {
  counter-reset: number 0
}
.termsBody__list:is(ol) li {
  padding-left: 1.5em
}
.termsBody__list:is(ol) li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  margin-left: -1.5em
}
* + .termsBody__list {
  margin-top: 1rem
}
.termsBody__heading + .termsBody__list {
  margin-top: 2.5rem
}
.termsBody__item {
  position: relative;
  padding-left: 1em;
  font-size: 1rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.termsBody__item:before {
  content: "・";
  font-size: 1em;
  position: absolute;
  margin-left: -1em;
  color: #003e88;
  font-weight: 700
}
.termsBody__item + .termsBody__item {
  margin-top: .5rem
}
.contactHeader {
  position: relative
}
.contactHeader:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.contactHeader.loaded .contactHeader__heading:before, .contactHeader.loaded:before {
  transform: scaleX(1)
}
.contactHeader__heading:before {
  content: "";
  display: block;
  position: absolute;
  height: .1875rem;
  border-radius: .09375rem;
  background: linear-gradient(90deg, #0099d9, #004788);
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(.5, 1, .89, 1) .2s
}
.contactHeader__heading.--noborder:before {
  content: none
}
.contactHeader__headingEn {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.contactHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.contactHeader__headingJp {
  display: block
}
.contactHeader__heading {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.contactHeader__lead {
  font-size: .8125rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.contactSide__list {
  position: relative
}
.contactSide__list:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background-color: #e6e6e6
}
.contactSide__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  border-radius: 50%;
  border: 1px solid #e6e6e6;
  background-color: #fff
}
.contactSide__item.is-current {
  background-color: #003e88;
  border-color: #003e88
}
.contactSide__item.is-current .contactSide__number, .contactSide__item.is-current .contactSide__text {
  color: #fff
}
.contactSide__number {
  display: block;
  font-family: Montserrat, sans-serif
}
.contactSide__text {
  display: flex
}
.contactForm__header {
  border-bottom: 1px solid #e6e6e6
}
.contactForm__body [data-formrun-back-button]:not(.formrun-system-show), .contactForm__body [data-formrun-show-if-error]:not(.formrun-system-show), .contactForm__body [data-formrun-show-if-success]:not(.formrun-system-show) {
  display: none
}
.contactForm__body .text-danger {
  display: block;
  color: #f03f2b;
  font-size: .75rem;
  letter-spacing: .04em;
  line-height: 1.5
}
.contactForm__block {
  border: none
}
.contactForm__block.--box {
  position: relative;
  border: 1px solid #e6e6e6;
  border-radius: .25rem
}
.contactForm__block.--box:before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 158px;
  transform: translateY(-100%);
  width: 20px;
  height: 12px;
  background-image: url(/assets/img/common/icon_transfer_line.svg);
  background-size: contain;
  background-color: #fff
}
.contactForm__block.is-disable {
  display: none
}
.contactForm__heading {
  display: block
}
.contactForm__radio {
  display: flex;
  flex-wrap: wrap
}
.contactForm__radioButton {
  position: relative
}
.contactForm__radioButton > input:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 2px solid #e6e6e6;
  margin: auto;
  transition: background-color .3s cubic-bezier(.33, 1, .68, 1);
  cursor: pointer
}
.contactForm__radioButton > input:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 .25rem;
  width: .75rem;
  height: .75rem;
  border-radius: 50%;
  margin: auto;
  background-color: #003e88;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1);
  cursor: pointer
}
.contactForm__radioButton > input:checked:after {
  opacity: 1
}
.contactForm__input {
  display: block;
  width: 100%;
  border-radius: .25rem;
  background-color: #f5f5f5
}
.contactForm__input::-moz-placeholder {
  color: #999
}
.contactForm__input::placeholder {
  color: #999
}
.contactForm__textarea {
  width: 100%;
  border-radius: .25rem;
  margin-top: .75rem;
  background-color: #f5f5f5
}
.contactForm__textarea::-moz-placeholder {
  color: #999
}
.contactForm__textarea::placeholder {
  color: #999
}
.contactForm__agree {
  text-align: center
}
.contactForm__agreeInner {
  display: flex;
  justify-content: center;
  align-items: center
}
.contactForm__agreeCheck {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid #e6e6e6;
  border-radius: .25rem;
  cursor: pointer
}
.contactForm__agreeCheck:before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: 1px;
  width: 20px;
  height: 20px;
  background-image: url(/assets/img/common/icon_check.svg);
  background-size: contain;
  opacity: 0;
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.contactForm__agreeCheck:checked:before {
  opacity: 1
}
.contactForm__agreeText {
  padding-left: .75rem
}
.contactForm__agreeText > a {
  background-image: linear-gradient(#222, #222);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
}
.contactForm__item {
  position: relative;
  padding-left: 1em
}
.contactForm__item:before {
  content: "・";
  position: absolute;
  margin-left: -1em;
  font-size: 1em;
  font-weight: 700;
  color: #003e88
}
.contactForm__date, .contactForm__select {
  border-radius: .25rem;
  border: 2px solid #f5f5f5
}
.contactConfirm__item {
  border-bottom: 1px solid #e6e6e6
}
.contactConfirm__item:first-child {
  padding-top: 0
}
.contactConfirm__item.is-disable {
  display: none
}
.contactConfirm__term {
  width: 10rem
}
.contactConfirm__submit {
  display: grid;
  place-items: center;
  position: relative;
  border-radius: .25rem;
  background: linear-gradient(270deg, #003e88, #006bb0 56%, #0198d8)
}
.contactConfirm__submit .circle {
  position: absolute;
  margin: auto
}
.contactComplete__inner {
  border-bottom: 1px solid #e6e6e6
}
.contactComplete__back {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.contactLink__wrapper {
  position: relative
}
.contactLink__submit {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center
}
.contactLink__split, .contactLink__submit {
  width: 100%;
  height: 100%;
  border-radius: .25rem
}
.contactLink__split {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  background-color: #0296d6
}
.contactLink__split:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #003e88, #006bb0 56%, #0198d8);
  transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
}
.contactLink__split .circle {
  position: absolute;
  margin: auto
}
.contactLink__back {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: .125rem;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.contactLink__back:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: #222;
  transform-origin: 0 100%
}
.requestBrochureArea h2 {
  position: relative
}
.requestBrochureArea h2:before {
  width: 3.75rem;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 1.5px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.requestBrochureArea__wrap {
  background-color: #f5f5f5;
  border: 1px solid #e6e6e6;
  border-radius: .25rem;
  padding: 2.5rem
}
.requestBrochureArea__text {
  flex-basis: auto
}
.requestBrochureArea__text p {
  color: #003e88;
  font-weight: 500
}
.requestBrochureArea__text p.outline {
  font-weight: 500;
  color: unset;
  margin-top: 1.25rem
}
.requestBrochureArea__text ul {
  padding-top: .625rem
}
.requestBrochureArea__text li {
  font-size: 1rem;
  letter-spacing: .04rem;
  padding-bottom: .75rem;
  list-style-type: disc;
  margin-left: 1.25rem
}
.requestBrochureArea__text li:last-child {
  padding-bottom: unset
}
.requestBrochureArea__text li::marker {
  color: #003e88
}
.lpHeader .lpHeader__wrapper {
  background: #ccc
}
.lpHeader .lpHeader__inner {
  z-index: 10;
  justify-content: space-between;
  padding: 1.25rem 2rem;
  background-color: #fff
}
.lpHeader .lpHeader__inner, .lpHeader .lpHeader__inner .lpHeader__left {
  display: flex;
  align-items: center
}
.lpHeader__logo {
  width: min(14.307vw, 170px)
}
.lpHeader__logo:hover {
  opacity: .6;
  transition: .3s
}
.lpHeader__textlinkwrapper {
  margin-left: min(4.6153vw, 60px)
}
.lpHeader__textlink {
  font-size: max(1.076vw, 13px);
  margin-left: min(3.0769vw, 40px);
  position: relative;
  letter-spacing: .05rem
}
.lpHeader__textlink:hover {
  opacity: .6;
  transition: .3s
}
.lpHeader__textlink:first-child {
  margin-left: 0
}
.pagelinkIcon {
  top: 50%;
  right: -10px
}
.pagelinkIcon, .pagelinkIcon:before {
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}
.pagelinkIcon:before {
  content: "";
  top: 38%;
  width: 2rem;
  height: 2rem
}
.pagelinkIcon:after {
  content: "";
  position: absolute;
  left: -5px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffcc58;
  border-right: 2px solid #ffcc58;
  transform: rotate(135deg);
  top: -6px
}
.lpHeader__linkBtn {
  width: min(17.538vw, 240px);
  height: min(4.615vw, 60px);
  font-size: min(1.4vw, 16px);
  font-weight: 700;
  background: #003e88;
  padding: min(1vw, 13px);
  border-radius: 10rem;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  line-height: 2;
  letter-spacing: .05rem;
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  transition: .3s
}
.lpHeader__linkBtn:before {
  content: "";
  width: 120%;
  height: 200%;
  position: absolute;
  top: -50%;
  right: 0;
  z-index: -1;
  background: #0296d6;
  border-radius: 0 100% 100% 0;
  transform: translateX(-100%);
  transition: transform .3s ease
}
.lpHeader__linkBtn:hover {
  background: #0296d6
}
.lpHeader__linkBtn:hover:before {
  transform: translateX(10%)
}
.lpHeader__linkBtn .btnIcon {
  right: 28px
}
.lpHeader__linkBtn .btnIcon, .lpHeader__linkBtn .btnIcon:before {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}
.lpHeader__linkBtn .btnIcon:before {
  content: "";
  width: min(2.153vw, 28px);
  height: min(2.153vw, 28px);
  background: #fff;
  border-radius: 2rem
}
.lpHeader__linkBtn .btnIcon:after {
  content: "";
  position: absolute;
  left: -4px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #003e88;
  border-right: 2px solid #003e88;
  transform: rotate(45deg);
  top: -3px
}
.lp_header__StFyj {
  display: flex;
  align-items: center;
  padding: 1rem
}
.lpNav_wrap {
  display: flex;
  margin-left: min(5vw, 50px);
  justify-content: space-between;
  width: 80%
}
.lpNav_itemwrap {
  display: flex;
  align-items: center
}
.lpNav_item {
  margin-right: min(4vw, 40px)
}
.lp_drawerMenu__ISL9R ul {
  text-align: center
}
.lp_drawerMenu__ISL9R ul li {
  margin-top: 25px;
  padding-top: 25px
}
.lp__wrapper {
  overflow: hidden
}
.lpContent .lpContent__wrapper {
  transform: translateY(1px)
}
.lpContent01__wrapper {
  background: #fff
}
.lpContent__inner {
  padding: 6vw 8vw;
  max-width: max(1300px, 2.5vw);
  margin: 0 auto
}
.lpContent__wrapper {
  display: flex;
  justify-content: space-between
}
.lpContent01__wrapper {
  position: relative
}
.lpContent01_backimg {
  position: absolute;
  right: -98px;
  top: -51px
}
.lpContent02_backimg02 {
  position: absolute;
  right: -54px;
  top: 1200px
}
.lpContent02_backimg03 {
  position: absolute;
  left: -54px;
  bottom: 1200px
}
.lpContent02_backimg04 {
  position: absolute;
  right: -54px;
  bottom: 422px
}
.lpContent__heading {
  color: #1f2a34
}
.lpContent02__wrapper {
  position: relative
}
.lpContent02__wrapper .lpContent__heading {
  margin-bottom: min(6.079vw, 44px);
  position: relative
}
.lpContent02__wrapper:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  background-image: url(/assets/img/lp/lp_feature_backimg.svg);
  height: 6vw;
  width: 100%
}
.lpContent02__wrapper .lpContent__innerwrapper {
  background: #e1eeff
}
.lpContent02_backimg {
  position: absolute;
  top: 76px;
  left: -68px
}
.lpContent__Seminarwrapper {
  position: relative
}
.lpContent__Seminarwrapper .lpContent__innerwrapper {
  background: #003e88
}
.lpContent__Seminarwrapper .lpContent__featureLeft {
  width: 60%
}
.lpContent__Seminarwrapper .lpContent__featureRight {
  width: 38%
}
.lpContent__Seminarwrapper:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  background-image: url(/assets/img/lp/lp_seminar_backimg.svg);
  height: 6vw;
  width: 100%
}
.lpContent__Seminarwrapper .lpContent__inner {
  background: #003e88
}
.lpContent__Seminarwrapper .lpContent__featureIllust {
  position: absolute;
  width: 35%;
  top: 0
}
.lpSeminar_backimg01 {
  position: absolute;
  width: 19%;
  top: 0;
  left: -20px;
  opacity: .2
}
.lpContent__left {
  width: 38%
}
.lpContent__right {
  width: 58%
}
.lpContent__heading {
  font-size: min(6.079vw, 36px);
  margin-bottom: min(3.076vw, 40px);
  letter-spacing: .2rem;
  line-height: 1.3;
  position: relative
}
.lpContent_headingEn {
  font-size: 1.25rem;
  font-family: Roboto, sans-serif;
  color: #003e88;
  font-weight: 700;
  margin-bottom: min(1vw, 28px);
  display: block;
  position: relative;
  letter-spacing: .05rem
}
.lpContent__lead {
  font-size: min(1.5384vw, 20px);
  letter-spacing: .1rem;
  margin-bottom: min(5.384vw, 70px);
  line-height: 1.8
}
.lpContact__wrapper {
  background: #e1eeff;
  position: relative
}
.lpContent__leftImg {
  width: 70%
}
.lpContent__featureIllust {
  width: 80%
}
.lpContent__imgWrap {
  display: flex;
  margin: 0 auto;
  justify-content: space-between
}
.lpContent__imgItemWrap {
  width: 48%
}
.lpContent__imgItem {
  position: relative
}
.lpContent_imgcaption {
  text-align: center;
  margin-bottom: 1vw;
  font-size: min(1.5384vw, 14px)
}
.lpContent_imgcaption .emphasis {
  color: #003e88;
  font-weight: 700
}
.lpContent__feature {
  background: #fff;
  margin-bottom: min(6.079vw, 44px);
  margin-top: 3.076vw;
  position: relative
}
.lpContent__feature:nth-child(odd) {
  margin-right: -30vw;
  padding: 5vw 29vw 5vw 5vw;
  max-width: 100rem;
  border-radius: 30px 0 0 10px
}
.lpContent__feature:nth-child(2n) {
  margin-left: -30vw;
  padding: 2.75rem 5vw 5vw 30vw;
  border-radius: 0 30px 10px 0
}
.lpContent__feature:last-child {
  margin-bottom: 0
}
.lpContent__featurewrap {
  display: flex;
  margin-bottom: min(3.0769vw, 40px);
  letter-spacing: .05rem;
  align-items: center
}
.lpContent__featurewrap .lpContent__featureNumberwrap {
  font-family: Roboto, sans-serif;
  font-size: 1.2307vw;
  color: #003e88;
  line-height: 1;
  text-align: center
}
.lpContent__featurewrap .lpContent__featureNumberwrap .lpContent__featureNumber {
  display: block;
  font-size: min(4.6153vw, 60px);
  font-weight: 700;
  letter-spacing: 0
}
.lpContent__featurewrap .lpContent__originalmark {
  margin-left: 1rem
}
.lpContent__featureDetail {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: max(1300px, 2.5vw)
}
.lpContent__featureDetail .lpContent__featureTitle {
  font-size: min(2.4615vw, 32px);
  line-height: 1.5;
  color: #003e88;
  font-weight: 700;
  margin-bottom: 2.1538vw;
  letter-spacing: .15rem
}
.lpContent__featureDetail .lpContent__featureText {
  font-size: min(1.384vw, 16px);
  line-height: 1.8;
  color: #1f2a34;
  margin-bottom: 3.0769vw;
  letter-spacing: .05rem
}
.lpContent__featureRight {
  width: 46%
}
.lpContent__featureLeft {
  width: 100%
}
.lpContent__attention {
  font-size: min(1.1538vw, 15px);
  letter-spacing: .1rem;
  text-indent: -1.8rem;
  padding-left: 1.8rem
}
.seminarBtnWrap {
  letter-spacing: .07rem;
  text-align: center
}
.seminarBtnWrap .seminarBtnSub {
  font-size: 1.5384vw;
  position: relative;
  display: inline-block;
  font-weight: 700;
  margin-bottom: min(1.5384vw, 10px)
}
.seminarBtnWrap .seminarBtnSub:before {
  content: "";
  position: absolute;
  border-left: 1px solid #1f2a34;
  transform: rotate(-35deg);
  height: 2vw;
  left: -20px;
  display: inline-block;
  bottom: 0
}
.seminarBtnWrap .seminarBtnSub:after {
  content: "";
  position: absolute;
  border-right: 1px solid #1f2a34;
  transform: rotate(35deg);
  height: 2vw;
  right: -20px;
  display: inline-block;
  bottom: 0
}
.seminarBtnWrap .seminarBtn {
  font-size: 2vw;
  font-weight: 700;
  background: #ffcc58;
  padding: 1.8461vw;
  border-radius: 10rem;
  width: 38vw;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  transition: .3s
}
.seminarBtnWrap .seminarBtn:before {
  content: "";
  width: 120%;
  height: 200%;
  position: absolute;
  top: -50%;
  right: 0;
  z-index: -1;
  background: #fff;
  border-radius: 0 100% 100% 0;
  transform: translateX(-100%);
  transition: transform .3s ease
}
.seminarBtnWrap .seminarBtn:hover {
  background: #fff
}
.seminarBtnWrap .seminarBtn:hover:before {
  transform: translateX(10%)
}
.seminarBtnWrap .seminarBtn .btnIcon {
  right: 3vw
}
.seminarBtnWrap .seminarBtn .btnIcon, .seminarBtnWrap .seminarBtn .btnIcon:before {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}
.seminarBtnWrap .seminarBtn .btnIcon:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: #fff;
  border-radius: 2rem
}
.seminarBtnWrap .seminarBtn .btnIcon:after {
  content: "";
  position: absolute;
  left: -5px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #003e88;
  border-right: 2px solid #003e88;
  transform: rotate(45deg);
  top: -3px
}
.lpContent__Seminarwrapper .lpContent__heading, .lpContent__Seminarwrapper .lpContent__lead, .lpContent__Seminarwrapper .seminarBtnSub {
  color: #fff
}
.lpContent__Seminarwrapper .seminarBtnSub:before {
  content: "";
  position: absolute;
  border-left: 2px solid #fff;
  transform: rotate(-35deg);
  height: 2vw;
  left: -20px;
  display: inline-block;
  bottom: 0
}
.lpContent__Seminarwrapper .seminarBtnSub:after {
  content: "";
  position: absolute;
  border-right: 2px solid #fff;
  transform: rotate(35deg);
  height: 2vw;
  right: -20px;
  display: inline-block;
  bottom: 0
}
.lpContent_titledetail {
  font-size: min(2vw, 20px);
  letter-spacing: .1rem;
  position: relative;
  display: inline-block;
  margin: 0 0 1rem;
  padding: 1vw 3vw;
  min-width: 120px;
  max-width: 100%;
  color: #333;
  background: #fff;
  box-sizing: border-box;
  border-radius: 28px;
  box-shadow: 0 4px 13px 0 rgba(0, 0, 0, .1)
}
.lpContent_titledetail:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top-color: #fff;
  z-index: 2
}
.lpContent_titledetail:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  z-index: 1
}
.lp__sup {
  font-size: 14px;
  vertical-align: super
}
.ic_otherwindow:before {
  content: url(/assets/img/lp/ic_otherwindow.svg);
  margin-left: 6px
}
.fadein {
  animation: fadeIn .5s ease .5s .5 normal backwards
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px)
  }
  to {
    opacity: 1
  }
}
@keyframes fuwafuwa {
  0%, to {
    transform: scale(.8)
  }
  50% {
    transform: scale(1)
  }
}
.anime-fuwafuwa {
  animation: fuwafuwa 2s infinite
}
.u__animation__fadeIn {
  opacity: 0;
  transition: opacity 2s cubic-bezier(.22, 1, .36, 1)
}
.u__animation__fadeIn.is-slideIn {
  opacity: 1
}
.finish .lpContent__heading, .finish .lpContent__lead {
  text-align: center
}
.finish .seminarBtn {
  background: #003e88;
  color: #fff
}
.finish .seminarBtn:before {
  background: #0296d6
}
.lpKeyvisual .lpKeyvisual__wrapper {
  transform: translateY(1px)
}
.lpKeyvisual .lpKeyvisual__wrapper:after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100%;
  height: 0;
  width: 100%
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__innerwrap {
  background-image: url(/assets/img/lp/lp_mv_backimg.svg);
  padding: 6vw 8vw;
  height: min(45.153vw, 1207px);
  background-size: cover;
  position: relative
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner {
  display: flex;
  max-width: max(1800px, 2.5vw);
  margin: 0 auto;
  justify-content: space-between
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left {
  text-align: center;
  width: min(712px, 74.847222vw)
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy01 {
  font-size: min(1.42vw, 26px);
  letter-spacing: .1rem;
  color: #003e88;
  font-weight: 700;
  margin-bottom: 2vw;
  text-align: left;
  position: relative
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy02 {
  font-size: min(4.423vw, 80px);
  font-weight: 700;
  letter-spacing: .12rem;
  color: #003e88;
  line-height: 1.1;
  margin-bottom: 1.5384vw;
  position: relative;
  opacity: 0
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy02 .lpKeyvisual__copy02brackets {
  color: #fff
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy02 .lpKeyvisual__copy02sub {
  font-size: min(4.307vw, 56px);
  color: #1f2a34
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__typename {
  font-size: max(1.184vw, 13px);
  color: #003e88;
  font-weight: 700
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__Servicename {
  font-size: min(4.0153vw, 60px);
  font-weight: 700;
  line-height: 1;
  text-align: left;
  margin-bottom: 4.23vw
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__ServicenameSub {
  display: block;
  text-align: left;
  font-size: max(3.23vw, 24px);
  margin-top: 1.5vw
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .seminarBtnWrap {
  width: 38vw
}
.lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__right {
  width: min(669px, 63.847222vw);
  position: relative;
  margin-left: 0
}
.lpKeyvisual__upimgwrapper {
  display: flex
}
.lpKeyvisual__upimg {
  width: min(37.615vw, 440px);
  margin: 0 auto;
  display: block
}
.lpKeyvisual__upimgleft:before {
  left: 6px
}
.lpKeyvisual__upimgleft:before, .lpKeyvisual__upimgright:before {
  content: "";
  background: rgba(185, 207, 235, .6);
  width: 17vw;
  height: 17vw;
  display: block;
  position: relative;
  border-radius: 17vw
}
.lpKeyvisual__upimgright:before {
  top: 0;
  right: 6px
}
.lpKeyvisual__upimgleft {
  position: relative;
  left: 0;
  opacity: 0
}
.lpKeyvisual__upimgright {
  right: 0;
  position: relative;
  opacity: 0
}
.lpKeyvisual__bottomimg {
  display: block;
  width: 100%;
  position: absolute;
  top: 4vw;
  opacity: 0;
  z-index: 1
}
.lpKeyvisual__bottomimg02 {
  opacity: 0;
  position: absolute;
  bottom: 5.9vw
}
.lpKeyvisual__upimgleftitem {
  width: 45%;
  left: 55%
}
.lpKeyvisual__upimgleftitem, .lpKeyvisual__upimgrightitem {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}
.lpKeyvisual__upimgrightitem {
  width: 62%;
  left: 50%
}
.lpkeyvisual_backimg01 {
  position: absolute;
  top: -8px;
  left: -31px;
  width: 22%
}
.lpKeyvisual__copy01wrap, .lpKeyvisual__upimgleft {
  animation: example .5s ease .5s 1 forwards
}
.lpKeyvisual__copy02, .lpKeyvisual__upimgright {
  animation: example .5s ease 1.5s 1 forwards
}
.lpKeyvisual__ServicenameWrap, .lpKeyvisual__bottomimg {
  animation: example .5s ease 2.5s 1 forwards
}
.lpKeyvisual__bottomimg02, .seminarBtnWrap {
  animation: example .5s ease 3.5s 1 forwards
}
@keyframes example {
  to {
    opacity: 1
  }
}
.lpContact__left {
  width: 40%
}
.lpContact__Right {
  width: 57%;
  background: #fff;
  border-radius: 1rem;
  padding: 3.2857vw
}
.lpContact__formBlock {
  margin-bottom: 1.714vw
}
.lpContact__formTitle {
  font-size: 1rem
}
.lpContact__formRequire {
  background: #f88c8c;
  padding: 0 6px;
  font-size: .875rem;
  color: #fff;
  margin-left: .5rem;
  border-radius: .5rem
}
.lpContact__formTitleWrapper {
  margin-bottom: .5rem;
  display: block
}
.lpContact__formInputText {
  border-radius: 8px;
  padding: min(12px, .8333333333vw) 0 min(12px, .8333333333vw) min(20px, 1.3888888889vw);
  font-size: 1rem;
  line-height: 1;
  font-size: min(16px, 1.1111111111vw);
  border: 1px solid #ccc;
  width: 100%
}
.lpfooter {
  padding: 4vw
}
.lpfooter__wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(65px, 4.5138888889vw);
  flex-wrap: wrap
}
.lpfooter__wrap .item01 {
  order: 1
}
.lpfooter__wrap .item02 {
  order: 2;
  width: 80%
}
.lpfooter__wrap .item03 {
  order: 3
}
.lpfooter_left {
  width: 20%
}
.lpfooter__logo:hover {
  opacity: .6;
  transition: .3s
}
.lpfooter__address {
  font-size: .6875rem;
  font-style: normal;
  margin-top: min(36px, 2.5vw)
}
.lpfooter__list {
  font-size: .6875rem;
  display: flex;
  justify-content: flex-end
}
.lpfooter__item-link {
  text-wrap: nowrap
}
.lpfooter__item-link:hover {
  opacity: .6;
  transition: .3s
}
.lpfooter__item + .lpfooter__item {
  border-left: 1px solid #666;
  margin-left: min(12px, .8333333333vw);
  padding-left: min(12px, .8333333333vw)
}
.lpfooter__copyrightwrap {
  font-size: .625rem;
  display: flex
}
.lpfooter__copyrightwrap .lpfooter__copyright {
  border-left: 1px solid #666;
  margin-left: min(12px, .8333333333vw);
  padding-left: min(12px, .8333333333vw)
}
.guideBanner__link {
  overflow: hidden;
  display: block;
  position: relative;
  background-size: cover
}
.guideBanner__link:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background-size: cover
}
.guideBanner__heading {
  position: relative;
  z-index: 1
}
.guideBanner__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  color: #fff;
  font-size: .875rem;
  letter-spacing: .04em;
  line-height: 1;
  font-weight: 600;
  font-family: Montserrat, sans-serif
}
.guideBanner__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.guideBanner__headingJp {
  display: block;
  margin-top: .5rem
}
.guideBanner__text {
  position: relative;
  z-index: 1;
  margin-top: 1rem
}
.errorBody__back {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  font-size: .9375rem;
  letter-spacing: .04em;
  line-height: 1.6;
  font-weight: 700
}
.errorHeader {
  position: relative
}
.errorHeader:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform 1.2s cubic-bezier(.33, 1, .68, 1) .5s
}
.errorHeader.loaded:before {
  transform: scaleX(1)
}
.errorHeader__heading.--noborder:before {
  content: none
}
.errorHeader__headingEn {
  display: block;
  position: relative;
  font-family: Montserrat, sans-serif
}
.errorHeader__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.errorHeader__headingJp {
  display: block
}
.errorHeader__heading {
  font-size: .8125rem;
  letter-spacing: .04em;
  line-height: 1.6
}
.errorHeader__lead {
  font-size: .8125rem;
  letter-spacing: .06em;
  line-height: 1.6
}
.spPagenavi__button .circle {
  position: absolute;
  inset: 0 .75rem 0 auto;
  border: 1px solid #e6e6e6;
  margin: auto;
  background-color: #fff;
  pointer-events: none;
  transition: transform .3s cubic-bezier(.33, 1, .68, 1)
}
.spPagenavi__button .circle .arrow {
  transform: rotate(90deg);
  margin-top: .125rem;
  margin-left: 0
}
.spPagenavi__button.is-active .circle {
  transform: rotate(180deg)
}
.spPagenavi__button.is-active + .spPagenavi__nav {
  width: auto
}
.c-arrow {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #003e88
}
.c-arrow svg {
  display: block;
  width: .8125rem;
  height: .625rem;
  stroke: #fff
}
.c-arrow.--white {
  background-color: #fff
}
.c-arrow.--white svg {
  stroke: #003e88
}
.c-arrowSimple {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: #003e88
}
.c-arrowSimple svg {
  display: block;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  stroke: #fff
}
.c-headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.c-headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.c-headingEn.--white {
  color: #fff
}
.c-headingEn.--black {
  color: #222
}
.c-headingJp {
  display: block;
  margin-top: .5rem
}
.c-hover .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%
}
.c-hover .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #003e88
}
.c-hover .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  background-image: url(/assets/img/common/icon_arrow.svg);
  background-size: cover
}
.c-hover-wh .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%
}
.c-hover-wh .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff
}
.c-hover-wh .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  background-image: url(/assets/img/common/icon_arrow_green-vogue.svg);
  background-size: cover
}
.c-hover-wh.--abs .circle {
  position: absolute
}
.c-hover-small .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7)
}
.c-hover-small .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff
}
.c-hover-small .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
  background-size: cover
}
.c-hover-small.--abs .circle {
  position: absolute
}
.c-hover-small-wh .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7)
}
.c-hover-small-wh .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #003e88
}
.c-hover-small-wh .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  background-image: url(/assets/img/common/icon_arrow_simple.svg);
  background-size: cover
}
.c-hover-small-wh.--abs .circle {
  position: absolute
}
.c-hover-dot-small .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%
}
.c-hover-dot-small .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #003e88
}
.c-hover-dot-small .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  background-image: url(/assets/img/common/icon_arrow_simple.svg);
  background-size: cover
}
.c-hover-dot-small-wh .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%
}
.c-hover-dot-small-wh .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff
}
.c-hover-dot-small-wh .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
  background-size: cover
}
.c-hover-dot-small-wh.--abs .circle {
  position: absolute
}
.c-hover-dot-small-grad .circle {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background-color: #fff
}
.c-hover-dot-small-grad .circle:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #fff
}
.c-hover-dot-small-grad .circle .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 1;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
  background-size: cover
}
.c-hover-frame .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88
}
.c-hover-frame .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  stroke: #fff
}
.c-hover-frame-wh .circle {
  display: grid;
  place-items: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  border: 1px solid #fff;
  background-color: #fff
}
.c-hover-frame-wh .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  stroke: #003e88
}
.c-hover-anchor .circle {
  display: grid;
  place-items: center;
  transform: rotate(90deg);
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88
}
.c-hover-anchor .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  stroke: #fff
}
.c-hover-anchor.--abs .circle {
  position: absolute
}
.c-hover-anchor-wh .circle {
  display: grid;
  place-items: center;
  transform: rotate(90deg);
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  border: 1px solid #fff;
  background-color: #fff
}
.c-hover-anchor-wh .arrow {
  width: .375rem;
  height: .5rem;
  margin-left: .125rem;
  stroke: #003e88
}
.c-hover-anchor-wh .arrow, .seviceBnr__link {
  overflow: hidden;
  display: block;
  position: relative
}
.seviceBnr__link {
  border-radius: .25rem;
  background-size: cover
}
.seviceBnr__link:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background-size: cover
}
.seviceBnr__heading {
  position: relative;
  z-index: 1
}
.seviceBnr__headingEn {
  display: block;
  position: relative;
  padding-left: 1em;
  font-family: Montserrat, sans-serif
}
.seviceBnr__headingEn:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  margin: auto;
  background: linear-gradient(90deg, #0099d9, #004091)
}
.seviceBnr__headingJp {
  display: block
}
.seviceBnr__lead {
  position: relative;
  z-index: 1
}
.seviceBnr__about {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  position: absolute
}
.breadcrumb {
  position: relative
}
.breadcrumb:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6
}
.breadcrumb__inner {
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: .75rem
}
.breadcrumb__inner::-webkit-scrollbar {
  display: none
}
.breadcrumb__list {
  display: flex;
  -moz-column-gap: .75rem;
  column-gap: .75rem
}
.breadcrumb__item {
  flex: 0 0 auto;
  position: relative
}
.breadcrumb__item + .breadcrumb__item {
  padding-left: 1em
}
.breadcrumb__item + .breadcrumb__item:before {
  content: "";
  display: block;
  position: absolute;
  inset: .0625rem auto 0 0;
  width: .25rem;
  height: .25rem;
  border-radius: 50%;
  margin: auto;
  background-color: #999
}
.breadcrumb__item:last-of-type .breadcrumb__link:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -11.5px;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, #0099d9, #004788)
}
.breadcrumb__link {
  display: block;
  position: relative
}
.breadcrumb__link[href] {
  color: #999
}
.peager {
  display: flex;
  align-items: center;
  justify-content: center
}
.peager__preve {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88;
  cursor: pointer
}
.peager__preve .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  margin-right: .125rem;
  transform: scaleX(-1);
  stroke: #fff
}
.peager__preve.is-disable {
  pointer-events: none;
  visibility: hidden
}
.peager__next {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid #003e88;
  background-color: #003e88;
  cursor: pointer
}
.peager__next .arrow {
  overflow: hidden;
  display: block;
  position: relative;
  width: .8125rem;
  height: .625rem;
  margin-left: .125rem;
  stroke: #fff
}
.peager__next.is-disable {
  pointer-events: none;
  visibility: hidden
}
.peager__list {
  display: flex
}
.peager__link {
  display: block;
  position: relative;
  width: 1.25rem;
  padding: .625rem 0;
  text-align: center
}
.peager__link.is-current {
  color: #003e88
}
.peager__link.is-current:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: #003e88
}
.transtion {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #fff
}
.u-red {
  color: #ff4133
}
@media screen and (max-width:80rem) {
  body {
    margin: 0
  }
  .serviceName__lead {
    margin-top: .75rem
  }
}
@media screen and (max-width:72rem) {
  body {
    margin: 0
  }
  .introductionBody__sectionGroup.--spLast {
    display: contents
  }
}
@media screen and (max-width:64rem) {
  body {
    margin: 0
  }
  .header__inner {
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.75rem 2.5rem;
    background-color: #fff
  }
  .header__menu {
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: none
  }
  .header__menu[aria-hidden=true] {
    opacity: 0;
    visibility: hidden;
    transform: translateX(0);
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1), visibility .3s cubic-bezier(.33, 1, .68, 1), transform .1s linear .3s
  }
  .header__menu[aria-hidden=false] {
    opacity: 1;
    transform: translateX(-100%);
    pointer-events: auto;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1), visibility .3s cubic-bezier(.33, 1, .68, 1)
  }
  .header__menuLogo {
    position: absolute;
    top: 1.875rem;
    left: 1.25rem;
    z-index: 10;
    width: 10.75rem
  }
  .header__content {
    padding: 5.875rem 1.25rem .5rem
  }
  .header__button {
    position: fixed;
    top: 1.25rem;
    right: 2.5rem;
    z-index: 100;
    width: 3.375rem;
    height: 3.375rem;
    border-radius: 50%;
    border: 1px solid #e6e6e6;
    background-color: #fff
  }
  .header__button:after, .header__button:before {
    content: "";
    display: block;
    position: absolute;
    width: 1.5rem;
    height: 1px;
    border-radius: .5px;
    margin: auto;
    background-color: #003e88;
    transition: rotate .3s cubic-bezier(.33, 1, .68, 1), inset .3s cubic-bezier(.33, 1, .68, 1)
  }
  .header__button:before {
    inset: -.5rem 0 0 0
  }
  .header__button:after {
    inset: 0 0 -.5rem 0
  }
  .header__button[aria-expanded=true]:before {
    inset: 0;
    rotate: 45deg;
    transform-origin: 50% 50%
  }
  .header__button[aria-expanded=true]:after {
    inset: 0;
    rotate: -45deg;
    transform-origin: 50% 50%
  }
  .headerNav {
    display: flex;
    flex-direction: column-reverse;
    position: relative
  }
  .headerNav__infoList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    border-radius: .25rem;
    border: 1px solid #d9d9d9;
    margin-top: 2rem;
    background-color: #f5f5f5
  }
  .headerNav__infoList:before {
    inset: 0;
    width: calc(100% - 1.25rem);
    height: 1px
  }
  .headerNav__infoItem:nth-child(2n):before, .headerNav__infoList:before {
    content: "";
    display: block;
    position: absolute;
    border-radius: .5px;
    margin: auto;
    background-color: #d9d9d9
  }
  .headerNav__infoItem:nth-child(2n):before {
    inset: 0 auto 0 0;
    width: 1px;
    height: calc(100% - 9px)
  }
  .headerNav__infoLink {
    padding: .5rem 0;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500;
    text-align: center
  }
  .headerNav__pageItem {
    border-bottom: 1px solid #d9d9d9
  }
  .headerNav__pageItem:first-child {
    border-top: 1px solid #d9d9d9
  }
  .headerNav__pageLink {
    display: block;
    padding: 1.25rem 0;
    font-weight: 700
  }
  .headerNav__pageLink:not(.js-more):before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 .125rem 0 auto;
    width: .4375rem;
    height: .625rem;
    margin: auto;
    background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
    background-size: cover
  }
  .headerNav__pageLink.--service:after, .headerNav__pageLink.--service:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 0 auto;
    width: .75rem;
    height: 2px;
    border-radius: 1px;
    margin: auto;
    background-color: #003e88
  }
  .headerNav__pageLink.--service:after {
    transform: rotate(90deg);
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavMore {
    overflow: hidden;
    height: 0;
    transition: height .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavMore__list {
    padding-left: .75rem;
    padding-bottom: 1.25rem
  }
  .headerNavMore__item + .headerNavMore__item {
    margin-top: 1rem
  }
  .headerNavMore__item.--sub {
    position: relative;
    margin-top: .75rem;
    padding-left: 1em
  }
  .headerNavMore__item.--sub:before {
    content: "";
    display: block;
    position: absolute;
    top: .6875rem;
    left: 0;
    width: .4375rem;
    height: 1px;
    border-radius: .5px;
    background-color: #222
  }
  .headerNavMore__link {
    display: block;
    position: relative;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .headerContact {
    flex-direction: column;
    row-gap: 1rem;
    margin-top: 2.5rem
  }
  .headerContact__item {
    display: grid;
    place-items: center;
    width: 100%;
    height: 3.5rem
  }
  .headerContact__item:after {
    background-size: contain
  }
  .headerContact__item.--document:after {
    inset: 0 2.0625rem 0 auto;
    width: 1rem;
    height: 1.1875rem
  }
  .headerContact__item.--form:after {
    inset: 0 2rem 0 auto;
    width: 1.1875rem;
    height: .9375rem
  }
  .headerContact__text {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .headerContact__circle {
    position: absolute;
    inset: 0 1.5rem 0 auto;
    margin: auto
  }
  .footerPrimary__contact {
    display: flex;
    flex-direction: column;
    row-gap: 1.25rem
  }
  .serviceHeader {
    padding: 6.75rem 0 7.5rem
  }
  .serviceOptionRecommend {
    margin-top: 1.5rem;
    padding: 1.25rem
  }
  .serviceOptionType {
    padding-top: 2rem
  }
  .serviceOptionType__column + .serviceOptionType__column {
    margin-top: 2rem
  }
  .serviceInfo__slider {
    overflow: hidden;
    margin-top: 2rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 1.25rem
  }
  .serviceName__header {
    padding: 6.625rem 2.5rem 1.875rem
  }
  .serviceName__type {
    margin-top: .75rem
  }
  .serviceContentGrid__item + .serviceContentGrid__item {
    margin-top: 1.25rem
  }
  .serviceContentGrid__item.--group {
    flex-direction: column
  }
  .serviceContentGrid__item.--group .serviceContentGrid__text {
    order: 2
  }
  .serviceContentGrid__inner {
    display: contents
  }
  .serviceFeatures__group .serviceFeatures__section {
    display: flex;
    flex-direction: column;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .serviceFeatures__group > :is(section, div) + :is(section, div) {
    margin-top: 2.5rem
  }
  .indexNewsHeader {
    padding: 6.75rem 0 0
  }
  .note__wrapper {
    padding: 3.75rem 1.25rem
  }
  .note__inner {
    padding: 2.875rem 1.25rem 2.5rem
  }
  .note__heading {
    border-bottom: 1px solid #d7d7d7;
    padding-left: 3rem;
    padding-bottom: 1.375rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .note__heading:before {
    top: -.3125rem;
    left: .125rem;
    width: 2.25rem;
    height: 2rem
  }
  .note__text {
    margin-top: 1.5rem
  }
  .topCompanyMivi__graphic {
    order: 2;
    width: 100%;
    height: 15.625rem;
    margin-top: 2rem
  }
  .casePickup__link {
    display: block
  }
  .casePickup__img, .caseSingleHeader__img {
    margin-top: 2rem
  }
  .appendixHeader, .columnHeader, .faqHeader, .introductionHeader, .priceHeader, .singleColumn {
    padding: 6.75rem 0 0
  }
  .guideBanner__link:first-child {
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem
  }
  .guideBanner__link:nth-child(2) {
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem
  }
  .u-pcM, .u-tab {
    display: none !important
  }
}
@media screen and (max-width:47.9375rem) {
  body {
    margin: 0
  }
  .caseHeader__headingEn, .companyHeader__headingEn, .companyInfoMain__headingEn, .companyInfo__headingEn, .headerNavService__en, .recruitHeader__headingEn, .serviceNavSp__topEn, .serviceNavTop__en, .topCompanyPage__headingEn {
    color: #062d59;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .caseHeader__headingJp, .companyHeader__headingJp, .recruitHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .header__inner {
    padding: 1.75rem 1.25rem
  }
  .header__logo {
    width: 10.75rem
  }
  .header__menulogoLink {
    display: block
  }
  .header__button {
    right: 1.25rem
  }
  .header__shape {
    position: relative;
    width: 100%;
    height: 8.5rem;
    background-color: #062d59
  }
  .header__shape:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-clip-path: ellipse(78% 166% at 40% -106%);
    clip-path: ellipse(78% 166% at 40% -106%);
    background-color: #fff
  }
  .headerNav__pageLink.is-current:not(.--service):before {
    content: none
  }
  .headerNavMore__item.--sub + .headerNavMore__item.--sub {
    margin-top: .5rem
  }
  .headerNavMore__link.is-current {
    color: #003e88
  }
  .headerNavService {
    display: none
  }
  .footer__wrapper {
    padding: 4rem 1.25rem 2.5rem
  }
  .footer__wrapper:before {
    left: -3.625rem;
    bottom: -9.125rem;
    width: 18.875rem;
    height: 23.4375rem
  }
  .footerPrimary__contactItem {
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    height: 3.5rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .footerPrimary__contactItem .circle {
    inset: 0 1.5rem 0 auto
  }
  .footerPrimary__nav {
    padding-top: 2.875rem
  }
  .footerPrimary__pageList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.5625rem
  }
  .footerPrimary__pageLink {
    border-bottom: 1px solid #393a3c;
    padding-bottom: .875rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .footerPrimaryService {
    display: none
  }
  .footerOther {
    margin-top: 2.5rem
  }
  .footerOther__logo {
    width: 11.25rem
  }
  .footerOther__list {
    display: grid;
    grid-template-columns: auto auto;
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
    row-gap: .5rem;
    margin-top: 2.25rem
  }
  .footerOther__link {
    color: #999;
    font-size: .75rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .footerOther__association {
    max-width: 7.5rem;
    height: 3.75rem;
    margin-top: 1.375rem
  }
  .footerOther__associationLink img {
    width: 5rem
  }
  .footerOther__group {
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    margin-top: 1.375rem
  }
  .footerOther__groupLink {
    color: #999;
    font-size: .75rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .footerFoot {
    flex-direction: column-reverse
  }
  .footerFoot__copyright {
    margin-top: 2.5rem;
    color: #999!important;
    font-size: .625rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .footerFoot__pagetop {
    margin-left: auto
  }
  .loading__logo {
    width: 2.75rem;
    height: 3.375rem
  }
  .loading__text {
    width: 10.75rem;
    height: .9375rem;
    margin-top: 1.25rem;
    color: #222;
    font-size: .9375rem;
    letter-spacing: .08em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeMv {
    padding-top: 7.875rem
  }
  .homeMv__inner {
    padding: 0 1.25rem
  }
  .homeMv__headingJp {
    max-width: 18.8125rem;
    margin-top: .9375rem;
	 margin-bottom: 3rem;
    aspect-ratio: 301/93;
    font-size: 2.125rem;
    letter-spacing: .09em;
    line-height: 1.3;
    font-weight: 700
  }
  .homeMv__slider {
    width: 100%;
    margin: 2.5rem auto 2.5rem;
  }
  .homeMv__slider .splide__pagination {
    justify-content: flex-end;
    margin-top: 2.375rem;
    margin-right: 0
  }
  .homeMv__slide {
    width: 100%;
    margin: 0 auto
  }
  .homeMv__content {
    margin: 1.25rem auto 0;
    padding: 0 .9375rem
  }
  .homeMv__text {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    padding-bottom: 1rem;
    color: #fff!important;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeMv__circle {
    display: none
  }
  .homeMv__shape {
    top: calc(-156px - (100vw - 375px)*2);
    left: calc(50% - 105.0666666667vw);
    width: 192vw;
    height: 192vw
  }
  .homeService__wrapper {
    padding: 4rem 1.25rem
  }
  .homeService__content {
    margin-top: 1rem
  }
  .homeService__headingEn {
    padding-left: 1rem;
    /*color: #fff;*/
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .homeService__headingJp {
    margin-top: .5rem;
    /*color: #fff;*/
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeService__lead {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .homeService__more {
    justify-content: flex-end;
    margin-top: 3rem
  }
  .homeService__more .circle {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 1px solid #fff
  }
  .homeService__more .arrow {
    overflow: hidden;
    display: block;
    position: relative;
    width: .8125rem;
    height: .625rem;
    background-image: url(/assets/img/common/icon_arrow.svg);
    background-size: cover
  }
  .homeService__main {
    margin-top: 2.5rem
  }
  .homeServiceOption__section.--service_01 .homeServiceOption__link {
    height: 25.5rem
  }
  .homeServiceOption__section.--service_01 .homeServiceOption__link:before {
    inset: auto 1rem .875rem auto;
     width: 11rem;
    height: 11rem
  }
  .homeServiceOption__section.--service_02 {
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem
  }
  .homeServiceOption__section.--service_02 .homeServiceOption__link {
    height: 25.75rem
  }
  .homeServiceOption__section.--service_02 .homeServiceOption__link:before {
    inset: auto 0 0 auto;
    width: 11rem;
    height: 11rem
  }
	.homeServiceOption__section.--service_03 {
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem
  }
  .homeServiceOption__section.--service_03 .homeServiceOption__link {
    height: 25.75rem
  }
  .homeServiceOption__section.--service_03 .homeServiceOption__link:before {
    inset: auto 0 0 auto;
    width: 11rem;
    height: 11rem
  }
  .homeServiceOption__link {
    padding: 2rem 1.25rem
  }
  .homeServiceOption__lead {
    color: #222;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .homeServiceOption__heading {
    margin-top: .25rem;
    color: #222;
    font-size: 1.5rem;
    letter-spacing: .06em;
    line-height: 1.4;
    font-weight: 700
  }
  .homeServiceOption__circle {
    position: relative;
    margin-top: 1.25rem
  }
  .homeServiceOption__list {
    margin-top: .5rem
  }
  .homeServiceOption__item {
    color: #222;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 300
  }
  .homeServiceGuide {
    margin-top: 2.875rem
  }
  .homeServiceGuide__heading {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: .125rem 0 .125rem 1rem
  }
  .homeServiceGuide__headingJp {
    margin-top: .375rem;
    margin-left: .625rem
  }
  .homeServiceGuide__list {
    width: 100%;
    margin-top: 1.875rem;
    padding: 0 1.25rem
  }
  .homeServiceGuide__item + .homeServiceGuide__item {
    margin-top: 1.5625rem
  }
  .homeServiceGuide__banner {
    margin-top: 2.875rem
  }
  .homeServiceGuide__link {
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .homeCase__inner {
    padding: 4rem 1.25rem 2.5rem
  }
  .homeCase__headingEn {
    color: #062d59;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeCase__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeCase__content {
    margin-top: 1rem;
    padding-bottom: 1.5rem
  }
  .homeCase__lead {
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .homeCase__more {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 2rem;
    margin-left: auto
  }
  .homeCase__item {
    margin-left: 3.75rem
  }
  .homeCaseInterview {
    padding: 0 1.25rem
  }
  .homeCaseInterview__inner {
    padding: 3rem 1.25rem
  }
  .homeCaseInterview__header {
    padding-bottom: 1.5rem
  }
  .homeCaseInterview__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeCaseInterview__headingJp {
    margin-top: 1rem;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 400
  }
  .homeCaseInterview__more {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 2rem;
    margin-left: auto
  }
  .homeCaseInterview__body {
    padding-top: 2rem
  }
  .homeCaseInterviewArticle + .homeCaseInterviewArticle {
    margin-top: 2.5rem
  }
  .homeCaseInterviewArticle__link {
    flex-direction: column-reverse;
    padding: 0 1rem
  }
  .homeCaseInterviewArticle__content {
    margin-top: 1rem
  }
  .homeCaseInterviewArticle__heading {
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeColumn {
    margin-top: 0
  }
  .homeColumn__wrapper {
    padding: 5rem 0
  }
  .homeColumn__header {
    padding: 1.25rem 1.25rem 1.5rem
  }
  .homeColumn__header:before {
    inset: auto 0 0 0;
    width: calc(100% - 2.5rem);
    height: 1px
  }
  .homeColumn__headingEn {
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeColumn__headingJp {
    font-size: 1.625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeColumn__lead {
    margin-top: 1rem
  }
  .homeColumn__more {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3rem;
    margin-left: auto
  }
  .homeColumn__body {
    margin-top: 2rem;
    padding: 0 1.25rem
  }
  .homeColumn__what {
    margin: 3.75rem auto 0;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500;
    background-position: right 3.5rem top .75rem;
    background-size: 5.625rem 6.9375rem
  }
  .homeColumnPost__article {
    width: 19.6875rem
  }
  .homeColumnPost__heading {
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .homeNews__wrapper {
    flex-direction: column;
    padding: 4rem 1.25rem
  }
  .homeNews__header {
    display: contents
  }
  .homeNews__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeNews__headingJp {
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeNews__more {
    order: 3;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 2rem;
    margin-left: auto
  }
  .homeNews__list {
    margin-top: 2.5rem
  }
  .homeNews__text {
    -webkit-line-clamp: 5;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 400
  }
  .serviceHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .serviceHeader__group {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .serviceHeader__group:before {
    content: "";
    width: 5rem
  }
  .serviceHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .serviceHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceHeader__lead {
    margin-top: .875rem
  }
  .serviceHeader__content {
    padding: 2.5rem 1.25rem 0
  }
  .serviceHeader__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceOption__section {
    transform: translateY(-5rem);
    padding: 0 .75rem
  }
  .serviceOption__section + .serviceOption__section {
    margin-top: 1.25rem;
    transform: translateY(-3.75rem)
  }
  .serviceOption__section.--stock .serviceOption__header {
    background-size: 9.5rem auto;
    background-position: right -.9375rem top 1.25rem
  }
  .serviceOption__section.--call .serviceOption__header {
    background-size: 6.875rem auto;
    background-position: right -2rem top 1.4375rem
  }
  .serviceOption__header {
    min-height: 6.875rem;
    padding: 1.5rem 1.25rem 1.75rem
  }
  .serviceOption__heading {
    margin-top: .625rem
  }
  .serviceOption__headingMain {
    font-size: 1.375rem
  }
  .serviceOption__headingMain, .serviceOption__headingSub {
    color: #222;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceOption__headingSub {
    margin-top: .125rem;
    font-size: .875rem
  }
  .serviceOption__number {
    color: #222;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .serviceOption__inner {
    padding: 2rem 1.25rem
  }
  .serviceOption__lead {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceOption__foot {
    border-top: 1px solid #003e88;
    padding: 1.5rem 0
  }
  .serviceOption__more {
    margin: 0 auto
  }
  .serviceOptionRecommend__item {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .serviceOptionRecommend__item + .serviceOptionRecommend__item {
    margin-top: .5rem
  }
  .serviceOptionType:before {
    width: calc(100% - 40px)
  }
  .serviceOptionType__continer {
    padding: 0 1.25rem 2.5rem
  }
  .serviceOptionType__name {
    padding: .625rem 1.25rem;
    color: #fff;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .serviceOptionType__name strong small {
    display: block
  }
  .serviceOptionType__group, .serviceOptionType__section + .serviceOptionType__section {
    margin-top: .75rem
  }
  .servicePatents__wrapper {
    padding: 3.75rem 0
  }
  .servicePatents__header {
    padding: 0 1.25rem
  }
  .servicePatents__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .servicePatents__tab, .servicePatents__tab-3colum {
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    padding: 0 .75rem
  }
  .servicePatents__tabItem {
    height: 3.75rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700;
    text-align: center
  }
  .servicePatents__continer {
    padding: 2.5rem 0 4rem
  }
  .servicePatents__continer .faqHeader__link {
    width: auto
  }
  .servicePatents__continer .faqHeader__item {
    width: calc(100% - .28125rem)
  }
  .servicePatents__panel {
    padding: 0 1.25rem
  }
  .servicePatents__panel.--type2 .servicePatents__inner:before {
    height: calc(100% - 3rem)
  }
  .servicePatents__panel.--type2 .servicePatents__inner:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1.25rem;
    left: -1.09375rem;
    width: 1rem;
    height: .5rem;
    background-image: url(/assets/img/common/icon_arrow_step2.svg);
    background-size: cover
  }
  .servicePatents__lead {
    margin-top: 1rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .servicePatents__table {
    overflow-x: auto;
    padding: 1rem 1.25rem
  }
  .servicePatents__table table {
    width: 50rem
  }
  .servicePatents__table tr.second__label th {
    color: #fff;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .servicePatents__table tr.second__label th:first-child {
    border-left: 1px solid hsla(0, 0%, 90%, .2)
  }
  .servicePatents__table th {
    height: 2rem;
    color: #fff;
    font-weight: 500
  }
  .servicePatents__table td, .servicePatents__table th {
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .servicePatents__table td {
    height: 3.9375rem;
    padding: .75rem
  }
  .servicePatents__table td.patented:before {
    width: 2.8125rem;
    height: 2.8125rem
  }
  .servicePatents__table td small {
    margin-top: .5rem
  }
  .servicePatents__table .none {
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .servicePatents__table .cross {
    width: 1rem;
    height: 1rem;
    margin: 0 auto .125rem
  }
  .servicePatents__note {
    padding-right: 1.25rem;
    text-align: right;
    color: #7a7a7a;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .servicePatents__note.--attention {
    padding-top: .75rem;
    padding-right: unset;
    text-align: left
  }
  .servicePatents .patentdetail__paragraph dt {
    border: none
  }
  .servicePatents .patentdetail__paragraph dd {
    padding-left: unset;
    padding-bottom: .25rem
  }
  .servicePatents .patentdetail__paragraph {
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    display: block;
    margin: 1.25rem
  }
  .serviceGuide__wrapper {
    padding: 3.75rem 1.75rem
  }
  .serviceGuide__heading {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 1rem
  }
  .serviceGuide__lead {
    margin-top: 1.5rem
  }
  .serviceGuideList {
    margin-top: 2.625rem
  }
  .serviceGuideList__item + .serviceGuideList__item {
    margin-top: 2.5rem
  }
  .serviceGuideList__content, .serviceGuideList__lead {
    margin-top: 1rem
  }
  .serviceInfo.--small .serviceInfo__wrapper {
    padding: 3.75rem 0 0
  }
  .serviceInfo__wrapper {
    display: flex;
    flex-direction: column;
    padding: 3.75rem 0 2.5rem
  }
  .serviceInfo__inner {
    display: contents
  }
  .serviceInfo__heading {
    margin-left: 1.25rem;
    padding-left: 1rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceInfo__more {
    order: 3;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-top: .9375rem;
    margin-right: 1.25rem
  }
  .serviceInfo__item {
    flex: 0 0 auto;
    width: 19.6875rem
  }
  .serviceInfo__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceInfo__date {
    margin-top: 1rem
  }
  .serviceName__head.--stockoption .serviceName__header:before {
    right: 0;
    bottom: -7.75rem;
    background-position: 1.625rem 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--stockoption-1yen .serviceName__header:before {
    bottom: -2.75rem;
    background-position: right -.9375rem top 0
  }
  .serviceName__head.--L3-stock-type .serviceName__header:before {
    bottom: -7.25rem;
    background-position: right -.9375rem top 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--L3-qualified .serviceName__header:before {
    bottom: -7.25rem;
    background-position: right -.5rem top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--stockoption-paid .serviceName__header:before {
    background-image: url(/assets/img/service/stockoption/ilust_kv.png);
    bottom: -2.75rem;
    background-position: right -.9375rem top 0
  }
  .serviceName__head.--liquidity-trust .serviceName__header:before {
    bottom: -7.25rem;
    background-position: right -.5rem top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--call-option .serviceName__header:before {
    bottom: -7.875rem;
    right: 0;
    background-position: right -1.375rem top 0;
    background-image: url(/assets/img/service/call-option/ilust_kv.png)
  }
  .serviceName__header {
    padding: 6.625rem 1.25rem 1.875rem
  }
  .serviceName__header:before {
    width: 11rem;
    height: 10.25rem
  }
  .serviceName__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .serviceName__headingSub {
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 400
  }
  .serviceName__headingSub + .serviceName__headingMain {
    margin-top: .25rem
  }
  .serviceName__type .tag {
    height: 1.625rem;
    margin-top: 1.25rem;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .serviceName__type .tag + .tag {
    margin-top: .625rem
  }
  .serviceName__type .note {
    display: block
  }
  .serviceNameLineup__wrapper {
    padding: 3rem .625rem 0
  }
  .serviceNameLineup__header {
    padding: 0 .625rem
  }
  .serviceNameLineup__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNameLineup__lead {
    margin-top: .75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNameLineup__nav {
    margin-top: 2rem
  }
  .serviceNameLineup__list {
    padding: 1rem 1.25rem
  }
  .serviceNameLineup__item:not(:first-child):before {
    inset: 0 0 auto 0;
    width: 100%;
    height: 1px
  }
  .serviceNameLineup__link {
    padding-top: 1rem;
    padding-right: 2.5rem;
    padding-bottom: 1rem
  }
  .serviceNameLineup__type {
    min-width: 13.4375rem;
    width: -moz-fit-content;
    width: fit-content;
    padding: .375rem .625rem .4375rem;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500;
    text-align: center
  }
  .serviceNameLineup__text {
    margin-top: .5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .serviceNameLineup__text small {
    display: block;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNameLineup__circle {
    inset: 0 .375rem 0 auto
  }
  .serviceNameInfo__wrapper {
    margin-top: 2.5rem;
    padding: 0 1.25rem
  }
  .serviceNameInfo__info {
    padding: 1.875rem 1.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail {
    margin-top: -16rem
  }
  .serviceDetail.--2list {
    margin-top: -10rem
  }
  .serviceDetail__wrapper {
    padding: 19rem .75rem 3.75rem
  }
  .serviceDetail__wrapper.--2list {
    padding: 12rem .75rem 3.75rem
  }
  .serviceDetail__oldmodel, .serviceDetail__past {
    padding-top: 2.5rem
  }
  .serviceDetail__section + .serviceDetail__section {
    margin-top: 2rem
  }
  .serviceDetail__header {
    padding-top: 2.25rem;
    padding-bottom: 1.25rem
  }
  .serviceDetail__done {
    padding: .4375rem .375rem;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .02em;
    line-height: 1.4;
    font-weight: 700
  }
  .serviceDetail__done:before {
    top: -3.125rem;
    width: 9.375rem
  }
  .serviceDetail__heading {
    padding: 0 2rem 0 1.25rem;
    color: #003e88;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__heading small {
    display: block;
    margin-top: .375rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__subheading {
    margin-bottom: .75rem;
    color: #003e88;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__subheading small {
    display: block;
    margin-top: .5rem;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceDetail__body {
    padding: 0 1.25rem
  }
  .serviceDetail__block {
    padding: 1.5rem 0 1.875rem
  }
  .serviceDetail__type {
    height: 1.75rem;
    border-radius: .875rem;
    margin-right: .375rem;
    margin-bottom: .75rem;
    padding: 0 .875rem .0625rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceDetail__description {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail__note {
    margin-top: .5rem;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail__foot {
    margin-top: 1.5rem
  }
  .serviceDetail__recommendCompany, .serviceDetail__recommendText {
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .serviceDetail__recommendCompany {
    min-width: 13.4375rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: .5rem;
    padding: .375rem .625rem .4375rem;
    color: #fff;
    text-align: center
  }
  .serviceDetail__link {
    margin-top: .9375rem;
    margin-left: auto
  }
  .serviceDetail__text {
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1.0625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .serviceDetail__info {
    padding: .75rem
  }
  .serviceSide {
    padding: 3rem 1.25rem 0
  }
  .serviceSide__text {
    margin-bottom: 1.25rem;
    padding-left: 1em;
    font-family: Montserrat, sans-serif;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceSide__text.--2nd {
    margin-top: 1.25rem
  }
  .serviceSide__text:before {
    content: "";
    display: block;
    position: absolute;
    top: .25rem;
    left: 0;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background-color: #003e88
  }
  .serviceSide__nav {
    border: 1px solid #e6e6e6;
    border-radius: .25rem;
    padding: 1.5rem 1.25rem;
    background-color: #f5f5f5
  }
  .serviceSide__nav.--2nd {
    padding: .75rem 1.25rem
  }
  .serviceSide__item + .serviceSide__item {
    margin-top: .875rem
  }
  .serviceSide__item:last-child .serviceSide__link:before {
    content: none
  }
  .serviceSide__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    padding-bottom: 1rem;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .serviceSide__link:before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #e6e6e6
  }
  .serviceSide__link .circle {
    background-color: transparent
  }
  .serviceContent__block {
    padding-top: 3.75rem
  }
  .serviceContent__block:first-child {
    padding-top: 3.375rem
  }
  .serviceContent__block.--gray {
    padding-top: 3rem
  }
  .serviceContent__block.--gray + .serviceContent__block {
    padding-top: 3.75rem
  }
  .serviceContent__block.--pb, .serviceContent__block.--pb.--gray {
    padding-bottom: 3.75rem
  }
  .serviceContent__inner {
    padding: 0 1.25rem
  }
  .serviceContent__section + .serviceContent__section {
    margin-top: 3.5rem
  }
  .serviceContent__heading {
    padding-bottom: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__heading:before {
    width: 3.125rem
  }
  .serviceContent__heading small {
    margin-bottom: .375rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__headingSub {
    padding-bottom: 1rem;
    font-size: 1.1875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__headingSub:before {
    width: 1.875rem
  }
  .serviceContent__item + .serviceContent__item {
    margin-top: .375rem
  }
  .serviceContent__text {
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContent__text + .serviceContent__text {
    margin-top: .75rem
  }
  .serviceContent__table {
    margin-top: 2.5rem
  }
  .serviceContent__table th {
    padding: 1rem 1.25rem;
    color: #fff;
    font-weight: 500
  }
  .serviceContent__table td, .serviceContent__table th {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .serviceContent__table td {
    padding: 1rem 1.5rem
  }
  .serviceContent__table td sup {
    font-size: .625rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .serviceContent__table.--white {
    white-space: nowrap
  }
  .serviceContent__img {
    margin-top: 2rem
  }
  .serviceContent__img.--patented:before {
    top: -.875rem;
    right: -.375rem;
    width: 3.1875rem;
    height: 3.1875rem
  }
  .serviceContent__ntoes {
    padding-top: 4rem
  }
  .serviceContent__contact {
    order: 3;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-top: .9375rem;
    margin-right: 1.25rem
  }
  .serviceContentGrid {
    margin-top: 2.5rem
  }
  .serviceContentGrid__item {
    padding: 2rem 1.25rem
  }
  .serviceContentGrid__heading {
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentGrid__img {
    width: 12.6875rem;
    height: 9.375rem;
    margin: .75rem auto 0
  }
  .serviceContentGrid__text {
    margin-top: 1rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentHead {
    margin-bottom: 2.5rem
  }
  .serviceContentHead__heading {
    padding-left: 1.25rem;
    padding-bottom: 1.5rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentHead__heading:before {
    width: 3.125rem
  }
  .serviceContentFeatures__section {
    padding: 2.5rem 1.25rem
  }
  .serviceContentFeatures__section:first-child {
    margin-top: 1.875rem
  }
  .serviceContentFeatures__section + .serviceContentFeatures__section {
    margin-top: 1.5rem
  }
  .serviceContentFeatures__heading {
    padding-left: 3.125rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentFeatures__heading .number {
    padding-left: .75rem;
    color: #0192d2;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .serviceContentFeatures__heading .number:before {
    height: 1.375rem
  }
  .serviceContentFeatures__text {
    margin-top: 1.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentFeatures__img {
    margin: 2rem auto 0
  }
  .serviceContentArticle__link {
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    grid-template-columns: 4.75rem 1fr 1.5rem;
    grid-template-rows: auto auto;
    padding: 1.25rem 3.75rem 1.25rem 1.25rem
  }
  .serviceContentArticle__img {
    width: 5.5rem;
    height: 4.125rem
  }
  .serviceContentArticle__content {
    display: contents
  }
  .serviceContentArticle__heading {
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentArticle__circle {
    inset: 0 1.25rem 0 auto
  }
  .serviceContentBox {
    padding: 2.5rem 1.25rem
  }
  .serviceContentBox__heading {
    padding-bottom: 1.25rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentBox__heading:before {
    width: 1.875rem
  }
  .serviceContentBox__text {
    margin-top: 1.375rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentBox__link {
    margin: 1.625rem auto 0;
    padding: .9375rem .75rem .9375rem 1rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentBox__link .circle {
    inset: 0 .75rem 0 auto
  }
  .serviceContentCost + .serviceContentCost {
    margin-top: 1.25rem
  }
  .serviceContentCost__header {
    padding: 1.25rem 4.25rem 1.25rem 1.25rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentCost__header.--open {
    padding: 1.25rem;
    cursor: unset
  }
  .serviceContentCost__header .circle {
    inset: 0 1.5rem 0 auto
  }
  .serviceContentCost__inner {
    padding: 1.5rem 1.25rem
  }
  .serviceContentCost__planText, .serviceContentCost__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentCost__planText small {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentCost__planTable {
    overflow-x: auto
  }
  .serviceContentCost__planTable table {
    width: 36.25rem
  }
  .serviceContentExample {
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem
  }
  .serviceContentExample__heading {
    padding-bottom: 1.125rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentExample__heading:before {
    width: 1.875rem
  }
  .serviceContentExample__text {
    margin-top: 1.5rem
  }
  .serviceContentExample__img {
    margin-top: 2rem
  }
  .serviceContentConsiderations__heading {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentConsiderations__continer {
    margin-top: 1.5rem
  }
  .serviceContentConsiderations__list {
    margin-top: .75rem
  }
  .serviceContentConsiderations__item {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentNotes {
    margin-top: 2.5rem
  }
  .serviceContentNotes.--L3 {
    margin-top: 2.5rem;
    padding: 0 1.25rem
  }
  .serviceContentNotes__heading {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentNotes__continer {
    padding: 2.5rem 1.25rem
  }
  .serviceContentNotes__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentNotes__group + .serviceContentNotes__group {
    margin-top: 1.5rem
  }
  .serviceContentNotes__list {
    margin-top: .75rem
  }
  .serviceContentNotes__item {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentSupport {
    padding: 2.875rem 1.25rem 2.5rem
  }
  .serviceContentSupport:before {
    transform: rotate(39deg) translate(25%, -50%);
    width: 9.375rem;
    height: 2rem
  }
  .serviceContentSupport__heading {
    padding-bottom: .9375rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentSupport__heading:before {
    width: 1.875rem
  }
  .serviceContentSupport__text {
    margin-top: 1.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentSupport__list {
    margin-top: 2rem;
    padding: 1.875rem 1.25rem
  }
  .serviceContentSupport__item + .serviceContentSupport__item {
    margin-top: 1.25rem
  }
  .serviceContentSupport__term {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .serviceContentSupport__description {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNav__wrapper {
    padding: 2.5rem 1.25rem 0
  }
  .serviceNavSp__topLink {
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 5.875rem;
    border-radius: .25rem;
    padding: 0 1.5rem 0 1.25rem;
    background-image: url(/assets/img/service/common/nav_top_img_sp.jpg);
    background-size: cover
  }
  .serviceNavSp__topEn {
    color: #fff
  }
  .serviceNavSp__topJp {
    display: block;
    margin-top: .1875rem;
    color: #fff;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavSp__list {
    border: 1px solid #e6e6e6;
    margin-top: 1rem;
    padding: .25rem 1.25rem
  }
  .serviceNavSp__item:last-child .serviceNavSp__link:before {
    content: none
  }
  .serviceNavSp__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavSp__link:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #e6e6e6
  }
  .serviceNavSp__link .arrow {
    width: .5rem;
    height: .625rem;
    background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
    background-size: contain
  }
  .serviceNavSp__link.is-current {
    pointer-events: none;
    color: #003e88
  }
  .serviceNavSp__link.is-current .arrow {
    display: none
  }
  .serviceNavSp__more {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavSp__more:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #e6e6e6
  }
  .serviceNavSp__more.is-current {
    color: #003e88
  }
  .serviceNavSp__more.is-active .plus:after {
    opacity: 0
  }
  .serviceNavSp__more .plus {
    display: block;
    position: relative;
    width: .75rem;
    height: .75rem
  }
  .serviceNavSp__more .plus:after, .serviceNavSp__more .plus:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    width: .75rem;
    height: 2px;
    border-radius: 1px;
    margin: auto;
    background-color: #003e88;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavSp__more .plus:after {
    transform: rotate(90deg)
  }
  .serviceNavSp__sub {
    overflow: hidden;
    height: 0;
    padding-left: .625rem;
    transition: height .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavSp__subItem:last-child .serviceNavSp__link:before {
    content: none
  }
  .serviceNavSp__subLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavSp__subLink:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #e6e6e6
  }
  .serviceNavSp__subLink .arrow {
    width: .5rem;
    height: .625rem;
    background-image: url(/assets/img/common/icon_arrow_simple_blue.svg);
    background-size: contain
  }
  .serviceNavSp__subLink.is-current {
    pointer-events: none;
    color: #003e88
  }
  .serviceNavSp__subLink.is-current .arrow {
    display: none
  }
  .serviceFeatures {
    padding: 3.75rem 0
  }
  .serviceFeatures__header {
    padding-bottom: 1.5rem
  }
  .serviceFeatures__heading {
    padding: 0 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__heading:before {
    width: 3.125rem
  }
  .serviceFeatures__inner {
    margin-top: 2.5rem;
    padding: 0 1.25rem
  }
  .serviceFeatures__inner > :is(section, div) + :is(section, div) {
    margin-top: 1.5rem
  }
  .serviceFeatures__group > :is(section, div) + :is(section, div) {
    margin-top: 1.5rem
  }
  .serviceFeatures__section {
    row-gap: 2rem;
    padding: 2.5rem 1.25rem
  }
  .serviceFeatures__sectionHeading {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading.--L3-option {
    padding-bottom: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading.--L3-option:before {
    width: 3.125rem
  }
  .serviceFeatures__sectionHeading.--L3-option span {
    margin-bottom: .375rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading .number {
    padding-left: .75rem;
    color: #0192d2;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 600
  }
  .serviceFeatures__sectionHeading .number:before {
    height: 1.25rem
  }
  .serviceFeatures__text {
    margin-top: 1.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceChoose {
    padding: 3.75rem 0
  }
  .serviceChoose__heading {
    padding: 0 1.25rem 1.5rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceChoose__heading:before {
    width: 3.125rem
  }
  .serviceChoose__continer {
    padding: 2.5rem 1.25rem 0
  }
  .serviceChoose__inner {
    padding: 2.5rem 1.25rem
  }
  .serviceChoose__section.--flex {
    padding: 2.5rem 0
  }
  .serviceChoose__section:first-child {
    padding-bottom: 2.5rem
  }
  .serviceChoose__sectionHeading {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceChoose__sectionHeading .number {
    padding-left: .75rem;
    color: #0192d2;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 600
  }
  .serviceChoose__sectionHeading .number:before {
    height: 1.25rem
  }
  .serviceChoose__text {
    margin-top: 1.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceChoose__text .note {
    margin-top: .75rem;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceChoose__img {
    margin-top: 2rem
  }
  .serviceChoose__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: .9375rem;
    column-gap: .9375rem;
    row-gap: .9375rem;
    margin-top: 2rem;
    padding: 1.875rem 1.25rem
  }
  .serviceChoose__link {
    margin-top: 1.25rem
  }
  .indexNewsHeader__headingEn {
    padding-left: 1rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .indexNewsHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .indexNewsHeader__group {
    padding: 0 1.25rem 1.875rem;
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .indexNewsHeader__group:before {
    content: "";
    width: 5rem
  }
  .indexNewsHeader__lead {
    margin-top: .75rem
  }
  .indexNewsBody {
    padding: 3rem 0 0
  }
  .indexNewsBody__side {
    padding: 0 1.25rem
  }
  .indexNewsBody__content {
    padding: 3.75rem 1.25rem 0
  }
  .indexNewsSide {
    display: flex;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem
  }
  .indexNewsSide__search {
    max-width: 12.5rem;
    width: 50%
  }
  .indexNewsSide__text {
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .indexNewsSide__box {
    margin-top: .875rem;
    height: 2.625rem
  }
  .indexNewsSide__boxInner {
    border-radius: .25rem;
    background-color: #f5f5f5
  }
  .indexNewsSide__button {
    position: relative;
    width: 100%;
    padding: .625rem .75rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500
  }
  .indexNewsSide__inner {
    overflow: hidden;
    height: 0;
    transition: height .3s cubic-bezier(.33, 1, .68, 1)
  }
  .indexNewsSide__list {
    display: flex;
    flex-direction: column;
    row-gap: .5rem;
    padding: 0 .75rem .625rem
  }
  .indexNewsSide__item.is-current {
    display: none
  }
  .indexNewsSide__link {
    color: #999;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500
  }
  .indexNewsSideSerect {
    max-width: 9.875rem;
    width: 100%
  }
  .indexNewsSideSerect__text {
    padding-left: 1rem;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .indexNewsSideSerect__box {
    margin-top: .875rem
  }
  .indexNewsSideSerect__button {
    padding: .625rem .75rem
  }
  .indexNewsSideSerect__list {
    padding: 0 .75rem .625rem
  }
  .indexNewsList__item + .indexNewsList__item {
    margin-top: 1.625rem
  }
  .indexNewsList__link {
    padding-bottom: 1.5rem
  }
  .indexNewsList__meta {
    -moz-column-gap: 1rem;
    column-gap: 1rem
  }
  .indexNewsList__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 400
  }
  .singleNews {
    padding: 8.375rem 0 0
  }
  .singleNews__inner {
    flex-direction: column-reverse
  }
  .singleNews__back {
    margin: 2rem auto 0
  }
  .singleNewsShare {
    padding: 0 1.25rem
  }
  .singleNewsShare__inner {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    border-bottom: 1px solid #e6e6e6;
    padding: 3rem 0 1.25rem
  }
  .singleNewsShare__text {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
  .singleNewsShare__list {
    display: flex;
    justify-content: center;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    margin-top: 1rem
  }
  .singleNewsContent__header {
    padding: 0 1.25rem 2rem
  }
  .singleNewsContent__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__meta {
    margin-top: 1.25rem
  }
  .singleNewsContent__body {
    padding: 3rem 1.25rem 0
  }
  .singleNewsContent__body * + :is(h2, h3) {
    margin-top: 2.5rem
  }
  .singleNewsContent__body * + :is(h4) {
    margin-top: 1.5rem
  }
  .singleNewsContent__body * + :is(ul, ol) {
    margin-top: 1.5rem
  }
  .singleNewsContent__body :is(h2, h4) + p {
    margin-top: 2rem
  }
  .singleNewsContent__body :is(h4) + p {
    margin-top: .75rem
  }
  .singleNewsContent__body p + a {
    margin-top: 1rem
  }
  .singleNewsContent__body h2 {
    padding-bottom: 1.25rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body h2:before {
    width: 3.125rem
  }
  .singleNewsContent__body h3 {
    padding-bottom: 1rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body h3:before {
    width: 3.125rem
  }
  .singleNewsContent__body h4 {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body ol > li, .singleNewsContent__body p, .singleNewsContent__body ul > li {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleNewsContent__body p + p {
    margin-top: .75rem
  }
  .singleNewsContent__body a {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleNewsContent__body .box {
    padding: 2.5rem 1.25rem
  }
  * + .singleNewsContent__body .box {
    margin-top: 2.5rem
  }
  .singleNewsContent__body .block {
    margin-bottom: 2.25rem
  }
  .singleNewsContent__body .table {
    width: calc(100% + 1.25rem);
    padding-right: 1.25rem;
    margin-top: .75rem;
    margin-bottom: 2.25rem
  }
  .companyHeader {
    padding: 1.125rem 1.25rem 0
  }
  .companyHeader__group {
    padding: 0.5rem 0 1.875rem;
    font-size: 0.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .companyHeader__group:before {
    content: "";
    width: 5rem
  }
  .companyHeader__heading {
    width: -moz-fit-content;
    width: fit-content
  }
  .companyHeader__lead {
    margin-top: .75rem
  }
  .companyHeaderNav__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    height: 2.75rem
  }
  .companyHeaderNav__link {
    color: #fff;
    font-size: .75rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .topCompanyAbout, .topCompanyAbout__content {
    padding: 2.5rem 1.25rem
  }
  .topCompanyAbout__heading {
    font-size: 2.35rem!important;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .topCompanyAbout__inner {
    margin-top: 1.5rem
  }
  .topCompanyAbout__text {
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .topCompanyAbout__text + .topCompanyAbout__text {
    margin-top: .8125rem
  }
  .topCompanyAbout__logo {
    top: 1.875rem;
    right: 1.875rem;
    width: 2.5rem;
    height: 3.0625rem
  }
  .topCompanyAbout__logoGray {
    bottom: -6.5rem;
    left: -3rem;
    width: 15rem
  }
  .topCompanyMivi__wrapper {
    padding: 0 1.25rem 2rem
  }
  .topCompanyMivi__section {
    display: flex;
    flex-direction: column;
    padding: 2.75rem 0 2.5rem
  }
  .topCompanyMivi__content {
    display: contents
  }
  .topCompanyMivi__heading {
    order: 1;
    padding-bottom: 1.25rem
  }
  .topCompanyMivi__heading:before {
    width: 3.125rem
  }
  .topCompanyMivi__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .topCompanyMivi__headingJp {
    margin-top: .75rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .topCompanyMivi__text {
    order: 3;
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .topCompanyMivi__en {
    right: 1.5rem;
    bottom: 1.5rem;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .topCompanyPage__list {
    padding: 3.75rem 1.75rem
  }
  .topCompanyPage__section + .topCompanyPage__section {
    margin-top: 2.5rem
  }
  .topCompanyPage__content {
    margin-top: 1.25rem;
    padding-bottom: .75rem
  }
  .topCompanyPage__headingEn {
    color: #fff
  }
  .companyMessageBody {
    flex-direction: column-reverse;
    padding: 2.5rem 1.25rem 3.75rem
  }
  .companyMessageBody__content {
    margin-top: 2.5rem
  }
  .companyMessageBody__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyMessageBody__text + .companyMessageBody__text {
    margin-top: 1rem
  }
  .companyMessageBody__name {
    display: flex;
    align-items: center;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    margin-top: 2rem;
    font-size: 1.125rem;
    line-height: 1.6
  }
  .companyMessageBody__name > small {
    font-size: .875rem;
    line-height: 1.6
  }
  .companyInfo__wrapper {
    padding: 3rem 1.25rem
  }
  .companyInfo__headingJp {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .companyInfoMain {
    margin-top: 1.25rem
  }
  .companyInfoMain__section {
    border-bottom: 1px solid #e6e6e6
  }
  .companyInfoMain__link {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    padding: 1.25rem 0
  }
  .companyInfoMain__headingJp {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .companyInfoMain__img {
    width: 9rem;
    height: 6rem
  }
  .companyOutlineBody {
    flex-direction: column-reverse;
    row-gap: 3.75rem;
    padding: 3rem 1.25rem 5rem
  }
  .companyOutlineBody__img {
    display: none
  }
  .companyOutlineBody__item {
    padding: 1.5rem 0
  }
  .companyOutlineBody__term {
    width: 5.375rem;
    font-weight: 700
  }
  .companyOutlineBody__description, .companyOutlineBody__term {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyOutlineBody__document {
    margin-top: 2rem;
    padding: 1.5rem 1.5rem 1.75rem
  }
  .companyOutlineBody__documentList {
    margin-top: 1rem
  }
  .companyHistoryBody {
    padding: 3rem 1.25rem 5rem
  }
  .companyHistoryBody__list:before {
    left: 4.875rem;
    height: calc(100% - .5rem)
  }
  .companyHistoryBody__item {
    -moz-column-gap: .375rem;
    column-gap: .375rem;
    padding: 1.5rem 0
  }
  .companyHistoryBody__term {
    width: 6rem;
    color: #999;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyHistoryBody__description {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyHistoryBody__img {
    display: none
  }
  .recruitHeader {
    padding: 6.75rem 0 0
  }
  .recruitHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .recruitHeader__group {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .recruitHeader__group:before {
    content: "";
    width: 5rem
  }
  .recruitHeader__lead {
    margin-top: .75rem
  }
  .recruitLead__content {
    padding: 3rem 1.25rem 0
  }
  .recruitLead__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitLead__text {
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .recruitLead__img {
    margin-top: 2.5rem;
    padding-left: 1.25rem
  }
  .recruitLead__img img {
    aspect-ratio: 355/240
  }
  .recruitInfo {
    margin-top: -5rem
  }
  .recruitInfo + div {
    padding-top: 3.75rem
  }
  .recruitInfo__nav {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    width: 100%;
    background-color: #fff
  }
  .recruitInfoPersonality {
    padding-top: 9rem;
    padding-bottom: 7.5rem
  }
  .recruitInfoPersonality__bg {
    -webkit-clip-path: ellipse(204% 100% at center top);
    clip-path: ellipse(204% 100% at center top)
  }
  .recruitInfoPersonality__wrapper {
    padding: 0 1.25rem
  }
  .recruitInfoPersonality__heading {
    padding-bottom: 1.25rem
  }
  .recruitInfoPersonality__heading:before {
    width: 3.125rem
  }
  .recruitInfoPersonality__headingEn {
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPersonality__headingJp {
    margin-top: .625rem;
    color: #fff;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPersonality__lead {
    margin-top: 1.5rem
  }
  .recruitInfoPersonality__list {
    margin-top: 2.5rem
  }
  .recruitInfoPersonality__item {
    margin-top: 1.25rem;
    padding-left: 2.5rem;
    padding-bottom: 1.25rem
  }
  .recruitInfoPersonality__item:before {
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPersonality__term {
    color: hsla(0, 0%, 100%, .5);
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 600
  }
  .recruitInfoPersonality__description {
    color: #fff;
    font-size: 1.0625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPosition {
    padding-top: 4.25rem;
    padding-bottom: 5rem
  }
  .recruitInfoPosition__wrapper {
    padding: 0 1.25rem
  }
  .recruitInfoPosition__heading {
    padding-bottom: 1.5rem
  }
  .recruitInfoPosition__heading:before {
    width: 3.125rem
  }
  .recruitInfoPosition__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPosition__headingJp {
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPosition__list {
    margin-top: 2.5rem
  }
  .recruitInfoPosition__item {
    padding-bottom: 1.5rem
  }
  .recruitInfoPosition__item + .recruitInfoPosition__item {
    margin-top: 1.5rem
  }
  .recruitInfoPosition__term {
    display: flex;
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .recruitInfoPosition__description {
    margin-top: 1.125rem
  }
  .recruitInfoPosition__descriptionText {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitInfoPosition__descriptionLink {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 1.5rem;
    margin-left: auto
  }
  .recruitInfoPosition__descriptionLink:after {
    width: 6.25rem
  }
  .recruitInfoFaq {
    padding-top: 4rem;
    padding-bottom: 3.75rem
  }
  .recruitInfoFaq__wrapper {
    padding: 0 1.25rem
  }
  .recruitInfoFaq__heading {
    padding-bottom: 1.5rem
  }
  .recruitInfoFaq__heading:before {
    width: 3.125rem
  }
  .recruitInfoFaq__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoFaq__headingJp {
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoFaq__list {
    margin-top: 2.5rem
  }
  .recruitInfoFaq__item + .recruitInfoFaq__item {
    margin-top: 1.25rem
  }
  .recruitInfoFaq__question {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    padding: 1.5rem 1.25rem 1.5rem 3.25rem
  }
  .recruitInfoFaq__question:before {
    top: 1.75rem;
    left: 1.25rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitInfoFaq__questionText {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .recruitInfoFaq__questionButton {
    width: 2rem;
    height: 2rem
  }
  .recruitInfoFaq__AnswerInner {
    padding: 1.125rem 1.25rem 1.5rem 3.375rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitInfoFaq__AnswerInner:before {
    top: 1.5rem;
    left: 1.25rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitInfoNav__text {
    display: none
  }
  .recruitInfoNav__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border: 1px solid #e6e6e6
  }
  .recruitInfoNav__item + .recruitInfoNav__item:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    height: 1.5rem;
    margin: auto;
    background-color: #e6e6e6
  }
  .recruitInfoNav__link {
    padding: 1rem 0 1.0625rem;
    color: #222;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500;
    text-align: center
  }
  .recruitInfoNav__link:before {
    top: .4375rem;
    left: 0;
    right: 0;
    margin: auto
  }
  .recruitInfoNav__link.is-active {
    color: #003e88
  }
  .recruitGuidelunes {
    padding: 8.375rem 0 8.375rem
  }
  .recruitGuidelunes__header {
    padding: 0 1.25rem
  }
  .recruitGuidelunes__heading:before {
    width: 3.125rem
  }
  .recruitGuidelunes__headingSub {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .recruitGuidelunes__headingmain {
    margin-top: .375rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitGuidelunes__lead {
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitGuidelunes__list {
    margin-top: 2.5rem;
    padding: 0 1.25rem
  }
  .recruitGuidelunes__item {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
  }
  .recruitGuidelunes__term {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .recruitGuidelunes__description {
    margin-top: .75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitGuidelunes__link {
    padding: 2.5rem 1.25rem 0
  }
  .recruitGuidelunes__apply {
    height: 3.75rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitGuidelunes__apply .circle {
    inset: 0 1.5rem 0 auto
  }
  .recruitGuidelunes__back {
    margin-top: 2rem
  }
  .caseHeader {
    padding: 6.75rem 1.25rem 0
  }
  .caseHeader__wapper:after {
    content: "";
    width: 5rem
  }
  .caseHeader__inner {
    padding-bottom: 1.5rem
  }
  .caseHeader__link {
    margin-top: 1rem;
    margin-left: auto
  }
  .caseHeader__lead {
    margin-top: .75rem
  }
  .casePickup__wrapper:before {
    height: calc(100% - 7.5rem)
  }
  .casePickup__slider .splide__list {
    align-items: flex-start
  }
  .casePickup__counter {
    right: 8.125rem;
    bottom: -3.125rem
  }
  .casePickup__counter .line {
    width: 1.875rem;
    height: 1px;
    margin: 0 .375rem
  }
  .casePickup__arrows {
    right: 1.25rem;
    bottom: -4rem;
    display: flex;
    flex-direction: row-reverse;
    -moz-column-gap: .625rem;
    column-gap: .625rem
  }
  .casePickup__link {
    padding: 2.5rem 1.25rem 0
  }
  .casePickup__list {
    margin-top: .9375rem
  }
  .casePickup__heading {
    margin-top: 1rem;
    font-size: 1.375rem
  }
  .casePickup__company, .casePickup__heading {
    color: #fff;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .casePickup__company {
    font-size: .9375rem
  }
  .casePickup__logo {
    width: 7.125rem;
    height: 4.75rem
  }
  .casePickup__view {
    margin-top: 1.5rem
  }
  .caseSingleHeader__wapper {
    padding: 9.75rem 1.25rem 7.5rem
  }
  .caseSingleHeader__list {
    margin-top: .625rem
  }
  .caseSingleHeader__heading {
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleHeader__profile {
    margin-top: 1.25rem;
    padding-top: 1.25rem
  }
  .caseSingleHeader__logo {
    width: 7.125rem;
    height: 4.75rem
  }
  .caseSingleHeader__company {
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .caseSingleHeader__name {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleBody {
    padding: 0 0 3.75rem
  }
  .caseSingleBody__head {
    padding: 0 1.25rem
  }
  .caseSingleBody__lead {
    padding: 2.5rem 1.25rem
  }
  .caseSingleBody__primary {
    flex-direction: column
  }
  .caseSingleBody__side {
    padding: 0 1.25rem
  }
  .caseSingleBody__content {
    padding: 3.75rem 1.25rem 0
  }
  .caseSingleBodyShare__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1.25rem;
    border-bottom: 1px solid #e6e6e6;
    padding: 2.125rem 0 1rem
  }
  .caseSingleBodyShare__list {
    display: flex;
    -moz-column-gap: 1rem;
    column-gap: 1rem
  }
  .caseSingleBodyContent__inner {
    padding: 3rem 1.25rem 0
  }
  .caseSingleBodyContent__inner img {
    margin-top: 2rem;
    margin-bottom: 2rem
  }
  .caseSingleBodyContent__inner .moderator p {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContent__inner .moderator p:before {
    display: inline-block;
    width: .75rem;
    margin-right: .375rem;
    margin-bottom: .3125rem
  }
  .caseSingleBodyContent__inner .speaker + .listener {
    margin-top: 1.75rem
  }
  .caseSingleBodyContent__inner .speaker p {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContent__inner h2 {
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleBodyContent__inner * + h2 {
    margin-top: 2.5rem
  }
  .caseSingleBodyContent__inner h2 + * {
    margin-top: 2rem
  }
  .caseSingleBodyContent__inner > div + div {
    margin-top: 1rem
  }
  .caseSingleBodyContentInfo {
    padding: 1.25rem 1.25rem 2rem
  }
  .caseSingleBodyContentInfo:before {
    left: 0;
    right: 0;
    width: calc(100% - 2.5rem);
    margin: auto
  }
  .caseSingleBodyContentInfo__creator {
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContentInfo__note {
    margin-top: 1.5rem
  }
  .caseSingleBodyContentInfo__company {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    row-gap: .75rem;
    margin-top: 2.5rem;
    padding: 2rem 1.25rem
  }
  .caseSingleBodyContentInfo__companyLogo {
    grid-column: 1/2;
    grid-row: 1/2;
    width: 7.5rem;
    height: 5rem
  }
  .caseSingleBodyContentInfo__companyInner {
    display: contents
  }
  .caseSingleBodyContentInfo__companyHeader {
    grid-column: 2/3;
    grid-row: 1/2;
    align-self: center
  }
  .caseSingleBodyContentInfo__companyName {
    font-size: 1.0625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__companyLink {
    margin-top: .25rem;
    color: #999;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .caseSingleBodyContentInfo__companyText {
    grid-column: 1/3;
    grid-row: 2/3;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContentInfo__contact {
    height: 3.75rem;
    margin: 2rem auto 0;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__contact .circle {
    inset: 0 1.5rem 0 auto
  }
  .caseSingleBodyContentInfo__introduction {
    padding: 1.5rem 1.25rem 0
  }
  .caseSingleBodyContentInfo__introduction:before {
    left: 0;
    right: 0;
    width: calc(100% - 2.5rem);
    margin: auto
  }
  .caseSingleBodyContentInfo__introductionText {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__introductionInner {
    flex-direction: column;
    row-gap: 1.25rem;
    margin-top: 1.5rem
  }
  .caseSingleBodyContentInfo__introductionDatail {
    min-height: 3.75rem;
    padding: .375rem 1.375rem .375rem 1.25rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.4;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__introductionDocument {
    min-height: 3.75rem;
    padding: 1.125rem 1.375rem 1.125rem 1.25rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__introductionDocument:before {
    inset: 0 1.75rem 0 auto
  }
  .caseSingleSimilar__wrapper {
    padding: 0 1.25rem
  }
  .caseSingleSimilar__wrapper:before {
    left: calc(-100% + 1.25rem)
  }
  .caseSingleSimilar__header {
    position: relative;
    padding-bottom: 1.75rem
  }
  .caseSingleSimilar__heading {
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleSimilar__heading:before {
    width: 2.625rem
  }
  .caseSingleSimilar__lead {
    margin-top: .75rem
  }
  .caseSingleSimilar__slider {
    margin-top: .5rem
  }
  .caseSingleSimilar__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleSimilar__detail {
    margin-top: 1.25rem
  }
  .caseSingleSimilar__item {
    -moz-column-gap: .625rem;
    column-gap: .625rem
  }
  .caseSingleSimilar__back {
    margin: 2rem 0 0 auto
  }
  .caseSingleSimilar__control {
    justify-content: flex-end;
    margin-bottom: 1.5rem
  }
  .caseSingleSimilar__arrows {
    -moz-column-gap: .625rem;
    column-gap: .625rem
  }
  .caseInterview {
    padding: 6.5rem 1.25rem 5rem
  }
  .caseInterview__article + .caseInterview__article, .caseInterview__list {
    margin-top: 2.5rem
  }
  .caseInterviewTag {
    width: 100%;
    margin-top: 2rem
  }
  .caseInterviewTag__box {
    flex: 1 1 auto;
    max-width: 13.125rem;
    width: 100%;
    height: 2.625rem
  }
  .caseInterviewTag__button {
    padding: .625rem 2.5rem .625rem .75rem
  }
  .caseInterviewTag__list {
    padding: 0 2.5rem .625rem .75rem
  }
  .casetPerformance__tab {
    padding: 0 .75rem
  }
  .casetPerformance__tabItem {
    height: 3.75rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700;
    text-align: center
  }
  .casetPerformance__inner {
    padding: 0 1.25rem
  }
  .casetPerformance__lead {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .casetPerformance__table {
    margin-top: 2rem
  }
  .casetPerformance__table table tr > td:first-child, .casetPerformance__table table tr > th:first-child {
    width: 3.5rem
  }
  .casetPerformance__table table tr > td:nth-child(2), .casetPerformance__table table tr > th:nth-child(2) {
    padding-left: 1rem
  }
  .casetPerformance__table table td, .casetPerformance__table table th {
    height: 3.75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 400
  }
  .casetPerformance__table table td.interview, .casetPerformance__table table th.interview {
    height: 5rem
  }
  .casetPerformance__tableNote {
    bottom: -1.75rem;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .casetPerformance__more {
    margin: 4.25rem auto 0
  }
  .casetPerformance .serviceNameLineup__header {
    padding: 2.5rem 1.25rem 0
  }
  .faqHeader__group {
    padding: 0 1.25rem 1.875rem;
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .faqHeader__group:before {
    content: "";
    width: 5rem
  }
  .faqHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .faqHeader__headingJp {
    margin-top: .5rem;
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .faqHeader__lead {
    margin-top: .75rem
  }
  .faqHeader__nav {
    padding: 2.5rem 1.25rem 0
  }
  .faqHeader__list {
    -moz-column-gap: .5625rem;
    column-gap: .5625rem;
    row-gap: .5625rem
  }
  .faqHeader__item {
    width: calc(50% - .28125rem)
  }
  .faqHeader__link {
    min-height: 2.875rem;
    padding: .75rem 1.25rem .75rem .625rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .faqHeader__link .arrow {
    inset: .125rem .625rem 0 auto
  }
  .faqBody {
    padding: 3.5rem 1.25rem 3.75rem
  }
  .faqBody__section + .faqBody__section {
    margin-top: 4.5rem
  }
  .faqBody__heading {
    padding-left: 1rem
  }
  .faqBody__item + .faqBody__item {
    margin-top: 1.25rem
  }
  .faqBody__question {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    padding: 1.5rem 1.25rem 1.5rem 3.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .faqBody__question:before {
    top: 1.75rem;
    left: 1.125rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 600
  }
  .faqBody__question .button {
    width: 2rem;
    height: 2rem
  }
  .faqBody__answer:before {
    top: 1.375rem;
    left: 1.25rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 600
  }
  .faqBody__answerInner {
    padding: 1rem 1.25rem 1.5rem 3.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .faqBody__answerInner:before {
    left: 3.375rem;
    width: calc(100% - 4.625rem)
  }
  .columnHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .columnHeader__group {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .columnHeader__group:before {
    content: "";
    width: 5rem
  }
  .columnHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .columnHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .columnHeader__lead {
    margin-top: .875rem
  }
  .columnBody {
    padding: 2.5rem 1.25rem 0
  }
  .columnCategory {
    padding: 2.5rem 0
  }
  .columnCategory__serect {
    padding: 0 1.25rem 1.5rem
  }
  .columnCategory__textEn {
    padding-left: .625rem;
    color: #003e88;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .columnCategory__textEn:before {
    height: 1rem
  }
  .columnCategory__keyword {
    padding: 1.5rem 1.25rem
  }
  .columnCategory__keywordList {
    margin-top: .75rem
  }
  .columnCategory__beginners {
    border-top: 1px solid #e6e6e6;
    padding: 1.5rem 1.25rem 0
  }
  .columnCategory__beginnersText {
    margin-bottom: .75rem
  }
  .columnCategory__beginnersLink {
    padding: 0 1.25rem;
    max-width: 17.5rem;
    width: 100%;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .columnList__inner {
    margin-top: 3.75rem
  }
  .columnList__item + .columnList__item {
    margin-top: 2.5rem
  }
  .columnList__content {
    margin-top: 1rem
  }
  .columnList__tag {
    margin-top: .75rem
  }
  .columnList__title {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumn__inner {
    display: flex;
    flex-direction: column-reverse
  }
  .singleColumn__back {
    margin: 2rem auto 0
  }
  .singleColumnContent__header {
    padding: 0 1.25rem 1.25rem
  }
  .singleColumnContent__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__meta {
    margin-top: 1.25rem
  }
  .singleColumnContent__body {
    padding: 3rem 1.25rem 0
  }
  .singleColumnContent__body * + :where(h2, h3) {
    margin-top: 2.5rem
  }
  .singleColumnContent__body * + :where(h4) {
    margin-top: 2rem
  }
  .singleColumnContent__body * + :where(ul, ol) {
    margin-top: .625rem;
    margin-left: .25rem;
    margin-bottom: .625rem
  }
  .singleColumnContent__body :where(h2, h4) + p {
    margin-top: 2rem
  }
  .singleColumnContent__body :where(h4) + p {
    margin-top: .625rem
  }
  .singleColumnContent__body :where(h5) + p {
    margin-top: .625rem
  }
  .singleColumnContent__body :where(ul, ol) + p {
    margin-top: 1.5rem
  }
  .singleColumnContent__body p + :where(h2, h3) {
    margin-top: 2rem
  }
  .singleColumnContent__body p + :where(h4, h5) {
    margin-top: 1.5rem
  }
  .singleColumnContent__body p + a {
    margin-top: 1rem
  }
  .singleColumnContent__body :where(.singleColumnContent__kv, .img) + p {
    margin-top: 2rem
  }
  .singleColumnContent__body h2 {
    padding-bottom: 1.25rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body h2:before {
    width: 3.125rem
  }
  .singleColumnContent__body h3 {
    padding-left: .875rem;
    padding-bottom: 1rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body h3:before {
    top: .625rem;
    width: .4375rem;
    height: .4375rem
  }
  .singleColumnContent__body h4, .singleColumnContent__body h5 {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body ol:not([class]) > li, .singleColumnContent__body p:not([class]), .singleColumnContent__body ul:not([class]) > li {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleColumnContent__body a {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleColumnContent__body .box {
    padding: 2.5rem 1.25rem
  }
  * + .singleColumnContent__body .box {
    margin-top: 2.5rem
  }
  .singleColumnContent__body .table {
    overflow-x: auto;
    width: calc(100% + 1.25rem);
    padding-right: 1.25rem;
    margin-top: .75rem
  }
  .singleColumnContent__body .table td, .singleColumnContent__body .table th {
    white-space: nowrap
  }
  .singleColumnContent__indexCotnent {
    height: 25rem
  }
  .singleColumnContent__indexInner {
    padding: 2rem 1.25rem 5.25rem
  }
  .singleColumnContent__indexInnerSmall {
    padding: 2rem 1.25rem
  }
  .singleColumnContent__indexText {
    color: #003e88;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .singleColumnContent__indexText:before {
    top: .625rem
  }
  .singleColumnContent__indexItem {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleColumnContent__inner {
    margin-top: 2rem
  }
  .singleColumnShare {
    flex: 0 0 auto;
    padding: 0 1.25rem
  }
  .singleColumnShare__inner {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    border-bottom: 1px solid #e6e6e6;
    padding: 2.5rem 0 1.25rem
  }
  .singleColumnShare__text {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
  .singleColumnShare__list {
    display: flex;
    justify-content: center;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    margin-top: 1rem
  }
  .introductionHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .introductionHeader__group {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .introductionHeader__group:before {
    content: "";
    width: 5rem
  }
  .introductionHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .introductionHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionHeader__lead {
    margin-top: .875rem
  }
  .introductionHeader__nav {
    margin: 0 auto 4rem
  }
  .introductionHeader__list {
    -moz-column-gap: .5625rem;
    column-gap: .5625rem;
    row-gap: .5625rem
  }
  .introductionHeader__item {
    width: 100%
  }
  .introductionHeader__link {
    min-height: 2.875rem;
    padding: .75rem 1.25rem .75rem .625rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .introductionHeader__link .arrow {
    inset: .125rem .625rem 0 auto
  }
  .introductionBody {
    padding: 2.5rem 0 0
  }
  .introductionBody__tab {
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    padding: 0 .75rem
  }
  .introductionBody__tabItem {
    height: 3.75rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700;
    text-align: center
  }
  .introductionBody__continer {
    padding: 2.5rem 0 4rem
  }
  .introductionBody__panel {
    padding: 0 1.25rem
  }
  .introductionBody__panel.--type2 .introductionBody__inner:before {
    height: calc(100% - 3rem)
  }
  .introductionBody__panel.--type2 .introductionBody__inner:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1.25rem;
    left: -1.09375rem;
    width: 1rem;
    height: .5rem;
    background-image: url(/assets/img/common/icon_arrow_step2.svg);
    background-size: cover
  }
  .introductionBody__inner {
    margin-top: 3.75rem;
    row-gap: 3.5rem
  }
  .introductionBody__inner:before {
    top: 4.1875rem;
    left: -.625rem;
    height: calc(100% - 6.0625rem);
    margin: auto
  }
  .introductionBody__section {
    display: grid;
    grid-template-columns: 3.75rem auto;
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .introductionBody__section.--repeat {
    display: block;
    margin-top: -2rem;
    padding-left: 1rem
  }
  .introductionBody__meta {
    display: contents
  }
  .introductionBody__progress {
    grid-column: 1/3;
    grid-row: 1/2;
    margin-bottom: 1rem
  }
  .introductionBody__icon {
    width: 3.75rem;
    height: 3.75rem;
    grid-column: 1/2;
    grid-row: 2/3
  }
  .introductionBody__icon:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    transform: translateX(-100%);
    width: .625rem;
    height: 1px;
    margin: auto;
    background-color: #0a487e
  }
  .introductionBody__content {
    display: contents
  }
  .introductionBody__heading {
    align-self: center;
    grid-column: 2/3;
    grid-row: 2/3;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__heading > small {
    display: block;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__Categoryheading {
    padding-bottom: 1.25rem;
    margin-bottom: 2rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__Categoryheading:before {
    width: 3.125rem
  }
  .introductionBody__Categoryheading small {
    margin-top: .125rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .introductionBody__text {
    grid-column: 1/3;
    grid-row: 3/4;
    margin-top: 1.25rem;
    padding-left: .625rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__text + * {
    grid-column: 1/3;
    grid-row: 4/5
  }
  .introductionBody__text + * + * {
    grid-column: 1/3;
    grid-row: 5/6
  }
  .introductionBody__text + * + * + * {
    grid-column: 1/3;
    grid-row: 6/7
  }
  .introductionBody__box, .introductionBody__link {
    margin-top: 1.25rem;
    margin-left: .625rem
  }
  .introductionBody__box {
    padding: 1rem
  }
  .introductionBody__boxText {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .introductionBody__boxList {
    margin-top: .375rem
  }
  .introductionBody__boxItem {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__boxItem + .introductionBody__boxItem {
    margin-top: .125rem
  }
  .introductionBody__note {
    margin-top: .75rem;
    margin-left: .625rem;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__sectionGroup.--returen {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem
  }
  .introductionBody__case {
    align-self: center;
    grid-column: 1/3;
    grid-row: 3/4;
    padding-left: .625rem
  }
  .introductionBody__repeat {
    color: #003e88;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBodyNav {
    width: calc(100% + 2.5rem);
    margin-left: -1.25rem
  }
  .introductionBodyNav:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    border: 1px solid #e6e6e6;
    margin: auto
  }
  .introductionBodyNav__wrapper {
    padding: 2rem 1.875rem 2.5rem
  }
  .introductionBodyNav__linkItem .circle {
    inset: 0 1.25rem 0 auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:first-child {
    top: 17.0666666667vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(2) {
    top: 40.2666666667vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(3) {
    top: 62.9333333333vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(4) {
    top: 94.4vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(5) {
    top: 117.3333333333vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(6) {
    top: 149.6vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.5333333333vw;
    margin: auto
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:first-child {
    top: 17.0666666667vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(2) {
    top: 40vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(3) {
    top: 62.9333333333vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(4) {
    top: 93.8666666667vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(5) {
    top: 116.5333333333vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 16.8vw;
    margin: auto
  }
  .introductionBodyNav__beforeText:before {
    content: "";
    position: absolute;
    top: .625rem;
    left: -1.25rem;
    width: .625rem;
    height: 100%;
    border-top: 1px solid #062d59;
    border-left: 1px solid #062d59;
    border-bottom: 1px solid #062d59
  }
  .introductionBodyNav__beforeList {
    display: flex;
    flex-direction: column;
    row-gap: 1.4375rem;
    margin-top: 1rem
  }
  .introductionBodyNav__beforeItem {
    min-height: 4rem
  }
  .introductionBodyNav__beforeItem .main + small {
    margin-top: .25rem
  }
  .introductionBodyNav__beforeItem:first-child .introductionBodyNav__beforeLink {
    padding: .75rem 1.25rem
  }
  .introductionBodyNav__beforeItem:nth-child(n+2):before {
    inset: -.9375rem 0 auto 0;
    transform: rotate(90deg) translateX(-100%);
    width: .75rem;
    height: 2rem;
    margin: auto;
    background-image: url(/assets/img/common/icon_introduction_triangle_gray.svg);
    background-size: contain
  }
  .introductionBodyNav__beforeItem:nth-child(n+2) .introductionBodyNav__beforeLink {
    padding: .75rem 1.25rem
  }
  .introductionBodyNav__beforeItem .circle {
    inset: 0 1.25rem 0 auto
  }
  .introductionBodyNav__after {
    margin-top: 1.875rem
  }
  .introductionBodyNav__afterText:before {
    content: "";
    position: absolute;
    top: .625rem;
    left: -1.25rem;
    width: .625rem;
    height: 100%;
    border-top: 1px solid #062d59;
    border-left: 1px solid #062d59;
    border-bottom: 1px solid #062d59
  }
  .introductionBodyNav__afterList {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    row-gap: 1.4375rem;
    margin-top: 1rem
  }
  .introductionBodyNav__afterItem:first-child {
    grid-column: 1/3;
    grid-row: 1/2
  }
  .introductionBodyNav__afterItem:first-child .introductionBodyNav__afterLink {
    padding: 1.4375rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(2) {
    grid-column: 1/3;
    grid-row: 2/3
  }
  .introductionBodyNav__afterItem:nth-child(2):before {
    inset: -.9375rem 0 auto 0;
    transform: rotate(90deg) translateX(-100%);
    width: .75rem;
    height: 2rem
  }
  .introductionBodyNav__afterItem:nth-child(2) .introductionBodyNav__afterLink {
    padding: 1.4375rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(3) {
    grid-column: 1/2;
    grid-row: 3/4;
    padding: .75rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(3):before {
    inset: -.9375rem 0 auto 0;
    transform: rotate(90deg) translateX(-100%);
    width: .75rem;
    height: 2rem
  }
  .introductionBodyNav__afterItem:nth-child(4) {
    grid-column: 2/3;
    grid-row: 3/4;
    padding: .75rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(4):before {
    inset: -.9375rem 0 auto 0;
    transform: rotate(90deg) translateX(-100%);
    width: .75rem;
    height: 2rem
  }
  .introductionBodyNav__afterItem:nth-child(5) {
    grid-column: 1/3;
    grid-row: 4/5;
    padding: 1.4375rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(5):before {
    inset: -.9375rem auto auto 22.5%;
    transform: rotate(90deg) translateX(-100%);
    width: .75rem;
    height: 2rem
  }
  .introductionBodyNav__afterItem .circle {
    inset: 0 1.25rem 0 auto
  }
  .priceHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .priceHeader__group {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .priceHeader__group:before {
    content: "";
    width: 5rem
  }
  .priceHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .priceHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceHeader__lead {
    margin-top: .875rem
  }
  .priceSide {
    display: none;
    padding: 0 1.25rem
  }
  .priceSide__text {
    margin-bottom: 1.25rem;
    padding-left: 1em;
    font-family: Montserrat, sans-serif;
    font-weight: 600
  }
  .priceSide__text:before {
    content: "";
    display: block;
    position: absolute;
    top: .25rem;
    left: 0;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background-color: #003e88
  }
  .priceSide__nav {
    border: 1px solid #e6e6e6;
    border-radius: .25rem;
    padding: 1.5rem 1.25rem;
    background-color: #f5f5f5
  }
  .priceSide__item + .priceSide__item {
    margin-top: .875rem
  }
  .priceSide__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    padding-bottom: 1rem;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .priceSide__link:before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #e6e6e6
  }
  .priceContent__block {
    padding-top: 3.75rem
  }
  .priceContent__block:first-child {
    padding-top: 2.5rem
  }
  .priceContent__block.--pb {
    padding-bottom: 3.5rem
  }
  .priceContent__block.--gray {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }
  .priceContent__block.--gray + .priceContent__block {
    padding-top: 3rem
  }
  .priceContent__inner {
    padding: 0 1.25rem
  }
  .priceContent__section + .priceContent__section {
    margin-top: 3.5rem
  }
  .priceContent__heading {
    padding-bottom: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__heading:before {
    width: 3.125rem
  }
  .priceContent__heading small {
    margin-bottom: .375rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__headingSub {
    padding-bottom: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__headingSub:before {
    width: 3.125rem
  }
  .priceContent__text {
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContent__text + .priceContent__text {
    margin-top: .75rem
  }
  .priceContent__table {
    width: 100%;
    margin-top: 2.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 1.25rem
  }
  .priceContent__img {
    margin-top: 2rem
  }
  .priceContent__img.--patented:before {
    top: -.875rem;
    right: -.375rem;
    width: 3.1875rem;
    height: 3.1875rem
  }
  .priceContentStructure {
    margin-top: 2rem
  }
  .priceContentStructure__option + .priceContentStructure__option {
    margin-top: 1.5rem
  }
  .priceContentStructure__heading {
    padding: 1rem 1.25rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .priceContentStructure__detail {
    padding: 1.25rem;
    flex-direction: column
  }
  .priceContentStructure__upperHeading {
    color: #003e88;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContentStructure__upperText {
    margin-top: .375rem
  }
  .priceContentStructure__lower {
    margin-top: 1rem
  }
  .priceContentStructure__lowerList {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: .75rem
  }
  .priceContentStructure__lowerLink {
    color: #003e88;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentAbout {
    padding: 2rem 0 0
  }
  .priceContentAbout__heading {
    color: #003e88;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContentAbout__heading > small {
    display: block;
    margin-top: .5rem;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .priceContentAbout__box {
    padding: 1.875rem 1.25rem
  }
  * + .priceContentAbout__box {
    margin-top: 1.5rem
  }
  .priceContentAbout__wholeHeading {
    padding: .25rem .625rem;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .priceContentAbout__wholeList {
    margin-top: 1rem
  }
  .priceContentAbout__wholeItem {
    padding: 1rem 1.25rem
  }
  .priceContentAbout__wholeCost {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .priceContentAbout__wholeCost > small {
    display: block;
    margin-top: .25rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .priceContentAbout__wholeSource {
    position: absolute;
    top: 1rem;
    right: 1.25rem;
    color: #fff;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .priceContentAbout__trustfee {
    margin-top: 1.875rem
  }
  .priceContentAbout__trustfeeHeading {
    padding: .25rem 1.5rem;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .priceContentAbout__trustfeeInner {
    padding: 1.5rem 1.25rem 2rem
  }
  .priceContentAbout__trustfeeTextWrapper {
    padding: .75rem 0 0
  }
  .priceContentAbout__trustfeeOption {
    padding: 1.5rem 0
  }
  .priceContentAbout__trustfeeTable {
    margin-top: .75rem
  }
  .priceContentAbout__trustfeeNote {
    margin-top: .75rem;
    color: #7a7a7a;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    text-align: right
  }
  .priceContentAbout__note {
    margin-top: .75rem
  }
  .priceContentAbout__noteItem {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentAbout__link, .priceContentAbout__trustfeeDetail {
    margin-top: 1.5rem
  }
  .priceContentExample__tab {
    margin-top: 2rem
  }
  .priceContentExample__tab:before {
    content: "";
    display: block;
    position: absolute;
    inset: auto 0 -1.375rem 0;
    width: 1rem;
    height: .625rem;
    margin: auto;
    background-image: url(/assets/img/common/icon_triangle2.svg);
    background-size: cover
  }
  .priceContentExample__tabItem {
    padding: 1rem 1.25rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__tabItem small {
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__tabItem + .priceContentExample__tabItem {
    margin-top: .25rem
  }
  .priceContentExample__text {
    margin-top: 2.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__table {
    margin-top: 2.5rem
  }
  .priceContentExample__trustfeeDetail {
    margin-top: 1.5rem
  }
  .priceContentExample__note {
    margin-top: .75rem
  }
  .priceContentExample__noteItem {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .appendixHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .appendixHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .appendixHeader__headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .appendixHeader__lead {
    margin-top: .875rem
  }
  .appendixBody {
    padding: 2.5rem 1.25rem 0
  }
  .appendixBody__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .appendixBody__note {
    margin-top: .75rem
  }
  .appendixBody__section {
    margin-top: 2.5rem
  }
  .appendixBody__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .appendixBody__table {
    margin-top: 1.25rem;
    overflow-x: auto
  }
  .appendixBody__table table {
    width: 50rem
  }
  .appendixBody__table th {
    height: 3.25rem;
    color: #fff;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .appendixBody__table th:first-child {
    width: 7.875rem
  }
  .appendixBody__table th:nth-child(2) {
    padding: 0 1.25rem
  }
  .appendixBody__table td {
    height: 3.9375rem;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .appendixBody__table td:nth-child(2) {
    padding: 0 1.25rem
  }
  .termsHeader {
    padding: 6.75rem 0 2.375rem
  }
  .termsHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .termsHeader__headingEn {
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .termsHeader__headingJp {
    margin-top: .625rem;
    font-size: 1.625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .termsHeader__lead {
    margin-top: .875rem
  }
  .termsBody {
    padding: 0 1.25rem
  }
  .termsBody__section + .termsBody__section {
    margin-top: 3.625rem
  }
  .termsBody__heading {
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .termsBody__heading:before {
    width: 3.125rem
  }
  .termsBody__heading + .termsBody__text {
    margin-top: 1.875rem
  }
  .termsBody__text {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .termsBody__text + .termsBody__text {
    margin-top: .75rem
  }
  .termsBody__content {
    margin-top: 2rem
  }
  .termsBody__contentHeading {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .termsBody__contentHeading + .termsBody__contentText {
    margin-top: 1rem
  }
  .termsBody__contentList {
    margin-top: .75rem
  }
  .termsBody__contentItem, .termsBody__contentText, .termsBody__end {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactHeader {
    padding: 6.75rem 0 0
  }
  .contactHeader__heading:before {
    left: 1.25rem;
    bottom: -1.5px;
    width: 5rem
  }
  .contactHeader__headingEn {
    padding-left: 1rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .contactHeader__headingJp {
    margin-top: .75rem;
    font-size: 1.875rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .contactHeader__inner {
    padding: 0 1.25rem 1.875rem
  }
  .contactHeader__lead {
    margin-top: 1rem
  }
  .contactBody__inner {
    padding: 2.5rem 1.25rem 0
  }
  .contactBody__side {
    margin-top: 2.5rem
  }
  .contactSide__list {
    display: flex;
    justify-content: center;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
  .contactSide__list:before {
    width: 100%;
    height: 1px
  }
  .contactSide__item {
    width: 3.75rem;
    height: 3.75rem
  }
  .contactSide__number, .contactSide__text {
    color: #999;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.4;
    font-weight: 500
  }
  .contactForm__header {
    padding-bottom: .875rem
  }
  .contactForm__lead {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__body {
    padding-top: 2rem
  }
  .contactForm__block + .contactForm__block {
    margin-top: 1.5rem
  }
  .contactForm__block.--box {
    padding: 1rem 1.25rem 1.25rem
  }
  .contactForm__heading {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactForm__radio {
    row-gap: 1rem;
    margin-top: 1rem
  }
  .contactForm__radio.--service {
    row-gap: .5625rem;
    margin-top: .625rem
  }
  .contactForm__radio.--service .contactForm__radioButton {
    margin-left: 0 !important;
    width: auto;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__radioButton {
    min-width: 10rem;
    padding-left: 1.875rem;
    margin-left: .625rem;
    white-space: nowrap
  }
  .contactForm__input, .contactForm__radioButton {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__input {
    height: 3.375rem;
    margin-top: .625rem;
    padding: .9375rem
  }
  .contactForm__textarea {
    height: 13.75rem;
    padding: .9375rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__agree {
    margin-top: 2rem
  }
  .contactForm__agreeText {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__list {
    margin-top: .625rem
  }
  .contactForm__item {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__date, .contactForm__select {
    height: 3.375rem;
    margin-top: .625rem;
    padding: .9375rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactConfirm__item {
    padding: 1.5rem 0
  }
  .contactConfirm__term {
    font-weight: 700
  }
  .contactConfirm__description, .contactConfirm__term {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactConfirm__description {
    margin-top: .5rem
  }
  .contactConfirm__link {
    margin-top: 1.875rem
  }
  .contactConfirm__submit {
    height: 3.75rem;
    margin: 2rem auto 0;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactConfirm__submit .circle {
    inset: 0 1.5rem 0 auto
  }
  .contactComplete__inner {
    padding-bottom: 1.25rem
  }
  .contactComplete__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactComplete__text {
    margin-top: .75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactComplete__back {
    margin-top: 1.25rem
  }
  .contactLink__wrapper {
    height: 3.75rem;
    margin: 2rem auto 0
  }
  .contactLink__submit {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactLink__split .circle {
    inset: 0 1.5rem 0 auto
  }
  .contactLink__back {
    margin: 1.5rem auto 0
  }
  .requestBrochureArea {
    padding: 0 1.25rem
  }
  .requestBrochureArea h2 {
    padding-top: 2.5rem;
    padding-bottom: 1.25rem;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .requestBrochureArea__wrap {
    padding: 2.5rem 1.25rem 0;
    margin-top: 1.5rem
  }
  .requestBrochureArea__text p, .requestBrochureArea__text p.outline {
    font-size: 1.125rem;
    letter-spacing: .02em
  }
  .requestBrochureArea__img {
    display: block;
    margin: 1.25rem auto
  }
  .requestBrochureArea__img img {
    width: 100%
  }
  .lpHeader .lpHeader__inner {
    padding: 1rem
  }
  .lpHeader__logo {
    width: max(11.307vw, 130px)
  }
  .lpHeader__linkBtn {
    width: max(15.538vw, 130px);
    height: 40px;
    line-height: 40px;
    padding: 0;
    font-size: max(1.4vw, 14px)
  }
  .lpHeader__linkBtn .btnIcon {
    right: 18px
  }
  .lpHeader__linkBtn .btnIcon:before {
    width: max(3.153vw, 18px);
    height: max(3.153vw, 18px)
  }
  .lpHeader__linkBtn .btnIcon:after {
    left: -4px;
    width: 6px;
    height: 6px
  }
  .lpNav_item {
    margin-right: 0
  }
  .lpHeader__textlink {
    color: #fff
  }
  .lpContent__inner {
    padding: 5rem 1rem
  }
  .lpContent__wrapper {
    flex-direction: column
  }
  .lpContent01_backimg {
    top: auto;
    bottom: -51px
  }
  .lpContent__Seminarwrapper .lpContent__featureLeft, .lpContent__Seminarwrapper .lpContent__featureRight {
    width: 100%
  }
  .lpContent__Seminarwrapper .lpContent__featureIllust {
    top: -6vw;
    right: 5vw;
    width: 40%
  }
  .lpSeminar_backimg01 {
    width: 30%
  }
  .lpContent__left, .lpContent__right {
    width: 100%
  }
  .lpContent__heading {
    font-size: max(3.079vw, 26px);
    letter-spacing: .2rem;
    margin-bottom: max(3.076vw, 20px);
    letter-spacing: .1rem
  }
  .lpContent_headingEn {
    font-size: max(3.079vw, 14px);
    letter-spacing: .01rem
  }
  .lpContent__lead {
    font-size: max(3.079vw, 14px);
    margin-bottom: max(5.384vw, 40px);
    letter-spacing: .05rem
  }
  .lpContact__wrapper .lpContent__featureIllust {
    top: 8vw;
    right: 5vw
  }
  .feature01 .lpContent__featureIllust {
    top: 8vw;
    right: 5vw;
    width: 26%
  }
  .feature02 .lpContent__featureIllust, .feature04 .lpContent__featureIllust {
    top: 8vw;
    right: 5vw;
    width: 38%
  }
  .lpContent__leftImg {
    position: absolute;
    top: -167px;
    right: 0;
    width: 36%
  }
  .lpContent__featureIllust {
    position: absolute;
    top: -20px;
    right: 0;
    width: 30%
  }
  .lpContent__imgWrap {
    display: block
  }
  .lpContent__imgItemWrap {
    width: 100%;
    margin-bottom: 10vw
  }
  .lpContent__imgItemWrap:last-child {
    margin-bottom: 0
  }
  .lpContent_imgcaption {
    font-size: max(1.5384vw, 14px);
    margin-bottom: 2vw
  }
  .lpContent__feature {
    font-size: max(2.4615vw, 16px);
    margin-bottom: max(2.4615vw, 32px)
  }
  .lpContent__feature:nth-child(odd) {
    margin-right: -1rem;
    padding: 2.75rem 1rem 1rem
  }
  .lpContent__featurewrap {
    margin-bottom: max(2.4615vw, 32px)
  }
  .lpContent__featurewrap .lpContent__featureNumberwrap {
    font-size: max(3.079vw, 14px)
  }
  .lpContent__featurewrap .lpContent__featureNumberwrap .lpContent__featureNumber {
    font-size: max(3.079vw, 54px)
  }
  .lpContent__featurewrap .lpContent__originalmark {
    width: 19%
  }
  .lpContent__featureDetail {
    flex-direction: column
  }
  .lpContent__featureDetail .lpContent__featureTitle {
    font-size: max(2.4615vw, 20px);
    margin-bottom: max(2.4615vw, 20px);
    letter-spacing: .1rem
  }
  .lpContent__featureDetail .lpContent__featureText {
    font-size: max(2.4615vw, 14px);
    margin-bottom: max(2.4615vw, 32px)
  }
  .lpContent__featureLeft, .lpContent__featureRight {
    width: 100%
  }
  .lpContent__attention {
    margin-top: max(1.1538vw, 16px);
    font-size: max(1.1538vw, 12px);
    text-indent: -1.7rem;
    padding-left: 1.7rem
  }
  .seminarBtnWrap {
    width: 85%;
    margin: 0 auto
  }
  .seminarBtnWrap .seminarBtnSub {
    width: 80%;
    font-size: max(1.5384vw, 14px)
  }
  .seminarBtnWrap .seminarBtnSub:before {
    left: 40px;
    height: 4vw
  }
  .seminarBtnWrap .seminarBtnSub:after {
    right: 40px;
    height: 4vw
  }
  .seminarBtnWrap .seminarBtn {
    font-size: max(2vw, 16px);
    padding: max(2vw, 20px);
    width: 100%
  }
  .seminarBtnWrap .seminarBtn .btnIcon {
    right: 7vw
  }
  .lpContent_titledetail {
    font-size: max(2vw, 14px);
    padding: 4vw 8vw
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__innerwrap {
    height: 100%;
    padding: 3rem 1rem 6rem;
    background-image: url(/assets/img/lp/lp_mv_backimg_sp.svg)
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner {
    flex-direction: column
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left {
    width: 100%
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy01 {
    font-size: max(2vw, 18px);
    text-align: center
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy02 {
    font-size: max(8.623vw, 40px);
    margin-bottom: max(3vw, 8px)
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__copy02 .lpKeyvisual__copy02sub {
    font-size: max(7.307vw, 28px)
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap {
    width: 100%;
    flex-direction: column;
    padding: 1vw 0;
    margin-bottom: 20
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__typename {
    font-size: max(1.184vw, 16px);
    margin-bottom: max(.5vw, 2px)
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__Servicename {
    border-left: 0;
    font-size: max(1.184vw, 32px);
    margin-left: 0;
    padding-left: 0;
    text-align: center
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap .lpKeyvisual__ServicenameSub {
    text-align: center;
    margin-top: 3.5vw
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .seminarBtnWrap {
    width: 80%;
    margin-top: 4vw
  }
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__right {
    width: 100%;
    margin-top: min(3.538vw, 40px);
    margin-left: 0
  }
  .lpKeyvisual__upimgwrapper {
    height: min(22vw, 200px)
  }
  .lpKeyvisual__upimg {
    width: min(57.615vw, 489px)
  }
  .lpKeyvisual__upimgleft, .lpKeyvisual__upimgright {
    width: 30%
  }
  .lpKeyvisual__upimgleft:before, .lpKeyvisual__upimgright:before {
    width: 24vw;
    height: 24vw
  }
  .lpKeyvisual__upimgleft {
    left: 20vw
  }
  .lpKeyvisual__upimgright {
    right: -17vw
  }
  .lpKeyvisual__bottomimg {
    top: -30px;
    position: relative;
    margin: 0 auto;
    width: 90%
  }
  .lpKeyvisual__bottomimg02 {
    left: 0;
    bottom: -1.1vw
  }
  .lpKeyvisual__upimgleftitem {
    top: 55%;
    left: 50%;
    width: 44%
  }
  .lpKeyvisual__upimgrightitem {
    top: 56%;
    left: 42%
  }
  .lpkeyvisual_backimg01 {
    left: -19px;
    width: 32%
  }
  .finish .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__innerwrap {
    height: 158vw;
    padding: 6rem 1rem 15rem
  }
  .lpContact__Right, .lpContact__left {
    width: 100%
  }
  .lpfooter {
    padding: 3rem 1rem
  }
  .lpfooter__wrap {
    flex-direction: column
  }
  .lpfooter_left {
    width: 30%
  }
  .lpfooter__list {
    flex-direction: column
  }
  .lpfooter__item {
    margin-bottom: 10px
  }
  .lpfooter__item + .lpfooter__item {
    border-left: none;
    margin-left: 0;
    padding-left: 0
  }
  .lpfooter__copyrightwrap {
    flex-direction: column
  }
  .lpfooter__copyrightwrap .lpfooter__copyright {
    border-left: none;
    margin-left: 0;
    padding-left: 0
  }
  .guideBanner__wrapper {
    padding: 0 1.25rem
  }
  .guideBanner__link {
    height: 22.5rem;
    padding: 2.5rem 1.25rem
  }
  .guideBanner__link.--company:before {
    background-image: url(/assets/img/home/company_bg_sp.jpg)
  }
  .guideBanner__link.--recruite:before {
    background-image: url(/assets/img/home/recruit_bg_sp.jpg)
  }
  .guideBanner__link.--service:before {
    background-image: url(/assets/img/common/sevice_banner_sp.jpg)
  }
  .guideBanner__headingJp {
    color: #fff;
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .guideBanner__text {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .guideBanner__circle {
    right: 1.875rem;
    bottom: 1.875rem
  }
  .errorBody {
    padding: 2.5rem 1.25rem 0
  }
  .errorBody__heading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .errorBody__text {
    margin-top: .75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .errorBody__back {
    margin-top: 2rem
  }
  .errorHeader {
    padding: 6.75rem 0 1.875rem
  }
  .errorHeader__headingEn {
    padding-left: 1rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .errorHeader__headingJp {
    margin-top: .75rem;
    font-size: 1.875rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .errorHeader__inner {
    padding: 0 1.25rem
  }
  .errorHeader__lead {
    margin-top: 1rem
  }
  .spPagenavi {
    position: fixed;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 10;
    border-radius: .25rem;
    background-color: #f5f5f5;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, .1);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .spPagenavi.is-show {
    opacity: 1;
    pointer-events: auto
  }
  .spPagenavi.is-show.is-footer {
    opacity: 0;
    pointer-events: none
  }
  .spPagenavi__button {
    position: relative;
    width: 10.25rem;
    height: 2.5625rem;
    padding: .625rem .75rem;
    color: #222;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500
  }
  .spPagenavi__nav {
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 0;
    width: 0;
    transition: height .3s cubic-bezier(.33, 1, .68, 1)
  }
  .spPagenavi__list {
    padding: 0 1rem
  }
  .spPagenavi__item:last-child .spPagenavi__link {
    border-bottom: none
  }
  .spPagenavi__link {
    display: block;
    border-bottom: 1px solid #e6e6e6;
    padding: .875rem 0;
    color: #003e88;
    line-height: 1.5;
    font-weight: 500
  }
  .c-headingEn, .spPagenavi__link {
    font-size: .8125rem;
    letter-spacing: .04em
  }
  .c-headingEn {
    color: #062d59;
    line-height: 1;
    font-weight: 600
  }
  .c-headingJp {
    font-size: 1.875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .seviceBnr__wrapper {
    padding: 3.75rem 1.25rem 0
  }
  .seviceBnr__link {
    height: 22.5rem;
    padding: 2.5rem 1.25rem
  }
  .seviceBnr__link:before {
    background-image: url(/assets/img/common/sevice_banner_sp.jpg)
  }
  .seviceBnr__headingEn {
    font-size: .8125rem
  }
  .seviceBnr__headingEn, .seviceBnr__headingJp {
    color: #fff;
    letter-spacing: .04em;
    line-height: 1
  }
  .seviceBnr__headingJp {
    margin-top: .875rem;
    font-size: 1.75rem;
    font-weight: 700
  }
  .seviceBnr__lead {
    margin-top: 1.25rem
  }
  .seviceBnr__about, .seviceBnr__lead {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .seviceBnr__about {
    right: 1.5rem;
    bottom: 2rem;
    font-weight: 700
  }
  .breadcrumb {
    padding-top: 4rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }
  .breadcrumb__link {
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .peager {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    width: 100%;
    margin: 2.5rem auto 0
  }
  .peager__list {
    -moz-column-gap: 1.125rem;
    column-gap: 1.125rem
  }
  .peager__link {
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .u-pc {
    display: none !important
  }
}
@media screen and (min-width:23.4375rem) {
  body {
    margin: 0
  }
}
@media screen and (max-width:22.5rem) {
  body {
    margin: 0
  }
  .caseInterviewTag {
    flex-wrap: wrap
  }
}
@media screen and (min-width:48rem) {
  body {
    margin: 0
  }
  .casePickup__arrows .splide__arrow, .caseSingleSimilar__arrows .splide__arrow {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseHeader__headingEn, .companyHeader__headingEn, .companyInfoMain__headingEn, .companyInfo__headingEn, .headerNavService__en, .recruitHeader__headingEn, .serviceNavSp__topEn, .serviceNavTop__en, .topCompanyPage__headingEn {
    color: #062d59;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .caseHeader__headingJp, .companyHeader__headingJp, .recruitHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.3;
    font-weight: 700
  }
  .header {
    position: fixed
  }
  .header__logo {
    width: 15.125rem
  }
  .header__shape {
    display: none
  }
  .headerNavMore {
    height: auto !important
  }
  .headerNavService {
    position: absolute;
    left: 0;
    right: 0;
    transform: translateY(-20px);
    max-width: 57.5rem;
    width: 95%;
    margin: 0 auto;
    padding-top: 2.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__wrapper {
    justify-content: center
  }
  .headerNavService__top {
    flex: 0 0 auto;
    padding-top: .3125rem
  }
  .headerNavService__top:hover .headerNavService__jp .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNavService__top:hover .headerNavService__jp .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__top:hover .headerNavService__jp .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .headerNavService__top.is-current {
    pointer-events: none
  }
  .headerNavService__top.is-current .circle {
    visibility: hidden
  }
  .headerNavService__en {
    color: #fff
  }
  .headerNavService__jp .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__inner {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    margin-left: 3.75rem;
    padding-left: 3.75rem
  }
  .headerNavService__trustLink:hover .headerNavService__trustText .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNavService__trustLink:hover .headerNavService__trustText .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__trustLink:hover .headerNavService__trustText .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .headerNavService__trustLink:hover .headerNavService__trustImg img {
    transform: scale(1.05)
  }
  .headerNavService__trustText .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__trustImg {
    max-width: 12.5rem
  }
  .headerNavService__trustImg img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__trustItem.--service_02 .headerNavService__trustItemLink:hover .main > span, .headerNavService__trustItemLink:hover .main {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .headerNavService__callLink:hover .headerNavService__callText .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNavService__callLink:hover .headerNavService__callText .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__callLink:hover .headerNavService__callText .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .headerNavService__callLink:hover .headerNavService__callImg img {
    transform: scale(1.05)
  }
  .headerNavService__callText .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNavService__callImg {
    max-width: 12.5rem
  }
  .headerNavService__callImg img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerContact__item.--document {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerContact__item.--document:hover {
    background-color: #006bcf
  }
  .headerContact__item.--form:hover:before {
    opacity: 0
  }
  .footer__wrapper {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem 3.5rem
  }
  .footer__wrapper:before {
    left: -10.25rem;
    bottom: -10.25rem;
    width: 25rem;
    height: 30.9375rem
  }
  .footer__head {
    display: flex
  }
  .footer__foot {
    max-width: 72.5rem
  }
  .footerPrimary {
    max-width: 44.25rem;
    min-width: 23.75rem;
    width: 100%;
    padding-right: 2.5rem
  }
  .footerPrimary__contact {
    max-width: 38.25rem;
    width: 100%
  }
  .footerPrimary__contactItem {
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    max-width: 37.5rem;
    height: 5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .footerPrimary__contactItem .circle {
    inset: 0 2.1875rem 0 auto
  }
  .footerPrimary__contactItem.--document {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .footerPrimary__contactItem.--document:hover {
    background-color: #006bcf
  }
  .footerPrimary__contactItem.--form:hover:after {
    opacity: 0
  }
  .footerPrimary__contactItem.--form:after {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .footerPrimary__nav {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.25rem;
    column-gap: 2.25rem;
    max-width: 38.375rem;
    width: 100%;
    padding-top: 3.5rem
  }
  .footerPrimary__page {
    flex: 0 0 auto
  }
  .footerPrimary__pageItem + .footerPrimary__pageItem {
    margin-top: 1.625rem
  }
  .footerPrimary__pageLink {
    width: -moz-fit-content;
    width: fit-content;
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1);
    color: #fff;
    font-size: 1.0625rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .footerPrimary__pageLink:hover {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .footerPrimaryService {
    max-width: 23.75rem;
    width: 100%
  }
  .footerPrimaryService__link {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1);
    color: #fff;
    font-size: 1.0625rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .footerPrimaryService__link:hover {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .footerPrimaryService__wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.5rem;
    margin-top: 1.5rem
  }
  .footerPrimaryService__item + .footerPrimaryService__item {
    margin-top: 1.25rem
  }
  .footerPrimaryService__itemLink {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1);
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5
  }
  .footerPrimaryService__itemLink:hover {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .footerPrimaryService__inner {
    margin-top: 1.125rem
  }
  .footerPrimaryService__innerLink {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1.5
  }
  .footerPrimaryService__innerLink:hover > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .footerPrimaryService__innerLink + .footerPrimaryService__innerLink {
    margin-top: .625rem
  }
  .footerOther {
    max-width: 22.25rem;
    width: 100%;
    border-left: 1px solid #393a3c
  }
  .footerOther__wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 16.25rem;
    width: 100%;
    height: 100%;
    margin-left: auto;
    padding-top: 1rem
  }
  .footerOther__logo {
    width: 16.25rem
  }
  .footerOther__inner {
    margin-top: 3.25rem
  }
  .footerOther__item + .footerOther__item {
    margin-top: .625rem
  }
  .footerOther__link {
    background-image: linear-gradient(#999, #999);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1);
    color: #999;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1.5
  }
  .footerOther__link:hover {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .footerOther__association {
    max-width: 11.25rem;
    height: 5.625rem;
    margin-top: 2.125rem
  }
  .footerOther__associationLink:hover img {
    opacity: .6
  }
  .footerOther__associationLink img {
    width: 6.8125rem;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .footerOther__group {
    justify-content: space-between;
    row-gap: .5rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    margin-top: 2.125rem
  }
  .footerOther__groupLink {
    animation: line .3s cubic-bezier(.33, 1, .68, 1) forwards;
    color: #999;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1.5
  }
  .footerOther__groupLink:hover {
    animation: lineOut .3s cubic-bezier(.33, 1, .68, 1) forwards
  }
  .footerFoot {
    justify-content: space-between
  }
  .footerFoot__copyright {
    color: #999;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .footerFoot__pagetop {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .footerFoot__pagetop:hover {
    opacity: .6
  }
  .loading__logo {
    width: 4.125rem;
    height: 5.0625rem
  }
  .loading__text {
    width: 13.625rem;
    height: 1.1875rem;
    margin-top: 1.5rem;
    color: #222;
    font-size: 1.1875rem;
    letter-spacing: .08em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeMv {
    height: 793px;
    padding-top: 8.375rem;
    padding-bottom: 4rem
  }
  .homeMv__inner {
    display: flex;
    justify-content: space-between;
    max-width: 56.25rem;
    width: 100%;
    margin: 0 auto;
    padding: 0 1.25rem
  }
  .homeMv__header {
    flex: 0 0 auto;
    padding-top: 3rem
  }
  .homeMv__headingJp {
    width: 16.9375rem;
	  width: 23.9375rem;
    /*height: 13.9375rem;*/
    margin-top: 1.25rem;
    font-size: 3rem;
    letter-spacing: .14em;
    line-height: 1.3;
    font-weight: 700
  }
  .homeMv__slider {
    width: 28.75rem
  }
  .homeMv__slider .splide__pagination {
    display: none
  }
  .homeMv__slider .splide__pagination__page:hover:before {
    background-color: #0296d6
  }
  .homeMv__slide {
    max-width: 28.75rem
  }
  .homeMv__link:hover .homeMv__img img {
    transform: scale(1.05)
  }
  .homeMv__link:hover .homeMv__text .circle:before {
    scale: 1.3;
    background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7);
    animation: rotate 6.4s linear infinite
  }
  .homeMv__link:hover .homeMv__text .circle:after {
    transform: scale(1);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    animation: slide 2.4s cubic-bezier(.33, 1, .68, 1) infinite
  }
  .homeMv__link:hover .homeMv__text .arrow {
    transform: scale(0);
    transition: none
  }
  .homeMv__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .homeMv__content {
    max-width: 25rem;
    margin: 1rem auto 0
  }
  .homeMv__text {
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
    padding-bottom: .75rem;
    color: #fff!important;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .homeMv__text .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeMv__text .circle:before {
    transition: scale .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeMv__text .circle:after {
    content: "";
    display: block;
    width: .3125rem;
    height: .3125rem;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: scale(0)
  }
  .homeMv__text .circle .arrow {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeMv__circle {
    display: none
  }
  .homeMv__scrollsign {
    position: absolute;
    left: 5rem;
    padding-right: 1.125rem;
    font-family: Montserrat, sans-serif;
    color: #fff;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .homeMv__scrollsign:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 0 auto;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    margin: auto;
    background-color: #fff;
    animation: scrollsign 2.4s cubic-bezier(.33, 1, .68, 1) infinite;
    transform-origin: 0 0
  }
  .homeMv__shape {
    top: -249%;
    left: calc(50% - 1480px);
    width: 160rem;
    height: 160rem
  }
  .homeService__wrapper {
    max-width: 85rem;
    padding: 5rem 2.5rem 7rem
  }
  .homeService__content {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    margin-top: 1.75rem
  }
  .homeService__header {
    margin: 0 auto;
    padding: 0 3.75rem
  }
  .homeService__headingEn {
    padding-left: 1em;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .homeService__headingJp {
    margin-top: .25rem;
    
    font-size: 2.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeService__lead {
    max-width: 55.625rem;
    
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .homeService__more {
    flex: 0 0 auto
  }
  .homeService__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeService__more .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeService__main {
    margin-top: 3.75rem
  }
  .homeServiceOption__section {
    height: 20rem
  }
  .homeServiceOption__section.--service_01 .homeServiceOption__link {
    width: 100%
  }
  .homeServiceOption__section.--service_01 .homeServiceOption__link:before {
    inset: auto -1.5rem 2.125rem auto;
    width: 14.875rem;
    height: 16.375rem
  }
  .homeServiceOption__section.--service_02 .homeServiceOption__link:before {
    inset: auto -1.5rem 2.125rem auto;
    width: 14.875rem;
    height: 16.375rem
  }
	
  .homeServiceOption__section.--service_03 .homeServiceOption__link:before {
    inset: auto -1.5rem 2.125rem auto;
    width: 14.875rem;
    height: 16.375rem
  }	
	
  .homeServiceOption__link {
    padding: 4rem 3.75rem 3.75rem
  }
  .homeServiceOption__link:hover:before {
    transform: scale(1.05)
  }
  .homeServiceOption__link:hover .homeServiceOption__circle:before {
    scale: 1.3;
    background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7);
    animation: rotate 6.4s linear infinite
  }
  .homeServiceOption__link:hover .homeServiceOption__circle:after {
    transform: scale(1);
    animation: slide 2.4s cubic-bezier(.33, 1, .68, 1) infinite
  }
  .homeServiceOption__link:hover .homeServiceOption__circle .arrow {
    transform: scale(0);
    transition: none
  }
  .homeServiceOption__link:before {
    width: 21.875rem;
    height: 12.5rem;
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeServiceOption__lead {
    color: #222;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500
  }
  .homeServiceOption__heading {
    margin-top: .25rem;
    color: #222;
    font-size: 2rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeServiceOption__circle {
    position: absolute;
    right: 3.75rem;
    bottom: 2.5rem
  }
  .homeServiceOption__circle:before {
    transition: scale .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeServiceOption__list {
    margin-top: 1.25rem;
    -moz-column-gap: 1.75rem;
    column-gap: 1.75rem;
	  width: 50%;
  }
  .homeServiceOption__item {
    color: #222;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: .25rem
  }
  .homeServiceGuide {
    display: flex;
    justify-content: end;
    align-items: flex-start;
    -moz-column-gap: 3.4375%;
    column-gap: 3.4375%;
    margin-top: 4rem;
    margin-right: 3.75rem
  }
  .homeServiceGuide__heading {
    flex: 0 0 auto;
    padding: .25rem 0 .25rem 1.4375rem
  }
  .homeServiceGuide__headingEn {
    margin-top: .625rem
  }
  .homeServiceGuide__list {
    display: flex;
    max-width: 50rem
  }
  .homeServiceGuide__item {
    min-width: 15rem
  }
  .homeServiceGuide__item + .homeServiceGuide__item {
    margin-left: 2.5rem
  }
  .homeServiceGuide__banner {
    margin-top: 4rem
  }
  .homeServiceGuide__link {
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .homeServiceGuide__link:hover:before {
    transform: scaleX(1);
    transform-origin: 0 100%
  }
  .homeServiceGuide__link:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transform: scaleX(0);
    transform-origin: 100% 100%;
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCase__inner {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem 5rem
  }
  .homeCase__headingEn {
    color: #062d59;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeCase__headingJp {
    font-size: 2.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeCase__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.75rem;
    padding-bottom: 3rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }
  .homeCase__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeCase__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCase__item {
    margin-left: 3.75rem
  }
  .homeCase__text > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCaseInterview {
    max-width: 85rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .homeCaseInterview__inner {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 4rem 2.5rem 5rem
  }
  .homeCaseInterview__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding-bottom: 1.375rem
  }
  .homeCaseInterview__heading {
    padding-bottom: .5rem
  }
  .homeCaseInterview__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeCaseInterview__headingJp {
    margin-top: 1.125rem;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 400
  }
  .homeCaseInterview__more {
    flex: 0 0 auto
  }
  .homeCaseInterview__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeCaseInterview__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCaseInterview__body {
    display: flex;
    flex-direction: column;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
    padding-top: 2.5rem
  }
  .homeCaseInterviewArticle__link {
    flex-direction: row-reverse;
    justify-content: flex-end;
    width: 100%;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }
  .homeCaseInterviewArticle__link:hover .homeCaseInterviewArticle__heading > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeCaseInterviewArticle__link:hover .homeCaseInterviewArticle__img img {
    transform: scale(1.05)
  }
  .homeCaseInterviewArticle__content {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCaseInterviewArticle__heading {
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeCaseInterviewArticle__heading > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeCaseInterviewArticle__img {
    flex: 0 0 auto;
    width: 15rem;
    height: 11.25rem
  }
  .homeCaseInterviewArticle__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .homeColumn {
    margin-top: 0
  }
  .homeColumn__wrapper {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 5rem;
    column-gap: 5rem;
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 7.5rem 2.5rem
  }
  .homeColumn__header {
    flex: 0 0 auto;
    padding-right: 2rem
  }
  .homeColumn__header:before {
    inset: 0 0 0 auto;
    width: 1px;
    height: 100%;
    margin: auto
  }
  .homeColumn__headingEn {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeColumn__headingJp {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeColumn__lead {
    margin-top: 1.5rem
  }
  .homeColumn__more {
    margin-top: 4rem
  }
  .homeColumn__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeColumn__more .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeColumn__body {
    max-width: 52.5rem;
    width: 100%
  }
  .homeColumn__what {
    width: 23.75rem;
    margin-top: 2.5rem;
    padding-left: 2rem;
    padding-right: 1.5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 500;
    background-position: right 3.5rem top .75rem;
    background-size: 6.4375rem 7.875rem;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeColumn__what:hover {
    background-color: #0296d6
  }
  .homeColumnPost {
    display: flex !important;
    overflow-y: auto;
    width: 100%;
    overflow: auto;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding-bottom: 1.25rem
  }
  .homeColumnPost__article {
    max-width: 15rem;
    width: 100%
  }
  .homeColumnPost__link:hover .homeColumnPost__img img {
    transform: scale(1.05)
  }
  .homeColumnPost__link:hover .homeColumnPost__heading > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeColumnPost__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .homeColumnPost__heading {
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 500
  }
  .homeColumnPost__heading > span {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeNews__wrapper {
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 7.5rem 2.5rem
  }
  .homeNews__header {
    flex: 0 0 auto
  }
  .homeNews__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .homeNews__headingJp {
    font-size: 2.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .homeNews__more {
    margin-top: 3.5rem
  }
  .homeNews__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeNews__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .homeNews__list {
    flex: 1 1 auto;
    max-width: 55rem;
    width: 100%
  }
  .homeNews__link[href]:hover .homeNews__text > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .homeNews__link[href]:hover .homeNews__circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .homeNews__link[href]:hover .homeNews__circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .homeNews__text {
    -webkit-line-clamp: 2;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 400
  }
  .homeNews__text > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceHeader__group {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 clamp(2.5rem, 5.5555555556vw, 5rem) 2.25rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .serviceHeader__group:before {
    content: attr(data-label)
  }
  .serviceHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .serviceHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .serviceHeader__content {
    max-width: 80rem;
    margin: 0 auto;
    padding: 5rem clamp(2.5rem, 5.5555555556vw, 5rem) 0
  }
  .serviceHeader__text {
    max-width: 60rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceOption {
    padding-bottom: 2.5rem
  }
  .serviceOption__section {
    transform: translateY(-5rem);
    max-width: 85rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .serviceOption__section + .serviceOption__section {
    margin-top: 3.75rem
  }
  .serviceOption__section.--stock .serviceOption__header {
    background-size: 13.75rem 10.6875rem;
    background-position: 29.5rem .625rem
  }
  .serviceOption__section.--call .serviceOption__header {
    background-size: 12.4375rem 8.9375rem;
    background-position: 30.75rem 1.25rem
  }
  .serviceOption__header {
    display: flex;
    align-items: center;
    height: 10rem;
    padding: 2.5rem clamp(2.5rem, 5.5555555556vw, 5rem)
  }
  .serviceOption__headingMain {
    font-size: 1.875rem
  }
  .serviceOption__headingMain, .serviceOption__headingSub {
    color: #222;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceOption__headingSub {
    margin-top: .375rem;
    font-size: 1.125rem
  }
  .serviceOption__number {
    display: none
  }
  .serviceOption__body {
    padding: 0 clamp(2.5rem, 5.5555555556vw, 5rem) 4.5rem
  }
  .serviceOption__lead {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    padding-top: 1.5rem
  }
  .serviceOption__more {
    margin-left: auto
  }
  .serviceOption__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceOption__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceOptionRecommend__item {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700;
    white-space: nowrap
  }
  .serviceOptionRecommend__item + .serviceOptionRecommend__item {
    margin-top: .75rem
  }
  .serviceOptionType {
    padding-bottom: 3.5rem
  }
  .serviceOptionType:before {
    width: 100%
  }
  .serviceOptionType__name {
    padding: .625rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .serviceOptionType__group {
    display: flex;
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    row-gap: .625rem;
    margin-top: 1.5rem
  }
  .serviceOptionType__section {
    display: flex;
    flex-direction: column;
    width: 100%
  }
  .serviceOptionType__inner {
    flex: 1 1 auto;
    min-height: 5.625rem
  }
  .serviceOptionType__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 3rem;
    height: 100%
  }
  .serviceOptionType__headingLink:hover > span {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .serviceOptionType__headingLink > span {
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceOptionType__link:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceOptionType__link:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceOptionType__link:hover .circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .servicePatents__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem
  }
  .servicePatents__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .servicePatents__tab {
    max-width: 85rem
  }
  .servicePatents__tab, .servicePatents__tab-3colum {
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    padding: 0 2.5rem
  }
  .servicePatents__tab-3colum {
    max-width: 75rem
  }
  .servicePatents__tabItem {
    height: 5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .servicePatents__tabItem:hover {
    background-color: #003e88
  }
  .servicePatents__continer {
    padding: 3.75rem 0 8.25rem
  }
  .servicePatents__panel {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .servicePatents__panel.--type2 .servicePatents__inner:before {
    height: calc(100% - 2.625rem)
  }
  .servicePatents__panel.--type2 .servicePatents__inner:after {
    bottom: 2.5rem
  }
  .servicePatents__lead {
    margin-top: 1.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .servicePatents__table {
    margin-top: 2.5rem
  }
  .servicePatents__table table {
    width: 70rem
  }
  .servicePatents__table tr.second__label th {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .servicePatents__table tr.second__label th:first-child {
    border-left: 1px solid hsla(0, 0%, 90%, .2);
    font-size: 1rem
  }
  .servicePatents__table th {
    height: 2.5rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .servicePatents__table td {
    height: 5.5rem;
    padding: .875rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .servicePatents__table td.patented:before {
    width: 4rem;
    height: 4rem
  }
  .servicePatents__table td small {
    margin-top: .75rem
  }
  .servicePatents__table .none {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .servicePatents__table .cross {
    width: 1.75rem;
    height: 1.75rem;
    margin: 0 auto .25rem
  }
  .servicePatents__note {
    color: #7a7a7a;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .servicePatents .patentdetail__paragraph {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .serviceGuide__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem
  }
  .serviceGuide__header {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .serviceGuide__heading {
    flex: 0 0 auto;
    padding-left: 1.25rem
  }
  .serviceGuide__headingEn {
    margin-top: .625rem
  }
  .serviceGuideList {
    display: flex;
    justify-content: flex-start;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    margin-top: 3.75rem
  }
  .serviceGuideList__item {
    /*max-width: 20rem;*/
    width: 100%
  }
  .serviceGuideList__link:hover .serviceGuideList__text .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceGuideList__link:hover .serviceGuideList__text .circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .serviceGuideList__link:hover .serviceGuideList__img img {
    transform: scale(1.05)
  }
  .serviceGuideList__link:hover .serviceGuideList__content:before {
    transform: scaleX(1);
    transform-origin: 0 100%
  }
  .serviceGuideList__content {
    margin-top: 1.375rem
  }
  .serviceGuideList__content:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceGuideList__lead {
    margin-top: .75rem
  }
  .serviceGuideList__img img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceInfo.--small .serviceInfo__wrapper {
    max-width: 75rem
  }
  .serviceInfo__wrapper {
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 7.5rem 2.5rem 0
  }
  .serviceInfo__inner {
    display: flex;
    justify-content: space-between;
    align-items: center
  }
  .serviceInfo__heading {
    padding-left: 1.25rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceInfo__slider {
    margin-top: 2.5rem
  }
  .serviceInfo__list {
    overflow-x: auto;
    display: flex !important;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 0;
    line-height: 0
  }
  .serviceInfo__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceInfo__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceInfo__item {
    width: 15.625rem;
    flex: 0 0 auto
  }
  .serviceInfo__link:hover .serviceInfo__img img {
    transform: scale(1.05)
  }
  .serviceInfo__link:hover .serviceInfo__text > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceInfo__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceInfo__text {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceInfo__text > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceInfo__date {
    margin-top: .875rem
  }
  .serviceName__head.--stockoption .serviceName__header {
    max-width: 75rem
  }
  .serviceName__head.--stockoption .serviceName__header:before {
    right: 0;
    bottom: -6.625rem;
    background-position: right 0 top 0
  }
  .serviceName__head.--L3-qualified .serviceName__header:before, .serviceName__head.--L3-stock-type .serviceName__header:before, .serviceName__head.--liquidity-trust .serviceName__header:before, .serviceName__head.--stockoption-1yen .serviceName__header:before, .serviceName__head.--stockoption-paid .serviceName__header:before {
    bottom: -6.75rem;
    background-position: right -.5rem top 0
  }
  .serviceName__head.--call-option .serviceName__header:before {
    bottom: -8.25rem;
    background-position: right 1.25rem top 0
  }
  .serviceName__header:before {
    width: 100%;
    height: 15.25rem
  }
  .serviceName__heading {
    font-size: 2.125rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .serviceName__headingSub {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 400
  }
  .serviceName__headingSub + .serviceName__headingMain {
    margin-top: .75rem
  }
  .serviceName__type {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.125rem;
    column-gap: 1.125rem
  }
  .serviceName__type .tag {
    height: 1.875rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .serviceNameLineup__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 3.75rem 2.5rem 0
  }
  .serviceNameLineup__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNameLineup__lead {
    margin-top: 1rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNameLineup__nav {
    margin-top: 3.5rem
  }
  .serviceNameLineup__list {
    display: flex;
    justify-content: center;
    padding: 2rem 0
  }
  .serviceNameLineup__item {
    width: 100%;
    padding: 0 .75rem
  }
  .serviceNameLineup__item:not(:first-child):before {
    inset: 0 auto 0 0;
    width: 1px;
    height: 100%
  }
  .serviceNameLineup__link {
    max-width: 21.875rem;
    height: 100%;
    margin: 0 auto;
    padding-bottom: 2rem;
    text-align: center
  }
  .serviceNameLineup__type {
    padding: .375rem .625rem .4375rem;
    
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.3;
    font-weight: 500
  }
  .serviceNameLineup__text {
    margin-top: .75rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .serviceNameLineup__text small {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNameLineup__circle {
    inset: auto 0 0 0
  }
  .serviceNameInfo__wrapper {
    max-width: 75rem;
    margin: 3rem auto 0
  }
  .serviceNameInfo__info {
    padding: 3rem 3.75rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail {
    margin-top: -5rem
  }
  .serviceDetail__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 10rem 2.5rem 7.5rem
  }
  .serviceDetail__oldmodel, .serviceDetail__past {
    padding-top: 3.75rem
  }
  .serviceDetail__section + .serviceDetail__section {
    margin-top: 2.5rem
  }
  .serviceDetail__header {
    padding-top: 3rem;
    padding-bottom: 2rem
  }
  .serviceDetail__done {
    padding: .8125rem .625rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .02em;
    line-height: 1.4;
    font-weight: 700
  }
  .serviceDetail__done:before {
    top: -2.25rem;
    width: 11.25rem
  }
  .serviceDetail__heading {
    max-width: 65rem;
    padding: 0 2.5rem;
    color: #003e88;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__heading small {
    margin-left: .625rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__subheading {
    max-width: 65rem;
    margin-bottom: 1.5rem;
    color: #003e88;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceDetail__subheading small {
    margin-left: 1.375rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceDetail__body {
    max-width: 65rem;
    padding: 0 2.5rem
  }
  .serviceDetail__block {
    padding: 2rem 0 3rem
  }
  .serviceDetail__type {
    height: 2.25rem;
    border-radius: 1.125rem;
    margin-right: 1rem;
    margin-bottom: 1.5rem;
    padding: 0 1rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceDetail__description {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail__note {
    margin-top: .75rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceDetail__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 1.25rem;
    margin-top: 2.25rem
  }
  .serviceDetail__recommend {
    display: flex;
    align-items: center;
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .serviceDetail__recommendCompany, .serviceDetail__recommendText {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .serviceDetail__recommendCompany {
    min-width: 14.375rem;
    padding: .5rem .625rem;
    color: #fff
  }
  .serviceDetail__link:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceDetail__link .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceDetail__text {
    margin-bottom: 1.5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .serviceDetail__info {
    padding: .625rem 1.875rem
  }
  .serviceSide {
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .serviceSide__wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    padding-top: 5.625rem
  }
  .serviceSide__sticky {
    position: sticky;
    top: 10rem;
    left: 0;
    z-index: 10
  }
  .serviceSide__text {
    padding-bottom: .75rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceSide__text.--2nd {
    margin-top: 2.5rem
  }
  .serviceSide__text:before {
    left: 0;
    bottom: 0;
    width: 1.375rem;
    height: 2px;
    border-radius: 1px;
    background-color: #003e88
  }
  .serviceSide__list {
    margin-top: 1rem
  }
  .serviceSide__item + .serviceSide__item {
    margin-top: .5rem
  }
  .serviceSide__link {
    display: block;
    color: #999;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .serviceSide__link:hover {
    color: #222
  }
  .serviceSide__link.--2nd {
    text-decoration: underline;
    text-underline-offset: 2px
  }
  .serviceSide__link:before {
    top: .375rem;
    left: 0;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background-color: #003e88;
    opacity: 0
  }
  .serviceSide__link .text {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceSide__link .circle {
    display: none
  }
  .serviceSide__link.is-active {
    color: #222
  }
  .serviceSide__link.is-active:before {
    opacity: 1;
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceSide__link.is-active .text {
    transform: translateX(1em)
  }
  .serviceSide__contact {
    margin-top: 1.375rem
  }
  .serviceSide__contactLink {
    overflow: hidden;
    display: flex;
    align-items: center;
    position: relative;
    width: 11.25rem;
    height: 3rem;
    border-radius: .25rem;
    padding: 0 .75rem;
    background-color: #0296d6;
    color: #fff;
    font-size: .75rem;
    letter-spacing: .06em;
    line-height: 1.35;
    font-weight: 500
  }
  .serviceSide__contactLink:hover:before {
    opacity: 0
  }
  .serviceSide__contactLink .circle {
    position: absolute;
    inset: 0 .75rem 0 auto;
    margin: auto
  }
  .serviceContent__block {
    padding-top: 6.25rem
  }
  .serviceContent__block.--gray, .serviceContent__block:first-child {
    padding-top: 5rem
  }
  .serviceContent__block.--gray + .serviceContent__block {
    padding-top: 6.25rem
  }
  .serviceContent__block.--pb {
    padding-bottom: 5rem
  }
  .serviceContent__block.--pb.--gray {
    padding-bottom: 6.25rem
  }
  .serviceContent__inner {
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 17.5rem
  }
  .serviceContent__section {
    max-width: 57.5rem;
    width: 100%;
    margin-left: auto
  }
  .serviceContent__section + .serviceContent__section {
    margin-top: 5.5rem
  }
  .serviceContent__heading {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__heading:before {
    width: 3.75rem
  }
  .serviceContent__heading small {
    margin-bottom: .5rem;
    color: #999;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__headingSub {
    padding-bottom: 1.25rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContent__headingSub:before {
    width: 2.5rem
  }
  .serviceContent__list:is(ol) li + li {
    margin-top: .75rem
  }
  .serviceContent__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContent__text + .serviceContent__text {
    margin-top: 1.5rem
  }
  .serviceContent__table {
    margin-top: 2.5rem
  }
  .serviceContent__table table {
    width: 57.5rem
  }
  .serviceContent__table th {
    color: #fff;
    font-weight: 500
  }
  .serviceContent__table td, .serviceContent__table th {
    width: 14rem;
    padding: 1.25rem 0;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .serviceContent__table td sup {
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .serviceContent__img, .serviceContent__tableNote + .serviceContent__text {
    margin-top: 2.5rem
  }
  .serviceContent__img.--patented:before {
    top: -1.25rem;
    right: -1.875rem;
    width: 5.625rem;
    height: 5.625rem
  }
  .serviceContent__ntoes {
    padding-top: 7.5rem
  }
  .serviceContent__contact:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceContent__contact:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContent__contact:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .serviceContent__contact .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentGrid {
    margin-top: 3.125rem
  }
  .serviceContentGrid__item {
    width: 100%;
    padding: 2rem 2.5rem
  }
  .serviceContentGrid__heading {
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentGrid__img {
    width: 14.375rem;
    height: 10.625rem;
    margin: 1rem auto 0;
    flex: 0 0 auto
  }
  .serviceContentGrid__text {
    margin-top: 1.25rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentHead {
    margin-bottom: 3.75rem
  }
  .serviceContentHead__wrapper {
    display: flex;
    justify-content: flex-end;
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 17.5rem
  }
  .serviceContentHead__heading {
    padding-bottom: 1.75rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentHead__heading:before {
    width: 3.75rem
  }
  .serviceContentFeatures__section {
    padding: 3.75rem
  }
  .serviceContentFeatures__section:first-child {
    margin-top: 2.5rem
  }
  .serviceContentFeatures__section + .serviceContentFeatures__section {
    margin-top: 2rem
  }
  .serviceContentFeatures__heading {
    padding-left: 4rem;
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentFeatures__heading .number {
    padding-left: 1rem;
    color: #0192d2;
    font-size: 1.375rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .serviceContentFeatures__heading .number:before {
    height: 1.625rem
  }
  .serviceContentFeatures__heading.--border + .serviceContentFeatures__text {
    margin-top: 1.25rem
  }
  .serviceContentFeatures__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentFeatures__img {
    max-width: 20rem;
    max-height: 15rem;
    margin: 1.5rem auto 0
  }
  .serviceContentArticle__item {
    max-width: 29rem
  }
  .serviceContentArticle__link {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    padding: 1rem;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentArticle__link:hover {
    background-color: #0296d6
  }
  .serviceContentArticle__link:hover .serviceContentArticle__img img {
    transform: scale(1.075)
  }
  .serviceContentArticle__link:hover .serviceContentArticle__circle:after {
    transform: scale(1)
  }
  .serviceContentArticle__link:hover .serviceContentArticle__circle .arrow {
    transform: scale(0)
  }
  .serviceContentArticle__img {
    width: 5.8125rem;
    height: 4.375rem
  }
  .serviceContentArticle__img img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentArticle__content {
    max-width: 20rem
  }
  .serviceContentArticle__heading {
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .serviceContentArticle__circle {
    inset: 0 1.5rem 0 auto
  }
  .serviceContentBox {
    padding: 3.75rem
  }
  .serviceContentBox__heading {
    padding-bottom: 1.375rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentBox__heading:before {
    width: 2.5rem
  }
  .serviceContentBox__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentBox__link {
    height: 5rem;
    margin: 2.5rem auto 0;
    padding: 0 4rem 0 2.5rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentBox__link:hover {
    background-color: #0296d6
  }
  .serviceContentBox__link .circle {
    inset: 0 1.75rem 0 auto
  }
  .serviceContentCost + .serviceContentCost {
    margin-top: 1.5rem
  }
  .serviceContentCost__header {
    padding: 1.5rem 7.5rem 1.5rem 3rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentCost__header:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceContentCost__header:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .5s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .serviceContentCost__header .circle {
    inset: 0 3rem 0 auto
  }
  .serviceContentCost__inner {
    padding: 2rem 3rem
  }
  .serviceContentCost__planText, .serviceContentCost__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentCost__planText small {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentCost__planTable table {
    width: 100%
  }
  .serviceContentCost__planTable table th:first-child {
    width: 10.5rem
  }
  .serviceContentExample {
    margin-top: 4rem;
    padding: 3.75rem
  }
  .serviceContentExample__heading {
    padding-bottom: 1.5rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentExample__heading:before {
    width: 2.5rem
  }
  .serviceContentExample__text {
    margin-top: 2rem
  }
  .serviceContentExample__img {
    margin-top: 2.5rem
  }
  .serviceContentConsiderations__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentConsiderations__continer {
    margin-top: 1.75rem
  }
  .serviceContentConsiderations__list {
    margin-top: 1rem
  }
  .serviceContentConsiderations__item {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentNotes {
    max-width: 57.5rem;
    width: 100%;
    margin-top: 5rem;
    margin-left: auto
  }
  .serviceContentNotes.--L3 {
    max-width: 75rem;
    margin: 3.75rem auto 0;
    padding: 0 2.5rem
  }
  .serviceContentNotes__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentNotes__continer {
    padding: 3rem 2.5rem
  }
  .serviceContentNotes__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentNotes__group + .serviceContentNotes__group {
    margin-top: 2rem
  }
  .serviceContentNotes__list {
    margin-top: 1rem
  }
  .serviceContentNotes__item {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentSupport {
    padding: 3.75rem
  }
  .serviceContentSupport:before {
    transform: rotate(39deg) translate(25%, -75%);
    width: 18.75rem;
    height: 2.75rem
  }
  .serviceContentSupport__heading {
    padding-bottom: 1.25rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceContentSupport__heading:before {
    width: 2.5rem
  }
  .serviceContentSupport__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceContentSupport__list {
    margin-top: 1.875rem;
    padding: 2.5rem
  }
  .serviceContentSupport__item + .serviceContentSupport__item {
    margin-top: 1.875rem
  }
  .serviceContentSupport__term {
    color: #003e88;
    font-weight: 400
  }
  .serviceContentSupport__description, .serviceContentSupport__term {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNav {
    margin-top: 6.25rem
  }
  .serviceNav:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #f5f5f5
  }
  .serviceNav__wrapper {
    display: flex;
    max-width: 90rem;
    margin: 0 auto
  }
  .serviceNavTop {
    flex: 1 1 auto;
    min-width: 17.5rem;
    width: 27.7777777778%;
    border-right: 1px solid #e6e6e6;
    padding: 3.75rem 0
  }
  .serviceNavTop__wrapper {
    max-width: 21.25rem;
    margin-left: auto;
    padding: 0 2.5rem
  }
  .serviceNavTop__link:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavTop__link:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .serviceNavTop__link:hover .serviceNavTop__content {
    color: #003e88
  }
  .serviceNavTop__link:hover .serviceNavTop__img img {
    transform: scale(1.05)
  }
  .serviceNavTop__contnet {
    transition: color .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .serviceNavTop__img {
    max-width: 15rem;
    width: 100%;
    margin-top: 2rem
  }
  .serviceNavTop__img img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavlower {
    flex: 1 1 auto;
    width: 72.2222222222%;
    padding-right: 2.5rem
  }
  .serviceNavlower__lineup {
    max-width: 58.75rem;
    border-bottom: 1px solid #e6e6e6;
    padding: 3.75rem 0 3.125rem
  }
  .serviceNavlower__lineupWrapper {
    max-width: 57.5rem;
    width: 100%;
    margin-left: auto;
    padding-left: 2.5rem
  }
  .serviceNavlower__lineupHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    row-gap: .5rem
  }
  .serviceNavlower__lineupHeading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavlower__lineupLead {
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceNavlower__lineupList {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.25rem;
    margin-top: 2rem
  }
  .serviceNavlower__lineupItem {
    max-width: 26.25rem;
    width: 100%
  }
  .serviceNavlower__lineupLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    height: 4rem;
    border-radius: .25rem;
    padding: 0 1.875rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavlower__lineupLink:hover {
    background-color: #0296d6
  }
  .serviceNavlower__guide {
    max-width: 58.75rem;
    padding: 2.5rem 0 0
  }
  .serviceNavlower__guideWrapper {
    max-width: 57.5rem;
    width: 100%;
    margin-left: auto;
    padding-left: 2.5rem
  }
  .serviceNavlower__guideHeading {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: .5rem;
    column-gap: .5rem
  }
  .serviceNavlower__guideHeadingEn {
    display: block;
    font-family: Montserrat, sans-serif;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .serviceNavlower__guideHeadingJp {
    display: block;
    color: #003e88;
    font-size: .625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceNavlower__guideList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 2.5rem;
    margin-top: 1.875rem
  }
  .serviceNavlower__guideItem {
    max-width: 16.875rem;
    width: 100%
  }
  .serviceNavlower__guideItem.--lineup-50 {
    max-width: 100%
  }
  .serviceNavlower__guideLink:hover .serviceNavlower__guideLinkHeading {
    color: #003e88
  }
  .serviceNavlower__guideLinkHeading {
    transition: color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .serviceNavSp {
    display: none
  }
  .serviceFeatures {
    padding: 7.5rem 0 6.25rem
  }
  .serviceFeatures__header {
    padding-bottom: 1.875rem
  }
  .serviceFeatures__heading {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__heading:before {
    width: 3.75rem
  }
  .serviceFeatures__inner {
    max-width: 80rem;
    margin: 3.75rem auto 0;
    padding: 0 2.5rem
  }
  .serviceFeatures__inner > :is(section, div) + :is(section, div) {
    margin-top: 2.5rem
  }
  .serviceFeatures__group .serviceFeatures__img {
    max-width: 20rem;
    margin: 0 auto
  }
  .serviceFeatures__section {
    row-gap: 3rem;
    padding: 3.75rem clamp(2.5rem, 5.5555555556vw, 5rem)
  }
  .serviceFeatures__section.--flex {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 0
  }
  .serviceFeatures__section.--flex .serviceFeatures__content {
    max-width: 38.75rem
  }
  .serviceFeatures__section.--flex .serviceFeatures__content a {
    margin-top: 1rem
  }
  .serviceFeatures__section.--flex .serviceFeatures__img {
    max-width: 20rem
  }
  .serviceFeatures__sectionHeading {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    color: #003e88;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading.--L3-option {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading.--L3-option:before {
    width: 3.75rem
  }
  .serviceFeatures__sectionHeading.--L3-option span {
    margin-bottom: .5rem;
    color: #999;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceFeatures__sectionHeading .number {
    padding-left: 1.25rem;
    color: #0192d2;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 600
  }
  .serviceFeatures__sectionHeading .number:before {
    height: 2rem
  }
  .serviceFeatures__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceFeatures__img {
    min-width: 14.75rem
  }
  .serviceChoose {
    padding: 6.25rem 0
  }
  .serviceChoose__heading {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 1.875rem;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceChoose__heading:before {
    width: 3.75rem
  }
  .serviceChoose__continer {
    max-width: 80rem;
    margin: 3.75rem auto 0;
    padding: 0 2.5rem
  }
  .serviceChoose__inner {
    padding: 3.75rem clamp(2.5rem, 5.5555555556vw, 5rem)
  }
  .serviceChoose__section.--flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 3.75rem 0
  }
  .serviceChoose__section.--flex .serviceChoose__content {
    max-width: 40rem
  }
  .serviceChoose__section:first-child {
    padding-bottom: 3.75rem
  }
	

	
	
	
	
	
  .serviceChoose__sectionHeading {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem;
    color: #003e88;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .serviceChoose__sectionHeading .number {
    padding-left: 1.25rem;
    color: #0192d2;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 600
  }
  .serviceChoose__sectionHeading .number:before {
    height: 2rem
  }
  .serviceChoose__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .serviceChoose__text .note {
    margin-top: .375rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
	
	
  .serviceChoose h1,.serviceChoose h2 {
      
	  padding: 1rem 0.5rem;
	  padding-left: 1rem;
        }

  .serviceChoose__section.--flex .serviceChoose__content ul {
            padding-left: 2rem;
	  margin:1rem; 0;
        }

   .serviceChoose__section.--flex .serviceChoose__content li {
            margin-bottom: 0.5rem;
        }

        

   .serviceChoose__section.--flex .serviceChoose__content .highlight {
            font-weight: bold;
          
        }	
	
		.serviceChoose__section.--flex .serviceChoose__content p {
		font-weight: bold;
		
	}
	
	
	
	
  .serviceChoose__img {
    max-width: 20rem;
    min-width: 14.75rem
  }
  .serviceChoose__list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.25rem;
    margin-top: 2.5rem;
    padding: 2.5rem
  }
  .serviceChoose__item {
    max-width: 11rem
  }
  .serviceChoose__link {
    margin-top: 1.5rem
  }
  .serviceChoose__link:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .serviceChoose__link .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .indexNewsHeader__headingEn {
    padding-left: 1em;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .indexNewsHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .indexNewsHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.25rem;
    column-gap: 2.25rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .indexNewsHeader__group:before {
    content: attr(data-label)
  }
  .indexNewsBody {
    padding: 6.25rem 0 0
  }
  .indexNewsBody__inner {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .indexNewsBody__side {
    flex: 0 0 auto;
    max-width: 10rem;
    width: 100%;
    padding-bottom: 6.5rem
  }
  .indexNewsBody__content {
    flex: 1 1 auto;
    max-width: 55rem;
    width: 100%
  }
  .indexNewsSide {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .indexNewsSide__search + .indexNewsSide__search {
    margin-top: 3.5rem
  }
  .indexNewsSide__text {
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .indexNewsSide__button {
    display: none
  }
  .indexNewsSide__list {
    margin-top: 1.25rem
  }
  .indexNewsSide__item + .indexNewsSide__item {
    margin-top: 1rem
  }
  .indexNewsSide__item.is-current .indexNewsSide__link {
    color: #fff;
    background-color: #003e88
  }
  .indexNewsSide__link {
    display: grid;
    place-items: center;
    width: -moz-fit-content;
    width: fit-content;
    height: 1.625rem;
    border: 1px solid #003e88;
    border-radius: .8125rem;
    padding: 0 .75rem;
    color: #003e88;
    font-size: .8125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1), color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .indexNewsSide__link:hover {
    color: #fff;
    background-color: #003e88
  }
  .indexNewsSideSerect {
    margin-top: 3.5rem
  }
  .indexNewsSideSerect__text {
    padding-left: 1em;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .indexNewsSideSerect__box {
    margin-top: 1.25rem
  }
  .indexNewsSideSerect__button {
    padding: .625rem 1rem
  }
  .indexNewsSideSerect__list {
    padding: 0 1rem .625rem
  }
  .indexNewsSideSerect__link {
    transition: color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .indexNewsSideSerect__link:hover {
    color: #222
  }
  .indexNewsList__item + .indexNewsList__item {
    margin-top: 2rem
  }
  .indexNewsList__link {
    padding-bottom: 1.875rem
  }
  .indexNewsList__link[href]:hover .indexNewsList__text > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .indexNewsList__link[href]:hover .indexNewsList__circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .indexNewsList__link[href]:hover .indexNewsList__circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .indexNewsList__content {
    flex: 1 1 auto
  }
  .indexNewsList__meta {
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .indexNewsList__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 400
  }
  .indexNewsList__text > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleNews {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 13.125rem 2.5rem 0
  }
  .singleNews__inner {
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .singleNews__back {
    margin: 4rem auto 0;
    padding-left: 3.75rem
  }
  .singleNews__backLink:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .singleNews__backLink .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleNewsShare {
    padding-top: .5rem
  }
  .singleNewsShare__inner {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .singleNewsShare__list {
    margin-top: 1.5rem;
    padding-left: .5rem
  }
  .singleNewsShare__item + .singleNewsShare__item {
    margin-top: .75rem
  }
  .singleNewsContent {
    max-width: 60rem;
    width: 100%
  }
  .singleNewsContent__header {
    padding-bottom: 2rem
  }
  .singleNewsContent__heading {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__meta {
    margin-top: 1.625rem
  }
  .singleNewsContent__body {
    padding-top: 5rem
  }
  .singleNewsContent__body * + :is(h2, h3) {
    margin-top: 4rem
  }
  .singleNewsContent__body * + :is(h4) {
    margin-top: 4rem
  }
  .singleNewsContent__body * + :is(ul, ol) {
    margin-top: 2rem
  }
  .singleNewsContent__body :is(h2, h4) + p {
    margin-top: 2.5rem
  }
  .singleNewsContent__body :is(h4) + p {
    margin-top: 1rem
  }
  .singleNewsContent__body p + :is(h2, h3) {
    margin-top: 3.5rem
  }
  .singleNewsContent__body p + :is(h4) {
    margin-top: 3rem
  }
  .singleNewsContent__body p + a {
    margin-top: 1.5rem
  }
  .singleNewsContent__body h2 {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body h2:before {
    width: 3.75rem
  }
  .singleNewsContent__body h3 {
    padding-bottom: 1.375rem;
    font-size: 1.5rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body h3:before {
    width: 3.75rem
  }
  .singleNewsContent__body h4 {
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleNewsContent__body ol > li, .singleNewsContent__body p, .singleNewsContent__body ul > li {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleNewsContent__body p + p {
    margin-top: 1rem
  }
  .singleNewsContent__body a {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleNewsContent__body a:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .singleNewsContent__body .box {
    padding: 3rem 2.5rem
  }
  * + .singleNewsContent__body .box {
    margin-top: 3.75rem
  }
  .singleNewsContent__body .block {
    margin-bottom: 3rem
  }
  .singleNewsContent__body .table {
    margin-top: 1.125rem;
    margin-bottom: 3rem
  }
  .companyHeader {
    max-width: 90rem;
    margin: 0 auto;
    /*padding: 9.375rem 2.5rem 0*/
  }
  .companyHeader__content {
    max-width: 70rem;
    margin: 0 auto
  }
  .companyHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 4rem 0 2.625rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .companyHeader__group:before {
    content: attr(data-label)
  }
  .companyHeader__heading {
    flex: 0 0 auto
  }
  .companyHeader__lead {
    padding-bottom: .1875rem
  }
  .companyHeaderNav__list {
    display: flex;
    align-items: center;
    max-width: 75rem;
    height: 3.375rem
  }
  .companyHeaderNav__item:first-child .companyHeaderNav__link:hover > span:before {
    transform: scaleX(1);
    transform-origin: 0 100%
  }
  .companyHeaderNav__item:not(:first-child) {
    min-width: 9.25rem
  }
  .companyHeaderNav__item:not(:first-child) .companyHeaderNav__link:hover {
    background-color: #003e88
  }
  .companyHeaderNav__link {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .topCompanyAbout {
    max-width: 85rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 6.25rem
  }
  .topCompanyAbout__content {
    max-width: 70rem;
    padding: 6.25rem 2.5rem
  }
  .topCompanyAbout__heading {
    font-size: 3rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .topCompanyAbout__inner {
    width: 100%;
    margin-top: 2.5rem
  }
  .topCompanyAbout__text {
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .topCompanyAbout__text + .topCompanyAbout__text {
    margin-top: 1rem
  }
  .topCompanyAbout__logo {
    top: 2rem;
    right: 2.5rem;
    width: 3.125rem;
    height: 3.8125rem
  }
  .topCompanyAbout__logoGray {
    bottom: -9rem;
    left: 5rem;
    width: 16.1875rem
  }
  .topCompanyMivi__wrapper {
    max-width: 80rem;
    margin: 0 auto;
    padding: 5rem 5rem 1.25rem
  }
  .topCompanyMivi__section {
    padding: 5rem 0
  }
  .topCompanyMivi__heading {
    padding-bottom: 1.625rem
  }
  .topCompanyMivi__heading:before {
    width: 3.75rem
  }
  .topCompanyMivi__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .topCompanyMivi__headingJp {
    margin-top: .625rem;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .topCompanyMivi__text {
    margin-top: 2.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .topCompanyMivi__en {
    right: 2.5rem;
    bottom: 2.5rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .topCompanyPage__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 80rem;
    margin: 0 auto;
    padding: 6.25rem 5rem
  }
  .topCompanyPage__section {
    max-width: 20rem
  }
  .topCompanyPage__link:hover .topCompanyPage__img img {
    transform: scale(1.05)
  }
  .topCompanyPage__link:hover .topCompanyPage__content:before {
    transform: scaleX(1);
    transform-origin: 0 100%
  }
  .topCompanyPage__content {
    margin-top: 1.5rem;
    padding-bottom: .625rem
  }
  .topCompanyPage__content:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .topCompanyPage__headingEn {
    color: #fff
  }
  .topCompanyPage__img img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .companyMessageBody {
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 7.5rem
  }
  .companyMessageBody__text {
    font-size: 1.0625rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyMessageBody__text + .companyMessageBody__text {
    margin-top: 2rem
  }
  .companyMessageBody__name {
    margin-top: 2.5rem;
    font-size: 1.25rem;
    line-height: 1.6
  }
  .companyMessageBody__name > small {
    margin-bottom: .5rem;
    font-size: .9375rem;
    line-height: 1.6
  }
  .companyMessageBody__img {
    flex: 0 0 auto;
    width: 17.8125rem
  }
  .companyInfo__wrapper {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 5rem 2.5rem
  }
  .companyInfo__header {
    flex: 0 0 auto;
    position: relative;
    padding-right: 2.5rem
  }
  .companyInfo__header:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #e6e6e6
  }
  .companyInfo__headingJp {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .companyInfoMain {
    max-width: 55rem;
    width: 100%
  }
  .companyInfoMain__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 2.5rem
  }
  .companyInfoMain__section {
    max-width: 25.9375rem
  }
  .companyInfoMain__link {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }
  .companyInfoMain__link:hover .companyInfoMain__content:before {
    transform: scaleX(1);
    transform-origin: 0 0
  }
  .companyInfoMain__content {
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: .5rem
  }
  .companyInfoMain__content:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -1px;
    transform: scaleX(0);
    transform-origin: 100% 100%;
    width: 100%;
    height: 1px;
    background-color: #003e88;
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .companyInfoMain__headingJp {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .companyInfoMain__img {
    width: 8.4375rem;
    height: 5.625rem
  }
  .companyOutlineBody {
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 7.5rem
  }
  .companyOutlineBody__img {
    overflow: hidden;
    width: 20rem;
    border-radius: .25rem
  }
  .companyOutlineBody__content {
    max-width: 42.5rem;
    width: 100%
  }
  .companyOutlineBody__item {
    padding: 2rem 0
  }
  .companyOutlineBody__term {
    width: 10rem;
    font-weight: 700
  }
  .companyOutlineBody__description, .companyOutlineBody__term {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyOutlineBody__name + .companyOutlineBody__name {
    margin-top: .3125rem
  }
  .companyOutlineBody__document {
    margin-top: 3.75rem;
    padding: 2rem
  }
  .companyOutlineBody__documentList {
    margin-top: 1.25rem
  }
  .companyOutlineBody__documentLink:hover .text:before {
    animation: lineScale .3s cubic-bezier(.33, 1, .68, 1) forwards
  }
  .companyOutlineBody__documentLink .text:before {
    animation: lineScaleOut .3s cubic-bezier(.33, 1, .68, 1) forwards
  }
  .companyHistoryBody {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 7.5rem
  }
  .companyHistoryBody__list:before {
    left: 8.875rem;
    height: calc(100% - .5rem)
  }
  .companyHistoryBody__item {
    -moz-column-gap: 1.375rem;
    column-gap: 1.375rem;
    padding: 2rem 0
  }
  .companyHistoryBody__term {
    width: 10rem;
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyHistoryBody__description {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .companyHistoryBody__img {
    overflow: hidden;
    max-width: 20rem;
    border-radius: .25rem
  }
  .recruitHeader {
    padding: 11.25rem 0 0
  }
  .recruitHeader__inner {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 0 2.5rem 1.875rem
  }
  .recruitHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .recruitHeader__group:before {
    content: attr(data-label)
  }
  .recruitLead__content {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 0
  }
  .recruitLead__inner {
    max-width: 70rem
  }
  .recruitLead__heading {
    font-size: 2.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitLead__text {
    margin-top: 1.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .recruitLead__img {
    margin-top: 6.25rem;
    padding-left: 5rem
  }
  .recruitLead__img img {
    aspect-ratio: 1360/520
  }
  .recruitInfo {
    margin-top: -7.5rem
  }
  .recruitInfo + div {
    padding-top: 7.5rem
  }
  .recruitInfo__nav {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .recruitInfoPersonality {
    padding-top: 15rem;
    padding-bottom: 12.5rem
  }
  .recruitInfoPersonality__bg {
    -webkit-clip-path: ellipse(108rem 100% at center top);
    clip-path: ellipse(108rem 100% at center top)
  }
  .recruitInfoPersonality__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 10rem
  }
  .recruitInfoPersonality__inner {
    max-width: 57.5rem;
    margin-left: auto
  }
  .recruitInfoPersonality__heading {
    padding-bottom: 1.75rem
  }
  .recruitInfoPersonality__heading:before {
    width: 3.75rem
  }
  .recruitInfoPersonality__headingEn {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPersonality__headingJp {
    margin-top: .5rem;
    color: #fff;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPersonality__lead {
    margin-top: 2rem
  }
  .recruitInfoPersonality__list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 2rem;
    margin-top: 5rem
  }
  .recruitInfoPersonality__item {
    max-width: 27.5rem;
    width: 100%;
    padding-left: 3.25rem;
    padding-bottom: 2rem
  }
  .recruitInfoPersonality__item:before {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPersonality__term {
    color: hsla(0, 0%, 100%, .5);
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 600
  }
  .recruitInfoPersonality__description {
    color: #fff;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPosition {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem
  }
  .recruitInfoPosition__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 10rem
  }
  .recruitInfoPosition__inner {
    max-width: 57.5rem;
    margin-left: auto
  }
  .recruitInfoPosition__heading {
    padding-bottom: 1.75rem
  }
  .recruitInfoPosition__heading:before {
    width: 3.75rem
  }
  .recruitInfoPosition__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoPosition__headingJp {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoPosition__list {
    margin-top: 5rem
  }
  .recruitInfoPosition__item {
    display: flex;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    padding-bottom: 1.875rem
  }
  .recruitInfoPosition__item:hover .recruitInfoPosition__descriptionLink:after {
    transform: scaleX(1)
  }
  .recruitInfoPosition__item:hover .recruitInfoPosition__descriptionLink .circle:before {
    opacity: 0
  }
  .recruitInfoPosition__item:hover .recruitInfoPosition__descriptionLink .circle:after {
    transform: scale(1)
  }
  .recruitInfoPosition__item:hover .recruitInfoPosition__descriptionLink .arrow {
    transform: scale(0);
    transition: none
  }
  .recruitInfoPosition__item + .recruitInfoPosition__item {
    margin-top: 2.5rem
  }
  .recruitInfoPosition__term {
    width: 10.25rem
  }
  .recruitInfoPosition__description {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    width: 100%
  }
  .recruitInfoPosition__descriptionText {
    width: 100%;
    padding-bottom: 2.25rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitInfoPosition__descriptionLink:after {
    width: 100%;
    transform: scaleX(.1739130435);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    transform-origin: 0 0
  }
  .recruitInfoFaq {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem
  }
  .recruitInfoFaq__wrapper {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 10rem
  }
  .recruitInfoFaq__inner {
    max-width: 57.5rem;
    margin-left: auto
  }
  .recruitInfoFaq__heading {
    padding-bottom: 1.75rem
  }
  .recruitInfoFaq__heading:before {
    width: 3.75rem
  }
  .recruitInfoFaq__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .recruitInfoFaq__headingJp {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitInfoFaq__list {
    margin-top: 3.75rem
  }
  .recruitInfoFaq__item {
    max-width: 57.5rem;
    width: 100%
  }
  .recruitInfoFaq__item + .recruitInfoFaq__item {
    margin-top: 1.5rem
  }
  .recruitInfoFaq__question {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    width: 100%;
    padding: 2.5rem 6.25rem
  }
  .recruitInfoFaq__question:hover .recruitInfoFaq__questionButton {
    background-color: transparent
  }
  .recruitInfoFaq__question:hover .recruitInfoFaq__questionButton:after, .recruitInfoFaq__question:hover .recruitInfoFaq__questionButton:before {
    background-color: #003e88
  }
  .recruitInfoFaq__question:before {
    top: 2.625rem;
    left: 2.5rem;
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitInfoFaq__questionText {
    max-width: 43.75rem;
    width: 100%;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .recruitInfoFaq__questionButton {
    position: absolute;
    inset: 0 2.5rem 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    margin: auto
  }
  .recruitInfoFaq__AnswerInner {
    padding: 1.5rem 6.25rem 2.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitInfoFaq__AnswerInner:before {
    top: 1.875rem;
    left: 2.5rem;
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitInfoNav {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    z-index: 2;
    padding-top: 15.75rem;
    padding-bottom: 6.25rem
  }
  .recruitInfoNav.is-black .recruitInfoNav__text {
    color: #003e88
  }
  .recruitInfoNav.is-black .recruitInfoNav__text:before {
    background-color: #003e88
  }
  .recruitInfoNav.is-black .recruitInfoNav__link {
    color: rgba(34, 34, 34, .6)
  }
  .recruitInfoNav.is-black .recruitInfoNav__link:before {
    background-color: #003e88
  }
  .recruitInfoNav.is-black .recruitInfoNav__link.is-active {
    color: #222
  }
  .recruitInfoNav__sticky {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .recruitInfoNav__text {
    position: relative;
    padding-bottom: .75rem;
    transition: color .3s cubic-bezier(.33, 1, .68, 1);
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .recruitInfoNav__list {
    margin-top: 1rem
  }
  .recruitInfoNav__item + .recruitInfoNav__item {
    margin-top: .75rem
  }
  .recruitInfoNav__link {
    mix-blend-mode: exclusion;
    color: hsla(0, 0%, 100%, .6);
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .recruitInfoNav__link:before {
    top: .4375rem;
    left: 0
  }
  .recruitInfoNav__link.is-active {
    color: #fff
  }
  .recruitInfoNav__link.is-active .text {
    transform: translateX(1em)
  }
  .recruitGuidelunes {
    max-width: 75rem;
    margin: 0 auto;
    padding: 1.25rem 2.5rem 11.25rem
  }
  .recruitGuidelunes__heading:before {
    width: 3.75rem
  }
  .recruitGuidelunes__headingSub {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .recruitGuidelunes__headingmain {
    margin-top: .75rem;
    font-size: 2.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .recruitGuidelunes__lead {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitGuidelunes__list {
    margin-top: 3.75rem
  }
  .recruitGuidelunes__item {
    display: flex;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem
  }
  .recruitGuidelunes__term {
    flex: 0 0 auto;
    width: 12.5rem;
    font-weight: 700
  }
  .recruitGuidelunes__description, .recruitGuidelunes__term {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .recruitGuidelunes__link {
    padding-top: 3.75rem
  }
  .recruitGuidelunes__link:hover .recruitGuidelunes__apply .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .recruitGuidelunes__link:hover .recruitGuidelunes__apply .circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .recruitGuidelunes__apply {
    max-width: 45rem;
    width: 100%;
    height: 5.625rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500
  }
  .recruitGuidelunes__apply:hover:before {
    opacity: 0
  }
  .recruitGuidelunes__apply:before {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .recruitGuidelunes__apply .circle {
    inset: 0 2.5rem 0 auto
  }
  .recruitGuidelunes__back {
    margin-top: 2.5rem
  }
  .recruitGuidelunes__back:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .recruitGuidelunes__back .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseHeader {
    padding: 6.75rem 0 2rem
  }
  .caseHeader__wapper {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
    max-width: 75rem;
    width: 100%;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .caseHeader__wapper:after {
    content: "";
    width: 9.875rem
  }
  .caseHeader__inner {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .casePickup {
    padding-right: 6.25rem
  }
  .casePickup__wrapper {
    max-width: 80rem;
    padding-top: 3.125rem;
    padding-right: 3.75rem;
    padding-left: 2.5rem
  }
  .casePickup__wrapper:before {
    height: calc(100% - 2.75rem)
  }
  .casePickup__slider {
    max-width: 66.25rem;
    height: auto !important;
    margin-left: auto
  }
  .casePickup__counter {
    flex-direction: column;
    right: -8rem;
    bottom: 9.75rem;
    width: 2.5rem
  }
  .casePickup__counter .line {
    width: 1px;
    height: 1.875rem;
    margin: .75rem 0
  }
  .casePickup__arrows {
    right: -8.125rem;
    bottom: 2.5rem
  }
  .casePickup__arrows .splide__arrow:hover {
    background-color: #003e88
  }
  .casePickup__arrows .splide__arrow:hover .arrow {
    stroke: #fff
  }
  .casePickup__arrows .splide__arrow--prev {
    margin-top: .75rem
  }
  .casePickup__content {
    min-width: 22.125rem
  }
  .casePickup__list {
    margin-top: 1rem
  }
  .casePickup__heading {
    margin-top: 1.125rem;
    color: #fff;
    font-size: 1.625rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .casePickup__heading > span {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .casePickup__company {
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .casePickup__logo {
    width: 7.1875rem;
    height: 4.75rem
  }
  .casePickup__view {
    margin-top: 2rem
  }
  .casePickup__img {
    max-width: 35rem;
    margin-top: 2.5rem
  }
  .casePickup__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleHeader__wapper {
    max-width: 80rem;
    margin: 0 auto;
    padding: 9.75rem 2.5rem 8.75rem
  }
  .caseSingleHeader__info {
    padding-right: 2.5rem
  }
  .caseSingleHeader__list {
    margin-top: .75rem
  }
  .caseSingleHeader__heading {
    color: #fff;
    font-size: 2.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleHeader__profile {
    margin-top: 2rem;
    padding-top: 2rem;
    padding-right: 2.5rem
  }
  .caseSingleHeader__logo {
    width: 10rem;
    height: 6.625rem
  }
  .caseSingleHeader__company, .caseSingleHeader__name {
    color: #fff;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleHeader__img {
    max-width: 33.75rem
  }
  .caseSingleBody {
    padding: 0 0 7.5rem
  }
  .caseSingleBody__head {
    max-width: 70rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 6.25rem
  }
  .caseSingleBody__lead {
    max-width: 55rem;
    width: 100%;
    padding: 3rem 3.75rem
  }
  .caseSingleBody__primary {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    position: relative;
    max-width: 75rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem 0
  }
  .caseSingleBody__side {
    flex: 0 0 auto;
    max-width: 10rem;
    width: 100%
  }
  .caseSingleBody__content {
    flex: 1 1 auto;
    max-width: 55rem;
    width: 100%
  }
  .caseSingleBodyShare__inner {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .caseSingleBodyShare__list {
    margin-top: 1.5rem;
    padding-left: .5rem
  }
  .caseSingleBodyShare__item + .caseSingleBodyShare__item {
    margin-top: .75rem
  }
  .caseSingleBodyContent {
    max-width: 57.5rem;
    width: 100%;
    margin-left: auto
  }
  .caseSingleBodyContent__inner {
    padding-bottom: 4rem
  }
  .caseSingleBodyContent__inner img {
    margin-top: 3.75rem;
    margin-bottom: 3.75rem
  }
  .caseSingleBodyContent__inner .moderator p {
    padding-left: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContent__inner .moderator p:before {
    display: block;
    position: absolute;
    top: .75rem;
    left: 0;
    width: 1.25rem
  }
  .caseSingleBodyContent__inner .speaker + .listener {
    margin-top: 3rem
  }
  .caseSingleBodyContent__inner .speaker p {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContent__inner h2 {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContent__inner * + h2 {
    margin-top: 4.5rem
  }
  .caseSingleBodyContent__inner h2 + * {
    margin-top: 3.5rem
  }
  .caseSingleBodyContent__inner > div + div {
    margin-top: 1.5rem
  }
  .caseSingleBodyContentInfo {
    padding-top: 1.5rem
  }
  .caseSingleBodyContentInfo:before {
    width: 100%
  }
  .caseSingleBodyContentInfo__inner {
    display: flex;
    justify-content: space-between;
    align-items: center
  }
  .caseSingleBodyContentInfo__creator {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContentInfo__company {
    display: flex;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    margin-top: 5rem;
    padding: 3.75rem
  }
  .caseSingleBodyContentInfo__companyLogo {
    width: 11.25rem;
    height: 7.5rem
  }
  .caseSingleBodyContentInfo__companyHeader {
    display: flex;
    align-items: center;
    -moz-column-gap: 1rem;
    column-gap: 1rem
  }
  .caseSingleBodyContentInfo__companyName {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__companyLink {
    color: #999;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleBodyContentInfo__companyLink:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .caseSingleBodyContentInfo__companyText {
    margin-top: .75rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .caseSingleBodyContentInfo__contact {
    max-width: 45rem;
    width: 100%;
    height: 5.625rem;
    margin: 4rem auto 0;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__contact:hover:before {
    opacity: 0
  }
  .caseSingleBodyContentInfo__contact .circle {
    inset: 0 2.375rem 0 auto
  }
  .caseSingleBodyContentInfo__introduction {
    margin-top: 4rem;
    padding-top: 3rem
  }
  .caseSingleBodyContentInfo__introduction:before {
    width: 100%
  }
  .caseSingleBodyContentInfo__introductionText {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .caseSingleBodyContentInfo__introductionInner {
    justify-content: center;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
    margin-top: 2.5rem
  }
  .caseSingleBodyContentInfo__introductionDatail {
    min-width: 21.25rem;
    min-height: 5.625rem;
    padding: 1.25rem 2.375rem 1.25rem 1.25rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleBodyContentInfo__introductionDatail:hover {
    background-color: #0296d6
  }
  .caseSingleBodyContentInfo__introductionDocument {
    min-width: 21.25rem;
    min-height: 5.625rem;
    padding: 1.25rem 2.25rem 1.25rem 1.25rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleBodyContentInfo__introductionDocument:hover {
    background-color: #0296d6
  }
  .caseSingleBodyContentInfo__introductionDocument:before {
    inset: 0 1.5rem 0 auto
  }
  .caseSingleSimilar__wrapper {
    max-width: 75rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    margin: 0 auto
  }
  .caseSingleSimilar__wrapper:before {
    left: calc(-100% + 2.5rem)
  }
  .caseSingleSimilar__heading {
    position: relative;
    padding-bottom: 1.5rem;
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleSimilar__heading:before {
    width: 3.75rem
  }
  .caseSingleSimilar__lead {
    margin-top: 1.25rem
  }
  .caseSingleSimilar__slider {
    max-width: 65rem;
    margin-top: 3.75rem
  }
  .caseSingleSimilar__slide {
    width: 19.375rem
  }
  .caseSingleSimilar__link:hover .caseSingleSimilar__img img {
    transform: scale(1.05)
  }
  .caseSingleSimilar__link:hover .caseSingleSimilar__text > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .caseSingleSimilar__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleSimilar__text {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .caseSingleSimilar__text > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleSimilar__detail {
    margin-top: 1.5rem
  }
  .caseSingleSimilar__item {
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .caseSingleSimilar__back {
    margin: 3.5rem auto .5rem
  }
  .caseSingleSimilar__back:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .caseSingleSimilar__back .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseSingleSimilar__control {
    position: absolute;
    top: -6.25rem;
    right: 0
  }
  .caseSingleSimilar__arrows {
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
  .caseSingleSimilar__arrows .splide__arrow:hover {
    background-color: #003e88
  }
  .caseSingleSimilar__arrows .splide__arrow:hover .arrow {
    stroke: #fff
  }
  .caseInterview {
    max-width: 75rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem
  }
  .caseInterview__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 3.75rem;
    margin-top: 3rem
  }
  .caseInterview__article {
    max-width: 15.625rem;
    width: 100%
  }
  .caseInterview__link:hover .caseInterview__title > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .caseInterview__link:hover .caseInterview__img img {
    transform: scale(1.05)
  }
  .caseInterview__img img {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .caseInterview__title > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseInterviewTag {
    flex-wrap: wrap;
    position: absolute;
    top: -.875rem;
    right: 0
  }
  .caseInterviewTag__button {
    padding: .625rem 3rem .625rem 1rem
  }
  .caseInterviewTag__list {
    padding: 0 3rem .625rem 1rem
  }
  .caseInterviewTag__link {
    transition: color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .caseInterviewTag__link:hover {
    color: #222
  }
  .casetPerformance {
    padding-top: 2.5rem
  }
  .casetPerformance__tab {
    max-width: 75rem;
    padding: 0 2.5rem
  }
  .casetPerformance__tabItem {
    height: 5rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .casetPerformance__tabItem:hover {
    background-color: #003e88
  }
  .casetPerformance__inner {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .casetPerformance__lead {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .casetPerformance__table {
    margin-top: 2rem
  }
  .casetPerformance__table table tr > td:first-child, .casetPerformance__table table tr > th:first-child {
    width: 5rem
  }
  .casetPerformance__table table tr > td:nth-child(2), .casetPerformance__table table tr > th:nth-child(2) {
    padding-left: 2.5rem
  }
  .casetPerformance__table table td, .casetPerformance__table table th {
    height: 4.375rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .casetPerformance__table table td a:hover:before, .casetPerformance__table table th a:hover:before {
    transform-origin: 100% 100%;
    transform: scaleX(0)
  }
  .casetPerformance__table table td a:before, .casetPerformance__table table th a:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .casetPerformance__table table td.interview, .casetPerformance__table table th.interview {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    -moz-column-gap: 1.375rem;
    column-gap: 1.375rem;
    row-gap: .75rem
  }
  .casetPerformance__tableNote {
    bottom: -2rem;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .casetPerformance__more {
    margin: 2.5rem auto 0
  }
  .casetPerformance__more:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .casetPerformance__more .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .casetPerformance .serviceNameLineup__header {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .faqHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.375rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .faqHeader__group:before {
    content: attr(data-label)
  }
  .faqHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .faqHeader__headingJp {
    margin-top: .5rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .faqHeader__lead a:hover:before {
    transform: scaleX(0);
    transform-origin: 100% 100%
  }
  .faqHeader__lead a:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    transform-origin: 0 0
  }
  .faqHeader__nav {
    max-width: 75rem;
    margin: 5rem auto 0;
    padding: 0 2.5rem
  }
  .faqHeader__list {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.25rem
  }
  .faqHeader__link {
    width: 13rem;
    height: 3.5rem;
    padding: 0 2.5rem 0 1.25rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .faqHeader__link:hover {
    background-color: #0296d6
  }
  .faqHeader__link .arrow {
    inset: .125rem 1.5rem 0 auto
  }
  .faqBody {
    max-width: 75rem;
    margin: 0 auto;
    padding: 6.25rem 2.5rem 0
  }
  .faqBody__section + .faqBody__section {
    margin-top: 6.25rem
  }
  .faqBody__heading {
    padding-left: .75rem
  }
  .faqBody__item + .faqBody__item {
    margin-top: 1.5rem
  }
  .faqBody__question {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 2.5rem 2.5rem 2.5rem 6.25rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .faqBody__question:hover .button {
    background-color: transparent
  }
  .faqBody__question:hover .button:after, .faqBody__question:hover .button:before {
    background-color: #003e88
  }
  .faqBody__question:before {
    top: 3.125rem;
    left: 2.5rem;
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 600
  }
  .faqBody__question .button {
    width: 2.5rem;
    height: 2.5rem;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .faqBody__question .button:after, .faqBody__question .button:before {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1), opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .faqBody__answer:before {
    top: 1.875rem;
    left: 2.5rem;
    color: #003e88;
    font-size: 1.375rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 600
  }
  .faqBody__answerInner {
    padding: 1.625rem 8.75rem 2.5rem 6.25rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .faqBody__answerInner:before {
    left: 6.25rem;
    width: calc(100% - 8.75rem)
  }
  .columnHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .columnHeader__group:before {
    content: attr(data-label)
  }
  .columnHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .columnHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .columnBody {
    max-width: 75rem;
    margin: 0 auto;
    padding: 3.75rem 2.5rem 0
  }
  .columnCategory {
    display: flex;
    align-items: center;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 0 2.5rem
  }
  .columnCategory__primary {
    flex: 1 1 auto;
    max-width: 48.75rem;
    width: 100%;
    border-right: 1px solid #e6e6e6;
    padding: 2.5rem 0 1.5625rem
  }
  .columnCategory__serect {
    padding-bottom: 2rem
  }
  .columnCategory__textEn {
    padding-left: .75rem;
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .columnCategory__textEn:before {
    height: 1.25rem
  }
  .columnCategory__link {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .columnCategory__link:hover {
    background-color: #072f5b
  }
  .columnCategory__keyword {
    display: flex;
    -moz-column-gap: .375rem;
    column-gap: .375rem;
    padding-top: 1.5625rem;
    padding-right: .75rem
  }
  .columnCategory__keywordText {
    flex: 0 0 auto
  }
  .columnCategory__keywordLink:hover:before {
    transform: scaleX(0);
    transform-origin: 100% 100%
  }
  .columnCategory__keywordLink:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .columnCategory__beginners {
    flex: 0 0 auto;
    width: 17.5rem;
    margin-bottom: .625rem
  }
  .columnCategory__beginnersText {
    margin-bottom: 1rem
  }
  .columnCategory__beginnersLink {
    padding: 0 1.5rem 0 1.25rem;
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .columnCategory__beginnersLink:hover {
    background-color: #0296d6
  }
  .columnList {
    padding: 5rem 0 0
  }
  .columnList__inner {
    display: grid;
    justify-content: space-between;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 3.75rem
  }
  .columnList__item {
    max-width: 21.25rem;
    width: 100%
  }
  .columnList__link:hover:hover .columnList__img img {
    transform: scale(1.05)
  }
  .columnList__link:hover:hover .columnList__title > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .columnList__img img {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .columnList__content {
    margin-top: 1.25rem
  }
  .columnList__tag {
    margin-top: 1rem
  }
  .columnList__title {
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .columnList__title > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleColumn {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 6.75rem 2.5rem 0
  }
  .singleColumn__back {
    margin: 4rem auto 0;
    padding-left: 3.75rem
  }
  .singleColumn__backLink:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .singleColumn__backLink .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleColumnContent {
    max-width: 66.25rem;
    width: 100%;
    flex: 1 1 auto;
    flex-shrink: 2;
    margin-left: auto;
    padding-left: 6.25rem
  }
  .singleColumnContent__header {
    padding-bottom: 2rem
  }
  .singleColumnContent__heading {
    font-size: 2rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__meta {
    margin-top: 1.625rem
  }
  .singleColumnContent__body {
    padding-top: 5rem
  }
  .singleColumnContent__body * + :where(h2, h3) {
    margin-top: 4rem
  }
  .singleColumnContent__body * + :where(h4) {
    margin-top: 4rem
  }
  .singleColumnContent__body * + :where(ul, ol) {
    margin-top: 1rem;
    margin-left: .5rem;
    margin-bottom: 1rem
  }
  .singleColumnContent__body :where(h2, h4) + p {
    margin-top: 2.5rem
  }
  .singleColumnContent__body :where(h4) + p {
    margin-top: 1.125rem
  }
  .singleColumnContent__body :where(h5) + p {
    margin-top: 1rem
  }
  .singleColumnContent__body p + :where(h2, h3) {
    margin-top: 3.5rem
  }
  .singleColumnContent__body p + :where(h4, h5) {
    margin-top: 2rem
  }
  .singleColumnContent__body p + a {
    margin-top: 1.5rem
  }
  .singleColumnContent__body :where(.singleColumnContent__kv, .img) + p {
    margin-top: 3rem
  }
  .singleColumnContent__body h2 {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body h2:before {
    width: 3.75rem
  }
  .singleColumnContent__body h3 {
    padding-left: 1.125rem;
    font-size: 1.5rem;
    letter-spacing: .06em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body h3:before {
    top: .9375rem;
    width: .5rem;
    height: .5rem
  }
  .singleColumnContent__body h4, .singleColumnContent__body h5 {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .singleColumnContent__body a, .singleColumnContent__body ol:not([class]) > li, .singleColumnContent__body p:not([class]), .singleColumnContent__body ul:not([class]) > li {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleColumnContent__body a {
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .singleColumnContent__body a:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .singleColumnContent__body .box {
    padding: 3rem 2.5rem
  }
  * + .singleColumnContent__body .box {
    margin-top: 3.75rem
  }
  .singleColumnContent__body .table {
    margin-top: 1.125rem
  }
  .singleColumnContent__body .img {
    max-width: 50rem
  }
  .singleColumnContent__indexCotnent {
    height: 18.75rem
  }
  .singleColumnContent__indexInner {
    padding: 2rem 2.5rem 5.25rem
  }
  .singleColumnContent__indexInnerSmall {
    padding: 2rem 2.5rem
  }
  .singleColumnContent__indexText {
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .singleColumnContent__indexText:before {
    top: .75rem
  }
  .singleColumnContent__indexList {
    margin-top: 1.25rem
  }
  .singleColumnContent__indexItem {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .singleColumnContent__indexSub {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .singleColumnContent__inner {
    margin-top: 3rem
  }
  .singleColumnShare {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
  }
  .singleColumnShare__inner {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .singleColumnShare__list {
    margin-top: 1.5rem;
    padding-left: .5rem
  }
  .singleColumnShare__item + .singleColumnShare__item {
    margin-top: .75rem
  }
  .introductionHeader__group {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 1.25rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .introductionHeader__group:before {
    content: attr(data-label)
  }
  .introductionHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .introductionHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .introductionHeader__nav {
    margin: 0 auto 4rem
  }
  .introductionHeader__list {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.25rem
  }
  .introductionHeader__link {
    width: 19.5rem;
    height: 3.5rem;
    padding: 0 2.5rem 0 1.25rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .06em;
    line-height: 1.25;
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionHeader__link:hover {
    background-color: #0296d6
  }
  .introductionHeader__link .arrow {
    inset: .125rem 1.5rem 0 auto
  }
  .introductionBody {
    padding: 5rem 0 0
  }
  .introductionBody__tab {
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    max-width: 85rem;
    padding: 0 2.5rem
  }
  .introductionBody__tabItem {
    height: 5rem;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__tabItem:hover {
    background-color: #003e88
  }
  .introductionBody__continer {
    padding: 3.75rem 0 8.25rem
  }
  .introductionBody__panel {
    max-width: 85rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .introductionBody__panel.--type2 .introductionBody__inner:before {
    height: calc(100% - 2.625rem)
  }
  .introductionBody__panel.--type2 .introductionBody__inner:after {
    bottom: 2.5rem
  }
  .introductionBody__inner {
    row-gap: 4rem
  }
  .introductionBody__inner:before {
    left: 12.375rem;
    height: calc(100% - 5.125rem)
  }
  .introductionBody__inner:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 5.0625rem;
    left: 11.90625rem;
    width: 1rem;
    height: .5rem;
    background-image: url(/assets/img/common/icon_arrow_step2.svg);
    background-size: cover
  }
  .introductionBody__inner > :is(div, section) + :is(.--repeat) {
    margin-top: 3.25rem
  }
  .introductionBody__section {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 2.75rem;
    column-gap: 2.75rem
  }
  .introductionBody__meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem;
    flex: 0 0 auto;
    width: 14.75rem
  }
  .introductionBody__icon {
    width: 4.75rem;
    height: 4.75rem
  }
  .introductionBody__content {
    max-width: 55rem;
    width: 100%;
    padding-top: 1.125rem
  }
  .introductionBody__heading {
    color: #003e88;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__heading > small {
    margin-left: .5rem;
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__Categoryheading {
    padding-inline: 5rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBody__Categoryheading:before {
    left: 5rem;
    width: 3.75rem
  }
  .introductionBody__Categoryheading small {
    margin-top: .25rem;
    color: #999;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .introductionBody__text {
    margin-top: 1.5rem;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__link {
    margin-top: 2rem
  }
  .introductionBody__link:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .introductionBody__link .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionBody__box {
    margin-top: 1.5rem;
    padding: 1.25rem
  }
  .introductionBody__boxText {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .introductionBody__boxList {
    margin-top: .5rem
  }
  .introductionBody__boxItem {
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__boxItem + .introductionBody__boxItem {
    margin-top: .25rem
  }
  .introductionBody__note {
    margin-top: 1rem;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .introductionBody__sectionGroup .introductionBody__section:first-child {
    max-width: 45rem;
    padding-right: 4rem
  }
  .introductionBody__sectionGroup .introductionBody__section:first-child:before {
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    top: 2.375rem;
    left: 7.875rem;
    width: 2.125rem
  }
  .introductionBody__sectionGroup .introductionBody__section:nth-child(2) {
    margin-top: 2.5rem
  }
  .introductionBody__sectionGroup.--returen .introductionBody__section:first-child {
    padding-bottom: 4rem
  }
  .introductionBody__repeat {
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .introductionBodyNav {
    overflow-x: auto;
    border-radius: .25rem;
    margin-bottom: 6.25rem
  }
  .introductionBodyNav__img {
    width: 80rem
  }
  .introductionBodyNav__wrapper {
    display: flex;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    width: 75rem;
    padding: 3rem 2.5rem 3.75rem
  }
  .introductionBodyNav__linkItem .circle {
    inset: 0 2.375rem 0 auto
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:first-child {
    top: 6.8125rem;
    left: 5rem;
    width: 26rem;
    height: 5.1875rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:first-child .circle {
    inset: auto 0 2rem 0
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(2) {
    top: 13.25rem;
    left: 11.625rem;
    width: 19.375rem;
    height: 5.1875rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(3) {
    top: 19.6875rem;
    left: 18.4375rem;
    width: 12.5rem;
    height: 5.1875rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(4) {
    top: 6.8125rem;
    left: 33.3125rem;
    width: 5.8125rem;
    height: 18.0625rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(5) {
    top: 6.875rem;
    left: 37.75rem;
    width: 7.625rem;
    height: 18rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(5):hover .circle {
    border-color: #003e88
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(5):hover .arrow {
    stroke: #003e88
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(5) .circle {
    inset: auto 0 2rem 0;
    transition: border-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(6) {
    top: 6.875rem;
    left: 41.375rem;
    width: 5.8125rem;
    height: 18rem
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(6):hover .circle {
    border-color: #003e88
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(6):hover .arrow {
    stroke: #003e88
  }
  .introductionBody__panel.--type1 .introductionBodyNav__linkItem:nth-child(6) .circle {
    inset: auto 0 2rem 0;
    transition: border-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:first-child {
    top: 6.875rem;
    left: 5rem;
    width: 26rem;
    height: 5.125rem
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(2) {
    top: 13.25rem;
    left: 11.625rem;
    width: 19.25rem;
    height: 5.125rem
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(3) {
    top: 19.75rem;
    left: 18.375rem;
    width: 12.625rem;
    height: 5.125rem
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(4) {
    top: 6.875rem;
    left: 33.375rem;
    width: 5.75rem;
    height: 18rem
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(4) .circle {
    inset: auto 0 2rem 0
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(5) {
    top: 6.875rem;
    left: 41.375rem;
    width: 5.75rem;
    height: 18rem
  }
  .introductionBody__panel.--type2 .introductionBodyNav__linkItem:nth-child(5) .circle {
    inset: auto 0 2rem 0
  }
  .introductionBodyNav__before {
    max-width: 30.25rem;
    width: 100%
  }
  .introductionBodyNav__beforeText {
    position: relative;
    border-bottom: 1px solid #062d59;
    padding-bottom: 1rem
  }
  .introductionBodyNav__beforeText:after, .introductionBodyNav__beforeText:before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 12px;
    border-radius: .5px;
    background-color: #062d59
  }
  .introductionBodyNav__beforeText:before {
    left: 0;
    bottom: -.375rem
  }
  .introductionBodyNav__beforeText:after {
    right: 0;
    bottom: -.375rem
  }
  .introductionBodyNav__beforeList {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    row-gap: 1.25rem;
    margin-top: 1.5rem
  }
  .introductionBodyNav__beforeItem .main + small {
    margin-top: .5rem
  }
  .introductionBodyNav__beforeItem:first-child {
    grid-column: 1/2;
    grid-row: 1/4;
    max-width: 9.375rem
  }
  .introductionBodyNav__beforeItem:first-child .introductionBodyNav__beforeLink {
    padding: 2.375rem .75rem 2rem 1.25rem
  }
  .introductionBodyNav__beforeItem:nth-child(n+2) {
    width: calc(100% - 18px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-left: auto;
    margin-right: 18px
  }
  .introductionBodyNav__beforeItem:nth-child(n+2):before {
    top: 0;
    left: 100%;
    background-color: #062d59;
    width: 18px;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%)
  }
  .introductionBodyNav__beforeItem:nth-child(n+2) .circle {
    inset: 0 .625rem 0 auto
  }
  .introductionBodyNav__beforeItem:nth-child(n+2) .introductionBodyNav__beforeLink {
    padding: .9375rem 1.25rem
  }
  .introductionBodyNav__beforeItem:nth-child(3) {
    max-width: 14.875rem
  }
  .introductionBodyNav__beforeItem:nth-child(4) {
    max-width: 12.375rem
  }
  .introductionBodyNav__beforeItem .circle {
    inset: auto 0 2rem 0
  }
  .introductionBodyNav__beforeLink:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionBodyNav__beforeLink:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .introductionBodyNav__after {
    max-width: 37.25rem;
    width: 100%
  }
  .introductionBodyNav__afterText {
    position: relative;
    border-bottom: 1px solid #062d59;
    padding-bottom: 1rem
  }
  .introductionBodyNav__afterText:after, .introductionBodyNav__afterText:before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 12px;
    border-radius: .5px;
    background-color: #062d59
  }
  .introductionBodyNav__afterText:before {
    left: 0;
    bottom: -.375rem
  }
  .introductionBodyNav__afterText:after {
    right: 0;
    bottom: -.375rem
  }
  .introductionBodyNav__afterList {
    height: calc(100% - 62px);
    grid-template-columns: 122px 122px 122px 122px;
    grid-template-rows: 1fr 1fr;
    -moz-column-gap: 2.25rem;
    column-gap: 2.25rem;
    row-gap: .8125rem;
    margin-top: 1.5rem
  }
  .introductionBodyNav__afterItem {
    max-width: 7.625rem
  }
  .introductionBodyNav__afterItem:first-child {
    grid-column: 1/2;
    grid-row: 1/3
  }
  .introductionBodyNav__afterItem:first-child .introductionBodyNav__afterLink {
    padding: 2.375rem .625rem 2rem 1.25rem
  }
  .introductionBodyNav__afterItem:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/3
  }
  .introductionBodyNav__afterItem:nth-child(2):before {
    inset: 0 auto 0 -.5rem;
    width: .9375rem;
    height: 2.0625rem
  }
  .introductionBodyNav__afterItem:nth-child(2) .introductionBodyNav__afterLink {
    padding: 2.375rem .625rem 2rem
  }
  .introductionBodyNav__afterItem:nth-child(3) {
    grid-column: 3/4;
    grid-row: 1/2;
    padding: 2.375rem .625rem 2rem
  }
  .introductionBodyNav__afterItem:nth-child(3):before {
    inset: 0 auto 0 -.5rem;
    transform: translateX(-100%);
    width: .9375rem;
    height: 2.0625rem
  }
  .introductionBodyNav__afterItem:nth-child(4) {
    grid-column: 3/4;
    grid-row: 2/3;
    padding: 3.125rem .625rem 1.5rem
  }
  .introductionBodyNav__afterItem:nth-child(4):before {
    inset: 0 auto 0 -.5rem;
    transform: translateX(-100%);
    width: .9375rem;
    height: 2.0625rem
  }
  .introductionBodyNav__afterItem:nth-child(5) {
    grid-column: 4/5;
    grid-row: 1/3;
    padding: 2.375rem .625rem 2rem
  }
  .introductionBodyNav__afterItem:nth-child(5):before {
    inset: 0 auto 0 -.5rem;
    transform: translateX(-100%);
    width: .9375rem;
    height: 2.0625rem
  }
  .introductionBodyNav__afterItem .circle {
    inset: auto 0 2rem 0
  }
  .introductionBodyNav__afterLink:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .introductionBodyNav__afterLink:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .priceHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2
  }
  .priceHeader__group:before {
    content: attr(data-label)
  }
  .priceHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .priceHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .priceSide {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .priceSide__wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    padding-top: 5.375rem;
    padding-bottom: 6.25rem
  }
  .priceSide__sticky {
    position: sticky;
    top: 10rem;
    left: 0;
    z-index: 10
  }
  .priceSide__text {
    padding-bottom: .75rem;
    color: #003e88;
    font-weight: 600
  }
  .priceSide__text:before {
    left: 0;
    bottom: 0;
    width: 1.375rem;
    height: 2px;
    border-radius: 1px;
    background-color: #003e88
  }
  .priceSide__list {
    margin-top: 1.25rem
  }
  .priceSide__item + .priceSide__item {
    margin-top: .75rem
  }
  .priceSide__link {
    display: block;
    color: #999;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500;
    transition: color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceSide__link:hover {
    color: #222
  }
  .priceSide__link:before {
    top: .375rem;
    left: 0;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background-color: #003e88;
    opacity: 0
  }
  .priceSide__inner > a:hover {
    color: #222
  }
  .priceContent__block {
    padding-top: 6.25rem
  }
  .priceContent__block:first-child {
    padding-top: 5rem
  }
  .priceContent__block.--pb {
    padding-bottom: 6.25rem
  }
  .priceContent__block.--gray {
    padding-top: 5rem;
    padding-bottom: 6.25rem
  }
  .priceContent__block.--gray + .priceContent__block {
    padding-top: 5rem
  }
  .priceContent__inner {
    max-width: 77.5rem;
    margin: 0 auto;
    padding: 0 2.5rem 0 15rem
  }
  .priceContent__section {
    max-width: 57.5rem;
    width: 100%;
    margin-left: auto
  }
  .priceContent__section + .priceContent__section {
    margin-top: 5.5rem
  }
  .priceContent__heading {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__heading:before {
    width: 3.75rem
  }
  .priceContent__heading small {
    margin-bottom: .5rem;
    color: #999;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__headingSub {
    padding-bottom: 1.25rem;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContent__headingSub:before {
    width: 3.75rem
  }
  .priceContent__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContent__text + .priceContent__text {
    margin-top: 1.5rem
  }
  .priceContent__table {
    width: calc(100% + 5rem);
    margin-top: 2.5rem;
    padding-right: 2.5rem
  }
  .priceContent__img, .priceContent__tableNote + .priceContent__text {
    margin-top: 2.5rem
  }
  .priceContent__img.--patented:before {
    top: -1.25rem;
    right: -1.875rem;
    width: 5.625rem;
    height: 5.625rem
  }
  .priceContentStructure, .priceContentStructure__option + .priceContentStructure__option {
    margin-top: 2.5rem
  }
  .priceContentStructure__heading {
    padding: 1.875rem 2.5rem;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .priceContentStructure__headingLink:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .priceContentStructure__headingLink:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentStructure__headingLink:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .5s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .priceContentStructure__headingLink .text {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentStructure__detail {
    padding: 1.875rem 2.5rem
  }
  .priceContentStructure__upper {
    flex-wrap: wrap;
    align-items: center;
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    row-gap: .625rem
  }
  .priceContentStructure__upperHeading {
    color: #003e88;
    font-size: 1.125rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContentStructure__upperText {
    margin-top: 1px
  }
  .priceContentStructure__lower {
    display: flex;
    align-items: center
  }
  .priceContentStructure__lowerList {
    display: block;
    -moz-column-gap: 3rem;
    column-gap: 3rem
  }
  .priceContentStructure__lowerItem {
    margin-top: 1.5rem
  }
  .priceContentStructure__lowerLink {
    color: #003e88;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentStructure__lowerLink:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .priceContentStructure__lowerLink .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentAbout {
    padding: 3.75rem 0 0
  }
  .priceContentAbout + .priceContentAbout {
    margin-top: 1.25rem
  }
  .priceContentAbout__heading {
    color: #003e88;
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .priceContentAbout__heading > small {
    margin-left: 1.375rem;
    color: #003e88;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .priceContentAbout__box {
    padding: 3.75rem
  }
  * + .priceContentAbout__box {
    margin-top: 2rem
  }
  .priceContentAbout__whole {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 1.75rem;
    column-gap: 1.75rem
  }
  .priceContentAbout__wholeHeading {
    padding: .375rem .75rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .priceContentAbout__wholeList {
    flex: 1 1 auto
  }
  .priceContentAbout__wholeItem {
    padding: .625rem 1.25rem .625rem 1.5rem
  }
  .priceContentAbout__wholeCost {
    color: #003e88;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .priceContentAbout__wholeCost > small {
    margin-left: .5rem;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
  .priceContentAbout__wholeSource {
    color: #fff;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .priceContentAbout__trustfee {
    margin-top: 2.5rem
  }
  .priceContentAbout__trustfeeHeading {
    min-width: 7rem;
    padding: .375rem .75rem;
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 500
  }
  .priceContentAbout__trustfeeInner {
    padding: .75rem 2.5rem 2.5rem
  }
  .priceContentAbout__trustfeeTextWrapper {
    padding: .75rem 0 0;
    width: 34.875rem
  }
  .priceContentAbout__trustfeeGroup {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }
  .priceContentAbout__trustfeeOption {
    padding: .75rem 0
  }
  .priceContentAbout__trustfeeType {
    flex: 0 0 auto;
    min-width: 6.875rem
  }
  .priceContentAbout__note {
    margin-top: 1.5rem
  }
  .priceContentAbout__noteItem {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentAbout__link {
    margin-top: 2rem
  }
  .priceContentAbout__link:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .priceContentAbout__link .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentAbout__link + .priceContentAbout__link {
    margin-top: 1rem
  }
  .priceContentAbout__trustfeeDetail {
    margin-top: 2rem
  }
  .priceContentAbout__trustfeeDetail:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .priceContentAbout__trustfeeDetail:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentAbout__trustfeeDetail:hover .circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .priceContentAbout__trustfeeDetail .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentExample__tab {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    margin-top: 2.5rem
  }
  .priceContentExample__tabItem {
    padding: .375rem 1rem;
    color: #999;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__tabItem:hover {
    color: #fff;
    background-color: #003e88;
    border-color: #003e88
  }
  .priceContentExample__tabItem[aria-selected=true]:before {
    opacity: 1;
    transform: translateY(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentExample__tabItem:before {
    content: "";
    display: block;
    position: absolute;
    inset: auto 0 -.375rem 0;
    width: 1rem;
    height: .625rem;
    margin: auto;
    background-image: url(/assets/img/common/icon_triangle2.svg);
    background-size: cover;
    opacity: 0;
    transform: translateY(-100%)
  }
  .priceContentExample__tabItem small {
    display: block;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__text {
    margin-top: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .priceContentExample__table {
    margin-top: 2.5rem
  }
  .priceContentExample__trustfeeDetail {
    margin-top: 2rem
  }
  .priceContentExample__trustfeeDetail:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .priceContentExample__trustfeeDetail .text {
    background-image: linear-gradient(#003e88, #003e88);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .priceContentExample__note {
    margin-top: 1.5rem
  }
  .priceContentExample__noteItem {
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .appendixHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem
  }
  .appendixHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .appendixHeader__headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .appendixBody {
    max-width: 75rem;
    margin: 0 auto;
    padding: 3.75rem 2.5rem 6.25rem
  }
  .appendixBody__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .appendixBody__note {
    margin-top: 1rem
  }
  .appendixBody__section {
    margin-top: 4rem
  }
  .appendixBody__heading {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .appendixBody__table {
    margin-top: 1.5rem
  }
  .appendixBody__table table {
    width: 60rem
  }
  .appendixBody__table a:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .appendixBody__table a .text {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .appendixBody__table th {
    height: 4.5rem;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .appendixBody__table th:first-child {
    width: 5rem
  }
  .appendixBody__table th:nth-child(2) {
    padding: 0 2.5rem
  }
  .appendixBody__table th:nth-child(3) {
    width: 7.75rem
  }
  .appendixBody__table th:last-child {
    width: 12.5rem
  }
  .appendixBody__table td {
    height: 5.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5
  }
  .appendixBody__table td:first-child {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .appendixBody__table td:nth-child(2) {
    padding: 0 2.5rem
  }
  .termsHeader {
    padding: 11.25rem 0 5rem
  }
  .termsHeader__group {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem 2.25rem
  }
  .termsHeader__headingEn {
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .termsHeader__headingJp {
    margin-top: .5rem;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.2;
    font-weight: 700
  }
  .termsBody {
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 2.5rem
  }
  .termsBody__section + .termsBody__section {
    margin-top: 5rem
  }
  .termsBody__heading {
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .termsBody__heading:before {
    width: 3.75rem
  }
  .termsBody__heading + .termsBody__text {
    margin-top: 2.5rem
  }
  .termsBody__text {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .termsBody__text > a:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .termsBody__text + .termsBody__text {
    margin-top: 1rem
  }
  .termsBody__content {
    margin-top: 3rem
  }
  .termsBody__contentHeading {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .termsBody__contentHeading + .termsBody__contentText {
    margin-top: 1.5rem
  }
  .termsBody__contentList {
    margin-top: 1rem
  }
  .termsBody__contentItem, .termsBody__contentText {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .termsBody__contentText > a:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .termsBody__end {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactHeader {
    padding: 11.25rem 0 0
  }
  .contactHeader__heading:before {
    bottom: -1px;
    width: 14.875rem
  }
  .contactHeader__heading.--request:before {
    bottom: -1px;
    width: 10rem
  }
  .contactHeader__headingEn {
    padding-left: 1em;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .contactHeader__headingJp {
    margin-top: .5rem;
    font-size: 2.375rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .contactHeader__inner {
    align-items: flex-end;
    -moz-column-gap: 2.25rem;
    column-gap: 2.25rem;
    padding: 0 2.5rem 2.25rem
  }
  .contactBody, .contactHeader__inner {
    display: flex;
    max-width: 75rem;
    margin: 0 auto
  }
  .contactBody {
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 5rem 2.5rem 0
  }
  .contactBody__inner {
    max-width: 57.5rem;
    width: 100%
  }
  .contactBody__side {
    padding-bottom: 13.75rem
  }
  .contactSide {
    position: sticky;
    top: 10rem;
    left: 0
  }
  .contactSide__list:before {
    width: 1px;
    height: 100%
  }
  .contactSide__item {
    width: 4.6875rem;
    height: 4.6875rem
  }
  .contactSide__item + .contactSide__item {
    margin-top: 2.5rem
  }
  .contactSide__number, .contactSide__text {
    color: #999;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .contactForm__header {
    padding-bottom: 1.875rem
  }
  .contactForm__lead {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__body {
    padding-top: 4rem
  }
  .contactForm__body .text-danger {
    margin-top: .75rem
  }
  .contactForm__block + .contactForm__block {
    margin-top: 2.125rem
  }
  .contactForm__block.--box {
    padding: 2rem
  }
  .contactForm__block.--box .contactForm__radio {
    display: grid;
    grid-template-columns: auto auto;
    width: -moz-fit-content;
    width: fit-content
  }
  .contactForm__heading {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactForm__radio {
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    row-gap: 1.25rem;
    margin-top: 1.5rem
  }
  .contactForm__radio.--2column {
    display: grid;
    grid-template-columns: auto auto;
    width: -moz-fit-content;
    width: fit-content
  }
  .contactForm__radioButton {
    padding-left: 1.875rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__radioButton:hover > input:after {
    opacity: 1
  }
  .contactForm__input {
    height: 4.375rem;
    margin-top: .75rem;
    padding: 1.375rem 2.5rem
  }
  .contactForm__input, .contactForm__textarea {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__textarea {
    height: 15rem;
    padding: 1.375rem 0 1.375rem 2.5rem
  }
  .contactForm__agree {
    margin-top: 3.75rem
  }
  .contactForm__agreeCheck {
    margin-top: .125rem
  }
  .contactForm__agreeText {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__agreeText > a:hover {
    background-size: 0 1px;
    background-position: 100% 100%
  }
  .contactForm__list {
    margin-top: .75rem
  }
  .contactForm__item {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactForm__date, .contactForm__select {
    height: 4.375rem;
    margin-top: .75rem;
    padding: 1.375rem 2.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactConfirm__item {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding: 2rem 0
  }
  .contactConfirm__term {
    flex: 0 0 auto;
    font-weight: 700
  }
  .contactConfirm__description, .contactConfirm__term {
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactConfirm__description {
    max-width: 42.5rem;
    width: 100%
  }
  .contactConfirm__link {
    margin-top: 3.75rem
  }
  .contactConfirm__submit {
    max-width: 45rem;
    height: 6.25rem;
    margin: 2.5rem auto 0;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactConfirm__submit:hover .circle .arrow:before {
    transform: translateX(101%);
    transition: transform .25s cubic-bezier(.33, 1, .68, 1)
  }
  .contactConfirm__submit:hover .circle .arrow:after {
    transform: translateX(0);
    transition: .25s cubic-bezier(.33, 1, .68, 1) .1s
  }
  .contactConfirm__submit .circle {
    inset: 0 2.375rem 0 auto
  }
  .contactComplete__inner {
    padding-bottom: 1.5rem
  }
  .contactComplete__heading {
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactComplete__text {
    margin-top: 1.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .contactComplete__back {
    margin-top: 2.5rem
  }
  .contactComplete__back:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .contactComplete__back .text {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .contactLink__wrapper {
    max-width: 45rem;
    height: 5.625rem;
    margin: 2.5rem auto 0
  }
  .contactLink__wrapper:hover .contactLink__split:before {
    opacity: 0
  }
  .contactLink__submit {
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: .06em;
    line-height: 1.6;
    font-weight: 700
  }
  .contactLink__split .circle {
    inset: 0 2.375rem 0 auto
  }
  .contactLink__back {
    margin: 2.5rem auto 0
  }
  .contactLink__back:hover:before {
    transform: scaleX(0);
    transform-origin: 100% 100%
  }
  .contactLink__back:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .requestPb {
    padding: 3.75rem 2.5rem 0
  }
  .requestBrochureArea {
    max-width: 75rem;
    margin: 0 auto;
    padding: 5rem 2.5rem 0
  }
  .requestBrochureArea h2 {
    padding-bottom: 1.5rem;
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .requestBrochureArea__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    margin-top: 1.5rem
  }
  .requestBrochureArea__text {
    max-width: 70%;
    flex: 2
  }
  .requestBrochureArea__text p, .requestBrochureArea__text p.outline {
    font-size: 1.125rem;
    letter-spacing: .04em
  }
  .requestBrochureArea__img {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    justify-content: space-between
  }
  .requestBrochureArea__img img {
    height: -moz-fit-content;
    height: fit-content
  }
  .guideBanner.--recruit .guideBanner__link {
    height: 21.25rem
  }
  .guideBanner__wrapper {
    padding: 0 2.5rem
  }
  .guideBanner__link {
    height: 26.25rem;
    padding: 3.75rem
  }
  .guideBanner__link:hover:before {
    transform: scale(1.05)
  }
  .guideBanner__link:hover .guideBanner__circle .arrow:before {
    transform: translateX(101%);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .guideBanner__link:hover .guideBanner__circle .arrow:after {
    transform: translateX(0);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .guideBanner__link:before {
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .guideBanner__link.--company:before {
    background-image: url(/assets/img/home/company_bg.jpg)
  }
  .guideBanner__link.--recruite:before {
    background-image: url(/assets/img/home/recruit_bg.jpg)
  }
  .guideBanner__link.--service:before {
    background-image: url(/assets/img/home/service_bg.jpg)
  }
  .guideBanner__headingJp {
    color: #fff;
    font-size: 2.25rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .guideBanner__text {
    color: #fff;
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1.6
  }
  .guideBanner__circle {
    right: 2.5rem;
    bottom: 2.5rem
  }
  .errorBody {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 65rem;
    margin: 0 auto;
    padding: 3.75rem 1.25rem 0
  }
  .errorBody__heading {
    font-size: 1.75rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 700
  }
  .errorBody__text {
    margin-top: 1.5rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .errorBody__back {
    margin-top: 4rem
  }
  .errorBody__back:hover .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .errorBody__back .text {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .errorHeader {
    padding: 11.25rem 0 2.25rem
  }
  .errorHeader__heading {
    position: relative
  }
  .errorHeader__headingEn {
    padding-left: 1em;
    color: #003e88;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .errorHeader__headingJp {
    margin-top: .5rem;
    font-size: 2.375rem;
    letter-spacing: .06em;
    line-height: 1.2;
    font-weight: 700
  }
  .errorHeader__inner {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 2.25rem;
    column-gap: 2.25rem;
    max-width: 65rem;
    margin: 0 auto;
    padding: 0 1.25rem
  }
  .spPagenavi, .spPagenavi__button {
    display: none
  }
  .c-headingEn {
    color: #062d59;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 600
  }
  .c-headingJp {
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .c-hover:hover .circle:before {
    scale: 1.3;
    background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7);
    animation: rotate 6.4s linear infinite
  }
  .c-hover:hover .circle:after {
    transform: scale(1);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    animation: slide 2.4s cubic-bezier(.33, 1, .68, 1) infinite
  }
  .c-hover:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover .circle:before {
    transition: scale .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover .circle:after {
    content: "";
    display: block;
    width: .3125rem;
    height: .3125rem;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: scale(0)
  }
  .c-hover .circle .arrow {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-wh:hover .circle:before {
    scale: 1.3;
    background: linear-gradient(270deg, #003e88, #016db2 60.94%, #0197d7);
    animation: rotate 6.4s linear infinite
  }
  .c-hover-wh:hover .circle:after {
    transform: scale(1);
    transition: transform .3s cubic-bezier(.33, 1, .68, 1);
    animation: slide 2.4s cubic-bezier(.61, 1, .88, 1) infinite
  }
  .c-hover-wh:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-wh .circle:before {
    transition: scale .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-wh .circle:after {
    content: "";
    display: block;
    width: .3125rem;
    height: .3125rem;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: scale(0)
  }
  .c-hover-wh .circle .arrow {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-small:hover .circle:before {
    opacity: 0
  }
  .c-hover-small:hover .circle:after {
    transform: scale(1)
  }
  .c-hover-small:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-small .circle:before {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-small .circle:after {
    content: "";
    display: block;
    width: .25rem;
    height: .25rem;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: scale(0)
  }
  .c-hover-small .circle .arrow, .c-hover-small .circle:after {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-small-wh:hover .circle:before {
    opacity: 0
  }
  .c-hover-small-wh:hover .circle:after {
    transform: scale(1)
  }
  .c-hover-small-wh:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-small-wh .circle:before {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-small-wh .circle:after {
    content: "";
    display: block;
    width: .25rem;
    height: .25rem;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: scale(0)
  }
  .c-hover-small-wh .circle .arrow, .c-hover-small-wh .circle:after {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-dot-small:hover .circle:before {
    transform: scale(.1818)
  }
  .c-hover-dot-small:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-dot-small .circle .arrow, .c-hover-dot-small .circle:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-dot-small-wh:hover .circle:before {
    transform: scale(.1818)
  }
  .c-hover-dot-small-wh:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-dot-small-wh .circle .arrow, .c-hover-dot-small-wh .circle:before {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-dot-small-grad:hover .circle:before {
    transform: scale(1)
  }
  .c-hover-dot-small-grad:hover .arrow {
    transform: scale(0);
    transition: none
  }
  .c-hover-dot-small-grad .circle:before {
    width: .25rem;
    height: .25rem;
    transform: scale(0);
    background: linear-gradient(270deg, #003e88, #016db2 61%, #0197d7)
  }
  .c-hover-dot-small-grad .circle:after, .c-hover-dot-small-grad .circle:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%;
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-dot-small-grad .circle:after {
    background-color: #fff
  }
  .c-hover-dot-small-grad .circle .arrow {
    transition: transform .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-frame:hover .circle {
    background-color: transparent
  }
  .c-hover-frame:hover .arrow {
    stroke: #003e88
  }
  .c-hover-frame .circle {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-frame .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-frame-wh:hover .circle {
    background-color: transparent
  }
  .c-hover-frame-wh:hover .arrow {
    stroke: #fff
  }
  .c-hover-frame-wh .circle {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-frame-wh .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-anchor:hover .circle {
    background-color: transparent
  }
  .c-hover-anchor:hover .arrow {
    stroke: #003e88
  }
  .c-hover-anchor .circle {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-anchor .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-anchor-wh:hover .circle {
    background-color: transparent
  }
  .c-hover-anchor-wh:hover .arrow {
    stroke: #fff
  }
  .c-hover-anchor-wh .circle {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .c-hover-anchor-wh .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .seviceBnr__wrapper {
    max-width: 85rem;
    margin: 0 auto;
    padding: 7.5rem 2.5rem 0
  }
  .seviceBnr__link {
    height: 21.25rem;
    padding: 4rem 5rem
  }
  .seviceBnr__link:hover:before {
    transform: scale(1.05)
  }
  .seviceBnr__link:hover .seviceBnr__about .text {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .seviceBnr__link:before {
    background-image: url(/assets/img/common/sevice_banner.jpg);
    transition: transform .5s cubic-bezier(.33, 1, .68, 1)
  }
  .seviceBnr__headingEn {
    color: #fff;
    font-size: .875rem;
    letter-spacing: .04em;
    line-height: 1.4
  }
  .seviceBnr__headingJp {
    margin-top: 1rem;
    color: #fff;
    font-size: 2.375rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .seviceBnr__lead {
    margin-top: 1.75rem
  }
  .seviceBnr__about, .seviceBnr__lead {
    color: #fff;
    font-size: .9375rem;
    letter-spacing: .04em;
    line-height: 1.6
  }
  .seviceBnr__about {
    right: 3.75rem;
    bottom: 2.5rem;
    font-weight: 700
  }
  .seviceBnr__about .text {
    background-image: linear-gradient(#fff, #fff);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .breadcrumb {
    padding-top: 5.25rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }
  .breadcrumb__inner {
    max-width: 80rem;
    width: 100%;
    margin: 0 auto
  }
  .breadcrumb__link {
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1
  }
  .peager {
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    margin: 4rem auto 0
  }
  .peager__preve {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .peager__preve:hover {
    background-color: transparent
  }
  .peager__preve:hover .arrow {
    stroke: #003e88
  }
  .peager__preve .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .peager__next {
    transition: background-color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .peager__next:hover {
    background-color: transparent
  }
  .peager__next:hover .arrow {
    stroke: #003e88
  }
  .peager__next .arrow {
    transition: stroke .3s cubic-bezier(.33, 1, .68, 1)
  }
  .peager__list {
    -moz-column-gap: 1.75rem;
    column-gap: 1.75rem
  }
  .peager__link {
    font-size: 1rem;
    letter-spacing: .06em;
    line-height: 1;
    font-weight: 500;
    transition: color .3s cubic-bezier(.33, 1, .68, 1)
  }
  .peager__link:hover {
    color: #003e88
  }
  .u-sp {
    display: none !important
  }
}
@media screen and (min-width:64.0625rem) {
  body {
    margin: 0
  }
  .header__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    max-width: 90rem;
    margin: auto;
    padding: 1.25rem 2.5rem
  }
  .header__inner {
    flex: 0 0 auto
  }
  .header__menu {
    margin-left: auto
  }
  .header__menuLogo {
    display: none
  }
  .header__content {
    display: flex;
    align-items: center;
    opacity: 1 !important;
    transform: none !important
  }
  .header__button {
    display: none
  }
  .headerNav {
    flex: 0 0 auto
  }
  .headerNav__info {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto
  }
  .headerNav__infoList {
    display: flex;
    border: 1px solid #ddd;
    border-radius: .25rem;
    padding: .375rem 0;
    background-color: #f5f5f5
  }
  .headerNav__infoItem + .headerNav__infoItem:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    height: .875rem;
    border-radius: .5px;
    margin: auto;
    background-color: #ddd
  }
  .headerNav__infoItem:first-child .headerNav__headLink {
    padding-left: 1.1875rem
  }
  .headerNav__infoItem:last-child .headerNav__headLink {
    padding-right: 1.375rem
  }
  .headerNav__infoLink {
    padding: 0 1.8125rem;
    font-size: .75rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .headerNav__infoLink:hover > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNav__infoLink > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNav__page {
    margin-top: .75rem
  }
  .headerNav__pageList {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 700
  }
  .headerNav__pageItem.is-visible .headerNav__pageLink > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNav__pageItem.is-visible .headerNavService {
    opacity: 1;
    pointer-events: auto
  }
  .headerNav__pageLink:hover > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .headerNav__pageLink > span {
    background-image: linear-gradient(#222, #222);
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    transition: background-size .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerNav__pageLink.--service:before {
    content: "";
    display: block;
    position: absolute;
    transform: translateY(100%) rotate(180deg);
    width: 100%;
    height: 1.5rem;
    padding-top: .125rem;
    font-size: 1em;
    color: transparent;
    background-image: url(/assets/img/common/icon_triangle2.svg);
    background-size: 1rem .625rem;
    background-position: top;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0 cubic-bezier(.33, 1, .68, 1) .5s
  }
  .headerNav__pageLink.is-current > span {
    background-image: linear-gradient(#003e88, #003e88)
  }
  .headerNavMore__link {
    display: none
  }
  .headerContact {
    -moz-column-gap: .75rem;
    column-gap: .75rem;
    margin-left: 2rem
  }
  .headerContact__item {
    width: 6.25rem;
    height: 5rem;
    padding-top: 2.875rem;
    padding-bottom: 1.125rem;
    background-color: #0296d6
  }
  .headerContact__item:after {
    inset: 0
  }
  .headerContact__item.--document:after {
    background-size: .875rem auto;
    background-position: center top 1.125rem
  }
  .headerContact__item.--form:before {
    transition: opacity .3s cubic-bezier(.33, 1, .68, 1)
  }
  .headerContact__item.--form:after {
    background-size: 1.125rem auto;
    background-position: center top 1.25rem
  }
  .headerContact__text {
    color: #fff;
    font-size: .8125rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 500
  }
  .headerContact__circle {
    display: none
  }
  .footerPrimary {
    min-width: 40.625rem
  }
  .footerPrimary__contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 2rem;
    column-gap: 2rem
  }
  .homeServiceOption {
    display: flex
  }
  .homeServiceOption__section {
    height: 21.25rem
  }
  .homeServiceOption__section.--service_01 .homeServiceOption__link:before {
    inset: auto 11.875rem 2.125rem auto
  }
	  .homeServiceOption__section.--service_02 .homeServiceOption__link:before {
    inset: auto 11.875rem 2.125rem auto
  }
	  .homeServiceOption__section.--service_03 .homeServiceOption__link:before {
    inset: auto 11.875rem 2.125rem auto
  }
 /* .homeServiceOption__section.--service_02 {
    max-width: 32.5rem;
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem
  }
  .homeServiceOption__section.--service_02 .homeServiceOption__link {
    max-width: 32.5rem
  }*/
  .homeCaseInterview__body {
    display: grid;
    grid-template-columns: 1fr 1fr
  }
  .homeCaseInterviewArticle {
    max-width: 35rem
  }
  .serviceHeader {
    padding: 11.25rem 0 10rem
  }
  .serviceOption__number {
    display: block;
    position: absolute;
    top: 2.5rem;
    right: 7.5rem;
    color: #222;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1;
    font-weight: 700
  }
  .serviceOption__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .serviceOption__lead {
    max-width: 37.5rem;
    padding-top: 2.5rem
  }
  .serviceOptionRecommend {
    max-width: 29rem;
    margin-top: -4.625rem;
    padding: 2.5rem
  }
  .serviceOptionType {
    margin-top: 2.5rem;
    padding-top: 3rem
  }
  .serviceOptionType__continer {
    display: flex;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
  }
  .serviceOptionType__continer .--main {
    flex-basis: 70%
  }
  .serviceOptionType__continer .--sub {
    flex-basis: 30%
  }
  .serviceOptionType__continer .--full {
    flex-basis: 100%
  }
  .serviceOptionType__continer .--half {
    flex-basis: 50%
  }
  .serviceOptionType__column {
    width: 50%
  }
  .serviceInfo__item {
    max-width: 17.375rem;
    width: 100%;
    flex: 1 1 auto
  }
  .serviceName__head.--stockoption .serviceName__header:before {
    right: 0;
    bottom: -6.625rem;
    background-position: right 0 top 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--stockoption-1yen .serviceName__header:before {
    background-position: right .25rem top 0
  }
  .serviceName__head.--L3-stock-type .serviceName__header:before {
    background-position: right .25rem top 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--L3-qualified .serviceName__header:before {
    background-position: right .25rem top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--stockoption-paid .serviceName__header:before {
    background-image: url(/assets/img/service/stockoptio/ilust_kv.png);
    background-position: right .25rem top 0
  }
  .serviceName__head.--liquidity-trust .serviceName__header:before {
    background-position: right .25rem top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--call-option .serviceName__header:before {
    background-position: right 4.25rem top 0;
    background-image: url(/assets/img/service/call-option/ilust_kv.png)
  }
  .serviceName__header {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    -moz-column-gap: 1.625rem;
    column-gap: 1.625rem;
    row-gap: .75rem;
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 11.25rem 14.375rem 2.25rem 2.5rem
  }
  .serviceContentGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    row-gap: 2.5rem
  }
  .serviceContentGrid__item {
    max-width: 27.5rem
  }
  .serviceContentGrid__item.--group {
    align-items: center;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    max-width: 57.5rem;
    grid-column: 1/3
  }
  .serviceContentGrid__item.--group .serviceContentGrid__number {
    margin: 0 auto 0 0
  }
  .serviceContentGrid__item.--group .serviceContentGrid__heading {
    text-align: left
  }
  .serviceContentGrid__inner {
    max-width: 33.75rem
  }
  .serviceContentFeatures__section {
    display: flex;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .serviceContentFeatures__inner {
    max-width: 27.5rem
  }
  .serviceContentFeatures__img {
    margin: 0
  }
  .serviceNavlower__lineupList {
    flex-direction: row
  }
  .serviceNavlower__guideItem.--lineup-50 {
    max-width: 48%;
    position: relative
  }
  .serviceNavlower__guideItem.--lineup-50:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-radius: .5px;
    background-color: #222
  }
  .serviceNavlower__guideLinkText.--lineup-50:before {
    content: none;
    background-color: unset
  }
  .serviceFeatures__group {
    display: flex;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .indexNewsHeader {
    padding: 11.25rem 0 0
  }
  .note__wrapper {
    max-width: 82.5rem;
    margin: 0 auto;
    padding: 5rem
  }
  .note__inner {
    display: flex;
    align-items: center;
    padding: 2.5rem
  }
  .note__heading {
    flex: 0 0 auto;
    padding-left: 3.875rem;
    font-size: 1rem;
    letter-spacing: .04em;
    line-height: 1.5;
    font-weight: 500
  }
  .note__heading:before {
    top: .375rem;
    left: .25rem;
    width: 2.5rem;
    height: 2.25rem
  }
  .note__text {
    margin-left: 2.5rem;
    padding-left: 2.5rem
  }
  .note__text:before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    height: 100%;
    background-color: #d7d7d7
  }
  .topCompanyAbout__content {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .topCompanyAbout__inner {
    max-width: 38.5rem;
    margin-top: 5.375rem
  }
  .topCompanyMivi__section {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    padding-right: 2.5rem
  }
  .topCompanyMivi__content {
    max-width: 38.75rem
  }
  .topCompanyMivi__graphic {
    flex: 0 0 auto;
    width: 23.75rem;
    height: 17.8125rem
  }
  .recruitLead__inner {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .recruitLead__text {
    max-width: 33.75rem;
    margin-top: .5rem
  }
  .caseHeader {
    padding: 11.25rem 0 2rem
  }
  .casePickup__content {
    max-width: 27.5rem
  }
  .casePickup__link {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .casePickup__link:hover .casePickup__heading > span {
    background-size: 100% 1px;
    background-position: 0 100%
  }
  .casePickup__link:hover .casePickup__img img {
    transform: scale(1.05)
  }
  .caseSingleHeader__wapper {
    display: flex;
    justify-content: space-between;
    padding: 12.625rem 2.5rem 8.75rem
  }
  .caseSingleHeader__content {
    max-width: 41.25rem
  }
  .caseSingleSimilar__header {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem
  }
  .columnHeader, .faqHeader {
    padding: 11.25rem 0 0
  }
  .singleColumn {
    padding: 11.25rem 2.5rem 0
  }
  .appendixHeader, .introductionHeader, .priceHeader {
    padding: 11.25rem 0 0
  }
  .guideBanner__wrapper {
    display: flex;
    max-width: 85rem;
    margin: 0 auto
  }
  .guideBanner__link {
    width: 50%
  }
  .guideBanner__link:first-child {
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem
  }
  .guideBanner__link:nth-child(2) {
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem
  }
  .errorBody {
    padding: 3.75rem 2.5rem 0
  }
  .errorHeader__inner {
    padding: 0 2.5rem
  }
}
@media screen and (min-width:72.0625rem) {
  body {
    margin: 0
  }
  .introductionBody__sectionGroup {
    padding-left: 6.75rem;
    display: flex;
    padding-top: 4rem;
    padding-left: 0
  }
  .introductionBody__sectionGroup .introductionBody__section:first-child:before {
    top: -4rem;
    left: 12.375rem;
    width: calc(100% - 10rem);
    height: 3.6875rem;
    border-top: 1px solid #0bc2db;
    border-right: 1px solid #0bc2db
  }
  .introductionBody__sectionGroup .introductionBody__section:first-child:after {
    content: "";
    display: block;
    position: absolute;
    top: -.8125rem;
    right: -2.8125rem;
    width: 1rem;
    height: .5rem;
    background-image: url(/assets/img/common/icon_arrow_step.svg);
    background-size: cover
  }
  .introductionBody__sectionGroup .introductionBody__section:nth-child(2) {
    max-width: 32.8125rem;
    margin-top: 0
  }
  .introductionBody__sectionGroup .introductionBody__section:nth-child(2) .introductionBody__meta {
    justify-content: flex-start;
    width: 4.75rem
  }
  .introductionBody__sectionGroup.--returen .introductionBody__section:first-child .introductionBody__meta:before {
    content: "";
    display: block;
    position: absolute;
    left: 12.375rem;
    bottom: 0;
    width: calc(100% - 10rem);
    height: calc(100% - 4.75rem);
    border-bottom: 1px solid #0bc2db;
    border-right: 1px solid #0bc2db;
    pointer-events: none
  }
  .u-pcM {
    display: none !important
  }
}
@media screen and (min-width:80.0625rem) {
  body {
    margin: 0
  }
  .homeMv__slider .splide__pagination {
    display: flex;
    position: absolute;
    right: -7.5rem;
    bottom: 1.75rem
  }
  .homeMv__circle {
    display: block;
    position: absolute;
    z-index: 1;
    top: 12.5rem;
    left: calc(50% - 53.125rem);
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background: linear-gradient(270deg, #01418b, #0292d3 85%)
  }
}
@media screen and (min-width:90rem) {
  body {
    margin: 0
  }
  .homeMv__slider .splide__pagination {
    right: calc(50% - 28rem)
  }
  .homeMv__shape {
    left: calc(50% - 1480px)
  }
  .serviceHeader__group {
    padding: 0 5rem 2.25rem
  }
  .serviceHeader__content {
    padding: 5rem 5rem 0
  }
  .serviceOption__header {
    padding: 2.5rem 5rem
  }
  .serviceOption__body {
    padding: 0 5rem 4.5rem
  }
  .serviceName__head.--stockoption .serviceName__header:before {
    background-position: right calc(50% - 32.25rem) top 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--stockoption-1yen .serviceName__header:before {
    background-position: right calc(50% - 32.25rem) top 0
  }
  .serviceName__head.--L3-stock-type .serviceName__header:before {
    background-position: right calc(50% - 32.25rem) top 0;
    background-image: url(/assets/img/service/stockoption/ilust_kv.png)
  }
  .serviceName__head.--L3-qualified .serviceName__header:before {
    background-position: right calc(50% - 32.25rem) top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--stockoption-paid .serviceName__header:before {
    background-image: url(/assets/img/service/stockoption/ilust_kv.png);
    background-position: right calc(50% - 32.25rem) top 0
  }
  .serviceName__head.--liquidity-trust .serviceName__header:before {
    background-position: right calc(50% - 32.25rem) top 0;
    background-image: url(/assets/img/service/liquidity-trust/ilust_kv.png)
  }
  .serviceName__head.--call-option .serviceName__header:before {
    background-position: right calc(50% - 30.9375rem) top 0;
    background-image: url(/assets/img/service/call-option/ilust_kv.png)
  }
  .serviceChoose__inner, .serviceFeatures__section {
    padding: 3.75rem 5rem
  }
  .casePickup {
    padding-right: 0;
    width: calc(80rem + (100vw - 90rem)/2)
  }
  .casePickup__wrapper {
    max-width: none
  }
}
@media screen and (min-width:100rem) {
  body {
    margin: 0
  }
}
@media screen and (min-width:48rem)and (max-width:47.9375rem) {
  .homeMv__scrollsign {
    bottom: 0
  }
}
@media screen and (min-width:48rem)and (min-width:48rem) {
  .homeMv__scrollsign {
    bottom: 4rem
  }
}
@media screen and (max-width:47.9375rem)and (max-width:47.9375rem) {
  .serviceNavSp__subLink small {
    display: block;
    margin-top: .25rem;
    font-size: .6875rem;
    letter-spacing: .04em;
    line-height: 1.6;
    font-weight: 400
  }
}
@media screen and (max-width:1000px) {
  .lpKeyvisual .lpKeyvisual__wrapper .lpKeyvisual__inner .lpKeyvisual__left .lpKeyvisual__ServicenameWrap {
    letter-spacing: .04rem;
    width: 100%
  }
}
@media (max-width:554px) {
  .layout-nocover .nocover-body .center-wrap .center-body {
    max-width: 100%
  }
}
@media screen and (max-width:890px) {
  .lpfooter__wrap .item01 {
    order: 1
  }
  .lpfooter__wrap .item02 {
    order: 3
  }
  .lpfooter__wrap .item03 {
    order: 2;
    width: 100%;
    margin-bottom: min(65px, 4.5138888889vw)
  }
  .lpfooter__list {
    justify-content: flex-start
  }
}


/*------------------------------------------------------------------------------



  Mainvisual



------------------------------------------------------------------------------*/

.mainvisual_upper {

  overflow: hidden;

  position: relative;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper {

    width: 100%;

    z-index: 1;

    height: calc(100vh - 120px);

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper {

    width: 100%;

    height: 122.93333vw;

  }

}



.mainvisual_upper .mainvisual_slider {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}



.mainvisual_upper .mainvisual_slider .slides {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="1"] .caption_inner {

    min-width: calc(403px + 5px);

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="1"] .caption_inner {

    min-width: 74.66667vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="2"] .caption_inner {

    min-width: calc(465px + 5px);

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="2"] .caption_inner {

    min-width: 82.66667vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="3"] .caption_inner {

    min-width: calc(399px + 5px);

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="3"] .caption_inner {

    min-width: 72vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="4"] .caption_inner {

    min-width: calc(406px + 5px);

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider .slides [data-index="4"] .caption_inner {

    min-width: 72vw;

  }

}



.mainvisual_upper .mainvisual_slider .slide {

  display: none;

  overflow: hidden;

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1;

  opacity: 0;

  -webkit-transition: opacity 0.3s ease;

  transition: opacity 0.3s ease;

}



.mainvisual_upper .mainvisual_slider .slide.is-active {

  display: block;

}



.mainvisual_upper .mainvisual_slider .slide.is-loaded {

  opacity: 1;

}



.mainvisual_upper .mainvisual_slider_content {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 10;

}



.mainvisual_upper .mainvisual_slider_content .caption {

  position: absolute;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content .caption {

    left: 70px;

    bottom: 70px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content .caption {

    left: 5.33333vw;

    bottom: 8vw;

  }

}



.mainvisual_upper .mainvisual_slider_content .caption_inner {

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content .caption_inner {

    border: 3px solid #fff;

    padding: 2px 10px 1px;

    margin-bottom: 5px;

    height: 61px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content .caption_inner {

    border: 2px solid #fff;

    padding: 0.53333vw 1.33333vw;

    height: 11.2vw;

  }

}



.mainvisual_upper .mainvisual_slider_content_changeTxt {

  color: #fff;

  line-height: 1;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  display: inline-block;

  letter-spacing: .06em;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content_changeTxt {

    font-size: 44px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content_changeTxt {

    font-size: 29px;

    font-size: 7.73333vw;

  }

}



.mainvisual_upper .mainvisual_slider_content_txt {

  color: #fff;

  line-height: 1.6;

  letter-spacing: .06em;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content_txt {

    font-size: 44px;

    margin-left: 10px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content_txt {

    font-size: 29px;

    font-size: 7.73333vw;

    margin-left: 1.33333vw;

  }

}



.mainvisual_upper .mainvisual_slider_content_intro {

  letter-spacing: .08em;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content_intro {

    color: #fff;

    font-size: 16px;

    margin: 6px 0 40px 13px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content_intro {

    display: none;

  }

}



.mainvisual_upper .mainvisual_slider_content_link {

  color: #fff;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content_link {

    font-size: 14px;

    margin-top: 20px;

    margin-left: 13px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content_link {

    font-size: 13px;

    font-size: 3.46667vw;

    margin-top: 2.66667vw;

    margin-left: 1.86667vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .mainvisual_slider_content_link .icon_arrow {

    top: 2px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .mainvisual_slider_content_link .icon_arrow {

    top: 0.53333vw;

  }

}



.mainvisual_upper .mainvisual_slider .mainvisual_slider_link {

  position: relative;

  display: block;

  height: 100%;

}



.mainvisual_upper .mainvisual_slider_img {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-position: center;

  z-index: 1;

  background-size: cover;

  image-rendering: optimizeQuality;

}



.mainvisual_upper .mainvisual_slider_img > img {

  width: 100%;

  width: 100%;

  -o-object-fit: cover;

  object-fit: cover;

  font-family: 'object-fit: cover;';

  height: 100%;

  -webkit-animation: bgimgzoom2 20s 0.5s cubic-bezier(0.23, 1, 0.32, 1) forwards 1;

  animation: bgimgzoom2 20s 0.5s cubic-bezier(0.23, 1, 0.32, 1) forwards 1;

  -webkit-transform: scale(1.1);

  transform: scale(1.1);

}



.mainvisual_upper .typed-cursor {

  opacity: 1;

  -webkit-animation: blink .7s infinite;

  animation: blink .7s infinite;

  position: relative;

  display: inline-block;

  color: #fff;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_upper .typed-cursor {

    top: -3px;

    font-size: 44px;

    margin-left: 5px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_upper .typed-cursor {

    top: -0.53333vw;

    font-size: 29px;

    font-size: 7.73333vw;

    margin-left: 1.33333vw;

  }

}



.mainvisual_lower {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  border-bottom: 1px solid #ececee;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower {

    height: 120px;

    min-width: 1280px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower {

    height: 18.66667vw;

  }

}



.mainvisual_lower .mainvisual_navSlider {

  width: auto;

  height: 100%;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider {

    margin-left: 50px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_navSlider {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    margin-left: 6.66667vw;

  }

}



.mainvisual_lower .mainvisual_navSlider_list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider_list {

    height: 100%;

  }

}



.mainvisual_lower .mainvisual_navSlider_item {

  position: relative;

  color: #a7a7a7;

  height: 100%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  cursor: pointer;

  -webkit-transition: .2s ease;

  transition: .2s ease;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider_item {

    font-size: 14px;

    border-top: 5px solid transparent;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_navSlider_item {

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

    tap-highlight-color: rgba(0, 0, 0, 0);

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider_item:hover {

    color: #222;

  }

}



.mainvisual_lower .mainvisual_navSlider_item .number {

  display: inline-block;

  margin-right: 10px;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider_item + .mainvisual_navSlider_item {

    margin-left: 40px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_navSlider_item + .mainvisual_navSlider_item {

    margin-left: 2.66667vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_navSlider_item.is-active {

    color: #fa0000;

    border-color: #fa0000;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_navSlider_item.is-active .pagination {

    background-color: #fa0000;

  }

}



.mainvisual_lower .mainvisual_navSlider_item.disable {

  pointer-events: none;

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_navSlider .pagination {

    border-radius: 50%;

    width: 1.6vw;

    height: 1.6vw;

    background-color: #ccc;

    min-width: 6px;

    min-height: 6px;

  }

}



.mainvisual_lower .mainvisual_link {

  margin-left: auto;

  height: 100%;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link {

    margin-right: 40px;

    width: 454px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link {

    margin-right: 4vw;

    width: 53.33333vw;

  }

}



.mainvisual_lower .mainvisual_link_list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  position: relative;

  height: 100%;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="1"] .mainvisual_link_img .image img {

    width: 79px;

    height: 60px;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="1"] .mainvisual_link_img .logo img {

    width: 121px;

    height: 43px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_list [data-index="1"] .mainvisual_link_img .logo img {

    width: 22.93333vw;

    height: 8.26667vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="2"] .mainvisual_link_img .image img {

    width: 89px;

    height: 60px;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="2"] .mainvisual_link_img .logo img {

    width: 134px;

    height: 32px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_list [data-index="2"] .mainvisual_link_img .logo img {

    width: 27.2vw;

    height: 6.93333vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="3"] .mainvisual_link_img .image img {

    width: 102px;

    height: 55px;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="3"] .mainvisual_link_img .logo img {

    width: 79px;

    height: 41px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_list [data-index="3"] .mainvisual_link_img .logo img {

    width: 14.93333vw;

    height: 8vw;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="4"] .mainvisual_link_img .image img {

    width: 98px;

    height: 56px;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_list [data-index="4"] .mainvisual_link_img .logo img {

    width: 136px;

    height: 32px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_list [data-index="4"] .mainvisual_link_img .logo img {

    width: 27.73333vw;

    height: 6.66667vw;

  }

}



.mainvisual_lower .mainvisual_link_item {

  opacity: 0;

  position: absolute;

  right: 0;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

  tap-highlight-color: rgba(0, 0, 0, 0);

  z-index: -1;

  -webkit-transition: .4s ease;

  transition: .4s ease;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

}



.mainvisual_lower .mainvisual_link_item.is-active {

  opacity: 1;

  z-index: 1;

}



.mainvisual_lower .mainvisual_link_item.is-active .mainvisual_link_img .image,

.mainvisual_lower .mainvisual_link_item.is-active .mainvisual_link_img .logo {

  -webkit-transition-delay: 0s;

  transition-delay: 0s;

  opacity: 1;

  visibility: visible;

}



.mainvisual_lower .mainvisual_link_inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_img {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    border-left: 1px solid #e8e8e8;

    border-right: 1px solid #e8e8e8;

    margin-right: 40px;

    width: 314px;

    height: 50px;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_img .image {

    display: none;

  }

}



.mainvisual_lower .mainvisual_link_img .image,

.mainvisual_lower .mainvisual_link_img .logo {

  opacity: 0;

  visibility: hidden;

  -webkit-transition: opacity .4s, visibility 0s ease .4s;

  transition: opacity .4s, visibility 0s ease .4s;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_img span + span {

    margin-left: 25px;

  }

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_txt {

    font-size: 14px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_txt {

    font-size: 11px;

    font-size: 2.93333vw;

    border-left: 1px solid #e8e8e8;

    padding-left: 4vw;

    margin-left: 5.33333vw;

  }

}



.mainvisual_lower .mainvisual_link_txt > a {

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



.mainvisual_lower .mainvisual_link_txt > a .icon_arrow {

  margin-left: 0;

}



@media print, screen and (min-width: 768px) {

  .mainvisual_lower .mainvisual_link_txt > a .icon_arrow + span {

    margin-top: 15px;

  }

}



@media only screen and (max-width: 767px) {

  .mainvisual_lower .mainvisual_link_txt > a .icon_arrow + span {

    margin-top: 1.33333vw;

  }

}
@media only screen and (min-width: 769px) {
   .section-reason2,
   .section-reason3,
   .section-reason4,
   .section-reason5,
   .section-reason6,
   .section-reason7,
   .section-reason8,
   .section-reason9,
   .section-reason10 {
    margin: 0 auto;
    max-width: 1195px;
  }
}



.section-reason-lv3 {
  position: relative;
}
.reason-heading-lv3 {
  font-size: 6.933333333333333vw;
  line-height: 1.576923076923077;
  letter-spacing: 0.025em;
  font-weight: 700;
  margin-bottom: 13.333333333333334vw;
  text-align: center;
}
@media only screen and (min-width: 769px) {
   .reason-heading-lv3 {
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-bottom: 30px;
  }
}


 .reason-heading-num {
  justify-content: center;
  align-items: center;
  display: flex;
  font-size: 2.4vw;
  line-height: 1;
  letter-spacing: 0.04em;
  background: #fff;
  border: 0.266666666666667vw solid #93b0b5;
  border-radius: 3.333333333333333vw;
  box-sizing: border-box;
  color: #4c5e61;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  margin: 0 auto 2vw;
  padding: 1.333333333333333vw 1.333333333333333vw 1.066666666666667vw;
  width: 22.400000000000002vw;
}
@media only screen and (min-width: 769px) {
   .reason-heading-num {
    font-size: 13px;
    line-height: 1;
    border-width: 1px;
    margin-bottom: 26px;
    padding: 6px 5px 4px;
    width: 140px;
    height: 40px;
  }
}
 .reason-heading-num-lg {
  font-size: 4vw;
  color: #20aee5;
  font-weight: 900;
  margin-left: 1.733333333333333vw;
  transform: translateY(-0.133333333333333vw);
}
@media only screen and (min-width: 769px) {
   .reason-heading-num-lg {
    font-size: 24px;
    line-height: 1;
    letter-spacing: -0.04em;
    margin-left: 8px;
    transform: translateY(-1px);
  }
}
 .reason-text {
  font-size: 3.733333333333334vw;
  line-height: 1.857142857142857;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
   .reason-text {
    font-size: 16px;
    line-height: 2;
  }
}


@media only screen and (max-width: 768px) {
   .section-reason3 {
    padding: 26vw 0 33.06666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
   .section-reason3 {
    padding-bottom: 220px;
    padding-top: 323px;
  }
}
 .section-reason3 .reason-heading-lv3 {
  margin-bottom: 4.666666666666667vw;
  text-align: left;
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-heading-lv3 {
    margin-bottom: 37px;
  }
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-heading-num {
    margin-bottom: 17px;
  }
}
@media only screen and (min-width: 960px) {
   .section-reason3 .reason-row {
    display: flex;
    gap: 0 16.028495102404275%;
  }
}
@media only screen and (max-width: 768px) {
   .section-reason3 .reason-col-content {
    position: relative;
    width: 78.66666666666666vw;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 960px) {
   .section-reason3 .reason-col-content {
    width: 36.68744434550312%;
  }
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-col-img {
    margin: 0 auto;
    width: 47.195013357079254%;
  }
}
 .section-reason3 .reason-heading-num {
  margin-left: 0;
  margin-right: 0;
}
 .section-reason3 .reason-text {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
   .section-reason3 .reason-text {
    margin-bottom: 9.066666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-text {
    margin-bottom: 68px;
  }
}
@media only screen and (min-width: 960px) {
   .section-reason3 .reason-text {
    margin-bottom: 0;
  }
}
 .section-reason3 .reason-img-container {
  position: relative;
}
@media only screen and (max-width: 768px) {
   .section-reason3 .reason-img-container {
    margin-left: 16vw;
    width: 73.33333333333333vw;
  }
}
@media only screen and (min-width: 960px) {
   .section-reason3 .reason-img-container {
    width: 530px;
  }
}
 .section-reason3 .reason-img-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
 .section-reason3 .reason-img-bg::before,
 .section-reason3 .reason-img-bg::after {
  content: '';
  display: block;
  position: absolute;
}
 .section-reason3 .reason-img-bg::before {
  background: #ebf5fb;
  border-radius: 6.666666666666667vw 0 0 6.666666666666667vw;
  bottom: -12.8vw;
  right: -10.933333333333334vw;
  width: 63.06666666666667vw;
  height: 106.53333333333333vw;
}
 .section-reason3 .reason-img-bg::after {
  background: #20aee5;
  border-radius: 6.666666666666667vw;
  bottom: -12.8vw;
  left: -11.733333333333333vw;
  width: 72vw;
  height: 65.33333333333333vw;
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-img-bg::before {
    aspect-ratio: 1400/689;
    border-radius: 50px 0 0 50px;
    bottom: 0;
    left: 50%;
    margin-left: -30.18867924528302%;
    max-height: 689px;
    width: 100vw;
    height: auto;
    top: -20.20408163265306%;
  }
   .section-reason3 .reason-img-bg::after {
    aspect-ratio: 540/490;
    border-radius: 50px;
    bottom: -20.20408163265306%;
    left: -18.867924528301888%;
    width: 101.88679245283019%;
    height: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 959px) {
   .section-reason3 .reason-img-bg::before {
    aspect-ratio: inherit;
    height: 100vh;
  }
}
 .section-reason3 .reason-img {
  background: #fff;
  border-radius: 6.666666666666667vw;
  box-shadow: 0px 1.866666666666667vw 9.333333333333334vw 0px rgba(37,98,149,0.2);
  padding: 6.933333333333333vw 11.866666666666667vw 6.800000000000001vw 11.733333333333333vw;
  position: relative;
  width: 73.33333333333333vw;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
   .section-reason3 .reason-img {
    border-radius: 50px;
    box-shadow: 0px 7px 35px 0px rgba(37,98,149,0.1);
    margin: 0 auto;
    padding: 11.320754716981133% 17.358490566037734%;
    width: 100%;
  }
}







@media only screen and (max-width: 768px) {
  .section-reason3 {
    padding: 6vw 0 33.06666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .section-reason3 {
    padding-bottom: 220px;
    padding-top: 113px;
  }
}
 .section-reason3 .reason-heading-lv3 {
  margin-bottom: 4.666666666666667vw;
  text-align: left;
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-heading-lv3 {
    margin-bottom: 37px;
  }
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-heading-num {
    margin-bottom: 17px;
  }
}
@media only screen and (min-width: 960px) {
  .section-reason3 .reason-row {
    display: flex;
    gap: 0 16.028495102404275%;
  }
}
@media only screen and (max-width: 768px) {
  .section-reason3 .reason-col-content {
    position: relative;
    width: 78.66666666666666vw;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 960px) {
  .section-reason3 .reason-col-content {
    width: 36.68744434550312%;
  }
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-col-img {
    margin: 0 auto;
    width: 47.195013357079254%;
  }
}
 .section-reason3 .reason-heading-num {
  margin-left: 0;
  margin-right: 0;
}
 .section-reason3 .reason-text {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .section-reason3 .reason-text {
    margin-bottom: 9.066666666666666vw;
  }
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-text {
    margin-bottom: 68px;
  }
}
@media only screen and (min-width: 960px) {
  .section-reason3 .reason-text {
    margin-bottom: 0;
  }
}
 .section-reason3 .reason-img-container {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .section-reason3 .reason-img-container {
    margin-left: 16vw;
    width: 73.33333333333333vw;
  }
}
@media only screen and (min-width: 960px) {
  .section-reason3 .reason-img-container {
    width: 530px;
  }
}
 .section-reason3 .reason-img-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
 .section-reason3 .reason-img-bg::before,
 .section-reason3 .reason-img-bg::after {
  content: '';
  display: block;
  position: absolute;
}
 .section-reason3 .reason-img-bg::before {
  background: #ebf5fb;
  border-radius: 6.666666666666667vw 0 0 6.666666666666667vw;
  bottom: -12.8vw;
  right: -10.933333333333334vw;
  width: 63.06666666666667vw;
  height: 106.53333333333333vw;
}
 .section-reason3 .reason-img-bg::after {
  background: #20aee5;
  border-radius: 6.666666666666667vw;
  bottom: -12.8vw;
  left: -11.733333333333333vw;
  width: 72vw;
  height: 65.33333333333333vw;
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-img-bg::before {
    aspect-ratio: 1400/689;
    border-radius: 50px 0 0 50px;
    bottom: 0;
    left: 50%;
    margin-left: -30.18867924528302%;
    max-height: 689px;
    width: 100vw;
    height: auto;
    top: -20.20408163265306%;
  }
  .section-reason3 .reason-img-bg::after {
    aspect-ratio: 540/490;
    border-radius: 50px;
    bottom: -20.20408163265306%;
    left: -18.867924528301888%;
    width: 101.88679245283019%;
    height: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 959px) {
  .section-reason3 .reason-img-bg::before {
    aspect-ratio: inherit;
    height: 100vh;
  }
}
.section-reason3 .reason-img {
  background: #fff;
  border-radius: 6.666666666666667vw;
  box-shadow: 0px 1.866666666666667vw 9.333333333333334vw 0px rgba(37,98,149,0.2);
  padding: 6.933333333333333vw 11.866666666666667vw 6.800000000000001vw 11.733333333333333vw;
  position: relative;
  width: 73.33333333333333vw;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .section-reason3 .reason-img {
    border-radius: 50px;
    box-shadow: 0px 7px 35px 0px rgba(37,98,149,0.1);
    margin: 0 auto;
    padding: 11.320754716981133% 17.358490566037734%;
    width: 100%;
  }
}