@charset "UTF-8";
@font-face {
  font-family: "CabinetGrotesk";
  src: url("../font/CabinetGrotesk-Regular.woff2") format("woff2"), url("../font/CabinetGrotesk-Regular.woff") format("woff"), url("../font/CabinetGrotesk-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
/*========== 子ページ ==========*/
/*==========
子ページ共通
==========*/
:root {
  --mvPhotoHeight: 43.125rem;
}
@media screen and (max-width: 768px) {
  :root {
    --mvPhotoHeight: 15rem;
  }
}

body:not(:has(#mv_photo)) {
  margin-top: var(--headerHeight);
}

main {
  padding-bottom: var(--paddingSection);
  position: relative;
  z-index: 20;
}
main.pb_0 {
  padding-bottom: 0;
}

/*==========
mv_child
==========*/
#mv_child {
  background-color: #fff;
  width: 100%;
  position: relative;
  z-index: 1;
  min-height: 26.25rem;
  padding: 4rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#mv_child .title_main {
  font-size: 2.75rem;
  color: var(--colorMain);
  line-height: 1;
  padding-top: 0.4em;
  position: relative;
}
#mv_child .title_main::before {
  content: "";
  width: 1em;
  height: 4px;
  border-radius: 6.25rem;
  background: linear-gradient(90deg, var(--colorSub) 50%, var(--colorMain) 50%);
  position: absolute;
  top: 0;
  left: 0;
}
#mv_child .title_main::after {
  content: attr(data-en);
  font-size: 0.40909em;
  font-family: "oswald";
  font-weight: 400;
  display: block;
  line-height: 1;
  margin-top: 0.75em;
}
#mv_child.u-text_white {
  color: #fff;
}
#mv_child.u-text_white .title_main {
  color: inherit;
}
@media screen and (max-width: 768px) {
  #mv_child {
    min-height: 12.5rem;
    padding: 2.5rem 0;
  }
  #mv_child .title_main {
    font-size: 1.5rem;
  }
  #mv_child .title_main::before {
    height: 2px;
  }
  #mv_child .title_main::after {
    font-size: 0.625em;
    margin-top: 0.5em;
  }
}

#mv_photo {
  height: var(--mvPhotoHeight);
}
#mv_photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  #mv_photo {
    margin-top: var(--headerHeight);
  }
}

main:has(#mv_photo) .title_01 {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  main:has(#mv_photo) .title_01 {
    font-size: 0.875rem;
  }
}

/*=== breadcrumb ===*/
#breadcrumb {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 2.5rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #breadcrumb {
    margin-top: 1rem;
  }
}

.list_breadcrumb {
  display: flex;
  justify-content: flex-end;
  font-size: 0.875rem;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.list_breadcrumb::-webkit-scrollbar {
  display: none;
}
.list_breadcrumb > * {
  display: flex;
  align-items: center;
}
.list_breadcrumb > *:not(:last-child)::after {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow.svg") no-repeat;
  margin: 0 0.625em;
  display: block;
  opacity: 0.75;
}
.list_breadcrumb a {
  color: inherit;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .list_breadcrumb {
    font-size: 0.75rem;
  }
}

/*=== pagination ===*/
.layout_pagination {
  margin-top: 1.5rem;
  font-size: 0.9375rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.25em 0.625rem;
}
.layout_pagination .prev > *:not(:has(a)),
.layout_pagination .prev a,
.layout_pagination .next > *:not(:has(a)),
.layout_pagination .next a {
  width: 2.1875rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}
.layout_pagination .prev > *:not(:has(a))::after,
.layout_pagination .prev a::after,
.layout_pagination .next > *:not(:has(a))::after,
.layout_pagination .next a::after {
  content: "";
  width: 100%;
  height: 100%;
  background: center/contain url("../img/common/icon_arrow_circle.svg") no-repeat;
  display: block;
}
.layout_pagination .prev {
  margin-right: 2em;
}
.layout_pagination .prev > *:not(:has(a))::after,
.layout_pagination .prev a::after {
  transform: rotate(180deg);
}
.layout_pagination .next {
  margin-left: 2em;
}
.layout_pagination:not(:first-child) {
  margin-top: 6.25rem;
}
.layout_pagination a {
  border: 1px solid rgba(112, 112, 112, 0.1);
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .layout_pagination a {
    transition: background-color 0.5s;
  }
  .layout_pagination a:hover {
    opacity: 1;
    background-color: #dddddd;
  }
}
.layout_pagination > *:not(:has(a)),
.layout_pagination a {
  width: 3.375rem;
  aspect-ratio: 1/1;
  border-radius: 0.3125rem;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout_pagination .current {
  background-color: rgba(206, 206, 206, 0.1);
}
.layout_pagination .dots a {
  pointer-events: none;
}
.layout_pagination .disable a {
  opacity: 0.25;
  pointer-events: none;
}
.layout_pagination .sp_br {
  display: none;
}
@media screen and (max-width: 768px) {
  .layout_pagination {
    font-size: 0.75rem;
  }
  .layout_pagination:not(:first-child) {
    margin-top: 5rem;
  }
  .layout_pagination > *:not(:has(a)),
.layout_pagination a {
    width: 2.5rem;
  }
  .layout_pagination .prev,
.layout_pagination .next {
    margin-top: 0.5rem;
    order: 1;
  }
  .layout_pagination .sp_br {
    display: block;
    width: 100%;
    height: 0;
    aspect-ratio: auto;
  }
}

/*==========
企業情報
==========*/
/* 企業理念 */
#company_philosophy .section_intro .text_intro {
  font-size: 1.125rem;
  color: var(--colorMain);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  #company_philosophy .section_intro .text_intro {
    font-size: 0.875rem;
  }
}
#company_philosophy .section_list {
  background: center/cover url("../img/child/company/philosophy/company_philosophy_list_bg.jpg") no-repeat;
}
#company_philosophy .section_list .layout {
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.5rem;
  display: flex;
  text-align: center;
  color: var(--colorMain);
}
#company_philosophy .section_list .layout .title {
  font-size: 1.25rem;
  line-height: 2;
  margin-bottom: 1.5rem;
}
#company_philosophy .section_list .layout > * {
  margin: 0 -0.625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  flex: 1;
  background-color: rgba(40, 50, 102, 0.95);
  color: #fff;
  border-radius: 50%;
}
#company_philosophy .section_list .layout > *:nth-child(2) {
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #company_philosophy .section_list {
    background: center top/100% auto url("../img/child/company/philosophy/company_philosophy_list_bg-sp.jpg") no-repeat;
  }
  #company_philosophy .section_list .layout {
    margin-top: 2.5rem;
    align-items: center;
    flex-direction: column;
    gap: 0.5rem;
  }
  #company_philosophy .section_list .layout .title {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
  }
  #company_philosophy .section_list .layout .text {
    font-size: 0.6875rem;
  }
  #company_philosophy .section_list .layout > * {
    width: 100%;
    max-width: 16.25rem;
    flex: 0 1 auto;
    margin: 0;
  }
}
#company_philosophy .section_origin .border {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid rgba(16, 25, 70, 0.15);
  border-bottom: 1px solid rgba(16, 25, 70, 0.15);
  padding-bottom: var(--paddingSection);
  margin-bottom: 4rem;
}
#company_philosophy .section_origin .flex {
  display: flex;
  gap: 0 3.125rem;
}
#company_philosophy .section_origin .area_title {
  flex-shrink: 0;
  width: 30%;
}
#company_philosophy .section_origin .logo {
  width: 36.875rem;
  max-width: 80%;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  #company_philosophy .section_origin .flex {
    flex-direction: column;
  }
  #company_philosophy .section_origin .area_title {
    width: 100%;
  }
  #company_philosophy .section_origin .logo {
    margin: 2.5rem auto 5rem;
  }
}

/* 会社概要 */
#company_profile .banner_company_profile {
  position: relative;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2.5rem;
  margin-top: var(--paddingSection);
  aspect-ratio: 1400/280;
  border-radius: 0.3125rem;
  overflow: hidden;
}
#company_profile .banner_company_profile img {
  position: absolute;
  inset: 0;
  z-index: -1;
}
#company_profile .banner_company_profile .en {
  font-size: 2.8125rem;
  font-family: "oswald";
}
#company_profile .banner_company_profile .ja {
  font-size: 1.0625rem;
}
#company_profile .banner_company_profile::after {
  content: "";
  width: 1.5rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_download.svg") no-repeat;
  display: block;
  margin-top: auto;
}
@media screen and (min-width: 769px) {
  #company_profile .banner_company_profile img {
    transition: transform 0.5s;
  }
  #company_profile .banner_company_profile:hover {
    opacity: 1;
  }
  #company_profile .banner_company_profile:hover img {
    transform: scale(1.025);
  }
}
@media screen and (max-width: 768px) {
  #company_profile .banner_company_profile {
    max-width: 21.5625rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
    aspect-ratio: 345/150;
  }
  #company_profile .banner_company_profile .en {
    font-size: 1.75rem;
  }
  #company_profile .banner_company_profile .ja {
    font-size: 0.75rem;
  }
  #company_profile .banner_company_profile::after {
    width: 1rem;
  }
}
#company_profile .banner_company_movies {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2.5rem;
  margin-top: var(--paddingSection);
  aspect-ratio: 1400/280;
  border-radius: 0.3125rem;
  overflow: hidden;
}
#company_profile .banner_company_movies img:not(.text_img) {
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  #company_profile .banner_company_movies img:not(.text_img) {
    transition: transform 0.5s;
  }
  #company_profile .banner_company_movies:hover {
    opacity: 1;
  }
  #company_profile .banner_company_movies:hover img:not(.text_img) {
    transform: scale(1.025);
  }
}
@media screen and (max-width: 768px) {
  #company_profile .banner_company_movies {
    max-width: 21.5625rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
    aspect-ratio: 345/150;
  }
  #company_profile .banner_company_movies .text_img {
    max-width: 253px;
  }
  #company_profile .banner_company_movies::after {
    width: 1rem;
  }
}

/* 役員一覧 */
#company_officer .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 4.5rem 4rem;
}
#company_officer .list .area_img {
  aspect-ratio: 302/400;
  border-radius: 0.3125rem;
  overflow: hidden;
}
#company_officer .list .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#company_officer .list .area_text {
  margin-top: 1.5rem;
}
#company_officer .list .area_text .post {
  font-size: 0.9375rem;
}
#company_officer .list .area_text .name {
  font-size: 1.625rem;
}
@media screen and (max-width: 768px) {
  #company_officer .list {
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
    gap: var(--paddingLR);
  }
  #company_officer .list .area_text {
    margin-top: 0.5rem;
  }
  #company_officer .list .area_text .post {
    font-size: 0.75rem;
  }
  #company_officer .list .area_text .name {
    font-size: 1rem;
  }
}

/* 拠点紹介 */
#company_base .list_a:not(:first-child) {
  margin-top: 3rem;
}
#company_base .list_a > * {
  padding-top: 2.5rem;
  border-top: 1px solid rgba(112, 112, 112, 0.1);
}
#company_base .list_a > *:not(:first-child) {
  margin-top: 3rem;
}
#company_base .list_a .title {
  font-size: 1.4375rem;
  margin-bottom: 0.75rem;
}
#company_base .list_a .row_img {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#company_base .list_a .row_img > * {
  flex: 1;
}
#company_base .list_a .row_img .img,
#company_base .list_a .row_img .map {
  display: block;
  aspect-ratio: 675/340;
}
#company_base .list_a .row_img .img img, #company_base .list_a .row_img .img iframe,
#company_base .list_a .row_img .map img,
#company_base .list_a .row_img .map iframe {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#company_base .list_a .row_text {
  font-size: 0.875rem;
  line-height: 1.66667;
  margin-top: 1em;
}
#company_base .list_b {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1.5rem 3.125rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(112, 112, 112, 0.1);
}
#company_base .list_b:not(:first-child) {
  margin-top: 4.5rem;
}
#company_base .list_b .title {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}
#company_base .list_b .row_text {
  font-size: 0.875rem;
  line-height: 1.66667;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  #company_base .list_a,
#company_base .list_b {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
  #company_base .list_a:not(:first-child) {
    margin-top: 1.5rem;
  }
  #company_base .list_a > * {
    padding-top: 1rem;
  }
  #company_base .list_a > *:not(:first-child) {
    margin-top: 1.5rem;
  }
  #company_base .list_a .title {
    font-size: 1.125rem;
  }
  #company_base .list_a .row_img {
    flex-direction: column;
  }
  #company_base .list_b {
    display: grid;
    grid-template-columns: 1fr;
    padding-top: 1rem;
  }
  #company_base .list_b:not(:first-child) {
    margin-top: 1.5rem;
  }
  #company_base .list_b .title {
    font-size: 1rem;
  }
}

/* グループ企業 */
#company_group .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 5rem 3.125rem;
}
#company_group .list:first-of-type {
  padding-top: 1.5rem;
  border-top: 1px solid rgba(112, 112, 112, 0.1);
}
#company_group .list + .list {
  margin-top: 5rem;
}
#company_group .list > * {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
}
#company_group .list .title {
  font-size: 1.4375rem;
  margin-bottom: 0.75rem;
}
#company_group .list .row_img {
  aspect-ratio: 675/340;
}
#company_group .list .row_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#company_group .list .row_text {
  font-size: 0.9375rem;
  line-height: 1.66667;
  margin-top: 1em;
}
#company_group .list .row_detail {
  margin-top: 1rem;
  background-color: #F8F8F8;
  color: var(--colorMain);
  padding: 1em 2rem;
  font-size: 1.125rem;
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  border-radius: 0.3125rem;
}
@media screen and (max-width: 768px) {
  #company_group .list {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 2.5rem var(--paddingLR);
  }
  #company_group .list:first-child {
    padding-top: 1rem;
  }
  #company_group .list + .list {
    margin-top: 2.5rem;
  }
  #company_group .list > * {
    display: block;
  }
  #company_group .list .title {
    font-size: 1rem;
  }
  #company_group .list .row_text {
    font-size: 0.875rem;
  }
  #company_group .list .row_detail {
    margin-top: 0.5rem;
    padding: var(--paddingLR);
    font-size: 0.875rem;
  }
}

/* 受賞歴 */
#company_awards .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
  gap: 1.5rem 3.125rem;
}
#company_awards .list > * {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0.875rem;
}
#company_awards .list .year {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: 0.5rem;
}
#company_awards .list .name {
  font-size: 0.9375rem;
}
#company_awards .list .detail {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--colorMain);
  margin-top: 0.5rem;
}
#company_awards table th {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #company_awards .list {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 1.5rem var(--paddingLR);
  }
  #company_awards .list .year {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
  #company_awards .list .name {
    font-size: 0.875rem;
  }
  #company_awards .list .detail {
    font-size: 0.875rem;
    margin-top: 0;
  }
}

/* トップメッセージ */
#company_topmessage .area_thumb {
  border-radius: 0.3125rem;
  overflow: hidden;
}
#company_topmessage .area_body {
  width: calc(100% - var(--paddingLR) * 2);
  max-width: 100rem;
  padding-top: 18.75rem;
  padding-bottom: 6.25rem;
  margin-top: -12.5rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3.75rem;
  background-color: #F4F8F9;
  box-shadow: 0 3px 1.5625rem rgba(0, 0, 0, 0.08);
}
#company_topmessage .area_body .title {
  margin-bottom: 6.25rem;
  font-size: 1.875rem;
}
#company_topmessage .area_body .text {
  line-height: 2.5;
}
#company_topmessage .area_body .signature {
  margin-top: 1em;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#company_topmessage .area_body .signature .post {
  text-align: center;
  margin-bottom: 0.875rem;
}
@media screen and (max-width: 768px) {
  #company_topmessage .area_thumb {
    aspect-ratio: 2/1;
    width: calc(100% - var(--paddingLR) * 2);
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
  }
  #company_topmessage .area_thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #company_topmessage .area_body {
    padding-top: 7.75rem;
    padding-bottom: 1.5rem;
    margin-top: -6.25rem;
    border-radius: 1.25rem;
  }
  #company_topmessage .area_body .title {
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
    font-size: 1.125rem;
  }
  #company_topmessage .area_body .text {
    line-height: 2;
  }
  #company_topmessage .area_body .signature .post {
    font-size: 0.875rem;
  }
}

