@charset "UTF-8";

html[lang="en"] md-dialog.skiptranslate {
  display:none !important;
}

/* Global CSS .g-
============================================================================= */

/* Header
----------------------------------------------------------------------------- */
.g-header {
}
.g-header-logo > a {
  display:block;
}
.g-header-logo > a > img {
}
.js-header-secondmenu-button {
  color:inherit;
}
.g-header-language {
  display:flex;
  align-items: center;
  gap:.4em;
}
html:not([lang="en"]) .g-header-language > .jp,
html[lang="en"] .g-header-language > .en {
  opacity:.5;
  pointer-events: none;
}
.g-header-language > span {
  font-size:.95em;
}
@media (min-width:768px) {
  body.header-pc-overwrap:not(.__kv-pc-leave) .g-header {
    background-color:transparent;
    color:#fff;
  }
  body.header-pc-overwrap .g-header {
    transition-property:height,background-color,color;
    transition-duration:var(--duration-hover-A);
  }
  body.header-pc-overwrap:not(.__kv-pc-leave) :is(.g-header-logo,.g-header-nav-sns) img {
    filter:invert(1);
  }
  body.header-pc-overwrap :is(.g-header-logo,.g-header-nav-sns) img {
    transition-property:filter;
    transition-duration:var(--duration-hover-A);
  }
  /*
  body.header-pc-overwrap:not(.__kv-pc-leave) .g-header-nav-conversion {
    border-block-color:#fff;
    border-inline-start-color:#fff;
    color:#000;
  }
  */
  body.header-pc-overwrap .g-header-nav-conversion {
    transition-property:background-color,color,border-color;
    transition-duration:var(--duration-hover-A);
  }

  .g-header {
    display:flex;
    align-items: center;
    width:100%;
    min-width:var(--pc-min-width);
    height:var(--header-height);
    line-height:1;
    background-color:#fff;
    z-index: 1000;
    position:fixed;
    top:0;
    transition-property:height;
    transition-duration:var(--duration-hover-A);
  }
  html[lang="en"] .g-header {
    top:56px;
  }
  .g-header-logo {
    flex-shrink: 0;
    height:100%;
  }
  .g-header-logo > a {
    display:flex;
    align-items: center;
    padding-inline:.40rem;
    height:100%;
  }
  .g-header-logo > a > img {
    width:2.20rem;
  }
  .g-header-nav {
    display:grid;
    row-gap:.12rem;
    column-gap:.40rem;
    grid-template-columns: auto auto auto auto;
    grid-template-rows: auto auto;
    margin-inline-start: auto;
    line-height:1.5;
  }
  .g-header-nav > ul {
    display:flex;
    align-items: center;
  }
  .g-header-nav-main {
    grid-column:1/4;
    grid-row:2/3;
    letter-spacing: .05em;
  }
  .g-header-nav-main > li {
    margin-inline-start:.12rem;
    padding-inline-start:.12rem;
    position:relative;
  }
  html[lang="en"] .g-header-nav-main > li {
    line-height:1;
  }
  .g-header-nav-main > li + li::before {
    content:"";
    display:block;
    margin-block:auto;
    height:1em;
    border-inline-start:1px solid;
    position:absolute;
    inset-block:0;
    inset-inline-start:0;
  }
  .g-header-nav-main-second_outer {
    padding-block-start:.16rem;
    margin-inline-start:-.20rem;
    position:absolute;
    top:calc(100% - 1px);
    opacity:0;
    color:#000;
    transition:var(--duration-hover-A);
    pointer-events: none;
  }
  .g-header-nav-main-second_outer > ul {
    padding:.20rem;
    width:2.20rem;
    background-color:#fff;
    position:relative;
  }
  .g-header-nav-main-second_outer > ul::before {
    content:"";
    border-block-end:.07rem solid #fff;
    border-inline:.045rem solid transparent;
    width:0;
    height:0;
    position:absolute;
    bottom:100%;
    left:.50rem;
  }
  .g-header-nav-main-second-item:not(:first-child) {
    margin-block-start:.8em;
  }
  .g-header-nav-main-second-item > a {
    border-bottom:1px solid transparent;
    transition-property:color,border-color;
    transition-duration:var(--duration-hover-A);
  }
  @media (hover) {
    .g-header-nav-main-second-item > a:hover {
      border-bottom-color:var(--cc-gray-E);
      color:var(--cc-gray-E);
      opacity:1;
    }
  }
  .__subMenu-open .g-header-nav-main-second_outer.__accordion-active {
    opacity:1;
    pointer-events: auto;
  }
  .g-header-language {
    margin-top:-2.5lh;
    position:absolute;
    right:3.20rem;
  }
  @media (hover) {
    .g-header-language > a {
      transition-property:opacity;
      transition-duration:var(--duration-hover-A);
    }
    .g-header-language > a:hover {
      opacity:.7;
    }
  }
  .g-header-nav-sub {
    margin-right:.80rem;
    grid-column:3/4;
    grid-row:1/2;
    gap:.28rem;
    font-size:.12rem;
  }
  .g-header-nav-sns {
    grid-column:2/3;
    grid-row:1/2;
    gap:.32rem;
  }
  .g-header-nav-conversion {
    grid-column:4/5;
    grid-row:1/3;
    display:flex;
    /* flex-direction: row-reverse; */
    justify-content: center;
    align-items: center;
    /* border-block:1px solid; */
    /* border-inline-start:1px solid; */
    height:.50rem;
    background-color:#000;
    color:#fff;
    position:relative;
  }
  .g-header-nav-conversion::before {
    content:"";
    border-left:1px solid;
    height:.20rem;
    display:block;
    position:absolute;
  }
  .g-header-nav-conversion-item {
    width:1.40rem;
    height:100%;
  }
  html[lang="en"] .g-header-nav-conversion-item {
    line-height:1;
  }
  .g-header-nav-conversion-item > a {
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
  }
}
@media (min-width:768px) and (max-width:1500px) {
  .g-header-logo > a {
    padding-inline:.20rem 0;
  }
  .g-header-logo > a > img {
    width:2.20rem;
  }
  .g-header-nav {
    column-gap:.20rem;
  }
  .g-header-nav-conversion-item {
    width:1.00rem;
  }
  .g-header-language {
    right:2.20rem;
  }
}
@media (max-width:767px) {
  body.__spmenu-open .g-header {
    color:#000 !important;
  }
  body.__spmenu-open .g-header-logo {
    background-color:#fff !important;
  }
  body.__spmenu-open :is(.g-header-logo,.g-header-nav-sns) img {
    filter:invert(0) !important;
  }
  body.__spmenu-open .g-header_sp-btn::before,
  body.__spmenu-open .g-header_sp-btn::after {
    background-color:#000 !important;
  }
  body.__spmenu-open .g-header {
  }
  .g-header-logo {
    display:flex;
    align-items: center;
    padding-inline:var(--pd-sp-20);
    width:100%;
    height:var(--header-height);
    background-color:#fff;
    z-index: 999;
    position:fixed;
    top:0;
    left:0;
  }
  html[lang="en"] .g-header-logo {
    top:56px;
  }
  .g-header-language {
    height:var(--header-height);
    position:fixed;
    top:0;
    right:calc(var(--header-height) + .10rem);
    z-index: 999;
  }
  .g-header-logo > a img {
    width:1.60rem;
  }
  .g-header_sp-btn {
    display:flex;
    justify-content: center;
    align-items: center;
    width:var(--header-height);
    height:var(--header-height);
    position:fixed;
    top:0;
    right:0;
    z-index: 1002;
  }
  html[lang="en"] .g-header_sp-btn {
    top:56px;
  }
  .g-header_sp-btn::before,
  .g-header_sp-btn::after {
    content:"";
    display:block;
    width:.20rem;
    height:2px;
    background-color:#000;
    position:absolute;
    transition:transform var(--duration-hover-A);
  }
  .g-header_sp-btn::before {
    transform:translateY(-5px);
  }
  .g-header_sp-btn::after {
    transform:translateY(5px);
  }
  .__spmenu-open .g-header_sp-btn::before {
    transform:rotate(45deg);
  }
  .__spmenu-open .g-header_sp-btn::after {
    transform:rotate(-45deg);
  }

  .g-header-nav {
    padding-block:.50rem calc(1.00rem + env(safe-area-inset-bottom));
    padding-inline:var(--pd-sp-30);
    width:100%;
    height:calc(100vh - var(--header-height));
    background-color:#fff;
    position:fixed;
    top:var(--header-height);
    left:100%;
    z-index: 1000;
    overflow-y: auto;
    overscroll-behavior-y: none;
    transition-property:transform;
    transition-duration:var(--duration-hover-A);
  }
  html[lang="en"] .g-header-nav {
    top:calc(var(--header-height) + 56px);
  }
  .__spmenu-open .g-header-nav {
    transform:translateX(-100%);
  }
  .g-header-nav-sp {
    display:grid;
    grid-template-rows:.35rem auto 1fr auto;
    grid-template-columns:auto 1fr auto;
    font-size:.15rem;
    line-height:1;
    letter-spacing: .05em;
  }
  .g-header-nav-sp ._01 {
    grid-row:1/5;
    grid-column:1/2;
  }
  .g-header-nav-sp ._02 {
    grid-row:2/3;
    grid-column:3/4;
  }
  .g-header-nav-sp ._03 {
    grid-row:4/5;
    grid-column:3/4;
  }
  .g-header-nav-sp-list-item:not(:first-child) {
    margin-block-start:.20rem;
  }
  .g-header-nav-sp-sublist {
    margin-inline-start:1em;
  }
  .g-header-nav-sp-sublist-item {
    margin-block-start:.20rem;
    font-size:.13rem;
  }
  .g-header-nav-sp-sublist-item:not(:first-child) {
    margin-block-start:.15rem;
  }
  .g-header-nav-sp-other {
    paddinb-block-end:.4em;
    font-size:.12rem;
  }
  .g-header-nav-sp-other-item:not(:first-child) {
    margin-block-start:.20rem;
  }
  .g-header-nav-sp-other-item > a::before {
    content:"▶︎";
    margin-inline-end:.5em;
    font-size:.0675rem;
    vertical-align: .3em;
  }
  .g-header-sp-tow-banner {
    margin-block-start:.40rem;
  }
  .g-header-nav-sns {
    display:flex;
    justify-content: center;
    gap:.36rem;
    padding-block-start:.40rem;
  }
  .g-header-nav-sns img {
    width:.24rem;
  }
  .g-header-sp-tel {
    margin-inline:auto;
    padding-block-start:.28rem;
    width:fit-content;
  }
  .g-header-sp-tel-number {
    border-block-end:1px solid;
    font-size:.28rem;
    letter-spacing: .06em;
    line-height:1;
  }
  .g-header-sp-tel-number > a {
    display:block;
    padding-block:.25em;
  }
  .g-header-sp-tel-description {
    margin-block-start:.24rem;
    font-size:.13rem;
  }
  .g-header-nav-conversion {
    display:flex;
    flex-direction: column;
    align-items: center;
    margin-block-start:.40rem;
    gap:.20rem;
  }
  .g-header-nav-conversion-item > a {
    display:flex;
    justify-content: center;
    align-items: center;
    border:1px solid;
    border-radius:100px;
    padding-inline:.20rem;
    width:fit-content;
    min-width:2.40rem;
    min-height:.50rem;
    letter-spacing: .05em;
    line-height:1.5;
    font-weight:700;
    overflow:hidden;
    position:relative;
  }
  .g-header-nav-conversion-item > a::after {
      content:"";
      display:block;
      border-block-start:1px solid;
      border-inline-end:1px solid;
      width:.07rem;
      height:.07rem;
      position:absolute;
      right:.22rem;
      transform:rotate(45deg);
  }
  .g-header-nav-conversion-item > .add_re::after {
      content:"";
      width: .10rem;
      height: .10rem;
      background-image: url(/common/img/icon-link-external-A.svg);
      background-size: contain;
      transform: none;
      border: none;
      margin-right: -0.05rem;
  }
}


@media (min-width:768px) {
  .g-tou_pc-banner {
    width:3.60rem;
    position:fixed;
    right:.30rem;
    bottom:.30rem;
    z-index:100;
    transition-duration: var(--duration-hover-A);
    transition-property: opacity,transform;
  }
  .__scroll-end .g-tou_pc-banner {
    opacity:0;
    pointer-events: none;
  }
}


/* TopicPath
----------------------------------------------------------------------------- */
:where(.g-topicpath) {
  background-color:#fff;
}
.g-topicpath {
  --topicpath-pd:.40rem;
  display:flex;
  align-items: center;
  padding-inline-start:var(--topicpath-pd);
  font-size:.12rem;
  overflow-x:auto;
  height:var(--topicpath-height);
  position:relative;
  z-index:10;
}
.g-topicpath-item {
  flex-shrink: 0;
  vertical-align: middle;
}
.g-topicpath-item:not(:first-child)::before {
  content:"";
  display:inline-block;
  margin-block:.01rem;
  margin-inline:.06rem;
  border-block-start:2px solid var(--cc-gray-C);
  border-inline-end:2px solid var(--cc-gray-C);
  width:.06rem;
  height:.06rem;
  transform:rotate(45deg);
}
.g-topicpath-item a {
  transition:color var(--duration-hover-A);
}
.g-topicpath-item:last-child {
  padding-inline-end:var(--topicpath-pd);
}
.g-topicpath-item:not(:last-child) a {
  text-decoration: underline;
}
.g-topicpath-item:last-child > :is(a,span) {
  color:#808080;
}
@media (hover) {
  .g-topicpath-item a[href]:hover {
    text-decoration: none;
  }
}
@media (min-width:768px) {
  :where(body.header-pc-overwrap .g-topicpath) {
    background-color:transparent;
    color:#fff;
  }
  .g-topicpath {
  }
}
@media (max-width:767px) {
  .g-topicpath {
    background-color:rgba(255,255,255,.9);
    --topicpath-pd:var(--pd-sp-30);
    font-size:.11rem;
  }
}