/* 小松マテーレのビジョン */
body:has(#company_vision) main {
  padding-bottom: 0;
}
body:has(#company_vision).fp-scrollable #company_vision {
  height: 100vh !important;
  height: 100svh !important;
  overflow: hidden;
}
body:has(#company_vision).fp-scrollable #company_vision .fp-section {
  height: 100vh !important;
  height: 100svh !important;
  min-height: auto;
}
body:has(#company_vision).fp-scrollable #fp-nav {
  display: none;
}
body:has(#company_vision):not(.fp-responsive) #mv_child .fp-overflow {
  height: 100%;
}
body:has(#company_vision) #fp-nav {
  z-index: 98;
}
body:has(#company_vision) #fp-nav ul li,
body:has(#company_vision) .fp-slidesNav ul li {
  width: 0.4375rem;
  height: 2.5rem;
}
body:has(#company_vision) #fp-nav ul li a span,
body:has(#company_vision) .fp-slidesNav ul li a span {
  background-color: #fff;
  width: 100%;
  height: 100%;
  border-radius: 0;
  opacity: 0.29;
  margin: 0;
  top: 0;
  left: 0;
}
body:has(#company_vision) #fp-nav ul li a.active span,
body:has(#company_vision) .fp-slidesNav ul li a.active span,
body:has(#company_vision) #fp-nav ul li:hover a.active span,
body:has(#company_vision) .fp-slidesNav ul li:hover a.active span {
  margin: 0;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  body:has(#company_vision) #fp-nav.right {
    right: 4px;
  }
  body:has(#company_vision) #fp-nav ul li,
body:has(#company_vision) .fp-slidesNav ul li {
    width: 0.25rem;
    height: 1.5rem;
  }
}

html:has(#company_vision) {
  scrollbar-gutter: stable;
}
html:has(#company_vision) body {
  margin-top: 0;
}

#company_vision #mv_child {
  padding: calc(var(--headerHeight) + 4rem) 0;
}
#company_vision #mv_child .container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
#company_vision #mv_child #breadcrumb {
  color: #fff;
}
#company_vision #mv_child .title_01 {
  margin-top: 6rem;
}
#company_vision #mv_child .area_text {
  max-width: 36.25rem;
  margin-left: auto;
  margin-top: auto;
  font-size: 0.9375rem;
}
#company_vision #breadcrumb {
  top: var(--headerHeight);
}
#company_vision .item {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}
#company_vision .item .area_text {
  max-width: 30rem;
}
#company_vision .item .title_vision {
  font-family: "oswald";
  font-size: 1.5rem;
  margin-bottom: 4.5rem;
}
#company_vision .item .title {
  font-size: 2.5rem;
  line-height: 1.75;
}
#company_vision .item:nth-child(even) .area_text {
  margin-left: auto;
}
#company_vision #vision_04 {
  text-align: center;
}
#company_vision #vision_04 .area_text {
  max-width: 100%;
  padding-bottom: 2.5rem;
}
#company_vision #vision_04 .title_vision {
  margin-bottom: 1.25rem;
}
#company_vision #vision_04 .img_text {
  max-width: 100%;
  width: 70.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
#company_vision #vision_04 .title_sub {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
#company_vision #vision_04 .text {
  font-size: 0.9375rem;
}
#company_vision #mv_child {
  background-image: url("../../assets/img/child/company/vision/vision_01_bg.jpg");
}
#company_vision #vision_01 {
  background-image: url("../../assets/img/child/company/vision/vision_02_bg.jpg");
}
#company_vision #vision_02 {
  background-image: url("../../assets/img/child/company/vision/vision_03_bg.jpg");
}
#company_vision #vision_03 {
  background-image: url("../../assets/img/child/company/vision/vision_04_bg.jpg");
}
#company_vision #vision_04 {
  background-image: url("../../assets/img/child/company/vision/vision_05_bg.jpg");
}
@media screen and (max-width: 768px) {
  #company_vision #mv_child {
    padding: calc(var(--headerHeight) + 2.5rem) 0 2.5rem !important;
  }
  #company_vision #mv_child .title_01 {
    margin-top: 1rem;
  }
  #company_vision #mv_child .area_text {
    font-size: 0.875rem;
  }
  #company_vision .item {
    padding: calc(var(--headerHeight) + 2.5rem) 0 2.5rem !important;
  }
  #company_vision .item .title_vision {
    font-size: 1rem;
    margin-bottom: 2.5rem;
  }
  #company_vision .item .title {
    font-size: 1.25rem;
    line-height: 2;
  }
  #company_vision #vision_04 .area_text {
    padding-bottom: 0;
  }
  #company_vision #vision_04 .title_sub {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
  #company_vision #vision_04 .text {
    font-size: 0.875rem;
  }
  #company_vision #mv_child {
    background-image: url("../../assets/img/child/company/vision/vision_01_bg-sp.jpg");
  }
  #company_vision #vision_01 {
    background-image: url("../../assets/img/child/company/vision/vision_02_bg-sp.jpg");
  }
  #company_vision #vision_02 {
    background-image: url("../../assets/img/child/company/vision/vision_03_bg-sp.jpg");
  }
  #company_vision #vision_03 {
    background-image: url("../../assets/img/child/company/vision/vision_04_bg-sp.jpg");
  }
  #company_vision #vision_04 {
    background-image: url("../../assets/img/child/company/vision/vision_05_bg-sp.jpg");
  }
}

#company_vision_video .youtube {
  max-width: 46.875rem;
  margin-left: auto;
  margin-right: auto;
}
#company_vision_video .img_foot {
  margin-top: -6%;
}
@media screen and (max-width: 768px) {
  #company_vision_video .img_foot {
    margin-top: 0;
  }
}

/* 沿革 */
#mv_history {
  position: relative;
  min-height: calc(100vh - var(--headerHeight));
  min-height: calc(100lvh - var(--headerHeight));
  padding: 4rem 0;
}
#mv_history .bg_video {
  width: calc(100% + 2px);
  height: calc(100vh - var(--headerHeight));
  height: calc(100lvh - var(--headerHeight));
  position: fixed;
  top: 0;
  left: 0;
  top: var(--headerHeight);
  z-index: -10;
}
#mv_history .bg_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv_history .title_01 {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  #mv_history {
    padding: 2.5rem 0;
  }
  #mv_history .title_01 {
    margin-top: 2.5rem;
  }
}

#sidebar_history {
  --circleSize: 1rem;
  font-size: 0.875rem;
  position: fixed;
  right: 0;
  top: 55%;
  transform: translateY(-50%);
  z-index: 90;
  background-color: #fff;
  border-radius: 1.25rem 0 0 1.25rem;
  padding: 2.5rem 1.5rem;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.08);
}
#sidebar_history a {
  color: inherit;
  text-decoration: none;
}
#sidebar_history .name {
  display: block;
  transform-origin: center left;
}
#sidebar_history .year {
  display: block;
  font-size: 0.75rem;
  font-family: "oswald";
  color: #A2A2A2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 0;
  transform: translateY(100%);
  white-space: nowrap;
}
#sidebar_history .list {
  position: relative;
  padding-left: var(--circleSize);
}
#sidebar_history .list > * {
  position: relative;
  padding-left: 1rem;
  z-index: 10;
}
#sidebar_history .list > *:not(:last-child) {
  margin-bottom: 3rem;
}
#sidebar_history .list > *::after {
  content: "";
  width: var(--circleSize);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #BEBEBE;
  position: absolute;
  left: calc(var(--circleSize) * -1);
  top: calc(var(--circleSize) / 2);
  transform: scale(0.5);
  transition: background-color 0.5s, transform 0.5s;
}
#sidebar_history .list > *.active .name {
  transform: scale(1.4117);
}
#sidebar_history .list > *.active::after {
  background-color: #222A55;
  transform: scale(1);
}
#sidebar_history .list::after {
  content: "";
  width: 1px;
  height: calc(100% - var(--circleSize));
  background-color: #BEBEBE;
  opacity: 0.25;
  position: absolute;
  left: calc(var(--circleSize) / 2);
  top: calc(var(--circleSize) / 2);
}
@media screen and (max-width: 768px) {
  #sidebar_history {
    display: none;
  }
}

#company_history .u-text_white .row_list .list {
  color: #fff;
}
#company_history div[id^=anchor_] .bg:has(.row_title[style]) {
  padding-top: 0;
}
#company_history div[id^=anchor_] .bg:has(.row_list[style]) {
  padding-bottom: 0;
}
#company_history div[id^=anchor_] .bg .row_title[style] {
  padding-top: var(--paddingSection);
}
#company_history div[id^=anchor_] .bg .row_list[style] {
  padding-bottom: var(--paddingSection);
}
#company_history .bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#company_history .row_title {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  gap: 1.5rem 3.125rem;
  padding-bottom: calc(var(--paddingSection) * 0.5);
}
#company_history .row_title > * {
  flex: 1;
}
#company_history .row_title .year {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
#company_history .row_title .text_year {
  font-size: 6rem;
  font-family: "oswald";
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1;
}
#company_history .row_title .area_title {
  padding-left: 6.875rem;
}
#company_history .row_title .area_img {
  padding-right: 9rem;
}
#company_history .row_title .img {
  border-radius: 0.3125rem;
  overflow: hidden;
}
#company_history .row_title .area_text {
  padding-left: 9.375rem;
}
#company_history .row_title .title_sub {
  font-size: 2.5rem;
  margin-bottom: 4rem;
}
#company_history .row_title .text_deco {
  width: 3.625rem;
}
#company_history .row_list {
  --circleSize:0.625rem;
  --lastRowHeight: 2rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: calc(var(--paddingSection) * 0.5);
}
#company_history .row_list .list {
  color: var(--colorMain);
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 5rem 3.125rem;
  position: relative;
}
#company_history .row_list .list::after {
  content: "";
  width: 1px;
  height: calc(100% + var(--paddingSection) - 2.5rem - var(--lastRowHeight));
  background-color: #DE1E39;
  opacity: 0.25;
  position: absolute;
  left: calc(var(--circleSize) / 2);
  top: calc(var(--paddingSection) * -1 + 2.5rem);
}
#company_history .row_list .list .year {
  font-size: 3.125rem;
  font-weight: 300;
  font-family: "oswald";
  line-height: 1;
  position: relative;
  padding-left: calc(var(--circleSize) + 1.125rem);
}
#company_history .row_list .list .year::after {
  content: "";
  width: var(--circleSize);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #DE1E39;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#company_history .row_list .list .area_text {
  padding-top: 0.75rem;
}
#company_history .row_list .list .list_text > * {
  text-indent: -1em;
  margin-left: 1em;
}
#company_history .row_list .list .list_text > *:not(:last-child) {
  margin-bottom: 1rem;
}
#company_history .row_list .flex {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#company_history .row_list .flex .list {
  flex: 1;
}
#company_history .row_list .flex .area_img {
  width: calc((100% - (3.125rem)) / 2);
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
}
#company_history .row_list .flex .img {
  max-width: 30.625rem;
  margin-left: auto;
  margin-right: auto;
}
#company_history .row_list .flex .img img {
  border-radius: 0.3125rem;
}
#company_history .row_list .flex .img .caption {
  text-align: center;
  font-size: 0.8125rem;
  margin-top: 0.5rem;
}
#company_history .row_list .flex .flex_img {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 2.5rem;
}
#company_history .row_list .flex .flex_img > * {
  width: calc((100% - 2.5rem) / 2);
}
#company_history .row_list .flex .flex_img .img {
  margin: 0;
}
#company_history .row_list .flex .flex_img + .img:not(.img_bottom) {
  margin-top: 7.5rem;
}
#company_history .row_list .flex .img_bottom {
  margin-top: auto;
}
#company_history #anchor_06 .bg {
  padding-top: 0;
}
#company_history #anchor_06 .row_title {
  padding-top: var(--paddingSection);
  position: relative;
  z-index: 1;
}
#company_history #anchor_06 .row_title::after {
  content: "";
  position: absolute;
  inset: 0;
  background: center/cover url("../../assets/img/child/company/history/company_history_06-bg.jpg") no-repeat;
  z-index: -1;
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  #company_history .row_title {
    flex-direction: column;
    padding-left: var(--paddingLR);
    padding-right: var(--paddingLR);
  }
  #company_history .row_title > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #company_history .row_title .year {
    margin-bottom: -2rem;
  }
  #company_history .row_title .text_year {
    font-size: 1.5rem;
  }
  #company_history .row_title .area_title {
    padding-left: 0;
  }
  #company_history .row_title .area_img {
    padding-right: 0;
  }
  #company_history .row_title .area_text {
    padding-left: 0;
  }
  #company_history .row_title .title_sub {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
  #company_history .row_title .text_deco {
    width: 2rem;
  }
  #company_history .row_list .list {
    gap: 1.5rem 1rem;
  }
  #company_history .row_list .list .year {
    font-size: 1.5rem;
    padding-left: calc(var(--circleSize) + 0.5rem);
  }
  #company_history .row_list .list .area_text {
    padding-top: 0;
  }
  #company_history .row_list .list .list_text {
    line-height: 1.25;
  }
  #company_history .row_list .list .list_text > * {
    padding-top: 0.5em;
  }
  #company_history .row_list .flex {
    flex-direction: column;
  }
  #company_history .row_list .flex .list {
    flex: 0 1 auto;
    width: 100%;
  }
  #company_history .row_list .flex .area_img {
    width: 100%;
    gap: 1.5rem;
  }
  #company_history .row_list .flex .img {
    max-width: 15rem;
  }
  #company_history .row_list .flex .img .caption {
    font-size: 0.75rem;
  }
  #company_history .row_list .flex .img[style] {
    margin-bottom: 0 !important;
  }
  #company_history .row_list .flex .flex_img {
    flex-direction: column;
    gap: 1rem 2.5rem;
  }
  #company_history .row_list .flex .flex_img > * {
    width: 100%;
  }
  #company_history .row_list .flex .flex_img .img {
    margin-left: auto;
    margin-right: auto;
  }
  #company_history .row_list .flex .flex_img + .img:not(.img_bottom) {
    margin-top: 0;
  }
}

#company_history_outro {
  background: center/cover url("../img/child/company/history/company_history_outro_bg.jpg");
}
#company_history_outro .flex {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
#company_history_outro .flex > * {
  width: 50%;
}
#company_history_outro .area_title {
  padding: 0 5rem;
}
#company_history_outro .area_title .title {
  font-family: "oswald";
  font-size: 6.875rem;
  font-weight: 300;
  letter-spacing: -0.03em;
}
#company_history_outro .area_text .title_sub {
  font-size: 2.6875rem;
  font-weight: 500;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  #company_history_outro .flex {
    flex-direction: column;
  }
  #company_history_outro .flex > * {
    width: 100%;
  }
  #company_history_outro .area_title {
    padding: 0;
  }
  #company_history_outro .area_title .title {
    font-size: 1.5rem;
  }
  #company_history_outro .area_text .title_sub {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
}

/*==========
事業概要
==========*/
#business:has(#business_index) #mv_photo {
  margin-top: var(--headerHeight);
  height: auto;
}
#business:has(#business_index) #mv_child {
  background-color: #151A38;
  padding-top: var(--paddingSection);
  padding-bottom: var(--paddingSection);
}
#business:has(#business_index) #mv_child .flex {
  display: flex;
  gap: 1rem 3.125rem;
}
#business:has(#business_index) #mv_child .flex > * {
  flex: 1;
}
#business:has(#business_index) #mv_child .title_01 {
  margin-bottom: 7.5rem;
}
#business:has(#business_index) #mv_child .title_sub {
  font-size: 1.5625rem;
  margin-bottom: 5rem;
}
#business:has(#business_index) #mv_child .text {
  max-width: 30.3125rem;
}
@media screen and (max-width: 768px) {
  #business:has(#business_index) #mv_child .flex {
    flex-direction: column;
  }
  #business:has(#business_index) #mv_child .flex > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #business:has(#business_index) #mv_child .area_text {
    display: contents;
  }
  #business:has(#business_index) #mv_child .area_figure {
    width: 100%;
    display: flex;
    justify-content: center;
    order: -1;
  }
  #business:has(#business_index) #mv_child .title_01 {
    margin-bottom: 0;
    order: -2;
  }
  #business:has(#business_index) #mv_child .title_sub {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
}