/* PRODUCTS / SERVICE
----------------------------------------------------------------------------- */
.g-other_link-A + .g-products_service {
  /* padding-block-start:0; */
}
.g-products_service {
  margin-block-start:var(--mb-A);
}
.g-products_service .l-h2-A {
  margin-block-end:.50rem;
}
.g-products_service-list {
  display:flex;
  color:#fff;
}
.g-products_service-list-item:nth-child(1) {
  background-color:#000;
}
.g-products_service-list-item:nth-child(2) {
  background-color:var(--cc-gray-A);
}
.g-products_service-list-item:nth-child(3) {
  background-color:var(--cc-gray-B);
}
.g-products_service-list-item-img {
  position:relative;
}
.g-products_service-list-item-img img {
  width:100%;
}
.g-products_service-list-item-img-copy {
  font-size:.40rem;
  line-height:1;
  letter-spacing:0;
  position:absolute;
  left:.36rem;
  bottom:.30rem;
}
.g-products_service-list-item_text {
  padding:.40rem;
  text-align: center;
}
.g-products_service-list-item-heading {
  font-size:.22rem;
  line-height:1;
}
.g-products_service-list-item-description {
  margin-block-start:.20rem;
  font-size:.16rem;
  line-height:1.9;
}
.g-products_service-list-item_text .l-button-B {
  margin-block-start:.30rem;
  margin-inline-start:auto;
}
@media (min-width:768px) {
  .g-products_service-list {
    gap:1px;
  }
  .g-products_service-list-item {
    flex:1;
  }
}
@media (max-width:767px) {
  .g-products_service {
    margin-block-start:var(--mb-A);
  }
  .g-products_service .l-h2-A {
    margin-block-end:.36rem;
  }
  .g-products_service-list {
    flex-direction: column;
    gap:.30rem;
  }
  .g-products_service-list-item-img-copy {
    font-size:.30rem;
    left:.30rem;
    bottom:.24rem;
  }
  .g-products_service-list-item_text {
    padding:.36rem .20rem .20rem;
  }
  .g-products_service-list-item-heading {
    font-size:.18rem;
  }
  .g-products_service-list-item-description {
    margin-block-start:.16rem;
    font-size:.14rem;
  }
  .g-products_service-list-item_text .l-button-B {
    border-block-end: 0;
    margin-block-start:0;
    min-height:.10rem;
  }
  .g-products_service-list-item_text .l-button-B > span {
    display:none;
  }
}


/* Consult
----------------------------------------------------------------------------- */
/* A */
.g-other_link-B + .g-consult-A {
  margin-block-start:var(--mb-A);
}
.g-consult-A {
  display:flex;
  flex-direction: column;
  align-items: center;
  padding-block:.60rem;
  text-align: center;
  position:relative;
  color:#fff;
  z-index:1;
}
.g-consult-A-heading {
  font-size:.22rem;
  line-height:1.6;
  font-weight:700;
  letter-spacing: .05em;
}
.g-consult-A-heading > span {
  position:relative;
}
.g-consult-A-heading > span::after {
  content:"";
  width:100%;
  border-block-end:.03rem solid var(--cc-gray-E);
  position:absolute;
  bottom:-.4em;
  left:0;
}
.g-consult-A-bg {
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  z-index: -1;
  pointer-events: none;
}
.g-consult-A-bg img {
  position:absolute;
}
.g-consult-A .l-button-A {
  background-color:rgba(0,0,0,.5);
}
.g-consult-A-tel_heading {
  margin-block-start:var(--mb-G);
}
.g-consult-A-tel {
  margin-block-start:.24rem;
  font-size:.50rem;
  line-height:.8;
  letter-spacing: .05em;
}

.g-consult-A-time_heading {
  margin-block-start:.3rem;
}
.g-consult-A-time {
  margin-block-start:.1rem;
}
.g-consult-A-time + .g-consult-A-time_heading {
  margin-block-start:.16rem;
}