#business_index .title_sub {
  font-size: 1.5625rem;
  text-align: center;
  margin-bottom: 3.125rem;
}
#business_index .text_intro {
  font-size: 1.0625rem;
}
#business_index .section_post {
  margin-top: var(--paddingSection);
}
#business_index .section_post .row_intro {
  margin-bottom: calc(var(--paddingSection) / 2);
}
#business_index .section_post .layout_bg-gray {
  padding-top: calc(var(--paddingSection) / 2);
}
#business_index .section_post .area_banner {
  position: relative;
  margin-top: calc(var(--paddingSection) / 2);
}
#business_index .section_post .area_banner a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  #business_index .section_post .area_banner a:hover {
    opacity: 1;
  }
  #business_index .section_post .area_banner a:hover .btn_01::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01_white;
            animation-name: btn_01_white;
  }
}
#business_index .section_post .area_banner .btn_01 {
  margin-top: 0;
  position: absolute;
  top: 50%;
  right: 3.125rem;
  transform: translateY(-50%);
}
#business_index .section_post .figure_01 {
  width: 70rem;
  margin-left: auto;
  margin-right: auto;
}
#business_index .section_brand .row_btn {
  margin-top: 5rem;
}
#business_index .layout_business:not(:first-child) {
  margin-top: var(--paddingSection);
}
#business_index .layout_business > *:not(:first-child) {
  margin-top: var(--paddingSection);
}
#business_index .layout_business > *:not(:has(> a)), #business_index .layout_business > * > a {
  display: flex;
  justify-content: space-between;
  gap: 1rem 6.25rem;
}
#business_index .layout_business > *:not(:has(> a)) > *, #business_index .layout_business > * > a > * {
  flex: 1;
}
@media screen and (min-width: 769px) {
  #business_index .layout_business > * > a .area_img img {
    transition: transform 0.5s;
  }
  #business_index .layout_business > * > a .btn_01 {
    pointer-events: none;
  }
  #business_index .layout_business > * > a:hover {
    opacity: 1;
  }
  #business_index .layout_business > * > a:hover .area_img img {
    transform: scale(1.05);
  }
  #business_index .layout_business > * > a:hover .btn_01::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01;
            animation-name: btn_01;
  }
}
#business_index .layout_business a {
  text-decoration: none;
  color: inherit;
}
#business_index .layout_business .area_text {
  display: flex;
  flex-direction: column;
}
#business_index .layout_business .text:last-of-type {
  margin-bottom: auto;
}
#business_index .layout_business .btn_01 {
  margin-left: auto;
}
#business_index .layout_business .area_img {
  overflow: hidden;
}
#business_index .layout_business .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#business_index .layout_business_sub a {
  text-decoration: none;
  color: inherit;
}
#business_index .layout_business_sub .area_img {
  overflow: hidden;
}
#business_index .layout_business_sub .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 769px) {
  #business_index .layout_business_sub a .area_img img {
    transition: transform 0.5s;
  }
  #business_index .layout_business_sub a .btn_01 {
    pointer-events: none;
  }
  #business_index .layout_business_sub a:hover {
    opacity: 1;
  }
  #business_index .layout_business_sub a:hover .area_img img {
    transform: scale(1.05);
  }
  #business_index .layout_business_sub a:hover .btn_01::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01;
            animation-name: btn_01;
  }
}
#business_index .layout_business_sub > *:not(:first-child) {
  margin-top: var(--paddingSection);
}
#business_index .layout_business_sub .flex {
  display: flex;
  justify-content: space-between;
  gap: 1rem 6.25rem;
  margin-top: 3.125rem;
}
#business_index .layout_business_sub .flex > * {
  flex: 1;
}
#business_index .layout_business_sub .area_text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
#business_index .layout_business_sub .btn_01 {
  margin-top: 5rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  #business_index .title_sub {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
  #business_index .text_intro {
    font-size: 0.875rem;
  }
  #business_index .section_post .area_banner .btn_01 {
    display: none;
  }
  #business_index .section_brand .row_btn {
    margin-top: 2.5rem;
  }
  #business_index .layout_business > *:not(:has(> a)), #business_index .layout_business > * > a {
    flex-direction: column;
  }
  #business_index .layout_business > *:not(:has(> a)) > *, #business_index .layout_business > * > a > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #business_index .layout_business .title_06 {
    margin-bottom: 0;
    order: -2;
  }
  #business_index .layout_business .area_img {
    order: -1;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
  #business_index .layout_business .area_text {
    display: contents;
  }
  #business_index .layout_business .btn_01 {
    margin-top: 0;
    order: 10;
  }
  #business_index .layout_business_sub .flex {
    flex-direction: column;
    margin-top: 1rem;
  }
  #business_index .layout_business_sub .flex > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #business_index .layout_business_sub .btn_01 {
    margin-top: 1rem;
  }
  #business_index .layout_business_sub .area_img {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/*==========
製品情報
==========*/
#products:has(#products_index) #mv_child {
  background: center bottom/cover url("../img/child/products/products_mv.jpg") no-repeat;
  margin-bottom: var(--paddingSection);
}
#products:has(#products_index) #mv_child .flex {
  margin-top: 7.5rem;
  display: flex;
  gap: 1.5rem;
}
#products:has(#products_index) #mv_child .flex > * {
  width: 50%;
}
#products:has(#products_index) #mv_child .title_01 {
  margin-bottom: 3.125rem;
}
#products:has(#products_index) #mv_child .text {
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--colorMain);
}
#products:has(#products_index) #mv_child .area_text {
  display: flex;
  flex-direction: column;
}
#products:has(#products_index) #mv_child .area_figure {
  margin-left: auto;
}
#products:has(#products_index) #mv_child .row_text {
  margin-top: auto;
  margin-bottom: 5.625rem;
}
@media screen and (max-width: 768px) {
  #products:has(#products_index) #mv_child {
    background-image: url("../img/child/products/products_mv-sp.jpg");
  }
  #products:has(#products_index) #mv_child .flex {
    flex-direction: column;
    margin-top: 2.5rem;
  }
  #products:has(#products_index) #mv_child .flex > * {
    width: 100%;
  }
  #products:has(#products_index) #mv_child .area_text {
    display: contents;
  }
  #products:has(#products_index) #mv_child .title_01 {
    margin-bottom: 1.5rem;
  }
  #products:has(#products_index) #mv_child .row_text {
    order: 2;
    margin-bottom: 0;
  }
}

#products_index .list_banner > *:not(:last-child) {
  margin-bottom: 1.25rem;
}
#products_index .list_banner .text_link {
  position: absolute;
  top: 50%;
  right: 5%;
  z-index: 10;
  transform: translateY(-50%);
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
#products_index .list_banner .text_link::after {
  content: "";
  width: 2.1875em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow_circle-white.svg");
}
#products_index .list_banner a {
  display: block;
  overflow: hidden;
  border-radius: 0.3125rem;
  aspect-ratio: 1400/270;
  position: relative;
  color: #fff;
}
@media screen and (min-width: 769px) {
  #products_index .list_banner a img {
    transition: transform 0.5s;
  }
  #products_index .list_banner a:hover {
    opacity: 1;
  }
  #products_index .list_banner a:hover img {
    transform: scale(1.05);
  }
  #products_index .list_banner a:hover .text_link::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01_white;
            animation-name: btn_01_white;
  }
}
#products_index .list_banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  #products_index .list_banner .text_link {
    right: 3%;
    font-size: 0.625rem;
  }
  #products_index .list_banner a {
    aspect-ratio: 345/150;
  }
}

/* タクソノミーページ */
#products:has(#products_taxonomy) #mv_child {
  padding: 0;
  aspect-ratio: 1920/570;
  max-height: 35.625rem;
  margin-bottom: var(--paddingSection);
}
#products:has(#products_taxonomy) #mv_child #breadcrumb {
  z-index: 2;
}
#products:has(#products_taxonomy) #mv_child .flex {
  flex: 1;
  display: flex;
}
#products:has(#products_taxonomy) #mv_child .flex > * {
  flex: 1;
}
#products:has(#products_taxonomy) #mv_child .area_img {
  height: 100%;
  position: relative;
}
#products:has(#products_taxonomy) #mv_child .area_img .bg_img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
#products:has(#products_taxonomy) #mv_child .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products:has(#products_taxonomy) #mv_child .area_img:not(:has(a:not(.btn))),
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn) {
  overflow: hidden;
  padding: 4rem 0 3rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  z-index: 1;
}
#products:has(#products_taxonomy) #mv_child .area_img:not(:has(a:not(.btn)))::before,
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn)::before {
  content: "";
  width: 100%;
  height: 60%;
  background: linear-gradient(to top, #000 0%, rgba(72, 72, 72, 0.04) 54.68%, rgba(74, 74, 74, 0) 88.18%, rgba(84, 84, 84, 0) 100%);
  opacity: 0.29;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  pointer-events: none;
}
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn) {
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  z-index: 1;
}
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn)::after {
  content: "";
  width: 3.125rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow_circle-white.svg") no-repeat;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
@media screen and (min-width: 769px) {
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn) img {
    transition: transform 0.5s;
  }
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn):hover {
    opacity: 1;
  }
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn):hover img {
    transform: scale(1.05);
  }
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn):hover::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01_white;
            animation-name: btn_01_white;
  }
}
#products:has(#products_taxonomy) #mv_child .area_img .title {
  text-align: center;
  font-size: 0.875rem;
  color: #fff;
  font-weight: 500;
  line-height: 1;
}
#products:has(#products_taxonomy) #mv_child .area_img .title::after {
  content: attr(data-en);
  font-size: 4.64286em;
  font-family: "oswald";
  display: block;
  line-height: 1;
  margin-top: 0.1em;
  font-weight: 400;
}
#products:has(#products_taxonomy) #mv_child .btn {
  font-weight: 700;
  color: #fff;
  border-radius: 0.3125rem;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 15.625rem;
  height: 4.0625rem;
  padding: 0.25em 1.5em;
  position: absolute;
  right: 3.125rem;
  bottom: 3.125rem;
  z-index: 2;
}
#products:has(#products_taxonomy) #mv_child .btn::after {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-white.svg") no-repeat;
  display: block;
}
@media screen and (max-width: 768px) {
  #products:has(#products_taxonomy) #mv_child {
    aspect-ratio: auto;
    max-height: none;
  }
  #products:has(#products_taxonomy) #mv_child .flex {
    flex-direction: column;
  }
  #products:has(#products_taxonomy) #mv_child .area_img:not(:has(a:not(.btn))),
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn) {
    min-height: 20rem;
    padding-bottom: 1.5rem;
  }
  #products:has(#products_taxonomy) #mv_child .area_img:not(:has(a:not(.btn)))::before,
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn)::before {
    height: 100%;
  }
  #products:has(#products_taxonomy) #mv_child .area_img:not(:has(a:not(.btn))):has(.btn),
#products:has(#products_taxonomy) #mv_child .area_img a:not(.btn):has(.btn) {
    padding-bottom: 5rem;
  }
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn) {
    flex: 1;
  }
  #products:has(#products_taxonomy) #mv_child .area_img a:not(.btn)::after {
    width: 2rem;
    right: var(--paddingLR);
    bottom: var(--paddingLR);
  }
  #products:has(#products_taxonomy) #mv_child .area_img .title {
    font-size: 0.8125rem;
  }
  #products:has(#products_taxonomy) #mv_child .area_img .title::after {
    font-size: 3.076924em;
  }
  #products:has(#products_taxonomy) #mv_child .btn {
    font-size: 0.875rem;
    width: 13.75rem;
    height: 3rem;
    left: 50%;
    right: auto;
    bottom: var(--paddingLR);
    transform: translateX(-50%);
  }
}

.layout_products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1.25rem 3.125rem;
  margin-bottom: -5rem;
}
.layout_products > * {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0.625rem;
  margin-bottom: 5rem;
  position: relative;
}
@media screen and (min-width: 769px) {
  .layout_products > * .row_thumb img {
    transition: transform 0.5s;
  }
  .layout_products > *:hover {
    opacity: 1;
  }
  .layout_products > *:hover .row_thumb img {
    transform: scale(1.05);
  }
}
.layout_products .link_item {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.layout_products:not(:first-child) {
  margin-top: 5rem;
}
.layout_products a {
  color: inherit;
  text-decoration: none;
}
.layout_products .row_logo {
  margin-left: auto;
  margin-right: auto;
  height: 3.5rem;
  margin-bottom: 0.875rem;
}
.layout_products .row_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.layout_products .row_thumb {
  position: relative;
}
.layout_products .thumb {
  border-radius: 5px;
  overflow: hidden;
  aspect-ratio: 433/300;
  position: relative;
}
.layout_products .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_products .row_category {
  margin-bottom: 0.875rem;
}
.layout_products .row_title {
  margin-bottom: 0.875rem;
}
.layout_products .title {
  font-size: 1.375rem;
  font-weight: 500;
}
.layout_products .icons {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.625rem 1.25rem;
  border-radius: 5px 0rem 5px 5px;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1em;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
}
.layout_products .icons .icon {
  cursor: pointer;
  background-color: transparent;
  display: block;
  width: 1.5rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
.layout_products .icons .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.layout_products .icons .icon.is-active .icon_favorite {
  display: none;
}
.layout_products .icons .icon:not(.is-active) .icon_remove {
  display: none;
}
.layout_products .icons .icon_remove {
  padding: 0.2em;
}
@media screen and (max-width: 768px) {
  .layout_products {
    grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
    gap: 2.5rem var(--paddingLR);
    margin-bottom: -2.5rem;
  }
  .layout_products > * {
    margin-bottom: 2.5rem;
  }
  .layout_products:not(:first-child) {
    margin-top: 2.5rem;
  }
  .layout_products .row_logo {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
  }
  .layout_products .row_category {
    margin-bottom: 0;
  }
  .layout_products .row_title {
    margin-bottom: 0;
  }
  .layout_products .title {
    font-size: 1rem;
  }
}

.layout_category {
  font-size: 0.9375rem;
  color: var(--colorMain);
  font-weight: 900;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 2em;
}
.layout_category > * {
  position: relative;
  padding-left: 1em;
}
.layout_category > *::before {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  border-radius: 2px;
  background-color: #E7374A;
  position: absolute;
  left: 0;
  top: 0.85em;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .layout_category {
    font-size: 0.75rem;
  }
}

/* 記事ページ */
#products:has(#products_single) #mv_child {
  padding: 6.25rem 40% 5rem 0;
  min-height: calc(100vh - var(--headerHeight));
  min-height: calc(100lvh - var(--headerHeight));
  position: relative;
}
#products:has(#products_single) #mv_child.text_white {
  color: #fff;
}
#products:has(#products_single) #mv_child .wrapper {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-left: 6.25rem;
  padding-right: 6.25rem;
}
#products:has(#products_single) #mv_child .row_logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 2.5rem;
}
#products:has(#products_single) #mv_child .row_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center left;
     object-position: center left;
}
#products:has(#products_single) #mv_child .row_text {
  margin-top: auto;
}
#products:has(#products_single) #mv_child .row_text .title {
  font-size: 2.5rem;
  font-weight: 500;
}
#products:has(#products_single) #mv_child .row_text .title_sub {
  margin-bottom: 1rem;
}
#products:has(#products_single) #mv_child #breadcrumb {
  margin-top: 7.5rem;
  padding-right: 2.5rem;
}
#products:has(#products_single) #mv_child .row_icons {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 1.5rem 1rem 2.5rem;
  border-radius: 0.3125rem 0 0 0.3125rem;
  background-color: #fff;
  color: var(--colorFont);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.25em;
  font-size: 0.875rem;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 2rem;
  z-index: 1;
}
#products:has(#products_single) #mv_child .row_icons .icon {
  display: block;
  width: 2rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