@media (min-width:768px) {
  .g-consult-A {
    justify-content: center;
    min-height:5.40rem;
  }
  .g-consult-A .l-button-A.-maintenance {
    width:5.00rem;
  }
}
@media (max-width:767px) {
  .g-consult-A {
    padding-block:var(--mb-B);
  }
  .g-consult-A-heading {
    font-size:.15rem;
    line-height:2;
  }
  .g-consult-A-heading > span {
  }
  .g-consult-A-heading > span::after {
    border-block-end-width:2px;
    bottom:-.2em;
  }
  .g-consult-A-tel_heading {
    margin-block-start:var(--mb-G);
  }
  .g-consult-A-tel {
    margin-block-start:.16rem;
    font-size:.35rem;
  }
  .g-consult-A-time_heading {
    margin-block-start:.2rem;
  }
  .g-consult-A-time {
    margin-block-start:0;
  }
}

/* B */
:where(.g-consult-B) {
  margin-block-start:var(--mb-E);
}
.g-consult-B {
  border:1px solid;
  padding-block:var(--mb-E);
  text-align: center;
  position:relative;
}
.g-consult-B-heading {
  font-size:.22rem;
  line-height:1.6;
  font-weight:700;
  letter-spacing: .05em;
}
.g-consult-B-heading > span {
  position:relative;
}
.g-consult-B-heading > span::after {
  content:"";
  width:100%;
  border-block-end:.03rem solid var(--cc-gray-E);
  position:absolute;
  bottom:-.4em;
  left:0;
}
.g-consult-B-tel_heading {
  margin-block-start:var(--mb-G);
}
.g-consult-B-tel {
  margin-block-start:.24rem;
  font-size:.50rem;
  line-height:.8;
  letter-spacing: .05em;
}
@media (min-width:768px) {
  .g-consult-B {
    justify-content: center;
  }
}
@media (max-width:767px) {
  .g-consult-B {
  }
  .g-consult-B-heading {
    font-size:.15rem;
    line-height:2;
  }
  .g-consult-B-heading > span {
  }
  .g-consult-B-heading > span::after {
    border-block-end-width:2px;
    bottom:-.2em;
  }
  .g-consult-B-tel_heading {
    margin-block-start:var(--mb-G);
  }
  .g-consult-B-tel {
    margin-block-start:.16rem;
    font-size:.35rem;
  }
}