#products:has(#products_single) #mv_child .row_icons .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#products:has(#products_single) #mv_child .row_icons .icon_remove {
  width: 1.5rem;
  height: 2.25rem;
}
#products:has(#products_single) #mv_child .label {
  color: inherit;
  min-width: 5em;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  background-color: transparent;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  #products:has(#products_single) #mv_child .label {
    transition: opacity 0.5s;
  }
  #products:has(#products_single) #mv_child .label:hover {
    opacity: 0.5;
  }
}
#products:has(#products_single) #mv_child .label.is-active .icon_favorite {
  display: none;
}
#products:has(#products_single) #mv_child .label:not(.is-active) .icon_remove {
  display: none;
}
#products:has(#products_single) #mv_child .row_bg {
  position: fixed;
  top: var(--headerHeight);
  left: 0;
  z-index: -10;
  width: 100vw;
  height: calc(100vh - var(--headerHeight));
  height: calc(100lvh - var(--headerHeight));
}
#products:has(#products_single) #mv_child .row_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products:has(#products_single) #mv_child .area_circle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 6.25rem;
  right: 6.25rem;
}
#products:has(#products_single) #mv_child .area_circle::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  background: #fff;
  filter: blur(1.75rem);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1.1);
  z-index: -1;
}
#products:has(#products_single) #mv_child .area_circle .circle {
  width: 20.625rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-direction: column;
  border-radius: 50%;
  overflow: hidden;
}
#products:has(#products_single) #mv_child .area_circle .thumb {
  width: 100%;
  height: 74%;
}
#products:has(#products_single) #mv_child .area_circle .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products:has(#products_single) #mv_child .area_circle .text {
  color: #fff;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  text-align: center;
  font-weight: 500;
  padding: 0 5em;
  line-height: 1.25;
}
#products:has(#products_single) #mv_child .area_circle .text p {
  margin-bottom: 0.5em;
}
#products:has(#products_single) #mv_child.js_trigger .area_circle::after {
  width: 0%;
  height: 0%;
  transition: width 0.5s 0.5s, height 0.5s 0.5s;
}
#products:has(#products_single) #mv_child.js_trigger .circle {
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
  transition: -webkit-clip-path 0.4s 0.5s ease-out;
  transition: clip-path 0.4s 0.5s ease-out;
  transition: clip-path 0.4s 0.5s ease-out, -webkit-clip-path 0.4s 0.5s ease-out;
}
#products:has(#products_single) #mv_child.js_trigger.trigger .area_circle::after {
  width: 100%;
  height: 100%;
}
#products:has(#products_single) #mv_child.js_trigger.trigger .circle {
  -webkit-clip-path: circle(50% at 50% 50%);
          clip-path: circle(50% at 50% 50%);
}
@media screen and (max-width: 768px) {
  #products:has(#products_single) #mv_child {
    padding: 7.5rem 0 1.5rem;
  }
  #products:has(#products_single) #mv_child .wrapper {
    padding-left: var(--paddingLR);
    padding-right: var(--paddingLR);
  }
  #products:has(#products_single) #mv_child .row_logo {
    font-size: 0.5rem;
  }
  #products:has(#products_single) #mv_child .row_text {
    margin-top: 0;
    margin-bottom: 1.5rem;
  }
  #products:has(#products_single) #mv_child .row_text .title {
    font-size: 1.25rem;
  }
  #products:has(#products_single) #mv_child .row_text .title_sub {
    font-size: 0.75rem;
  }
  #products:has(#products_single) #mv_child #breadcrumb {
    margin-top: 1rem;
    padding-right: var(--paddingLR);
  }
  #products:has(#products_single) #mv_child .row_icons {
    padding: var(--paddingLR) calc(var(--paddingLR) / 2) var(--paddingLR) var(--paddingLR);
    gap: 1em;
    font-size: 0.75rem;
    margin-top: 2.75rem;
  }
  #products:has(#products_single) #mv_child .row_icons .icon {
    width: 1rem;
  }
  #products:has(#products_single) #mv_child .row_icons .icon_remove {
    height: 1rem;
    width: 0.875rem;
  }
  #products:has(#products_single) #mv_child .row_icons .word {
    display: none;
  }
  #products:has(#products_single) #mv_child .label {
    min-width: auto;
    gap: 0.25em;
  }
  #products:has(#products_single) #mv_child .area_circle {
    position: relative;
    bottom: auto;
    right: auto;
    margin-left: auto;
    margin-top: auto;
  }
  #products:has(#products_single) #mv_child .area_circle::after {
    filter: blur(0.875rem);
  }
  #products:has(#products_single) #mv_child .area_circle .circle {
    width: 10.3125rem;
  }
  #products:has(#products_single) #mv_child .area_circle .text {
    font-size: 0.625rem;
    padding: 0 2.5em;
  }
  #products:has(#products_single) #mv_child .area_circle .text p {
    margin-bottom: 0.75em;
  }
}

#products_single {
  padding-top: var(--paddingSection);
  padding-bottom: var(--paddingSection);
  margin-bottom: calc(var(--paddingSection) * -1);
  background-color: #fff;
  position: relative;
  z-index: 1;
}
#products_single .container {
  max-width: calc(65rem + var(--paddingLR) * 2);
}
#products_single .layout_icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 2rem;
}
#products_single .layout_icons:not(:first-child) {
  margin-top: 5rem;
}
#products_single .layout_icons > * {
  width: calc((100% - 8rem) / 5);
}
#products_single .layout_icons .row_icon {
  width: 80%;
  max-width: 7.8125rem;
  margin-left: auto;
  margin-right: auto;
}
#products_single .layout_icons .text {
  margin-top: 0.625rem;
  text-align: center;
  color: var(--colorMain);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.333334;
}
#products_single .logo_back {
  pointer-events: none;
  margin-left: 4rem;
  margin-top: -4rem;
  margin-bottom: -2rem;
  opacity: 0.05;
}
#products_single .logo_back img {
  width: 100%;
}
#products_single.layout_bg {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
}
#products_single.layout_bg .logo_back {
  top: 10rem;
  opacity: 0.1;
}
#products_single.layout_bg .editor_products h2, #products_single.layout_bg .editor_products h3 {
  color: #fff;
}
#products_single.layout_bg .editor_products h2::before, #products_single.layout_bg .editor_products h3::before {
  background: #fff;
}
#products_single.layout_bg .editor_products ol:not([class]) > *::before {
  color: #fff;
}
#products_single.layout_bg .wp-block-button .wp-block-button__link,
#products_single.layout_bg .btn_04 {
  background-color: #fff;
  color: var(--colorMain);
}
@media screen and (min-width: 769px) {
  #products_single.layout_bg .wp-block-button .wp-block-button__link:hover,
#products_single.layout_bg .btn_04:hover {
    background-color: var(--colorMain);
    color: #fff;
  }
}
#products_single.layout_bg .layout_icons .text {
  color: #fff;
}
#products_single.layout_bg a {
  color: inherit;
}
@media screen and (max-width: 768px) {
  #products_single .layout_icons {
    gap: 1.5rem var(--paddingLR);
  }
  #products_single .layout_icons > * {
    width: calc((100% - var(--paddingLR) * 1) / 2);
  }
  #products_single .layout_icons:not(:first-child) {
    margin-top: 1.5rem;
  }
  #products_single .logo_back {
    font-size: 0.5rem;
    margin-top: 0;
    margin-left: 0;
    margin-bottom: -1rem;
  }
}

/* お気に入り製品一覧 */
#products_favorite .section_search {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1.375rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
  margin-bottom: 3.125rem;
}
#products_favorite .section_search .text_number {
  font-size: 1.375rem;
  font-weight: 500;
  color: var(--colorMain);
}
@media screen and (max-width: 768px) {
  #products_favorite .text_number {
    font-size: 1rem;
  }
}

.layout_products-favorite {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 3.125rem;
}
.layout_products-favorite .link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.layout_products-favorite > *:not(.no_posts) {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 1rem;
  position: relative;
  background: #fff;
  box-shadow: 0px 0px 0.375rem rgba(0, 0, 0, 0.16);
  padding: 2.5rem;
}
@media screen and (min-width: 769px) {
  .layout_products-favorite > *:not(.no_posts) .row_thumb img {
    transition: transform 0.5s;
  }
  .layout_products-favorite > *:not(.no_posts):has(a:hover) .row_thumb img {
    transform: scale(1.1);
  }
}
.layout_products-favorite a {
  color: inherit;
  text-decoration: none;
}
.layout_products-favorite .row_thumb {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
  aspect-ratio: 347/240;
  flex-shrink: 0;
}
.layout_products-favorite .row_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_products-favorite .row_logo {
  height: 4rem;
  display: flex;
  align-items: center;
}
.layout_products-favorite .row_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left;
     object-position: left;
}
.layout_products-favorite .row_title {
  margin-top: auto;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}
.layout_products-favorite .title {
  font-size: 1.375rem;
  font-weight: 500;
}
.layout_products-favorite .text {
  font-size: 0.8125rem;
}
.layout_products-favorite .row_btn {
  position: relative;
  z-index: 2;
}
.layout_products-favorite .btn {
  cursor: pointer;
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25em 2em;
  background-color: transparent;
  color: inherit;
  border: 1px solid rgba(14, 22, 70, 0.2);
  height: 2.625rem;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.layout_products-favorite .btn::before {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/child/products/single/icon_products-cross.svg") no-repeat;
  display: block;
}
@media screen and (max-width: 768px) {
  .layout_products-favorite {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: var(--paddingLR);
  }
  .layout_products-favorite > *:not(.no_posts) {
    padding: var(--paddingLR);
  }
  .layout_products-favorite .row_logo {
    font-size: 0.625rem;
  }
  .layout_products-favorite .row_title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .layout_products-favorite .title {
    font-size: 1rem;
  }
  .layout_products-favorite .btn {
    padding: 0.25em 1.5em;
    height: 2.25rem;
    font-size: 0.75rem;
  }
}

/* 検索結果 */
#products:has(#products_search) #mv_child .title_main {
  font-size: 4.6875rem;
  display: flex;
  align-items: center;
  gap: 0.25em;
}
#products:has(#products_search) #mv_child .title_main .small {
  font-size: 3.125rem;
  margin-top: 0.5em;
}
@media screen and (max-width: 768px) {
  #products:has(#products_search) #mv_child .title_main {
    font-size: 1.5rem;
  }
  #products:has(#products_search) #mv_child .title_main .small {
    font-size: 0.75em;
    margin-top: 0;
  }
}

/*==========
研究開発
==========*/
#research:has(#research_index) #mv_child {
  background-color: transparent;
}
#research:has(#research_index) .research_bg {
  background: left top/contain url("../img/child/research/research_bg.png") no-repeat #fff;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #research:has(#research_index) .research_bg {
    background-image: url("../img/child/research/research_bg-sp.png");
  }
}

#research_index .title_intro {
  font-size: 1.875rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2em;
}
#research_index .menu_sub {
  display: grid;
  gap: 1.5rem 3.125rem;
  grid-template-columns: repeat(auto-fill, minmax(42.1875rem, 1fr));
}
#research_index .menu_sub a {
  color: inherit;
  text-decoration: none;
}
#research_index .menu_sub .area_img {
  border-radius: 0.3125rem;
  overflow: hidden;
  position: relative;
}
#research_index .menu_sub .area_img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: center/cover url("../img/child/research/research_menu_hover.png") no-repeat;
}
#research_index .menu_sub .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#research_index .menu_sub .area_text {
  border-bottom: 1px solid rgba(112, 112, 112, 0.15);
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#research_index .menu_sub .area_text::after {
  content: "";
  width: 1.875rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow_circle-gray.svg") no-repeat;
}
#research_index .menu_sub .title {
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  #research_index .menu_sub .area_img img {
    transition: transform 0.5s;
  }
  #research_index .menu_sub a:hover {
    opacity: 1;
  }
  #research_index .menu_sub a:hover .area_img img {
    transform: scale(1.05);
  }
  #research_index .menu_sub a:hover .area_text::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01_gray;
            animation-name: btn_01_gray;
  }
}
#research_index .flex_text {
  display: flex;
  align-items: center;
  gap: 1rem 3.125rem;
  margin-bottom: calc(var(--paddingSection) / 2);
}
#research_index .flex_text > * {
  flex: 1;
}
#research_index .flex_text .title {
  font-size: 1.875rem;
  font-weight: 500;
  color: var(--colorMain);
}
#research_index .flex_text + .menu_sub {
  margin-top: calc(var(--paddingSection) / 2);
}
@media screen and (max-width: 768px) {
  #research_index .title_intro {
    font-size: 1.125rem;
    margin-bottom: 2.5em;
  }
  #research_index .title_intro + .text_center {
    text-align: left;
  }
  #research_index .menu_sub {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.5rem;
  }
  #research_index .menu_sub .area_text {
    min-height: 3.5rem;
  }
  #research_index .menu_sub .area_text::after {
    width: 1.75rem;
  }
  #research_index .menu_sub .title {
    font-size: 0.875rem;
  }
  #research_index .flex_text {
    flex-direction: column;
  }
  #research_index .flex_text > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #research_index .flex_text .title {
    font-size: 1.125rem;
  }
}

/* トップメッセージ */
.layout_message .flex,
#business_message .flex,
#ir_message .flex,
#research_message .flex {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem 7.5rem;
}
.layout_message .flex > *,
#business_message .flex > *,
#ir_message .flex > *,
#research_message .flex > * {
  width: 50%;
}
.layout_message .area_img,
#business_message .area_img,
#ir_message .area_img,
#research_message .area_img {
  text-align: right;
  max-width: 37.8125rem;
}
.layout_message .title,
#business_message .title,
#ir_message .title,
#research_message .title {
  font-size: 1.875rem;
  font-weight: 500;
  margin-bottom: 6.25rem;
}
.layout_message .text,
#business_message .text,
#ir_message .text,
#research_message .text {
  line-height: 2.5;
}
.layout_message .img,
#business_message .img,
#ir_message .img,
#research_message .img {
  border-radius: 0.3125rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.layout_message .img img,
#business_message .img img,
#ir_message .img img,
#research_message .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_message .post,
#business_message .post,
#ir_message .post,
#research_message .post {
  font-size: 0.9375rem;
}
.layout_message .name,
#business_message .name,
#ir_message .name,
#research_message .name {
  font-size: 1.625rem;
}
.layout_message .sign,
#business_message .sign,
#ir_message .sign,
#research_message .sign {
  margin-top: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .layout_message .flex,
#business_message .flex,
#ir_message .flex,
#research_message .flex {
    flex-direction: column;
  }
  .layout_message .flex > *,
#business_message .flex > *,
#ir_message .flex > *,
#research_message .flex > * {
    width: 100%;
  }
  .layout_message .area_img,
#business_message .area_img,
#ir_message .area_img,
#research_message .area_img {
    max-width: 15rem;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_message .title,
#business_message .title,
#ir_message .title,
#research_message .title {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
  .layout_message .text,
#business_message .text,
#ir_message .text,
#research_message .text {
    line-height: 1.75;
  }
  .layout_message .img,
#business_message .img,
#ir_message .img,
#research_message .img {
    margin-bottom: 0.5rem;
  }
  .layout_message .post,
#business_message .post,
#ir_message .post,
#research_message .post {
    font-size: 0.75rem;
  }
  .layout_message .name,
#business_message .name,
#ir_message .name,
#research_message .name {
    font-size: 1.125rem;
  }
  .layout_message .sign,
#business_message .sign,
#ir_message .sign,
#research_message .sign {
    max-width: 5rem;
  }
}

/* 基本方針 */
#research_policy .section_philosophy {
  padding-top: 6.25rem;
  position: relative;
  z-index: 1;
}
#research_policy .section_philosophy::after {
  content: "";
  width: 100%;
  height: 75%;
  background: center/cover url("../img/child/research/policy/research_policy_philosophy_bg.jpg") no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#research_policy .section_philosophy .row_intro {
  margin-top: 7.5rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.5rem;
  font-size: 1.625rem;
  font-weight: 500;
}
#research_policy .section_philosophy .row_intro .text_img {
  height: 3.0125rem;
}
#research_policy .section_philosophy .row_intro .text_img img {
  width: auto;
  height: 100%;
}
#research_policy .section_philosophy .layout {
  max-width: 73.125rem;
  gap: 0.9375rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
  display: flex;
  font-size: 1.25rem;
  line-height: 2;
  text-align: center;
  color: var(--colorMain);
}
#research_policy .section_philosophy .layout > * {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  flex: 1;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.12);
}
#research_policy .section_philosophy .layout > *:nth-child(2) {
  z-index: 10;
}
#research_policy .section_guidelines .bg {
  border-radius: 3.75rem;
  background-color: #151A38;
  padding: 4rem 7.5rem;
}
#research_policy .section_guidelines .list {
  counter-reset: item;
  font-size: 1.25rem;
}
#research_policy .section_guidelines .list > * {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.75rem 0;
}
#research_policy .section_guidelines .list > *::before {
  counter-increment: item;
  content: counter(item);
  font-size: 0.9em;
  background-color: #fff;
  color: #151A38;
  width: 3rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  margin: -0.5em 0;
}
#research_policy .section_guidelines .list > *:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 768px) {
  #research_policy .section_philosophy {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }
  #research_policy .section_philosophy::after {
    height: 100%;
  }
  #research_policy .section_philosophy .row_intro {
    margin-top: 1.5rem;
    flex-direction: column;
    align-items: center;
    font-size: 1rem;
  }
  #research_policy .section_philosophy .row_intro .text_img {
    height: 1.75em;
  }
  #research_policy .section_philosophy .layout {
    margin-top: 2rem;
    align-items: center;
    flex-direction: column;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  #research_policy .section_philosophy .layout > * {
    width: 100%;
    max-width: 16.25rem;
    flex: 0 1 auto;
  }
  #research_policy .section_guidelines .bg {
    border-radius: 1.25rem;
    padding: 1.5rem var(--paddingLR);
  }
  #research_policy .section_guidelines .list {
    font-size: 0.875rem;
  }
  #research_policy .section_guidelines .list > * {
    padding: 0.75rem 0;
  }
  #research_policy .section_guidelines .list > *::before {
    width: 2em;
    font-size: 0.875em;
    margin: 0;
  }
}

/* 基幹技術 */
#research_core .section_figure {
  max-width: 78.75rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #research_core .section_figure figure {
    display: flex;
    justify-content: center;
  }
  #research_core .section_figure img {
    max-width: 30rem;
    width: 140%;
  }
}

/* 体制 */
#research_core,
#research_organization {
  background: center top/100% auto url("../img/child/research/organization/research_organization_bg.jpg");
  padding-bottom: var(--paddingSection);
}

#research_organization .layout {
  margin-top: 5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem 2.1875rem;
}
#research_organization .layout > * {
  width: 28.9375rem;
}
#research_organization .layout > *:not(:has(a)),
#research_organization .layout a {
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  text-align: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50%;
  position: relative;
}
#research_organization .layout a {
  text-decoration: none;
  z-index: 1;
}
#research_organization .layout a::after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
  border-radius: 50%;
  opacity: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  #research_organization .layout a::after {
    transition: opacity 0.5s;
  }
  #research_organization .layout a:hover {
    opacity: 1;
  }
  #research_organization .layout a:hover::after {
    opacity: 0.5;
  }
  #research_organization .layout a:hover .text_link::after {
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-animation-name: btn_01_white;
            animation-name: btn_01_white;
  }
}
#research_organization .layout .title {
  font-size: 1.5rem;
  margin-bottom: 2.5em;
}
#research_organization .layout .text {
  font-size: 0.875rem;
}
#research_organization .layout .text + .text {
  margin-top: 1.5em;
}
#research_organization .layout .text_link {
  font-size: 0.8125rem;
  margin-top: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  gap: 1rem;
}
#research_organization .layout .text_link::after {
  content: "";
  width: 2.1875em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow_circle-white.svg");
}
#research_organization .layout_organization {
  background-color: #fff;
  border-radius: 5px;
  margin-top: 1.875rem;
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  padding-bottom: var(--paddingSection);
  position: relative;
}
#research_organization .layout_organization .title_organization {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: 700;
  background-color: var(--colorMain);
  color: #fff;
  text-align: center;
  border-radius: 5px;
  width: calc(100% - var(--paddingLR) * 2);
  max-width: 43.75rem;
  min-height: 3.75rem;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%);
}
#research_organization .layout_organization .title_organization_sub {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  background-color: #D2D5EA;
  color: var(--colorMain);
  text-align: center;
  border-radius: 5px;
  width: calc(100% - var(--paddingLR) * 2);
  max-width: 21.875rem;
  min-height: 3.125rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
}
#research_organization .layout_organization .row {
  margin-top: 1.5rem;
  max-width: 72.5rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  gap: 1.5rem 3.125rem;
}
#research_organization .layout_organization .row > * {
  width: calc((100% - 3.125rem) / 2);
}
#research_organization .layout_organization .thumb {
  position: relative;
}
#research_organization .layout_organization .thumb img {
  border-radius: 5px;
}
#research_organization .layout_organization .label {
  width: 80%;
  max-width: 17.5rem;
  min-height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  background-color: #283266;
  color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
#research_organization .layout_organization .text {
  margin-top: 0.625rem;
}
#research_organization .layout_organization .btn_01 {
  margin-left: auto;
  margin-right: auto;
}
#research_organization .section_equipment .title_sub {
  font-size: 1.625rem;
  margin-bottom: 2.5rem;
}
#research_organization .section_equipment .title_sub:not(:first-child) {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  #research_organization .layout {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.5rem;
  }
  #research_organization .layout > * {
    width: 22.5rem;
    margin: 0 -1rem;
  }
  #research_organization .layout .title {
    font-size: 1.25rem;
    margin-bottom: 1.25em;
  }
  #research_organization .layout .text {
    font-size: 0.75rem;
    line-height: 1.75;
  }
  #research_organization .layout .text_link {
    margin-top: 1.5rem;
    font-size: 0.6875rem;
  }
  #research_organization .layout_organization {
    margin-top: 1.25rem;
  }
  #research_organization .layout_organization .title_organization {
    font-size: 1rem;
    min-height: 3.5rem;
  }
  #research_organization .layout_organization .title_organization_sub {
    font-size: 0.875rem;
    min-height: 2.5rem;
    margin-top: 2.5rem;
  }
  #research_organization .layout_organization .row {
    flex-direction: column;
    align-items: center;
  }
  #research_organization .layout_organization .row > * {
    width: 100%;
    max-width: 480px;
  }
  #research_organization .layout_organization .thumb {
    position: relative;
  }
  #research_organization .layout_organization .thumb img {
    border-radius: 5px;
  }
  #research_organization .layout_organization .label {
    min-height: 2.5rem;
    font-size: 0.875rem;
  }
  #research_organization .layout_organization .btn_01 {
    margin-top: 1rem;
  }
  #research_organization .section_equipment .title_sub {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
  }
  #research_organization .section_equipment .title_sub:not(:first-child) {
    margin-top: 2.5rem;
  }
}

/* 技術革新・融合 */
.layout_research_innovation {
  counter-reset: innovation;
}
.layout_research_innovation .number {
  font-size: 1.25rem;
  font-family: "oswald";
  color: var(--colorMain);
  margin-bottom: 5rem;
  padding-left: 1rem;
  position: relative;
}
.layout_research_innovation .number::after {
  counter-increment: innovation;
  content: counter(innovation, decimal-leading-zero);
  margin-left: 0.25em;
}
.layout_research_innovation .number::before {
  content: "";
  width: 0.625rem;
  height: 3px;
  border-radius: 6.25rem;
  background: linear-gradient(90deg, var(--colorSub) 50%, var(--colorMain) 50%);
  position: absolute;
  top: 0.8em;
  left: 0;
}
.layout_research_innovation .title {
  font-size: 1.875rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
.layout_research_innovation > * {
  display: flex;
  align-items: flex-start;
  gap: 1rem 6rem;
}
.layout_research_innovation > *:nth-child(even) .area_img {
  order: 1;
}
.layout_research_innovation > *:not(:last-child) {
  margin-bottom: 10rem;
}
.layout_research_innovation .area_img {
  width: 51.78572%;
  position: relative;
}
.layout_research_innovation .area_img .label {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  background-color: #fff;
  font-size: 0.9375rem;
  padding: 0.625rem 1rem;
  border-radius: 0.3125rem;
  line-height: 1;
  max-width: 100%;
}
.layout_research_innovation .area_img img {
  border-radius: 0.3125rem;
}
.layout_research_innovation .area_text {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .layout_research_innovation .number {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  .layout_research_innovation .title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  .layout_research_innovation > * {
    flex-direction: column;
  }
  .layout_research_innovation > *:nth-child(even) .area_img {
    order: -1;
  }
  .layout_research_innovation > *:not(:last-child) {
    margin-bottom: 5rem;
  }
  .layout_research_innovation .area_img {
    order: -1;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_research_innovation .area_img .label {
    font-size: 0.75rem;
  }
  .layout_research_innovation .area_text {
    flex: 0 1 auto;
    width: 100%;
  }
}

/*==========
サステナビリティ
==========*/
#sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .flex {
  margin-top: 3.125rem;
  display: flex;
  gap: 1.5rem 3.125rem;
}
#sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .flex > * {
  flex: 1;
}
#sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .area_text {
  margin-top: 3.125rem;
}
#sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .area_text .text {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  #sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .flex {
    flex-direction: column;
  }
  #sustainability:has(#sustainability_index, #sustainability_vision) #mv_child .area_text {
    margin-top: 0;
  }
}

/* サステナビリティ・ビジョン */
#sustainability_vision .section_intro .row_bg {
  background: center/cover url("../img/child/sustainability/vision/sustainability_vision_intro_bg.jpg") no-repeat;
  padding: 7.5rem 0;
  border-radius: 3.75rem;
  text-align: center;
}
#sustainability_vision .section_intro .row_bg .title {
  font-size: 1.875rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
#sustainability_vision .section_intro .row_bg iframe {
  display: block;
  aspect-ratio: 16/9;
  max-width: 100%;
  width: 40.625rem;
  height: auto;
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
#sustainability_vision .section_sdgs .figure_intro {
  margin-top: 5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#sustainability_vision .section_sdgs .layout_bg-gray {
  margin-top: calc(var(--paddingSection) * 0.5);
  padding-top: calc(var(--paddingSection) * 0.5);
}
#sustainability_vision .section_sdgs .layout_anchor_01 {
  margin-bottom: var(--paddingSection);
}
#sustainability_vision .section_sdgs [id^=anchor_] + [id^=anchor_] {
  margin-top: calc((var(--headerHeight) * -1) + 3.125rem);
}
#sustainability_vision .section_sdgs .layout_tile {
  min-height: 41.875rem;
}
#sustainability_vision .section_sdgs .layout_tile .row_title {
  display: flex;
  justify-content: space-between;
  gap: 0 1.5rem;
}
#sustainability_vision .section_sdgs .layout_tile .icon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
}
#sustainability_vision .section_sdgs .layout_tile .icon > * {
  width: 4.875rem;
}
#sustainability_vision .section_sdgs .layout_tile .row_body {
  margin-top: 5rem;
  display: flex;
  gap: 1.5rem 2rem;
}
#sustainability_vision .section_sdgs .layout_tile .row_body .area_text {
  flex: 1;
}
#sustainability_vision .section_sdgs .layout_tile .row_body .area_img {
  width: 33.142858%;
}
#sustainability_vision .section_sdgs .layout_tile .row_body .grid {
  display: grid;
  gap: 3.125rem 2rem;
  grid-template-columns: repeat(2, 1fr);
}
#sustainability_vision .section_sdgs .layout_tile .title {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 0.625rem;
}
#sustainability_vision .section_sdgs .layout_tile .label {
  font-weight: 500;
  background-color: var(--colorMain);
  color: #fff;
  padding: 0.125em 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.3125rem;
  margin-bottom: 0.625rem;
}
#sustainability_vision .section_sdgs .layout_tile .list {
  max-width: 42.1875rem;
  counter-reset: li;
  font-size: 0.9375rem;
  line-height: 2;
}
#sustainability_vision .section_sdgs .layout_tile .list > * {
  position: relative;
  padding-left: 2em;
}
#sustainability_vision .section_sdgs .layout_tile .list > *::before {
  counter-increment: li;
  content: counter(li);
  width: 1.5rem;
  aspect-ratio: 1/1;
  background-color: #BEBEBE;
  color: #fff;
  border-radius: 0.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0.25em;
  font-weight: 500;
  line-height: 0.1;
}
#sustainability_vision .section_sdgs .layout_tile .list > *:not(:first-child) {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  #sustainability_vision .section_intro .row_bg {
    padding: 2.5rem 0;
    border-radius: 1.25rem;
  }
  #sustainability_vision .section_intro .row_bg .title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  #sustainability_vision .section_intro .row_bg iframe {
    margin-top: 1.5rem;
  }
  #sustainability_vision .section_sdgs .figure_intro {
    margin-top: 2.5rem;
  }
  #sustainability_vision .section_sdgs [id^=anchor_] + [id^=anchor_] {
    margin-top: calc((var(--headerHeight) * -1) + 1.5rem);
  }
  #sustainability_vision .section_sdgs .layout_tile {
    min-height: auto;
  }
  #sustainability_vision .section_sdgs .layout_tile .row_title {
    flex-direction: column;
  }
  #sustainability_vision .section_sdgs .layout_tile .icon {
    justify-content: center;
  }
  #sustainability_vision .section_sdgs .layout_tile .icon > * {
    width: 4rem;
  }
  #sustainability_vision .section_sdgs .layout_tile .row_body {
    margin-top: 1.5rem;
    flex-direction: column;
  }
  #sustainability_vision .section_sdgs .layout_tile .row_body .area_text {
    flex: 0 1 auto;
    width: 100%;
  }
  #sustainability_vision .section_sdgs .layout_tile .row_body .area_img {
    width: 100%;
  }
  #sustainability_vision .section_sdgs .layout_tile .row_body .grid {
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }
  #sustainability_vision .section_sdgs .layout_tile .title {
    font-size: 1rem;
  }
  #sustainability_vision .section_sdgs .layout_tile .label {
    font-size: 0.875rem;
  }
  #sustainability_vision .section_sdgs .layout_tile .list {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  #sustainability_vision .section_sdgs .layout_tile .list > *::before {
    top: 0.125em;
  }
  #sustainability_vision .section_sdgs .layout_tile .area_img {
    max-width: 15rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* リサイクル素材の国際認証（GRS認証/RCS認証） */
#sustainability_grs .section_grs .area_img,
#sustainability_grs .section_rcs .area_img {
  width: 80%;
  max-width: 33.375rem;
  margin-left: auto;
  margin-right: auto;
}
#sustainability_grs .section_grs .area_img:not(:first-child),
#sustainability_grs .section_rcs .area_img:not(:first-child) {
  margin-top: 3.125rem;
}
#sustainability_grs .section_grs .area_img:not(:last-child),
#sustainability_grs .section_rcs .area_img:not(:last-child) {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  #sustainability_grs .section_grs .area_img,
#sustainability_grs .section_rcs .area_img {
    max-width: 20rem;
  }
  #sustainability_grs .section_grs .area_img:not(:first-child),
#sustainability_grs .section_rcs .area_img:not(:first-child) {
    margin-top: 1.5rem;
  }
  #sustainability_grs .section_grs .area_img:not(:last-child),
#sustainability_grs .section_rcs .area_img:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

/* 社会貢献活動 */
#sustainability_social .list > * {
  display: flex;
  gap: 1rem 3.125rem;
}
#sustainability_social .list > *:not(:last-child) {
  margin-bottom: 7.5rem;
}
#sustainability_social .list .area_text {
  flex: 1;
}
#sustainability_social .list .area_text .text {
  max-width: 38.625rem;
}
#sustainability_social .list .area_img {
  width: 44.4286%;
}
#sustainability_social .list .area_img img {
  border-radius: 0.3125rem;
}
@media screen and (max-width: 768px) {
  #sustainability_social .list > * {
    flex-direction: column;
  }
  #sustainability_social .list > *:not(:last-child) {
    margin-bottom: 5rem;
  }
  #sustainability_social .list .area_img {
    width: 100%;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 2030年に向けた環境目標 */
#sustainability_goal .section_intro .img_intro {
  max-width: 37.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.125rem;
}
#sustainability_goal .section_intro table thead th {
  border-color: #fff;
}
#sustainability_goal .section_intro table thead tr:nth-child(2) th {
  background-color: rgba(40, 50, 102, 0.8);
}
#sustainability_goal .section_intro table tbody th {
  background-color: #EDEEF4;
  color: var(--colorFont);
}
#sustainability_goal .section_figure .sp_table + .title_main, #sustainability_goal .section_figure .sp_table + .label,
#sustainability_goal .section_figure figure + .title_main,
#sustainability_goal .section_figure figure + .label {
  margin-top: 6.25rem;
}
#sustainability_goal .section_figure .sp_table + .title_sub,
#sustainability_goal .section_figure figure + .title_sub {
  margin-top: 2rem;
}
#sustainability_goal .section_figure .title_main {
  font-size: 1.5625rem;
  font-weight: 500;
  color: var(--colorMain);
  background-color: #ECEDF5;
  border-radius: 1.25rem 1.25rem 0 0;
  padding: 0.75em 1em;
  text-align: center;
  margin-bottom: 0.625rem;
}
#sustainability_goal .section_figure .title_main + .label:not(:first-child) {
  margin-top: 0.625rem;
}
#sustainability_goal .section_figure .label {
  background-color: var(--colorMain);
  color: #fff;
  font-size: 1.25rem;
  border-radius: 2px;
  padding: 0.5em 1em;
  text-align: center;
  margin-bottom: 1.25rem;
}
#sustainability_goal .section_figure .label .text_red {
  color: #F58D93;
}
#sustainability_goal .section_figure .title_sub {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
#sustainability_goal .section_figure figure {
  max-width: 72.75rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #sustainability_goal .section_figure .sp_table + .title_main, #sustainability_goal .section_figure .sp_table + .label,