/* Other Link
----------------------------------------------------------------------------- */
/* A */
:where(.g-other_link-A) {
  margin-block:var(--mb-A);
}
.g-other_link-A-list {
  display:flex;
  gap:.60rem .80rem;
  font-weight:700;
}
.g-other_link-A-list-item {
}
.g-other_link-A-list-item > a {
  display:flex;
  background-color:#000;
  color:#fff;
}
.g-other_link-A-list-item-title {
  display:flex;
  justify-content: center;
  align-items: center;
  position:relative;
}
.g-other_link-A-list-item-title::after {
  content:"";
  display:block;
  border-block-start:2px solid;
  border-inline-end:2px solid;
  width:.08rem;
  height:.08rem;
  position:absolute;
  right:.40rem;
  transform:rotate(45deg);
}
@media (min-width:768px) {
  .g-other_link-A-list {
    flex-wrap:wrap;
  }
  .g-other_link-A-list-item {
    width:calc(100% / 2 - .80rem * 1 / 2);
  }
  .g-other_link-A-list-item > a > * {
    flex:1;
  }
}
@media (max-width:767px) {
  .g-other_link-A {
  }
  .g-other_link-A-list-item-img {
    flex-shrink: 0;
    width:calc(50% - .15rem);
  }
  .g-other_link-A-list {
    flex-direction: column;
    gap:.20rem;
  }
  .g-other_link-A-list-item-title {
    flex:1;
    padding-inline-end:.5em;
  }
  .g-other_link-A-list-item-title::after {
    width:.07rem;
    height:.07rem;
    right:.12rem;
  }
}

/* B */
:where(.g-other_link-B) {
  margin-block-start:var(--mb-A);
}
.g-other_link-B-list {
  display:flex;
  gap:.26666rem;
  font-weight:700;
  color:#fff;
}
.g-other_link-B-list-item > a {
  display:flex;
  align-items: center;
  padding-inline-start:.30rem;
  height:auto;
  aspect-ratio: 1/1;
  position:relative;
  z-index: 1;
}
.g-other_link-B-list-item.-current {
  position:relative;
}
.g-other_link-B-list-item.-current::before,
.g-other_link-B-list-item.-current::after {
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  z-index:2;
}
.g-other_link-B-list-item.-current::before {
  border:.06rem solid #fff;
  opacity:.7;
}
.g-other_link-B-list-item.-current::after {
  background-color:#fff;
  opacity:.4;
}
.g-other_link-B-list-item > a::after {
  content:"";
  display:block;
  border-block-start:2px solid;
  border-inline-end:2px solid;
  width:.08rem;
  height:.08rem;
  position:absolute;
  right:.28rem;
  bottom:.28rem;
  transform:rotate(45deg);
}
.g-other_link-B-list-item.-current > a::after {
  content:none;
}
.g-other_link-B-list-item-title {
  display:flex;
  flex-direction: column-reverse;
  font-weight:500;
  position:relative;
  gap:.08rem;
}
.g-other_link-B-list-item-title-ja {
  font-size:.16rem;
  line-height: 1;
  letter-spacing: .05em;
}
.g-other_link-B-list-item-title-en {
  font-size:.30rem;
  line-height:1.3;
  letter-spacing: .05em;
}
.g-other_link-B-list-item-bg {
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  z-index: -1;
  pointer-events: none;
}
.g-other_link-B-list-item-bg img {
  position:absolute;
}
@media (min-width:768px) {
  .g-other_link-B-list {
    flex-wrap:wrap;
  }
  .g-other_link-B-list-item {
    width:calc(100% / 4 - .26666rem * 3 / 4);
  }
  .g-other_link-B-list-item > a > * {
  }
}
@media (max-width:767px) {
  .g-other_link-B {
  }
  .g-other_link-B-list {
    flex-wrap:wrap;
    gap:.15rem;
  }
  .g-other_link-B-list-item {
    width:calc(100% / 2 - .15rem * 1 / 2);
  }
  .g-other_link-B-list-item.-current::before {
    border-width:.03rem;
  }
  .g-other_link-B-list-item > a {
    padding-inline-start: .15rem;
  }
  .g-other_link-B-list-item > a::after {
    width:.07rem;
    height:.07rem;
    right:.12rem;
    bottom:.12rem;
  }
  .g-other_link-B-list-item-img {
    flex-shrink: 0;
    width:calc(50% - .15rem);
  }
  .g-other_link-B-list-item-title {
    display:flex;
    flex-direction: column-reverse;
    font-weight:500;
    position:relative;
    gap:.08rem;
  }
  .g-other_link-B-list-item-title-ja {
    font-size:.11rem;
  }
  .g-other_link-B-list-item-title-en {
    font-size:.18rem;
  }
}


/* Other Contents
----------------------------------------------------------------------------- */
.g-other_contents {
  padding-block:var(--mb-A) var(--mb-B);
}
.g-other_contents .l-h2-B {
  margin-block-end:.80rem;
}
.g-other_contents-list {
  display:flex;
}
.g-other_contents-list-item {
  width:1.20rem;
}
.g-other_contents-list-item img {
  width:100%;
}
@media (min-width:768px) {
  .g-other_contents-list {
    justify-content: space-between;
  }
}
@media (max-width:767px) {
  .g-other_contents .l-h2-B {
    margin-block-end:.40rem;
  }
  .g-other_contents-list {
    flex-wrap:wrap;
    gap:0 .35rem;
  }
  .g-other_contents-list-item {
    width:calc(100% / 2 - .35rem * 1 / 2);
  }
}



/* Floating Conversion
----------------------------------------------------------------------------- */
@media (max-width:767px) {
  .g-sp-floating_conversion {
    display:flex;
    padding-block-end:env(safe-area-inset-bottom);
    width:100%;
    background-color:#fff;
    position:fixed;
    bottom:0;
    z-index:100;
  }
  .g-sp-floating_conversion::before {
    content:"";
    display:block;
    margin:auto;
    border-inline-start:1px solid;
    width:0;
    height:50%;
    position:absolute;
    inset:0;
    pointer-events: none;
  }
  .g-sp-floating_conversion-link {
    flex:1;
    height:var(--floating_conversion-height);
  }
  .g-sp-floating_conversion-link > a {
    display:flex;
    justify-content: center;
    align-items: center;
    height:100%;
  }
  .g-sp-floating_conversion ~ .g-footer {
    padding-block-end:calc(env(safe-area-inset-bottom) + var(--floating_conversion-height));
  }
}