#sustainability_goal .section_figure figure + .title_main,
#sustainability_goal .section_figure figure + .label {
    margin-top: 2.5rem;
  }
  #sustainability_goal .section_figure .title_main {
    font-size: 1.125rem;
  }
  #sustainability_goal .section_figure .label {
    font-size: 1rem;
  }
  #sustainability_goal .section_figure .title_sub {
    font-size: 0.875rem;
    margin-bottom: 1rem;
  }
}

/* 2030年に向けた環境目標 */
#sustainability_pasteffort table thead {
  font-weight: 700;
}
#sustainability_pasteffort table thead tr:nth-child(2) th {
  background-color: rgba(40, 50, 102, 0.8);
}
#sustainability_pasteffort table thead tr:nth-child(2) th.bg_lightblue {
  background-color: #F4F8F9;
  color: var(--colorMain);
  border-color: var(--colorMain);
}
#sustainability_pasteffort table tbody {
  font-weight: 700;
}
#sustainability_pasteffort table tbody th {
  background-color: #F4F8F9;
  text-align: center;
}
#sustainability_pasteffort table tbody td {
  text-align: center;
}
#sustainability_pasteffort table .text_left {
  text-align: left;
}
#sustainability_pasteffort table .text_red {
  color: #CB333B;
}

/* 安全への取り組み */
/* 品質管理への取り組み */
#sustainability_safety .section_organization .bg,
#sustainability_quality .section_organization .bg {
  background-color: #F4F8F9;
  border-radius: 5px;
  padding: 2.5rem;
}
#sustainability_safety .section_organization .bg .flex,
#sustainability_quality .section_organization .bg .flex {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem 3.125rem;
}
#sustainability_safety .section_organization .bg .flex figure,
#sustainability_quality .section_organization .bg .flex figure {
  max-width: 38.4375rem;
}
#sustainability_safety .section_organization .bg .title,
#sustainability_quality .section_organization .bg .title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--colorMain);
  margin-bottom: 1.5rem;
}
#sustainability_safety .section_organization .bg .text_aside,
#sustainability_quality .section_organization .bg .text_aside {
  margin-top: 4rem;
}
#sustainability_safety .layout_intro,
#sustainability_quality .layout_intro {
  display: flex;
  gap: 1.5rem;
}
#sustainability_safety .layout_intro .area_text,
#sustainability_quality .layout_intro .area_text {
  flex: 1;
}
#sustainability_safety .layout_intro .area_img,
#sustainability_quality .layout_intro .area_img {
  width: 44.4286%;
}
#sustainability_safety .layout_intro .area_img img,
#sustainability_quality .layout_intro .area_img img {
  border-radius: 0.3125rem;
}
#sustainability_safety .layout_title,
#sustainability_quality .layout_title {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#sustainability_safety .layout_title > *,
#sustainability_quality .layout_title > * {
  flex: 1;
}
#sustainability_safety .layout_title .area_img img,
#sustainability_quality .layout_title .area_img img {
  border-radius: 0.3125rem;
}
#sustainability_safety .layout_img,
#sustainability_quality .layout_img {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 3.125rem;
}
#sustainability_safety .layout_img.col_04,
#sustainability_quality .layout_img.col_04 {
  grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
  gap: 3.125rem 2.5rem;
}
#sustainability_safety .layout_img:not(:first-child),
#sustainability_quality .layout_img:not(:first-child) {
  margin-top: 3.5rem;
}
#sustainability_safety .layout_img figure img,
#sustainability_quality .layout_img figure img {
  border-radius: 0.3125rem;
}
@media screen and (max-width: 768px) {
  #sustainability_safety .section_organization .bg,
#sustainability_quality .section_organization .bg {
    padding: var(--paddingLR);
  }
  #sustainability_safety .section_organization .bg .flex,
#sustainability_quality .section_organization .bg .flex {
    flex-direction: column;
  }
  #sustainability_safety .section_organization .bg .title,
#sustainability_quality .section_organization .bg .title {
    font-size: 1rem;
  }
  #sustainability_safety .section_organization .bg .text_aside,
#sustainability_quality .section_organization .bg .text_aside {
    margin-top: 1.5rem;
  }
  #sustainability_safety .layout_intro,
#sustainability_quality .layout_intro {
    flex-direction: column;
  }
  #sustainability_safety .layout_intro .area_text,
#sustainability_quality .layout_intro .area_text {
    flex: 0 1 auto;
  }
  #sustainability_safety .layout_intro .area_img,
#sustainability_quality .layout_intro .area_img {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  #sustainability_safety .layout_title,
#sustainability_quality .layout_title {
    flex-direction: column;
  }
  #sustainability_safety .layout_title > *,
#sustainability_quality .layout_title > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #sustainability_safety .layout_title .area_img,
#sustainability_quality .layout_title .area_img {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  #sustainability_safety .layout_img,
#sustainability_quality .layout_img {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.5rem var(--paddingLR);
  }
  #sustainability_safety .layout_img.col_04,
#sustainability_quality .layout_img.col_04 {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.5rem var(--paddingLR);
  }
  #sustainability_safety .layout_img:not(:first-child),
#sustainability_quality .layout_img:not(:first-child) {
    margin-top: 1.5rem;
  }
}

/*==========
投資家情報
==========*/
#mv_ir {
  background: center/cover url("../img/child/ir/ir_mv.jpg") no-repeat;
  position: relative;
  min-height: calc(var(--mvPhotoHeight) - var(--headerHeight));
  padding: 4rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#mv_ir .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 2.8125rem;
}
#mv_ir .area_text {
  flex: 1;
}
#mv_ir .area_ir_info {
  width: 45%;
}
#mv_ir .title_main {
  font-size: 3.125rem;
  color: var(--colorMain);
  line-height: 1;
  padding-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
  position: relative;
}
#mv_ir .title_main::before {
  content: attr(data-en);
  font-size: 1.4em;
  font-family: "oswald";
  display: block;
  line-height: 1;
}
#mv_ir .title_main::after {
  content: "";
  width: 2.5rem;
  height: 4px;
  border-radius: 6.25rem;
  background: linear-gradient(90deg, var(--colorSub) 50%, var(--colorMain) 50%);
  position: absolute;
  top: 0;
  left: 0;
}
#mv_ir .title_01 {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  #mv_ir {
    background-image: url("../img/child/ir/ir_mv-sp.jpg");
    padding: 2.5rem 0;
  }
  #mv_ir .flex {
    flex: 1;
    flex-direction: column;
  }
  #mv_ir .area_text {
    margin-top: 2.5rem;
    flex: 0 1 auto;
    width: 100%;
  }
  #mv_ir .area_ir_info {
    width: 100%;
    max-width: 21.5625rem;
    margin-top: auto;
  }
  #mv_ir .title_main {
    font-size: 1.5rem;
  }
  #mv_ir .title_01 {
    font-size: 0.875rem;
  }
}

#ir:has(#ir_footer) {
  padding-bottom: 0;
}

#ir_footer {
  background-color: #F8F8F8;
  margin-top: var(--paddingSection);
  padding: var(--paddingSection) 0;
}
#ir_footer .ir_footer_title {
  font-size: 1.5625rem;
  font-weight: 500;
}
#ir_footer .ir_footer_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 2.5rem 3.125rem;
  margin-top: 2.5rem;
}
#ir_footer .ir_footer_title_sub:not(:has(a)),
#ir_footer .ir_footer_title_sub a {
  text-decoration: none;
  font-size: 1.25rem;
  background-color: var(--colorMain);
  color: #fff;
  border-radius: 6.25rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.75rem;
  margin-bottom: 1.5rem;
}
#ir_footer .ir_footer_menu {
  font-size: 0.9375rem;
}
#ir_footer .ir_footer_menu > *:not(:first-child) {
  margin-top: 0.75em;
}
#ir_footer .ir_footer_menu > *:not(:has(a)),
#ir_footer .ir_footer_menu a {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}
#ir_footer .ir_footer_menu > *:not(:has(a))::before,
#ir_footer .ir_footer_menu a::before {
  content: "";
  width: 0.75em;
  height: 3px;
  border-radius: 6.25rem;
  background-color: var(--colorMain);
  display: block;
  margin-top: 0.75em;
  transform: translateY(-50%);
}
#ir_footer .ir_footer_menu a {
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  #ir_footer .ir_footer_title {
    font-size: 1.25rem;
  }
  #ir_footer .ir_footer_grid {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 1.5rem 1rem;
    margin-top: 1.5rem;
  }
  #ir_footer .ir_footer_title_sub:not(:has(a)),
#ir_footer .ir_footer_title_sub a {
    font-size: 1rem;
    height: 3rem;
    margin-bottom: 1rem;
  }
  #ir_footer .ir_footer_menu {
    font-size: 0.875rem;
  }
  #ir_footer .ir_footer_menu > *:not(:has(a))::before,
#ir_footer .ir_footer_menu a::before {
    width: 0.5em;
    height: 2px;
  }
}

.layout_ir_document .row {
  background: #fff;
  filter: drop-shadow(0 0 1.5625rem rgba(0, 0, 0, 0.08));
  border-radius: 1.25rem;
}
.layout_ir_document .row + .row {
  margin-top: 2.5rem;
}
.layout_ir_document .btn {
  border: 1px solid #DBDBDB;
  border-radius: 50%;
  width: 2.1875rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.layout_ir_document .btn::before, .layout_ir_document .btn::after {
  content: "";
  width: 35%;
  height: 1px;
  background-color: #707070;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.5s;
}
.layout_ir_document .btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.layout_ir_document .js_accordion-btn {
  padding: 2.5rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.layout_ir_document .js_accordion-btn .title_02 {
  margin-bottom: 0;
}
.layout_ir_document .js_accordion-btn.is-active .btn::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.layout_ir_document .js_accordion-contents {
  padding: 1.5rem 4rem 4rem;
}
.layout_ir_document .area_btn {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.layout_ir_document .area_btn .btn_03 {
  width: calc((100% - 3rem) / 3);
}
@media screen and (max-width: 768px) {
  .layout_ir_document .row {
    border-radius: 0.625rem;
  }
  .layout_ir_document .row + .row {
    margin-top: 1.5rem;
  }
  .layout_ir_document .btn {
    width: 1.5rem;
  }
  .layout_ir_document .js_accordion-btn {
    padding: 1.5rem var(--paddingLR);
  }
  .layout_ir_document .js_accordion-contents {
    padding: 1rem var(--paddingLR) 2.5rem;
  }
  .layout_ir_document .area_btn {
    gap: 1.5rem var(--paddingLR);
    justify-content: center;
  }
  .layout_ir_document .area_btn .btn_03 {
    width: 100%;
  }
}

/* IRトップページ */
#ir_index .section_pickup .bg {
  background-color: #F4F8F9;
  border-radius: 0.3125rem;
  padding: 2.8125rem;
}
#ir_index .section_pickup .list {
  font-weight: 500;
}
#ir_index .section_pickup .list > *:not(:first-child) {
  margin-top: 1em;
}
#ir_index .section_pickup .list > *:not(:has(a)), #ir_index .section_pickup .list > * a {
  display: block;
  position: relative;
  padding-left: 1em;
}
#ir_index .section_pickup .list > *:not(:has(a))::before, #ir_index .section_pickup .list > * a::before {
  content: "・";
  position: absolute;
  left: 0;
}
#ir_index .section_pickup .list a {
  color: inherit;
  text-decoration: none;
}
#ir_index .section_menu {
  margin-top: 5rem;
}
#ir_index .section_menu .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
  gap: 1.5rem 2.1875rem;
}
#ir_index .section_menu .list .area_img {
  border-radius: 2px;
  overflow: hidden;
}
#ir_index .section_menu .list .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#ir_index .section_menu .list .area_text {
  margin-top: 0.75rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#ir_index .section_menu .list .area_text::after {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow.svg") no-repeat;
  margin-right: 0.5em;
}
#ir_index .section_menu .list .title {
  font-size: 1.125rem;
  font-weight: 500;
}
#ir_index .section_menu .list a {
  color: var(--colorMain);
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  #ir_index .section_menu .list a .area_img img {
    transition: transform 0.5s;
  }
  #ir_index .section_menu .list a:hover {
    opacity: 1;
  }
  #ir_index .section_menu .list a:hover .area_img img {
    transform: scale(1.05);
  }
}
#ir_index .section_news {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#ir_index .section_news > * {
  flex: 1;
  border-radius: 1.25rem;
  box-shadow: 0 0 1.5625rem rgba(0, 0, 0, 0.08);
  padding: 4rem 3.125rem;
  display: flex;
  flex-direction: column;
}
#ir_index .section_news .title_02 {
  padding-bottom: 0.25em;
  border-bottom: 1px solid rgba(112, 112, 112, 0.25);
}
#ir_index .section_news form {
  margin-top: auto;
}
#ir_index .section_news .btn_02 {
  margin-top: auto;
  margin-left: auto;
  margin-right: auto;
}
#ir_index .section_news .list {
  margin-bottom: 4rem;
}
#ir_index .section_news .list a {
  color: inherit;
  text-decoration: none;
}
#ir_index .section_news .area_document .list > *:not(:first-child) {
  margin-top: 1.5em;
}
#ir_index .section_news .area_news .list {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  font-weight: 500;
}
#ir_index .section_news .area_news .list dt {
  padding-right: 1em;
  color: var(--colorMain);
}
#ir_index .section_news .area_news .list dt:not(:first-of-type), #ir_index .section_news .area_news .list dd:not(:first-of-type) {
  margin-top: 1.5em;
}
#ir_index .section_banner .banner {
  border-radius: 1.25rem;
  box-shadow: 0 0 1.5625rem rgba(0, 0, 0, 0.08);
  padding: 3.125rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 3.125rem;
  position: relative;
  overflow: hidden;
}
#ir_index .section_banner .banner .area_text {
  padding-left: 3.75rem;
  color: var(--colorMain);
}
#ir_index .section_banner .banner .title_sub {
  font-size: 0.9375rem;
  font-weight: 500;
}
#ir_index .section_banner .banner .title {
  font-size: 2.1875rem;
  font-weight: 500;
}
#ir_index .section_banner .banner .area_img {
  width: 29.6924%;
  max-width: 24.125rem;
  border-radius: 0.3125rem;
  overflow: hidden;
}
#ir_index .section_banner .banner .area_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#ir_index .section_banner .banner .area_deco {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#ir_index .section_banner .banner .area_deco img {
  margin-left: auto;
  margin-right: auto;
}
#ir_index .section_banner .banner + .banner {
  margin-top: 2.5rem;
}
@media screen and (min-width: 769px) {
  #ir_index .section_banner .banner .area_img img {
    transition: transform 0.5s;
  }
  #ir_index .section_banner .banner:hover .area_img img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 768px) {
  #ir_index .section_pickup .bg {
    padding: var(--paddingLR);
  }
  #ir_index .section_menu {
    margin-top: 2.5rem;
  }
  #ir_index .section_menu .list {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
    gap: 1.5rem;
  }
  #ir_index .section_menu .list .title {
    font-size: 1rem;
  }
  #ir_index .section_news {
    flex-direction: column;
  }
  #ir_index .section_news > * {
    flex: 0 1 auto;
    border-radius: 0.625rem;
    padding: var(--paddingLR);
  }
  #ir_index .section_news .list {
    margin-bottom: 1.5rem;
  }
  #ir_index .section_news .area_document .list > *:not(:first-child) {
    margin-top: 1em;
  }
  #ir_index .section_news .area_news .list dt:not(:first-of-type), #ir_index .section_news .area_news .list dd:not(:first-of-type) {
    margin-top: 1em;
  }
  #ir_index .section_banner .banner {
    border-radius: 0.625rem;
    padding: var(--paddingLR);
    flex-direction: column;
  }
  #ir_index .section_banner .banner .area_text {
    padding-left: 0;
    margin-right: auto;
  }
  #ir_index .section_banner .banner .title_sub {
    font-size: 0.875rem;
  }
  #ir_index .section_banner .banner .title {
    font-size: 1.25rem;
  }
  #ir_index .section_banner .banner .area_img {
    width: 80%;
    max-width: 20rem;
  }
}

#ir_news_archive .row_year {
  margin-bottom: 2.5rem;
}
#ir_news_archive #select_year {
  cursor: pointer;
  font: inherit;
  display: block;
  background-color: transparent;
  padding: 0.75em 2em 0.75em 1em;
  border: 1px solid #DDDDDD;
  border-radius: 0.375rem;
  color: var(--headerFontColor);
  line-height: 1;
  font-size: 0.875rem;
}
#ir_news_archive #select_year option {
  color: #000;
}
#ir_news_archive #select_year:focus {
  outline: none;
}

/* 中期経営計画 */
#ir_midterm-management {
  background-color: #F4F8F9;
  padding-bottom: var(--paddingSection);
  margin-bottom: calc(var(--paddingSection) * -1);
}
#ir_midterm-management div[class^=row_] + div[class^=row_] {
  margin-top: 6.25rem;
}
#ir_midterm-management .img img {
  border-radius: 0.3125rem;
}
#ir_midterm-management .img .caption {
  font-size: 0.8125rem;
  margin-top: 0.25rem;
}
#ir_midterm-management .layout_flex {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#ir_midterm-management .layout_flex > * {
  width: 50%;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management div[class^=row_] + div[class^=row_] {
    margin-top: 2.5rem;
  }
  #ir_midterm-management .layout_flex {
    flex-direction: column;
  }
  #ir_midterm-management .layout_flex > * {
    width: 100%;
  }
}
#ir_midterm-management .section_about {
  padding-bottom: var(--paddingSection);
  background-color: #fff;
}
#ir_midterm-management .section_about .area_text .text {
  max-width: 38.625rem;
}
#ir_midterm-management .section_about .area_arrow .white, #ir_midterm-management .section_about .area_arrow .blue {
  border: 1px solid var(--colorMain);
  padding: 2.5rem;
  display: flex;
  min-height: 10.9375rem;
  border-radius: 2px;
}
#ir_midterm-management .section_about .area_arrow > *:not(:last-child) {
  margin-bottom: 1.375rem;
  position: relative;
}
#ir_midterm-management .section_about .area_arrow > *:not(:last-child)::after {
  content: "";
  width: 9.1875rem;
  aspect-ratio: 147/49;
  background: linear-gradient(0deg, #cb333b 0%, rgba(203, 51, 59, 0.95) 44.33%, rgba(203, 51, 59, 0) 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: calc(1.375rem / 2 * -1);
  transform: translate(-50%, 50%);
}
#ir_midterm-management .section_about .area_arrow .white .col_text {
  line-height: 1.75;
}
#ir_midterm-management .section_about .area_arrow .blue {
  background-color: var(--colorMain);
  color: #fff;
  box-shadow: 0 0 1.5625rem rgba(0, 0, 0, 0.31);
}
#ir_midterm-management .section_about .area_arrow .blue .col_title {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
#ir_midterm-management .section_about .area_arrow .col_title {
  width: 45%;
  padding: 0 2.5rem;
  border-right: 1px solid var(--colorMain);
  margin-right: 3.125rem;
  font-size: 1.125rem;
  color: var(--colorMain);
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#ir_midterm-management .section_about .area_arrow .col_text {
  flex: 1;
  font-size: 0.9375rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_about .area_arrow .white, #ir_midterm-management .section_about .area_arrow .blue {
    padding: var(--paddingLR);
    min-height: auto;
    flex-direction: column;
  }
  #ir_midterm-management .section_about .area_arrow .col_title {
    width: 100%;
    padding: 0 0 0.5rem;
    border-right: none;
    border-bottom: 1px solid var(--colorMain);
    margin-right: 0;
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }
  #ir_midterm-management .section_about .area_arrow .col_text {
    flex: 0 1 auto;
    font-size: 0.875rem;
  }
}
#ir_midterm-management .section_slogan {
  background: center/cover url("../img/child/ir/policy/midterm-manegement/ir_midterm-management_slogan_bg.jpg") no-repeat;
  position: relative;
}
#ir_midterm-management .section_slogan .title_main {
  font-size: 1.875rem;
  font-weight: 500;
  padding-top: 1.5rem;
  margin-bottom: 6.25rem;
  position: relative;
}
#ir_midterm-management .section_slogan .title_main::before {
  content: "";
  width: 2.5rem;
  height: 4px;
  border-radius: 6.25rem;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
#ir_midterm-management .section_slogan .text_img {
  height: 5.875rem;
}
#ir_midterm-management .section_slogan .text_img img {
  width: auto;
  height: 100%;
}
#ir_midterm-management .section_slogan .title_sub {
  font-size: 1.875rem;
}
#ir_midterm-management .section_slogan .row_text {
  margin-top: 8.125rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
#ir_midterm-management .section_slogan .row_deco {
  width: 100vw;
  position: absolute;
  z-index: 1;
  pointer-events: none;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, calc(var(--paddingSection) + 50%));
}
#ir_midterm-management .section_slogan .row_deco img {
  margin-left: auto;
  margin-right: auto;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_slogan .text_img {
    max-width: 20rem;
  }
  #ir_midterm-management .section_slogan .title_main {
    font-size: 1.375rem;
    padding-top: 1rem;
    margin-bottom: 1.5rem;
  }
  #ir_midterm-management .section_slogan .title_main::before {
    height: 2px;
  }
  #ir_midterm-management .section_slogan .title_sub {
    font-size: 1.25rem;
  }
}
#ir_midterm-management .section_goal .fx_stretch {
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
          clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  transition: -webkit-clip-path 1s 0.5s ease-out;
  transition: clip-path 1s 0.5s ease-out;
  transition: clip-path 1s 0.5s ease-out, -webkit-clip-path 1s 0.5s ease-out;
}
#ir_midterm-management .section_goal .trigger .fx_stretch {
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
}
#ir_midterm-management .section_goal .row_figure {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20.625rem, 1fr));
  gap: 3.125rem;
}
#ir_midterm-management .section_goal .row_figure svg,
#ir_midterm-management .section_goal .row_figure img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#ir_midterm-management .section_goal .row_strong .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_goal .row_strong .area_figure img {
  margin-left: auto;
  margin-right: auto;
}
#ir_midterm-management .section_goal .row_lead .area_text {
  background-color: #fff;
  border-radius: 0.3125rem;
  padding: 2rem 3.125rem;
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}
#ir_midterm-management .section_goal .row_lead .area_text .label {
  background-color: #A2A2A2;
  border-radius: 2px;
  color: #fff;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 4.5rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#ir_midterm-management .section_goal .row_lead .area_text .label.blue {
  background-color: var(--colorMain);
}
#ir_midterm-management .section_goal .row_lead .area_img {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_goal .row_lead .area_text {
    padding: var(--paddingLR);
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
  #ir_midterm-management .section_goal .row_lead .area_img {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
}
#ir_midterm-management .section_sustainable .row_thumb {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1.5rem 3.125rem;
}
#ir_midterm-management .section_sustainable .row_thumb .label {
  background-color: var(--colorMain);
  color: #fff;
  border-radius: 0.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.75rem;
  font-size: 1.125rem;
  margin-bottom: 0.375rem;
}
#ir_midterm-management .section_sustainable .row_thumb .label .big {
  font-size: 1.222222em;
  font-weight: 700;
  text-decoration: underline;
}
#ir_midterm-management .section_sustainable .row_figure .text,
#ir_midterm-management .section_sustainable .row_figure .text_aside {
  margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_sustainable .row_thumb {
    grid-template-columns: 1fr;
  }
  #ir_midterm-management .section_sustainable .row_thumb > * {
    max-width: 20rem;
    margin-left: auto;
    margin-right: auto;
  }
  #ir_midterm-management .section_sustainable .row_thumb .label {
    height: 3rem;
    font-size: 0.875rem;
  }
}
#ir_midterm-management .section_promotion .row_reach .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_promotion .row_reach .area_figure {
  margin-top: -2.5rem;
}
#ir_midterm-management .section_promotion .row_reach + .row_thumb {
  margin-top: 3.125rem;
}
#ir_midterm-management .section_promotion .row_to_b .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_promotion .row_thumb {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
  gap: 1rem 2.5rem;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_promotion .row_reach .area_figure {
    margin-top: 0;
  }
  #ir_midterm-management .section_promotion .row_thumb {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
}
#ir_midterm-management .section_engagement .row_task .list {
  counter-reset: label;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1.5rem 3.125rem;
}
#ir_midterm-management .section_engagement .row_task .list .label {
  background-color: var(--colorMain);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1.25rem;
  font-weight: 500;
  height: 3.875rem;
  border-radius: 6.25rem;
  margin-bottom: 0.75rem;
}
#ir_midterm-management .section_engagement .row_task .list .label::before {
  counter-increment: label;
  content: counter(label);
  background-color: #fff;
  width: 2.875rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6.25rem;
  color: var(--colorMain);
  font-size: 0.9em;
  font-weight: 500;
  margin-left: 0.5rem;
}
#ir_midterm-management .section_engagement .row_metric table thead th {
  text-align: center;
}
#ir_midterm-management .section_engagement .row_metric table tbody {
  font-weight: 700;
}
#ir_midterm-management .section_engagement .row_metric table tbody td:nth-child(1) {
  color: var(--colorMain);
}
#ir_midterm-management .section_engagement .row_metric table tbody td:nth-child(2) {
  text-align: center;
}
#ir_midterm-management .section_engagement .row_metric table tbody td:nth-child(3) {
  color: #4856A2;
  text-align: center;
  font-size: 1.0625rem;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_engagement .row_task .list {
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
  #ir_midterm-management .section_engagement .row_task .list .label {
    font-size: 1rem;
    height: 3rem;
  }
  #ir_midterm-management .section_engagement .row_task .list .label::before {
    width: 2rem;
  }
  #ir_midterm-management .section_engagement .row_metric table thead th {
    text-align: center;
  }
  #ir_midterm-management .section_engagement .row_metric table tbody td:nth-child(3) {
    font-size: 1rem;
  }
}
#ir_midterm-management .section_benefits .row_working .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_benefits .row_working .area_img {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1.5rem 3.125rem;
}
#ir_midterm-management .section_benefits .row_dx .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_benefits .row_dx .list {
  margin-top: 1.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  counter-reset: number;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1rem 3.125rem;
}
#ir_midterm-management .section_benefits .row_dx .list > * {
  background-color: var(--colorMain);
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  height: 6.625rem;
  border-radius: 6.25rem;
  margin-bottom: 0.75rem;
}
#ir_midterm-management .section_benefits .row_dx .list > *::before {
  counter-increment: number;
  content: counter(number);
  background-color: #fff;
  width: 4.5rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6.25rem;
  color: var(--colorMain);
  font-size: 0.9em;
  font-weight: 500;
  margin-left: 1.125rem;
}
@media screen and (max-width: 768px) {
  #ir_midterm-management .section_benefits .row_working .area_img {
    margin-top: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
  #ir_midterm-management .section_benefits .row_dx .list {
    font-size: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  }
  #ir_midterm-management .section_benefits .row_dx .list > * {
    height: 4rem;
  }
  #ir_midterm-management .section_benefits .row_dx .list > *::before {
    width: 3rem;
    margin-left: 0.5rem;
  }
}
#ir_midterm-management .section_cash .row_balance .text {
  margin-left: 1.5rem;
}
#ir_midterm-management .section_cash .row_balance .area_figure {
  margin-top: 1.5rem;
}

/* コーポレート・ガバナンス */
#ir_governance .section_matrix thead th {
  line-height: 1.25;
  text-align: center;
}
#ir_governance .section_matrix tbody th {
  text-align: center;
}
#ir_governance .section_matrix .circle {
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: var(--colorMain);
  display: block;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
}

/* IRイベント・カレンダー */
#ir_calendar .title_02:not(:first-child) {
  margin-top: var(--paddingSection);
}
#ir_calendar .title_sub {
  font-size: 1.625rem;
  margin-bottom: 2rem;
}
#ir_calendar .title_sub:not(:first-child) {
  margin-top: 3.5rem;
}
#ir_calendar .wp-block-buttons,
#ir_calendar .row_btn {
  width: 100%;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
#ir_calendar .wp-block-buttons .wp-block-button,
#ir_calendar .row_btn .wp-block-button {
  width: 26.25rem;
}
#ir_calendar .wp-block-buttons .wp-block-button:not(:first-child),
#ir_calendar .row_btn .wp-block-button:not(:first-child) {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #ir_calendar .title_sub {
    font-size: 1.25rem;
  }
}

/* 中期経営計画書 */
#ir_midterm .row_btn {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

/* 基本情報 */
#ir_basic .title_sub {
  font-size: 1.625rem;
  margin-bottom: 2.5rem;
}
#ir_basic .title_sub:not(:first-child) {
  margin-top: 3.5rem;
}
#ir_basic .section_basic .flex {
  display: flex;
  gap: 1.5rem 3.125rem;
}
#ir_basic .section_basic .flex > * {
  width: 50%;
}
#ir_basic .section_basic th {
  text-align: center;
  width: 41.29794%;
}
#ir_basic .section_basic td {
  font-weight: 700;
}
#ir_basic .section_basic .text_aside {
  font-weight: 400;
}
#ir_basic .section_status figure {
  max-width: 55.125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #ir_basic .title_sub {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  #ir_basic .title_sub:not(:first-child) {
    margin-top: 2rem;
  }
  #ir_basic .text.mt_40 {
    margin-top: 1rem;
  }
  #ir_basic .section_basic .flex {
    flex-direction: column;
  }
  #ir_basic .section_basic .flex > * {
    width: 100%;
  }
}

/* 配当・株主還元 */
#ir_dividend .section_dividend table tbody th {
  text-align: center;
}
#ir_dividend .section_dividend table tbody td {
  text-align: right;
}

/* よくあるご質問 */
#ir_faq .layout_ir_document .question {
  font-size: 1.625rem;
  padding-left: 2.625rem;
  position: relative;
}
#ir_faq .layout_ir_document .question::before {
  content: "Q.";
  position: absolute;
  left: 0;
}
#ir_faq .layout_ir_document .answer {
  padding-left: 2.625rem;
  padding-top: 0.5em;
  position: relative;
}
#ir_faq .layout_ir_document .answer::before {
  content: "A.";
  color: #CB333B;
  font-size: 1.625rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  #ir_faq .layout_ir_document .question {
    font-size: 1rem;
    padding-left: 1.5rem;
  }
  #ir_faq .layout_ir_document .answer {
    padding-left: 1.5rem;
    padding-top: 0;
  }
  #ir_faq .layout_ir_document .answer::before {
    font-size: 1rem;
  }
}