/* Footer
----------------------------------------------------------------------------- */
.g-footer {
  background-color:#000;
  color:#fff;
}
.g-footer ._link-external-A::after {
  filter:invert(1);
}
.g-footer_inner {
}
.g-footer-company {
}
.g-footer-company-logo {
}
.g-footer-company-logo > a {
  display:block;
  width:fit-content;
}
.g-footer-company-logo img {
  width:2.60rem;
}
.g-footer-nav {
  display:flex;
}
.g-footer-nav-list,
.g-footer-nav-sublist {
  display:flex;
  flex-direction: column;
}
.g-footer-company-heading,
.g-footer-company-subheading {
  margin-block-start:.20rem;
  font-size:.16rem;
  line-height:1.75;
}
.g-footer-company-description {
  line-height:1.85;
}
.g-footer-company-description > a:not(.g-footer-company-description-tel) {
  margin-inline-start: 1em;
  text-decoration: underline;
}
.g-footer-company-description.-tel + .g-footer-company-description {
  margin-block-start:.08rem;
}
@media (hover) {
  .g-footer-company-description > a:not(.g-footer-company-description-tel):hover {
    text-decoration: none;
  }
}
.g-footer-conversion-link.ob_link {
  margin-top: 0.3rem;
}
.g-footer-conversion-link.ob_link .l-button-B {
  padding-inline-end: 0;
  flex-wrap: wrap;
  margin: 0;
}
.g-footer-conversion-link.ob_link.menu_black .l-button-B {
  color: #000;
}
.g-footer-conversion-link.ob_link.menu_black .l-button-B::after {
  filter:none;
}
.g-footer-conversion {
  display:flex;
  flex-direction: column;
  gap:.30rem;
}
.g-footer-conversion-tou {
  margin-block-start:.20rem;
  border:1px solid #666;
}
.g-footer-other {
  display:flex;
  flex-direction: column;
  gap:.32rem;
}
.g-footer-other-sns {
  display:flex;
  gap:.32rem;
  filter:invert(1);
}
.g-footer-other-link {
  display:flex;
  gap:.36rem;
  font-size:.12rem;
}
.g-footer-other-link-item > a {
}
.g-footer-copyright {
  font-size:.12rem;
}
@media (min-width:768px) {
  .g-footer {
    padding-block:.92rem .32rem;
    font-weight:400;
  }
  .g-footer_inner {
    display:grid;
    grid-template-columns: auto auto auto auto 2.40rem;
    grid-template-rows: auto auto;
  }
  .g-footer-company {
    grid-column:1/2;
    grid-row:1/2;
  }
  :is(.g-footer-company-heading,.g-footer-company-subheading) + .g-footer-company-description {
    margin-block-start:.10rem;
  }
  .g-footer-nav {
    grid-column:3/4;
    grid-row:1/2;
    gap:.80rem;
  }
  .g-footer-nav-list {
    gap:1em;
    font-size:.15rem;
    line-height:1.5;
    letter-spacing: .05em;
  }
  .g-footer-nav-sublist {
    margin-block-start:.16rem;
    padding-inline-start:.15rem;
    font-size:.14rem;
    gap:.5em;
    line-height:1.5;
  }
  .g-footer-conversion {
    grid-column:5/6;
    grid-row:1/2;
  }
  .g-footer-conversion-tou {
    /* margin-inline-start:-.60rem; */
  }
  .g-footer-other {
    grid-column:2/6;
    grid-row:2/3;
    align-items: flex-end;
  }
  .g-footer-other-link-item > a::before {
    content:"";
    display:inline-block;
    margin-inline-end:.2em;
    border-block:3px solid transparent;
    border-inline-start:6px solid;
    vertical-align: 10%;
  }
  .g-footer-copyright {
    grid-column:1/2;
    grid-row:2/3;
  }
  .g-footer-copyright {
    display:flex;
    align-items: flex-end;
  }
}
@media (max-width:767px) {
  .g-footer {
    padding-block-start:.60rem;
  }
  .g-footer-company-logo img {
    width:1.90rem;
  }
  .g-footer-nav {
    display:flex;
  }
  .g-footer-nav-list,
  .g-footer-nav-sublist {
    display:flex;
    flex-direction: column;
  }
  .g-footer-company-heading {
    margin-block-start:.30rem;
    font-size:.16rem;
    line-height:1.75;
  }
  .g-footer-company-subheading,
  .g-footer-company-description {
    font-size:.13rem;
    line-height:1.85;
  }
  .g-footer-company-subheading {
    margin-block-start:.12rem;
  }
  .g-footer-company-description {
    margin-inline-end:calc(var(--pd-sp-20) * -1);
  }
  .g-footer-company-description-tel {
    display:block;
    width:fit-content;
    font-size:.25rem;
    letter-spacing: .05em;
    font-family: var(--ff-roboto);
  }
  .g-footer-nav {
    margin-block-start:.40rem;
    justify-content: space-between;
  }
  .g-footer-nav-list:nth-child(1) {
    gap:.30rem;
  }
  .g-footer-nav-list-item > a {
    font-weight:700;
  }
  .g-footer-nav-list:nth-child(2) {
    justify-content: space-between;
  }
  .g-footer-nav-sublist {
    padding-inline-start:.14rem;
    gap:.10rem;
    margin-block-start:.20rem;
    font-size:.13rem;
  }
  .g-footer-conversion {
    margin-block-start:.50rem;
    gap:.20rem;
  }
  .g-footer-other {
    margin-block-start:.45rem;
    align-items: center;
    gap:.32rem;
  }
  .g-footer-other-sns {
  }
  .g-footer-other-link {
    display:flex;
    gap:.20rem;
    font-size:.12rem;
  }
  .g-footer-other-link-item > a {
  }
  .g-footer-copyright {
    margin-block-start:.28rem;
    padding-block-end:.24rem;
    font-size:.12rem;
    text-align: center;
  }
  .g-footer-conversion-link.ob_link {
    margin-top: 0.1rem;
  }
}


/* 2026-10 OTHER CONTENTS のロゴが10個になったため、PCではロゴの大きさを変えずに5個ずつ2段で並べる */
@media (min-width:768px) {
  .g-other_contents-list {
    flex-wrap:wrap;
    justify-content:center;
    gap:.40rem 1.00rem;
  }
}