/* 個人投資家の皆さまへ */
#ir_individual .padding_section + .padding_section {
  padding-top: 0;
}
#ir_individual .row_btn {
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  #ir_individual .row_btn {
    margin-top: 1.5rem;
  }
}
#ir_individual .section_intro .layout_figure_business .figure_text {
  font-size: 1rem;
}
#ir_individual .section_intro .row_title {
  position: relative;
  padding-bottom: 7.5rem;
}
#ir_individual .section_intro .title_main {
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
  color: var(--colorMain);
}
#ir_individual .section_intro .area_deco {
  width: 100vw;
  position: absolute;
  z-index: 1;
  pointer-events: none;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
}
#ir_individual .section_intro .area_deco img {
  margin-left: auto;
  margin-right: auto;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
}
#ir_individual .section_intro .row_bg {
  background: center/cover url("../img/child/ir/individual/ir_individual_intro_bg.jpg") no-repeat var(--colorMain);
  border-radius: 3.75rem;
  padding: 4rem 0;
}
#ir_individual .section_intro .row_bg .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 3.125rem;
}
#ir_individual .section_intro .row_bg .area_text {
  flex: 1;
  max-width: 30.25rem;
}
#ir_individual .section_intro .row_bg .area_img {
  width: 57%;
}
@media screen and (max-width: 768px) {
  #ir_individual .section_intro .layout_figure_business .figure_text {
    font-size: min(2.513334vw, 9.425px);
  }
  #ir_individual .section_intro .row_title {
    padding-bottom: 2rem;
  }
  #ir_individual .section_intro .title_main {
    font-size: 1.5rem;
  }
  #ir_individual .section_intro .area_deco {
    bottom: 0;
  }
  #ir_individual .section_intro .row_bg {
    border-radius: 1.25rem;
    padding: 1.5rem 0;
  }
  #ir_individual .section_intro .row_bg .flex {
    flex-direction: column;
  }
  #ir_individual .section_intro .row_bg .area_text {
    flex: 0 1 auto;
    width: 100%;
  }
  #ir_individual .section_intro .row_bg .area_img {
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
#ir_individual .section_concept .text_intro {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2;
}
#ir_individual .section_concept .layout {
  max-width: 69rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.5rem;
  display: flex;
  text-align: center;
}
#ir_individual .section_concept .layout .title {
  font-size: 1.25rem;
  line-height: 2;
  margin-bottom: 1.5rem;
}
#ir_individual .section_concept .layout > * {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  flex: 1;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.12);
}
#ir_individual .section_concept .layout > *:nth-child(2) {
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #ir_individual .section_concept .text_intro {
    font-size: 0.875rem;
  }
  #ir_individual .section_concept .layout {
    margin-top: 2.5rem;
    align-items: center;
    flex-direction: column;
  }
  #ir_individual .section_concept .layout .title {
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
  #ir_individual .section_concept .layout > * {
    width: 100%;
    max-width: 16.25rem;
    flex: 0 1 auto;
  }
}
#ir_individual .section_statement {
  padding-top: 0;
  background: linear-gradient(transparent 50%, #F4F8F9 50%, #F4F8F9 100%);
}
#ir_individual .section_midterm {
  background-color: #F4F8F9;
}
#ir_individual .section_midterm .row_title {
  margin-top: 4rem;
}
#ir_individual .section_midterm .row_title .text_img {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#ir_individual .section_midterm .row_title .title_sub {
  font-size: 1.25rem;
  text-align: center;
  margin-top: 1rem;
}
#ir_individual .section_midterm .row_text {
  margin-top: 4rem;
  text-align: center;
}
#ir_individual .section_midterm .row_figure {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  #ir_individual .section_midterm .row_title {
    margin-top: 2rem;
  }
  #ir_individual .section_midterm .row_title .text_img {
    max-width: 17.5rem;
  }
  #ir_individual .section_midterm .row_title .title_sub {
    font-size: 1rem;
  }
  #ir_individual .section_midterm .row_text {
    margin-top: 2.5rem;
  }
  #ir_individual .section_midterm .row_figure {
    margin-top: 2.5rem;
  }
}
#ir_individual .section_growth {
  background-color: #F4F8F9;
}
#ir_individual .section_growth .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 3.125rem;
  color: #fff;
}
#ir_individual .section_growth .list > * {
  padding: 1.875rem 2.1875rem;
  border-radius: 0.3125rem;
}
#ir_individual .section_growth .list > *:not([style]) {
  background: center/cover url("../img/child/ir/individual/ir_individual_growth_list.jpg") no-repeat;
}
#ir_individual .section_growth .list > *:not(:last-of-type) {
  position: relative;
}
#ir_individual .section_growth .list > *:not(:last-of-type)::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 19/29;
  background: linear-gradient(-90deg, rgba(171, 173, 183, 0.75) 0%, rgba(128, 128, 128, 0) 100%);
  position: absolute;
  top: 50%;
  right: -1.5625rem;
  transform: translate(50%, -50%);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#ir_individual .section_growth .list > *:nth-child(3n)::after {
  display: none;
}
#ir_individual .section_growth .list .title {
  font-size: 1.5625rem;
  font-weight: 500;
}
#ir_individual .section_growth .list .year {
  font-size: 0.875rem;
  margin-bottom: 2rem;
}
#ir_individual .section_growth .list .text {
  line-height: 1.73;
}
@media screen and (max-width: 768px) {
  #ir_individual .section_growth .list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  #ir_individual .section_growth .list > * {
    padding: 1rem var(--paddingLR);
  }
  #ir_individual .section_growth .list > *:not(:last-of-type) {
    position: relative;
  }
  #ir_individual .section_growth .list > *:not(:last-of-type)::after {
    aspect-ratio: 29/19;
    background: linear-gradient(0deg, rgba(171, 173, 183, 0.75) 0%, rgba(128, 128, 128, 0) 100%);
    top: auto;
    bottom: -1rem;
    right: auto;
    left: 50%;
    transform: translate(-50%, 50%);
    -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
            clip-path: polygon(0 0, 100% 0%, 50% 100%);
  }
  #ir_individual .section_growth .list > *:nth-child(3n)::after {
    display: block;
  }
  #ir_individual .section_growth .list .title {
    font-size: 1.25rem;
  }
  #ir_individual .section_growth .list .year {
    font-size: 0.75rem;
  }
}
#ir_individual .section_menu {
  background-color: #F4F8F9;
  margin-bottom: calc(var(--paddingSection) * -1);
}

/* 株主総会 */
#ir_meeting .row + .row {
  margin-top: 6rem;
}
#ir_meeting table th:first-child {
  width: 26%;
}
#ir_meeting table a + a {
  margin-left: 3em;
}
@media screen and (max-width: 768px) {
  #ir_meeting table th:first-child {
    width: 20%;
  }
}

/*==========
新着情報
==========*/
#ir_news_archive .row_search,
#news_archive .row_search {
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.1);
  margin-bottom: 6.25rem;
}
#ir_news_archive .row_search .flex,
#news_archive .row_search .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
#ir_news_archive .area_tags,
#news_archive .area_tags {
  flex: 1;
}
#ir_news_archive .area_input,
#news_archive .area_input {
  margin-left: auto;
  width: 50%;
}
#ir_news_archive .area_input .layout_search-news-simple .wrapper,
#news_archive .area_input .layout_search-news-simple .wrapper {
  margin-left: auto;
}
#ir_news_archive .list_category,
#news_archive .list_category {
  font-size: 0.9375rem;
  max-width: 23.125rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0.625rem;
  color: rgba(14, 22, 70, 0.45);
  font-weight: 600;
  margin-bottom: 1.5rem;
}
#ir_news_archive .list_category > *,
#news_archive .list_category > * {
  flex: 1;
}
#ir_news_archive .list_category > *.is-active,
#news_archive .list_category > *.is-active {
  background-color: var(--colorMain);
  color: #fff;
}
#ir_news_archive .list_category > *:not(:has(a)),
#ir_news_archive .list_category a,
#news_archive .list_category > *:not(:has(a)),
#news_archive .list_category a {
  cursor: pointer;
  height: 3.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.3125rem;
  box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.16);
  transition: font-size 0.5s, background-color 0.5s, color 0.5s;
}
#ir_news_archive .list_category a,
#news_archive .list_category a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  #ir_news_archive .list_category a:hover,
#news_archive .list_category a:hover {
    opacity: 1;
  }
}
#ir_news_archive .list_tags,
#news_archive .list_tags {
  font-size: 0.75rem;
  line-height: 1.25;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
#ir_news_archive .list_tags > *,
#news_archive .list_tags > * {
  min-width: 6.875rem;
  border-radius: 6.25rem;
}
#ir_news_archive .list_tags > *.is-active,
#news_archive .list_tags > *.is-active {
  background-color: var(--colorMain);
  color: #fff;
}
#ir_news_archive .list_tags > *:not(:has(a)),
#ir_news_archive .list_tags a,
#news_archive .list_tags > *:not(:has(a)),
#news_archive .list_tags a {
  border: 1px solid var(--colorMain);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.125rem;
  border-radius: 6.25rem;
  padding: 0.25em 1em;
}
#ir_news_archive .list_tags a,
#news_archive .list_tags a {
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  #ir_news_archive .row_search,
#news_archive .row_search {
    padding-bottom: 2.5rem;
    margin-bottom: var(--paddingSection);
  }
  #ir_news_archive .row_search .flex,
#news_archive .row_search .flex {
    flex-direction: column;
  }
  #ir_news_archive .area_tags,
#news_archive .area_tags {
    flex: 0 1 auto;
    width: 100%;
  }
  #ir_news_archive .area_input,
#news_archive .area_input {
    width: 100%;
  }
  #ir_news_archive .list_category,
#news_archive .list_category {
    margin-top: 1rem;
    order: -3;
    gap: 1rem;
    font-size: 0.75rem;
  }
  #ir_news_archive .list_category > *:not(:has(a)),
#ir_news_archive .list_category a,
#news_archive .list_category > *:not(:has(a)),
#news_archive .list_category a {
    height: 2.5rem;
  }
}

/*==========
動画集
==========*/
/* 動画集一覧 */
.layout_movies {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(26.25rem, 1fr));
  gap: 4rem 3.125rem;
}
.layout_movies .area_thumb {
  padding: 0 1.25rem;
}
.layout_movies .area_thumb iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.layout_movies .area_text {
  margin-top: 0.5rem;
}
.layout_movies .area_text .title {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .layout_movies {
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 1.5rem var(--paddingLR);
  }
  .layout_movies .area_thumb {
    padding: 0 var(--paddingLR);
  }
  .layout_movies .area_text {
    margin-top: 0.25rem;
  }
  .layout_movies .area_text .title {
    font-size: 0.875rem;
  }
}

/*==========
サイトマップ
==========*/
#sitemap_index .list_sitemap {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
  gap: 1em 3.125rem;
}
#sitemap_index .list_sitemap a {
  color: inherit;
  text-decoration: none;
}
#sitemap_index .row_title {
  padding-bottom: 1.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.23);
}
#sitemap_index .row_title .title_02 {
  margin-bottom: 0;
}
#sitemap_index .row_title a {
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  #sitemap_index .list_sitemap {
    grid-template-columns: 1fr;
  }
  #sitemap_index .row_title {
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem;
  }
}

/*==========
公式SNS
==========*/
#sns_index .flex {
  display: flex;
  gap: 2.5rem 3.125rem;
}
#sns_index .flex .area_list {
  flex: 1;
}
@media screen and (max-width: 768px) {
  #sns_index .flex {
    flex-direction: column;
  }
  #sns_index .area_iframe {
    display: none;
  }
}

/*==========
お問い合わせ
==========*/
#contact .section_form .bg {
  padding: 7.5rem var(--paddingLR);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.08);
}
#contact .section_form .layout_form_sub {
  padding-top: 1em;
  border-top: 1px solid rgba(112, 112, 112, 0.15);
}
#contact .section_form .layout_form_sub:not(:first-child) {
  margin-top: 3.125rem;
}
#contact .section_form .layout_form_sub .area_label {
  padding-left: 2.5rem;
}
#contact .section_form .layout_form_sub-title {
  font-size: 1.125rem;
  font-weight: 500;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  #contact .section_form .bg {
    padding: 1.5rem var(--paddingLR);
  }
  #contact .section_form .layout_form_sub:not(:first-child) {
    margin-top: 2.5rem;
  }
  #contact .section_form .layout_form_sub .area_label {
    padding-left: 0;
  }
  #contact .section_form .layout_form_sub-title {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
}

[data-langSwitch=en] .layout_form > *:has(.wpcf7-radio) .area_label .text_label::before, [data-langSwitch=en] .layout_form > *:has(.wpcf7-validates-as-required) .area_label .text_label::before, [data-langSwitch=en] .layout_form > *:has([required]) .area_label .text_label::before {
  content: "Required";
}

[data-langSwitch=zh-CN] .layout_form > *:has(.wpcf7-radio) .area_label .text_label::before, [data-langSwitch=zh-CN] .layout_form > *:has(.wpcf7-validates-as-required) .area_label .text_label::before, [data-langSwitch=zh-CN] .layout_form > *:has([required]) .area_label .text_label::before {
  content: "必需的";
}

.layout_form {
  font-size: 0.9375rem;
}
.layout_form > * {
  display: flex;
  align-items: flex-start;
  gap: 1rem 1.5rem;
}
.layout_form > *:not(:last-child) {
  margin-bottom: 1.5rem;
}
.layout_form > *:has(.wpcf7-radio) .area_label .text_label::before, .layout_form > *:has(.wpcf7-validates-as-required) .area_label .text_label::before, .layout_form > *:has([required]) .area_label .text_label::before {
  content: "必須";
  background-color: #FC1D29;
  color: #fff;
  border-radius: 2px;
  font-size: 0.8125rem;
  padding: 0 0.4em 0.125em;
  margin-top: -0.2em;
  margin-right: 0.75em;
}
.layout_form .area_label {
  width: 12.5rem;
  padding-top: 1rem;
}
.layout_form .area_input {
  flex: 1;
  min-height: 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
}
.layout_form .has-free-text,
.layout_form .row_other {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.layout_form .has-free-text input[type=text],
.layout_form .row_other input[type=text] {
  width: 100%;
  max-width: 100%;
  background-color: #fff;
  border: 1px solid rgba(112, 112, 112, 0.2);
  padding: 0.25rem 0.5em;
}
.layout_form .has-free-text .wpcf7-list-item-label,
.layout_form .row_other .wpcf7-list-item-label {
  flex-shrink: 0;
}
.layout_form .has-free-text .wpcf7-radio > *,
.layout_form .has-free-text .wpcf7-checkbox > *,
.layout_form .row_other .wpcf7-radio > *,
.layout_form .row_other .wpcf7-checkbox > * {
  min-width: auto;
}
.layout_form .wpcf7-radio,
.layout_form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75em 2em;
}
.layout_form .wpcf7-radio > *,
.layout_form .wpcf7-checkbox > * {
  flex-shrink: 0;
  min-width: 10em;
}
.layout_form .wpcf7-radio .wpcf7-list-item,
.layout_form .wpcf7-checkbox .wpcf7-list-item {
  margin-left: 0;
}
.layout_form .wpcf7-radio label,
.layout_form .wpcf7-checkbox label {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.layout_form .wpcf7-free-text {
  flex: 1;
}
.layout_form label:has(input[type=checkbox], input[type=radio]) {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 500;
}
.layout_form label input[type=checkbox],
.layout_form label input[type=radio] {
  flex-shrink: 0;
}
.layout_form input[type=checkbox] {
  cursor: pointer;
  flex-shrink: 0;
  margin: 0;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 4px;
  border: none;
  background-color: #F4F4F4;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.layout_form input[type=checkbox]:checked {
  background-color: #000;
}
.layout_form input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  background: center/contain url("../img/common/icon_checkbox.svg");
  z-index: 1;
}
.layout_form input[type=radio] {
  cursor: pointer;
  flex-shrink: 0;
  margin: 0;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: none;
  background-color: #F4F4F4;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.layout_form input[type=radio]:checked {
  background-color: #000;
}
.layout_form input[type=radio]:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  border-radius: 50%;
  transform: scale(0.4);
  z-index: 1;
}
.layout_form select {
  cursor: pointer;
  border-radius: 2px;
  padding: 0.929em 1.5rem 0.929em 0.625rem;
  font: inherit;
  border: none;
  accent-color: var(--colorMain);
  background-color: #F4F4F4;
}
.layout_form input[type=text],
.layout_form input[type=tel],
.layout_form input[type=email] {
  width: 100%;
  border: none;
  background-color: #F4F4F4;
  border-radius: 2px;
  padding: 0.875rem 1.25em;
  font: inherit;
  line-height: 1;
  font-weight: 500;
  accent-color: var(--colorMain);
}
.layout_form .short {
  width: 100%;
  max-width: 12.5em;
}
.layout_form textarea {
  width: 100%;
  resize: vertical;
  border: none;
  background-color: #F4F4F4;
  border-radius: 2px;
  padding: 0.875rem 1.25em;
  font: inherit;
  line-height: 1.75;
  font-weight: 500;
  accent-color: var(--colorMain);
}
.layout_form ::-moz-placeholder {
  color: rgba(0, 0, 0, 0.2);
}
.layout_form ::placeholder {
  color: rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .layout_form {
    font-size: 0.875rem;
  }
  .layout_form > * {
    flex-direction: column;
  }
  .layout_form .area_label {
    width: 100%;
    padding-top: 0;
  }
  .layout_form .area_input {
    flex: 0 1 auto;
    width: 100%;
    min-height: auto;
  }
  .layout_form .row_other {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
  .layout_form input[type=checkbox],
.layout_form input[type=radio] {
    width: 1.5rem;
    height: 1.5rem;
  }
}