@charset "UTF-8";
/*========== 子ページ ==========*/
main {
  --paddingSection: 120px;
  --inner: 1120px;
}
@media screen and (max-width: 959px) {
  main {
    --paddingSection: 64px;
  }
}

/*==========
子ページ共通
==========*/
/*=== mv ===*/
#mv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 480px;
  padding-top: var(--headerHeight);
  padding-bottom: var(--paddingLR);
  color: #fff;
}
#mv .list_breadcrumb {
  color: #fff;
}
#mv.mv_big {
  min-height: 700px;
}
#mv.text_red {
  color: #1C1C1C;
}
#mv.text_red .list_breadcrumb {
  color: #1C1C1C;
}
#mv.text_red .title_main .en {
  color: var(--color_red);
}
#mv.text_red .title_main .ja {
  color: #fff;
  background-color: var(--color_red);
}
#mv.text_black {
  color: #1C1C1C;
}
#mv.text_black .list_breadcrumb {
  color: inherit;
}
#mv.text_black .title_main .en {
  color: #555555;
}
#mv.text_black .title_main .ja {
  color: #fff;
  background-color: #555555;
}
#mv .title_circle {
  position: relative;
  z-index: 1;
}
#mv .title_circle::after {
  content: "";
  width: 627px;
  aspect-ratio: 1/1;
  background: center/contain url("../img/child/mv_civle.svg") no-repeat;
  position: absolute;
  top: -20rem;
  left: -10rem;
  z-index: -1;
  -webkit-animation: spin 5s linear infinite;
          animation: spin 5s linear infinite;
}
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#mv .title_main {
  margin-top: 4rem;
}
#mv .title_main .en {
  font-size: 5rem;
  font-family: "DM Sans";
  font-weight: 200;
  line-height: 1;
}
#mv .title_main .ja {
  font-size: 1.125rem;
  background-color: #fff;
  color: var(--color_red);
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2px;
  padding: 0 0.5em;
  font-feature-settings: "palt";
  margin-top: 0.5rem;
}
#mv .title_main .ja_big {
  font-size: 4rem;
  font-weight: 700;
}
#mv .text_area {
  margin-top: 4rem;
  text-align: right;
}
#mv .title_sub {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
#mv .text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.9;
}
@media screen and (max-width: 959px) {
  #mv {
    min-height: 280px;
  }
  #mv.mv_big {
    min-height: 480px;
  }
  #mv .title_circle::after {
    width: 400px;
    top: -16rem;
    left: -10rem;
  }
  #mv .title_main {
    margin-top: 1.5rem;
  }
  #mv .title_main .en {
    font-size: 2.5rem;
  }
  #mv .title_main .ja {
    font-size: 1rem;
  }
  #mv .title_main .ja_big {
    font-size: 2rem;
    font-weight: 700;
  }
  #mv .text_area {
    margin-top: 5rem;
  }
  #mv .title_sub {
    font-size: 1.25rem;
  }
  #mv .text {
    font-size: 0.875rem;
  }
}

/*=== breadcrumb ===*/
#breadcrumb {
  padding: 1.125rem 0;
}

.list_breadcrumb {
  color: var(--color_gray);
  font-size: 0.8125rem;
  display: flex;
  justify-content: flex-start;
  white-space: nowrap;
  overflow: auto;
  overflow-x: auto;
  scrollbar-width: none;
}
.list_breadcrumb::-webkit-scrollbar {
  display: none;
}
.list_breadcrumb > *:not(:last-child) {
  display: flex;
  align-items: center;
}
.list_breadcrumb > *:not(:last-child)::after {
  content: "＞";
  margin: 0 0.5em;
  display: block;
}
.list_breadcrumb a {
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .list_breadcrumb {
    font-size: 0.75rem;
  }
}

/*=== pagier ===*/
.layout_pagier {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  font-size: 0.9375rem;
}
.layout_pagier .disable {
  visibility: hidden;
}
.layout_pagier .prev,
.layout_pagier .next {
  display: flex;
  align-items: center;
  gap: 1em;
}
.layout_pagier .prev::before,
.layout_pagier .next::after {
  content: "";
  width: 3.8em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrowCircle-red.svg") no-repeat;
  display: block;
}
.layout_pagier .prev::before {
  transform: rotate(180deg);
}
@media screen and (min-width: 960px) {
  .layout_pagier .prev::before,
.layout_pagier .next::after {
    transition: transform 0.5s;
  }
  .layout_pagier .prev:hover {
    opacity: 1;
  }
  .layout_pagier .prev:hover::before {
    transform: rotate(-180deg) scale(1.1);
  }
  .layout_pagier .next:hover {
    opacity: 1;
  }
  .layout_pagier .next:hover::after {
    transform: rotate(360deg) scale(1.1);
  }
}
@media screen and (max-width: 959px) {
  .layout_pagier .prev::before,
.layout_pagier .next::after {
    width: 2.5em;
  }
}

/*=== title ===*/
.title_01 {
  font-size: 1rem;
}
.title_01::before {
  font-size: 3.125em;
  margin-bottom: 0.125em;
}
@media screen and (max-width: 959px) {
  .title_01 {
    font-size: 0.8125rem;
  }
  .title_01::before {
    font-size: 2.5em;
  }
}

/*=== anchor ===*/
.layout_anchor {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.25rem 5rem;
}
.layout_anchor .btn {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color_red);
  width: calc((100% - 5rem) / 2);
  border-top: 1px solid rgba(229, 7, 33, 0.15);
  border-bottom: 1px solid rgba(229, 7, 33, 0.15);
  height: 9.625rem;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.layout_anchor .btn::after {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_anchor_red.svg") no-repeat;
  display: block;
  margin-top: 1.125rem;
}
@media screen and (min-width: 960px) {
  .layout_anchor .btn {
    transition: border-color 0.5s;
  }
  .layout_anchor .btn:hover {
    opacity: 1;
    border-color: var(--color_red);
  }
}
@media screen and (max-width: 959px) {
  .layout_anchor {
    flex-direction: column;
  }
  .layout_anchor .btn {
    font-size: 1rem;
    width: 100%;
    height: auto;
  }
  .layout_anchor .btn::after {
    margin-top: 0.5rem;
  }
}

/*==========
company
==========*/
#company_trading .flex {
  display: flex;
  gap: 2.5rem;
}
#company_trading .flex > * {
  flex: 1;
}
#company_trading .title_main .ja {
  font-size: 1.5625rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
#company_trading .title_main .en {
  font-size: 4.6875rem;
  color: var(--color_red);
  font-family: "DM Sans";
  font-weight: 200;
  line-height: 1;
}
#company_trading .text {
  margin-top: auto;
  font-size: 0.9375rem;
  font-weight: 500;
}
#company_trading .text_area {
  display: flex;
  flex-direction: column;
}
#company_trading .text_area .fit_content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}
#company_trading .text_area .btn_01 {
  margin-left: 0;
  margin-top: 1.5rem;
}
@media screen and (max-width: 959px) {
  #company_trading .flex {
    flex-direction: column;
  }
  #company_trading .title_main .ja {
    font-size: 1.125rem;
  }
  #company_trading .title_main .en {
    font-size: 2.5rem;
  }
  #company_trading .text {
    font-size: 0.875rem;
    margin-top: 1.5rem;
  }
  #company_trading .img_area {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

#company_business {
  background: center/cover url("../img/child/company/company_business_bg.jpg") no-repeat;
}
#company_business .title_main {
  display: flex;
  justify-content: space-between;
  color: #fff;
}
#company_business .title_main .ja {
  font-size: 1.5625rem;
  font-weight: 700;
  margin-top: 0.5rem;
  margin-top: 2em;
}
#company_business .title_main .en {
  text-align: right;
  font-size: 4.6875rem;
  font-family: "DM Sans";
  font-weight: 200;
  line-height: 1;
  flex-shrink: 0;
}
#company_business .list {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
}
#company_business .list > *:not(.plus) {
  flex: 1;
  aspect-ratio: 170/176;
  border-radius: 2px;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#company_business .list .icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
#company_business .list .text {
  font-size: 0.875rem;
  line-height: 1.25;
  text-align: center;
  display: flex;
  align-items: center;
  width: 100%;
  height: 4em;
  justify-content: center;
}
#company_business .list .plus {
  width: 2.5rem;
  aspect-ratio: 1/1;
  position: relative;
}
#company_business .list .plus::before, #company_business .list .plus::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#company_business .list .plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#company_business .btn_01 {
  color: #fff;
  margin-top: 3.125rem;
}
@media screen and (max-width: 999px) {
  #company_business .list .plus {
    width: 1.75rem;
  }
  #company_business .list .text {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 959px) {
  #company_business .title_main {
    flex-direction: column;
  }
  #company_business .title_main .ja {
    font-size: 1.125rem;
  }
  #company_business .title_main .en {
    font-size: 2.5rem;
  }
  #company_business .list {
    flex-wrap: wrap;
    justify-content: center;
  }
  #company_business .list > *:not(.plus) {
    flex: 0 1 auto;
    width: calc((100% - 0.5rem) / 2);
    max-width: 140px;
  }
  #company_business .list .icon {
    max-width: 64px;
  }
  #company_business .list .plus {
    width: 100%;
    height: 2.5rem;
    aspect-ratio: auto;
  }
  #company_business .list .plus::before, #company_business .list .plus::after {
    width: 2.5rem;
  }
}

.layout_menu {
  display: flex;
  flex-wrap: wrap;
}
.layout_menu div:not([class]) {
  display: contents;
}
.layout_menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--paddingLR);
  aspect-ratio: 720/350;
  max-height: 350px;
  width: 50%;
  position: relative;
  z-index: 1;
  color: #fff;
}
.layout_menu a::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.9;
  z-index: -1;
}
.layout_menu a:nth-child(4n+1)::after, .layout_menu a:nth-child(4n+0)::after {
  background-color: var(--color_red);
}
.layout_menu a:nth-child(4n+2)::after, .layout_menu a:nth-child(4n+3)::after {
  background-color: #272727;
}
.layout_menu .box {
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.layout_menu .flex {
  display: flex;
  gap: 0.5rem;
}
.layout_menu .title {
  font-size: 1.375rem;
  font-weight: 700;
  position: relative;
  padding-left: 1em;
}
.layout_menu .title::before {
  content: "・";
  position: absolute;
  left: 0;
}
.layout_menu .text {
  margin-top: auto;
  font-size: 0.9375rem;
}
.layout_menu .text_area {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.layout_menu .img_area {
  width: 38.46154%;
}
.layout_menu .img_area img {
  border-radius: 3px;
}
.layout_menu .text_link {
  width: 100%;
  margin-top: 2.5rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.layout_menu .text_link::after {
  content: "";
  width: 3em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrowCircle-white.svg") no-repeat;
}
@media screen and (min-width: 960px) {
  .layout_menu .text_link::before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: width 0.5s;
    position: absolute;
    bottom: 1em;
  }
  .layout_menu .text_link::after {
    transition: transform 0.5s;
  }
  .layout_menu a::after {
    transition: opacity 0.5s;
  }
  .layout_menu a:hover {
    opacity: 1;
  }
  .layout_menu a:hover::after {
    opacity: 0.5;
  }
  .layout_menu a:hover .text_link::before {
    width: calc(100% - 3.8em - 1rem);
  }
  .layout_menu a:hover .text_link::after {
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 959px) {
  .layout_menu a {
    width: 100%;
  }
  .layout_menu a:nth-child(odd)::after {
    background-color: var(--color_red);
  }
  .layout_menu a:nth-child(even)::after {
    background-color: #272727;
  }
  .layout_menu .flex {
    gap: 0.5rem;
  }
  .layout_menu .title {
    font-size: 0.9375rem;
  }
  .layout_menu .text {
    font-size: 0.8125rem;
  }
  .layout_menu .img_area {
    width: 33%;
  }
  .layout_menu .text_link {
    margin-top: 1rem;
    font-size: 0.75rem;
  }
}

.layout_company_child #mv {
  min-height: auto;
  height: 616px;
  display: flex;
  flex-direction: column;
  color: inherit;
}
.layout_company_child #mv .list_breadcrumb {
  color: inherit;
}
.layout_company_child #mv .inner {
  flex: 1;
}
.layout_company_child #mv .title_circle {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.layout_company_child #mv .title_circle::after {
  width: 836px;
  top: calc(40% - 418px);
  left: calc(50% - 418px);
}
.layout_company_child #mv .title_main {
  margin-top: 0;
}
.layout_company_child #mv .title_main .en {
  font-size: 1.375rem;
  color: var(--color_red);
  text-align: center;
}
.layout_company_child #mv .title_main .ja {
  font-size: 2.5rem;
  color: #1C1C1C;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  margin-top: 1.25rem;
}
.layout_company_child .title_company_child {
  text-align: center;
  margin-bottom: 3.5rem;
}
.layout_company_child .title_company_child .about {
  color: var(--color_red);
  font-size: 1.0625rem;
  font-weight: 200;
  font-family: "DM Sans";
}
.layout_company_child .title_company_child .title {
  font-size: 1.5625rem;
  font-weight: 700;
}
.layout_company_child .text_company_child {
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
}
@media screen and (max-width: 959px) {
  .layout_company_child #mv {
    height: 400px;
  }
  .layout_company_child #mv .title_circle::after {
    width: 400px;
    top: calc(40% - 200px);
    left: calc(50% - 200px);
  }
  .layout_company_child #mv .title_main .en {
    font-size: 1rem;
  }
  .layout_company_child #mv .title_main .ja {
    font-size: 1.25rem;
  }
  .layout_company_child .title_company_child {
    margin-bottom: 1.5rem;
  }
  .layout_company_child .title_company_child .about {
    font-size: 0.875rem;
  }
  .layout_company_child .title_company_child .title {
    font-size: 1.125rem;
  }
  .layout_company_child .text_company_child {
    font-size: 0.875rem;
  }
}

/*==========
energy
==========*/
#energy figure {
  font-size: clamp(0.5rem, 1.67364vw, 1rem);
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

#energy_about_01 {
  position: relative;
  z-index: 2;
}
#energy_about_01 .head_area {
  background: center/cover url("../img/child/company_energy/energy_about_01_bg.jpg") no-repeat;
  color: #fff;
}
#energy_about_01 .head_area .title_company_child .about {
  color: inherit;
}
#energy_about_01 .body_area {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
#energy_about_01 .body_area .list {
  display: flex;
  gap: 10px;
  padding: 2.5rem;
  position: relative;
  z-index: 1;
}
#energy_about_01 .body_area .list::after {
  content: "";
  width: 100%;
  height: 50%;
  border: 1px dashed var(--color_red);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 20px;
  z-index: -1;
}
#energy_about_01 .body_area .list .title {
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: center;
  margin-top: 0.5rem;
}
#energy_about_01 .foot_area {
  background: center/cover url("../img/child/company_energy/energy_about_01_bg_foot.jpg") no-repeat;
  color: #fff;
}
@media screen and (max-width: 959px) {
  #energy_about_01 .body_area {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  #energy_about_01 .body_area .list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem 5px;
    padding: 1rem;
  }
  #energy_about_01 .body_area .list > * {
    width: calc((100% - 5px) / 2);
    max-width: 160px;
  }
  #energy_about_01 .body_area .list::after {
    border-radius: 10px;
    height: 85%;
  }
  #energy_about_01 .body_area .list .title {
    font-size: 0.75rem;
  }
}

#energy_about_02 .head_area .title_company_child {
  text-align: left;
}
#energy_about_02 .body_area {
  margin-top: 2.5rem;
}

/*==========
business
==========*/
#business_about_01 {
  position: relative;
  z-index: 1;
}
#business_about_01 .head_area {
  background: center/cover url("../img/child/company_business/business_about_01_bg.jpg") no-repeat;
  position: relative;
  z-index: 1;
}
#business_about_01 .head_area::after {
  content: "";
  width: 1px;
  height: 8rem;
  background-color: var(--color_red);
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}
#business_about_01 .head_area .text_company_child + .title_company_child {
  margin-top: var(--paddingSection);
}
#business_about_01 .head_area .title_company_child .about {
  color: inherit;
}
@media screen and (max-width: 959px) {
  #business_about_01 .head_area::after {
    height: 3rem;
  }
}

#business_about_02 {
  position: relative;
  z-index: 1;
}
#business_about_02 .head_area {
  background: center/cover url("../img/child/company_business/business_about_02_bg.jpg") no-repeat;
  position: relative;
  z-index: 1;
}
#business_about_02 .head_area::after {
  content: "";
  width: 1px;
  height: 8rem;
  background-color: var(--color_red);
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}
#business_about_02 .head_area .text_company_child + .title_company_child {
  margin-top: var(--paddingSection);
}
#business_about_02 .head_area .title_company_child .about {
  color: inherit;
}
@media screen and (max-width: 959px) {
  #business_about_02 .head_area::after {
    height: 3rem;
  }
}

.list_business_icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
}
.list_business_icon > * {
  max-width: 230px;
  flex: 1;
  aspect-ratio: 230/240;
  background-color: var(--color_red);
  color: #fff;
  border-radius: 2px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.list_business_icon .icon {
  max-width: 80%;
  width: 8rem;
  opacity: 0.5;
  margin-left: auto;
  margin-right: auto;
}
.list_business_icon .icon img {
  width: 100%;
}
.list_business_icon .text {
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  display: flex;
  align-items: center;
  width: 100%;
  height: 4em;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .list_business_icon {
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
  }
  .list_business_icon > *:not(.plus) {
    flex: 0 1 auto;
    width: calc((100% - 0.5rem) / 2);
    max-width: 140px;
  }
  .list_business_icon .icon {
    max-width: 64px;
  }
  .list_business_icon .text {
    font-size: 0.75rem;
  }
}

.layout_business {
  counter-reset: business;
}
.layout_business > * {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.layout_business > *:not(:last-child) {
  margin-bottom: calc(var(--paddingSection) * 1.5);
}
.layout_business .flex {
  display: flex;
  gap: 3.75rem;
}
.layout_business .flex > * {
  flex: 1;
}
.layout_business .text_area {
  display: flex;
  flex-direction: column;
}
.layout_business .img_area {
  position: relative;
  padding-top: 3.5rem;
}
.layout_business .img_area .circle {
  width: 9.6875rem;
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(2.5rem);
  background-color: var(--color_red);
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  padding-top: 0.5em;
}
.layout_business .row_number {
  margin-bottom: 0.5rem;
}
.layout_business .row_number::after {
  counter-increment: business;
  content: counter(business, decimal-leading-zero);
  font-family: "DM Sans";
  font-size: 3.4375rem;
  font-weight: 200;
  color: var(--color_red);
  letter-spacing: 0.05em;
  line-height: 1;
}
.layout_business .row_title {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.layout_business .row_title .icon {
  max-width: 4rem;
  background-color: var(--color_red);
  border-radius: 5px;
  padding: 0.5rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout_business .row_title .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.layout_business .row_title .title {
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.32;
}
.layout_business .row_text {
  margin-bottom: 1.5rem;
}
.layout_business .row_text .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
.layout_business .row_text .aside {
  font-size: 0.8125rem;
  font-weight: 500;
  margin-top: 2px;
}
.layout_business .row_item {
  margin-top: auto;
  display: flex;
  gap: 1.5rem;
}
.layout_business .row_item .item {
  flex: 1;
}
.layout_business .row_item .item:not(:last-child) {
  border-right: 1px solid rgba(136, 135, 135, 0.2);
  padding-right: 1.5rem;
}
.layout_business .row_item .label {
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.9375rem;
  font-weight: 700;
  border-radius: 3px;
  min-width: 5em;
  text-align: center;
  line-height: 1;
  padding: 0.4em;
  margin-bottom: 0.625rem;
}
.layout_business .row_item .text {
  font-size: 0.875rem;
  font-weight: 700;
}
.layout_business .row_item .red .label {
  background-color: var(--color_red);
}
.layout_business .row_item .red .text {
  color: var(--color_red);
}
.layout_business .row_item .blue .label {
  background-color: var(--color_blue);
}
.layout_business .row_item .blue .text {
  color: var(--color_blue);
}
.layout_business .row_logos {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  max-width: 430px;
}
.layout_business .row_logos > * {
  width: 50%;
  max-height: 48px;
}
.layout_business .row_logos > * img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.layout_business .row_link {
  margin-top: auto;
}
.layout_business .row_link .btn {
  display: flex;
  justify-content: space-between;
  gap: 0.5em;
  font-weight: 700;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(229, 7, 33, 0.19);
  color: var(--color_red);
}
.layout_business .row_link .btn::after {
  content: "";
  width: 3em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrowCircle-red.svg") no-repeat;
}
@media screen and (min-width: 960px) {
  .layout_business .row_link .btn {
    position: relative;
  }
  .layout_business .row_link .btn::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 1px;
    background-color: var(--color_red);
    bottom: 0;
    left: 0;
    transition: width 0.5s;
  }
  .layout_business .row_link .btn::after {
    transition: transform 0.5s;
  }
  .layout_business .row_link .btn:hover {
    opacity: 1;
  }
  .layout_business .row_link .btn:hover::before {
    width: 100%;
  }
  .layout_business .row_link .btn:hover::after {
    transform: rotate(360deg);
  }
}
.layout_business .row_case {
  margin-top: 2.5rem;
}
.layout_business .row_case .label_area {
  background-color: var(--color_red);
  color: #fff;
  padding: 0.75rem;
  text-align: center;
}
.layout_business .row_case .label_area .label {
  font-size: 0.9375rem;
  font-weight: 700;
}
.layout_business .row_case .content_area {
  padding: 1.25rem;
  border: 1px solid var(--color_red);
  display: flex;
  gap: 1.5rem;
}
.layout_business .row_case .content_area .item {
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.layout_business .row_case .content_area .item:not(:last-child) {
  border-right: 1px solid rgba(136, 135, 135, 0.2);
  padding-right: 1.5rem;
}
.layout_business .row_case .content_area .text {
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
.layout_business .row_case .content_area .logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: auto;
  height: 46px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.layout_business .row_case .content_area .logo img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 959px) {
  .layout_business > * {
    padding-left: 0;
    padding-right: 0;
  }
  .layout_business .flex {
    flex-direction: column;
    gap: 0.5rem;
  }
  .layout_business .img_area {
    padding-top: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_business .img_area .circle {
    width: 7.5rem;
    font-size: 0.75rem;
    transform: translateX(var(--paddingLR));
  }
  .layout_business .row_number {
    margin-bottom: 0.25rem;
  }
  .layout_business .row_number::after {
    font-size: 2rem;
  }
  .layout_business .row_title {
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .layout_business .row_title .icon {
    max-width: 2.5rem;
    padding: 0;
  }
  .layout_business .row_title .title {
    font-size: 1rem;
  }
  .layout_business .row_text {
    margin-bottom: 1rem;
  }
  .layout_business .row_text .text {
    font-size: 0.875rem;
  }
  .layout_business .row_item {
    gap: 0.5rem;
  }
  .layout_business .row_item .item:not(:last-child) {
    padding-right: 0.5rem;
  }
  .layout_business .row_item .label {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
  .layout_business .row_item .text {
    font-size: 0.8125rem;
  }
  .layout_business .row_link .btn {
    font-size: 0.875rem;
    padding-bottom: 0.5rem;
  }
  .layout_business .row_case {
    margin-top: 1.5rem;
  }
  .layout_business .row_case .label_area .label {
    font-size: 0.875rem;
  }
  .layout_business .row_case .content_area {
    padding: 0.75rem;
    flex-direction: column;
  }
  .layout_business .row_case .content_area .item {
    gap: 1rem;
  }
  .layout_business .row_case .content_area .item:not(:last-child) {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid rgba(136, 135, 135, 0.2);
    padding-bottom: 1rem;
  }
  .layout_business .row_case .content_area .text {
    margin-bottom: 0;
  }
  .layout_business .row_case .content_area .logo {
    width: 240px;
    height: 40px;
  }
}

/*==========
future
==========*/
#future_message {
  padding-top: 0;
}
#future_message .head_area {
  padding-top: var(--paddingSection);
  background: center/cover url("../img/child/company_future/future_message_bg.jpg") no-repeat;
  position: relative;
  z-index: 1;
}
#future_message .head_area .title_01 {
  text-align: right;
}
#future_message .head_area .title {
  font-family: "DM Sans";
  font-size: 2.1875rem;
  font-weight: 200;
  position: relative;
  margin-bottom: 1em;
}
#future_message .head_area .title::after {
  content: "";
  width: 0.75em;
  height: 1px;
  background-color: var(--color_red);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
#future_message .head_area .row_circle {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  gap: 1.5rem 2.5rem;
  position: relative;
  z-index: 2;
}
#future_message .head_area .row_circle .circle {
  color: var(--color_red);
  width: 19.625rem;
  max-width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  --webkit-backdrop-filter: blur(1px);
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}
#future_message .head_area .row_circle .text {
  font-weight: 500;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 6em;
}
#future_message .head_area .row_bg {
  color: #fff;
  margin-top: -3rem;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
  padding: 6.875rem calc(50vw - 50%) 5rem 14rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
}
#future_message .head_area .row_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-backdrop-filter: blur(1px);
          backdrop-filter: blur(1px);
  --webkit-backdrop-filter: blur(1px);
  background-color: rgba(229, 7, 33, 0.8);
  box-shadow: 0px -2px 20px #E50721;
  transform: skew(-25deg) translateX(5rem);
}
#future_message .head_area .row_bg .title::after {
  background-color: #fff;
  left: 0;
  transform: none;
}
#future_message .head_area .row_bg .text {
  font-weight: 500;
}
#future_message .body_area {
  padding-top: var(--paddingSection);
}
#future_message .body_area .flex_column {
  font-size: 0.9375rem;
  line-height: 1.6666666;
  font-weight: 500;
}
#future_message .body_area .signature_area {
  text-align: right;
  margin-top: 1.25rem;
}
#future_message .body_area .signature_area .post {
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1em;
}
#future_message .body_area .signature_area .name {
  font-size: 1.1875rem;
  font-weight: 500;
}
@media screen and (max-width: 959px) {
  #future_message .head_area {
    background-position: left -210px top;
    background-size: auto 100%;
  }
  #future_message .head_area .title {
    font-size: 1.5rem;
  }
  #future_message .head_area .row_circle {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 20em;
    flex-direction: column;
    transform: translateX(40px);
  }
  #future_message .head_area .row_circle .circle {
    width: 15rem;
  }
  #future_message .head_area .row_circle .circle:nth-child(odd) {
    margin-left: auto;
  }
  #future_message .head_area .row_circle .circle:nth-child(even) {
    margin-right: auto;
  }
  #future_message .head_area .row_circle .circle:not(:first-child) {
    margin-top: -4rem;
  }
  #future_message .head_area .row_circle .text {
    font-size: 0.875rem;
  }
  #future_message .head_area .row_bg {
    width: 100vw;
    margin-top: 1.5rem;
    margin-left: calc(50% - 50vw);
    padding: var(--paddingLR) calc(50vw - 50%) var(--paddingLR) calc(50vw - 50%);
  }
  #future_message .head_area .row_bg::after {
    transform: none;
  }
  #future_message .head_area .row_bg .text {
    font-size: 0.875rem;
  }
  #future_message .body_area .flex_column {
    font-size: 0.875rem;
  }
  #future_message .body_area .signature_area .name {
    font-size: 1.125rem;
  }
}

#future_roadmap {
  background: center/cover url("../img/child/company_future/future_roadmap_bg.jpg") no-repeat;
}
#future_roadmap .title_01 {
  text-align: left;
}
#future_roadmap .figure_01 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 959px) {
  #future_roadmap .figure_01 {
    overflow: auto;
  }
  #future_roadmap .figure_01 img {
    min-width: 800px;
  }
}

#future_diversity .title_01 {
  text-align: left;
}
#future_diversity .list {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: 1.5rem 2.5rem;
}
#future_diversity .list > * {
  width: calc((100% - 5rem) / 3);
  aspect-ratio: 320/230;
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 3px;
}
#future_diversity .list .label {
  background-color: var(--color);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  width: 68.75%;
  padding: 1.25em 0.5em 0.75em;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  border-radius: 0 0 3px 3px;
}
#future_diversity .list .text {
  margin-top: 3rem;
  font-size: 1.5625rem;
  font-weight: 700;
  text-align: center;
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
}
#future_diversity .list .number {
  font-size: 2.4em;
  line-height: 1;
}
#future_diversity .list .aside {
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 959px) {
  #future_diversity .list {
    flex-direction: column;
    align-items: center;
  }
  #future_diversity .list > * {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 320/160;
  }
  #future_diversity .list .label {
    font-size: 0.875rem;
  }
  #future_diversity .list .text {
    margin-top: 2rem;
    font-size: 1rem;
  }
}

/*==========
history
==========*/
#history_intro .head_area {
  background: center/cover url("../img/child/company_history/history_intro_bg.jpg") no-repeat;
  position: relative;
  z-index: 1;
  color: #fff;
}
#history_intro .head_area .title_01 {
  text-align: left;
}
#history_intro .head_area .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
#history_intro .layout .arrow_area {
  display: flex;
  gap: 0 2.5rem;
}
#history_intro .layout .arrow_area > * {
  flex: 1;
  position: relative;
  z-index: 1;
}
#history_intro .layout .arrow_area > *::after {
  content: "";
  width: 10px;
  height: calc(100% - 60px);
  position: absolute;
  left: 50%;
  top: 60px;
  transform: translateX(-50%);
  background: linear-gradient(var(--color), #FA4F1F, #E50721);
  z-index: -1;
}
#history_intro .layout .arrow_area > *:nth-child(2) {
  margin-top: 2.5rem;
}
#history_intro .layout .arrow_area > *:nth-child(3) {
  margin-top: 5rem;
}
#history_intro .layout .label {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 60px;
  font-weight: 700;
  background-color: var(--color);
  color: #fff;
  border-radius: 100px;
  padding: 0.25em 2em;
  margin-bottom: 1.25rem;
}
#history_intro .layout .label.white {
  border: 1px solid var(--color);
  color: var(--color);
  background-color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
}
#history_intro .layout .label_foot {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 80px;
  font-size: 1.125rem;
  font-weight: 700;
  background-color: var(--color_red);
  color: #fff;
  border-radius: 100px;
  border-radius: 100px;
  padding: 0.25em 4em;
  position: relative;
  z-index: 2;
}
#history_intro .layout .label_foot::after {
  content: "";
  width: 2em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_anchor_white.svg") no-repeat;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
#history_intro .list {
  margin-top: 4rem;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 2rem;
  font-size: 0.9375rem;
}
#history_intro .list dt {
  font-weight: 700;
}
#history_intro .list dd {
  font-weight: 500;
  position: relative;
  padding-left: 1.25em;
}
#history_intro .list dd::before {
  content: "●";
  color: var(--color);
  position: absolute;
  left: 0;
}
@media screen and (max-width: 959px) {
  #history_intro .head_area .text {
    font-size: 0.875rem;
  }
  #history_intro .layout {
    overflow: hidden;
  }
  #history_intro .layout .arrow_area {
    flex-direction: column;
  }
  #history_intro .layout .arrow_area > *::after {
    top: 48px;
    width: 4px;
  }
  #history_intro .layout .arrow_area > *:nth-child(2), #history_intro .layout .arrow_area > *:nth-child(3) {
    margin-top: 0;
  }
  #history_intro .layout .arrow_area > *:nth-child(1) {
    margin-right: 4rem;
  }
  #history_intro .layout .arrow_area > *:nth-child(1)::after {
    left: 1.75rem;
    height: calc(100% + 192px + 4px);
  }
  #history_intro .layout .arrow_area > *:nth-child(2) {
    margin-left: 2rem;
    margin-right: 2rem;
  }
  #history_intro .layout .arrow_area > *:nth-child(2)::after {
    left: 1.75rem;
    height: calc(100% + 144px + 4px);
  }
  #history_intro .layout .arrow_area > *:nth-child(3) {
    margin-left: 4rem;
  }
  #history_intro .layout .arrow_area > *:nth-child(3)::after {
    left: 1.75rem;
    height: calc(100% + 48px + 4px);
  }
  #history_intro .layout .label {
    min-height: 48px;
    font-size: 0.875rem;
  }
  #history_intro .layout .label.white {
    font-size: 0.75rem;
    line-height: 1;
  }
  #history_intro .layout .label_foot {
    min-height: 56px;
    font-size: 0.875rem;
    line-height: 1;
  }
  #history_intro .list {
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
    gap: 0;
    font-size: 0.875rem;
  }
  #history_intro .list dt {
    margin-bottom: 0.5rem;
  }
  #history_intro .list dd:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

#history_energy .head_area {
  background: center/cover url("../img/child/company_history/history_energy_bg.jpg") no-repeat;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
#history_energy .head_area::before {
  content: "";
  width: 10px;
  height: var(--paddingSection);
  position: absolute;
  left: 50%;
  top: calc(var(--paddingSection) / 2 * -1);
  background: linear-gradient(#F76475 0%, #F73E41 60%, #E50721 100%);
  z-index: -2;
}
#history_energy .head_area::after {
  content: "";
  background-color: #272727;
  opacity: 0.5;
  position: absolute;
  inset: 0;
  z-index: -1;
}
#history_energy .head_area .date {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
#history_energy .head_area .title {
  font-size: 2.1875rem;
  font-weight: 700;
  margin-bottom: 1em;
}
#history_energy .head_area .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
#history_energy .body_area {
  padding-bottom: var(--paddingSection);
  background-color: #F8F8F8;
}
#history_energy .body_area .list {
  background: center/auto 100% url("../img/child/company_history/history_arrow_grad.jpg") repeat-x;
  position: relative;
}
#history_energy .body_area .list::before, #history_energy .body_area .list::after {
  content: "";
  width: 32rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/child/mv_civle.svg") no-repeat;
  position: absolute;
  z-index: 5;
  -webkit-animation: spin 5s linear infinite;
          animation: spin 5s linear infinite;
}
#history_energy .body_area .list::before {
  top: 3.875rem;
  left: -20rem;
}
#history_energy .body_area .list::after {
  bottom: -3rem;
  right: -24rem;
}
#history_energy .body_area .list dt {
  padding-top: var(--paddingSection);
  font-weight: 500;
  color: var(--color_red);
  text-align: center;
  position: relative;
  z-index: 2;
}
#history_energy .body_area .list dt::before {
  content: "";
  width: 1.25rem;
  height: 1rem;
  background-color: var(--color_red);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.75rem;
}
#history_energy .body_area .list dt::after {
  content: "";
  background-color: #F8F8F8;
  width: calc(100% + 1rem);
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-clip-path: polygon(0% 0%, calc(50% - 1px) 0%, calc(50% - 1px) calc(100% - 2rem - 1.25em), calc(50% + 1px) calc(100% - 2rem - 1.25em), calc(50% + 1px) 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, calc(50% - 1px) 0%, calc(50% - 1px) calc(100% - 2rem - 1.25em), calc(50% + 1px) calc(100% - 2rem - 1.25em), calc(50% + 1px) 0%, 100% 0%, 100% 100%, 0% 100%);
  z-index: -1;
}
#history_energy .body_area .list dd {
  padding-top: 1rem;
  margin-top: -0.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  position: relative;
  z-index: 1;
}
#history_energy .body_area .list dd::before {
  content: "";
  background-color: #F8F8F8;
  width: calc(100% + 1rem);
  height: calc(100% + 1rem);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
#history_energy .body_area .list dd::after {
  content: "";
  width: 100%;
  height: 3rem;
  background: linear-gradient(#F8F8F8 0%, transparent 100%);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}
@media screen and (max-width: 959px) {
  #history_energy .head_area::before {
    width: 4px;
  }
  #history_energy .head_area .date {
    font-size: 0.875rem;
  }
  #history_energy .head_area .title {
    font-size: 1.125rem;
  }
  #history_energy .head_area .text {
    font-size: 0.875rem;
  }
  #history_energy .body_area .list::before, #history_energy .body_area .list::after {
    display: none;
  }
  #history_energy .body_area .list dd {
    font-size: 0.875rem;
  }
}

#history_profile .title_01 {
  text-align: left;
}
#history_profile .flex {
  display: flex;
  gap: 1.5rem 5rem;
}
#history_profile .img_area {
  width: 35.71428%;
}
#history_profile .img_area img {
  border-radius: 3px;
}
#history_profile .text_area {
  flex: 1;
}
#history_profile .list {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  font-size: 0.9375rem;
}
#history_profile .list dt,
#history_profile .list dd {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
#history_profile .list dt {
  font-weight: 700;
  padding-left: 1.33333em;
  padding-right: 1.33333em;
  border-top: 1px solid var(--color_red);
}
#history_profile .list dd {
  font-weight: 500;
  padding-left: 2.5rem;
  padding-right: var(--paddingLR);
  border-top: 1px solid rgba(112, 112, 112, 0.2);
}
@media screen and (max-width: 959px) {
  #history_profile .flex {
    flex-direction: column;
  }
  #history_profile .img_area {
    width: 100%;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    order: 10;
  }
  #history_profile .list {
    grid-template-columns: 1fr;
    font-size: 0.875rem;
  }
  #history_profile .list dt,
#history_profile .list dd {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  #history_profile .list dt {
    padding-left: 0;
    padding-right: 0;
  }
  #history_profile .list dd {
    padding-left: 0;
    padding-right: 0;
  }
}

/*==========
job
==========*/
.layout_job_head {
  position: relative;
  z-index: 1;
  color: #fff;
}
.layout_job_head .title {
  font-size: 2.1875rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.layout_job_head .title::before {
  content: attr(data-en);
  font-size: 0.57142857em;
  font-weight: 200;
  font-family: "DM Sans";
  display: block;
}
.layout_job_head .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 959px) {
  .layout_job_head .title {
    font-size: 1.25rem;
  }
  .layout_job_head .text {
    font-size: 0.875rem;
  }
}

.layout_job .intro_area {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.layout_job .text_intro {
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: center;
}
.layout_job .list {
  display: flex;
  gap: 1.5rem 2.5rem;
}
.layout_job .list:not(:first-child) {
  margin-top: 2rem;
}
.layout_job .list .img_area {
  margin-bottom: 0.625rem;
}
.layout_job .list img {
  border-radius: 3px;
}
.layout_job .list .title_area {
  margin-bottom: 1.5rem;
}
.layout_job .list .title {
  font-size: 1.125rem;
  font-weight: 700;
}
.layout_job .list .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
.layout_job .item + .item {
  margin-top: var(--paddingSection);
}
@media screen and (max-width: 959px) {
  .layout_job .text_intro {
    font-size: 0.875rem;
  }
  .layout_job .list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .layout_job .list > * {
    max-width: 240px;
  }
  .layout_job .list .title_area {
    margin-bottom: 0.5rem;
  }
  .layout_job .list .title {
    font-size: 1rem;
  }
  .layout_job .list .text {
    font-size: 0.875rem;
  }
}

#job_sales .layout_job_head {
  background: center/cover url("../img/child/job/job_sales_bg.jpg") no-repeat;
}

#job_corporate .layout_job_head {
  background: center/cover url("../img/child/job/job_corporate_bg.jpg") no-repeat;
}

/*==========
people
==========*/
.layout_people {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0 2.5rem;
  padding-bottom: 0;
}
.layout_people .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  margin-bottom: 5rem;
}
.layout_people a {
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  color: inherit;
  gap: inherit;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  .layout_people a .img_area img {
    transition: transform 0.5s;
  }
  .layout_people a:hover .img_area img {
    transform: scale(1.05);
  }
}
.layout_people .img_area {
  border-radius: 3px;
  overflow: hidden;
  aspect-ratio: 320/205;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.layout_people .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_people .text_area {
  margin-top: 0.875rem;
}
.layout_people .title {
  font-size: 0.9375rem;
  font-weight: 500;
}
.layout_people .name_area {
  margin-top: 1.5rem;
}
.layout_people .name {
  font-weight: 700;
}
.layout_people .post {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
}
@media screen and (max-width: 959px) {
  .layout_people .name_area {
    margin-top: 0.75rem;
  }
  .layout_people .item {
    margin-bottom: 4rem;
  }
}

.layout_people_single #mv {
  min-height: 400px;
}
.layout_people_single #mv .title_circle::after {
  width: 560px;
}
.layout_people_single #mv .title_main .en {
  color: var(--color_red);
}
.layout_people_single #mv .title_main .ja {
  color: #fff;
  background-color: var(--color_red);
}
.layout_people_single #mv .list_breadcrumb {
  color: #1C1C1C;
}
@media screen and (max-width: 959px) {
  .layout_people_single #mv {
    min-height: 280px;
  }
  .layout_people_single #mv .title_circle::after {
    width: 400px;
  }
}

#people_single .row_head {
  display: flex;
  gap: 1.5rem 2.5rem;
  padding-top: 0;
}
#people_single .row_head .text_area {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#people_single .row_head .img_area {
  width: 56%;
}
#people_single .row_head .title {
  font-size: 1.6875rem;
  font-weight: 700;
  margin-top: 5.75rem;
  margin-bottom: auto;
}
#people_single .row_head .name {
  margin-top: 1em;
  font-weight: 700;
}
#people_single .row_head .post {
  font-size: 0.875rem;
  font-weight: 500;
}
#people_single .row_head .aside {
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 1.5rem;
  max-width: 400px;
}
#people_single .row_body {
  padding-top: 0;
}
#people_single .row_body .title_02 {
  text-align: left;
}
#people_single .row_body .title_02::before {
  margin-left: 0;
}
#people_single .row_body .flex {
  margin-top: 2.5rem;
  display: flex;
  gap: 1.5rem 2.5rem;
}
#people_single .row_body .text_area {
  flex: 1;
}
#people_single .row_body .img_area {
  width: 43.5%;
  border-radius: 3px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: auto;
  margin-bottom: auto;
}
#people_single .row_body .img_area img {
  border-radius: 3px;
}
#people_single .row_body .box + .box {
  margin-top: var(--paddingSection);
}
#people_single .row_body .title_sub {
  margin-bottom: 2.5rem;
  font-size: 1.4375rem;
  font-weight: 700;
  color: var(--color_red);
}
#people_single .row_body .title_sub .aside {
  font-size: 0.8125rem;
  font-weight: 500;
}
#people_single .row_body .text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2;
}
#people_single .row_body .list_img {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem 2.5rem;
}
#people_single .row_body .list_img > * {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: auto;
  margin-bottom: auto;
  border-radius: 3px;
  overflow: hidden;
}
#people_single .row_body .list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#people_single .row_btn {
  padding-top: 0;
}
@media screen and (max-width: 959px) {
  #people_single .row_head {
    flex-direction: column;
  }
  #people_single .row_head .img_area {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  #people_single .row_head .title {
    font-size: 1.125rem;
    margin-top: 2rem;
  }
  #people_single .row_body .flex {
    margin-top: 1.5rem;
    flex-direction: column;
  }
  #people_single .row_body .img_area {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  #people_single .row_body .title_sub {
    margin-bottom: 1rem;
    font-size: 1.125rem;
  }
  #people_single .row_body .text {
    font-size: 0.875rem;
  }
  #people_single .row_body .list_img {
    margin-top: 1rem;
  }
}

/*==========
career
==========*/
#career .title_02 {
  text-align: left;
}
#career .title_02::before {
  margin-left: 0;
}
#career .text_intro {
  font-size: 0.9375rem;
  font-weight: 500;
}

#career_training .layout_career .head_area {
  padding-top: 2.5rem;
}
#career_training .layout_career .head_area .img_area {
  width: 42.3%;
  aspect-ratio: 440/230;
  margin-top: 0;
}
#career_training .layout_career .head_area .text_area {
  margin-top: 1rem;
  min-height: 160px;
}
#career_training .js_accordion_content {
  background: linear-gradient(90deg, #fff4f4 0%, rgba(255, 244, 244, 0) 100%);
}
@media screen and (max-width: 959px) {
  #career_training .layout_career .head_area {
    padding-top: 1.5rem;
  }
  #career_training .layout_career .head_area .img_area {
    width: 100%;
  }
  #career_training .layout_career .head_area .text_area {
    margin-top: 0;
    min-height: 64px;
  }
}

.layout_career:not(:first-child) {
  margin-top: 4rem;
}
.layout_career > *:not(:last-child) {
  margin-bottom: var(--paddingSection);
}
.layout_career .head_area {
  background: center top/100% auto url("../img/child/career/career_headarea_bg.jpg") no-repeat;
  padding: 4.5rem 2.5rem 1.5rem;
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
.layout_career .head_area .flex {
  display: flex;
  gap: 1.5rem;
}
.layout_career .head_area .text_area {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.layout_career .head_area .img_area {
  width: 26.346%;
  aspect-ratio: 274/300;
  margin-top: 1rem;
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
}
.layout_career .head_area .img_area img {
  border-radius: 3px;
  margin-top: auto;
  margin-bottom: auto;
}
.layout_career .head_area .label {
  background-color: var(--color_red);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.75em 1.5em;
  border-radius: 0 0 3px 0;
  position: absolute;
  top: 0;
  left: 0;
}
.layout_career .head_area .title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.375;
  margin-bottom: auto;
}
.layout_career .head_area .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 0;
  text-align: center;
}
.layout_career .head_area .list:not(:last-child) {
  margin-bottom: 1.125rem;
}
.layout_career .head_area .list > * {
  width: 10rem;
  aspect-ratio: 1/1;
  background-color: var(--color_red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
.layout_career .head_area .list > *:not(:last-child) {
  margin-right: 1.5rem;
}
.layout_career .head_area .list > *:not(:last-child)::after {
  content: "";
  width: 9px;
  height: 15px;
  background-color: #E55151;
  position: absolute;
  right: calc((1.5rem - 4.5px) * -1);
  top: 50%;
  transform: translate(-25%, -50%);
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
.layout_career .head_area .list .small {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 0.5em;
}
.layout_career .head_area .list .big {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.125;
  margin-bottom: 0.325em;
}
.layout_career .head_area .list .aside {
  font-size: 0.75rem;
  line-height: 1.25;
}
.layout_career .head_area .post {
  font-size: 0.8125rem;
  font-weight: 500;
}
.layout_career .head_area .name {
  font-size: 1.125rem;
  font-weight: 700;
}
.layout_career .body_area {
  margin-top: 1.5rem;
}
.layout_career .foot_area {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  gap: 1.5rem 5rem;
}
.layout_career .foot_area:not(:first-child) {
  margin-top: 3.5rem;
}
.layout_career .foot_area > * {
  flex: 1;
  background-color: #FFF4F4;
  border-radius: 5px;
  padding: 1.5rem 2.5rem;
}
.layout_career .foot_area .title {
  font-size: 1.125rem;
  font-weight: 700;
  padding-left: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--color_red);
  margin-bottom: 1em;
  position: relative;
}
.layout_career .foot_area .title::before {
  content: "・";
  position: absolute;
  left: 0;
  color: var(--color_red);
}
.layout_career .foot_area .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
.layout_career .js_accordion_btn {
  cursor: pointer;
  font-size: 1.0625rem;
  font-weight: 700;
  background-color: var(--color_red);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  padding: 0.5em 2em;
  height: 80px;
  position: relative;
}
.layout_career .js_accordion_btn::after {
  content: "";
  width: 2.35294em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_anchor_white.svg") no-repeat;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
.layout_career .js_accordion_content {
  display: none;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-top: 2.5rem;
  border-radius: 3px;
}
.layout_career .js_accordion_content .list {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 4rem 1.5rem;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375rem;
}
.layout_career .js_accordion_content .list dt {
  font-weight: 700;
  position: relative;
  padding-left: 2.5rem;
}
.layout_career .js_accordion_content .list dt::before {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color_red);
  position: absolute;
  left: 1.25rem;
  top: 0.325em;
  transform: translateX(-50%);
}
.layout_career .js_accordion_content .list dt:not(:last-of-type)::after {
  content: "";
  width: 1px;
  height: calc(100% + 4rem);
  position: absolute;
  left: 1.25rem;
  top: 0.325em;
  transform: translateX(-50%);
  background-color: var(--color_red);
  opacity: 0.2;
}
.layout_career .js_accordion_content .list .border {
  border: 1px solid #D1C7C7;
  border-radius: 5px;
  padding: 0.75em 1em;
}
.layout_career .js_accordion_content .list .border:not(:first-child) {
  margin-top: 0.5rem;
}
.layout_career .js_accordion_content .flex {
  display: flex;
  gap: 1rem;
}
.layout_career .js_accordion_content .flex > *:not(.img_area) {
  flex: 1;
}
.layout_career .js_accordion_content .flex .img_area {
  max-width: 214px;
  width: 33%;
}
@media screen and (max-width: 959px) {
  .layout_career:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_career .head_area {
    padding: calc(var(--paddingLR) / 2);
    padding-top: 3.5rem;
  }
  .layout_career .head_area .flex {
    flex-direction: column;
  }
  .layout_career .head_area .img_area {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: auto;
    margin-top: 0;
    margin-bottom: 0;
  }
  .layout_career .head_area .label {
    font-size: 0.75rem;
  }
  .layout_career .head_area .title {
    font-size: 1.125rem;
    margin-bottom: 1rem;
  }
  .layout_career .head_area .list > * {
    max-width: 6.5rem;
  }
  .layout_career .head_area .list .small {
    font-size: 0.625rem;
    margin-bottom: 0.25rem;
  }
  .layout_career .head_area .list .big {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
  .layout_career .head_area .list .aside {
    font-size: 0.625rem;
  }
  .layout_career .foot_area {
    flex-direction: column;
  }
  .layout_career .foot_area:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_career .foot_area > * {
    padding: var(--paddingLR);
  }
  .layout_career .foot_area .title {
    font-size: 1rem;
  }
  .layout_career .foot_area .text {
    font-size: 0.875rem;
  }
  .layout_career .js_accordion_btn {
    font-size: 0.875rem;
    height: 56px;
  }
  .layout_career .js_accordion_content {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    margin-top: 1.5rem;
  }
  .layout_career .js_accordion_content .list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    font-size: 0.875rem;
  }
  .layout_career .js_accordion_content .list dt {
    padding-left: 2rem;
  }
  .layout_career .js_accordion_content .list dt::before {
    left: 1rem;
  }
  .layout_career .js_accordion_content .list dt:not(:last-of-type)::after {
    left: 1rem;
    height: calc(100% + 1.5rem);
  }
  .layout_career .js_accordion_content .list dd {
    padding-left: 2.5rem;
    position: relative;
  }
  .layout_career .js_accordion_content .list dd:not(:last-of-type)::after {
    content: "";
    width: 1px;
    height: calc(100% + 1.5rem);
    position: absolute;
    left: 1rem;
    top: 0.325em;
    transform: translateX(-50%);
    background-color: var(--color_red);
    opacity: 0.2;
  }
  .layout_career .js_accordion_content .list .border {
    padding: var(--paddingLR);
  }
  .layout_career .js_accordion_content .flex {
    flex-direction: column;
  }
  .layout_career .js_accordion_content .flex .img_area {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    width: 75%;
  }
}

/*==========
benefits
==========*/
#entry .text_intro,
#numbers_contents .text_intro,
#benefits_contents .text_intro {
  font-size: 1.4375rem;
  font-weight: 700;
}
#entry .text_intro:not(:first-child),
#numbers_contents .text_intro:not(:first-child),
#benefits_contents .text_intro:not(:first-child) {
  margin-top: 4rem;
}
@media screen and (max-width: 959px) {
  #entry .text_intro,
#numbers_contents .text_intro,
#benefits_contents .text_intro {
    font-size: 1rem;
  }
  #entry .text_intro:not(:first-child),
#numbers_contents .text_intro:not(:first-child),
#benefits_contents .text_intro:not(:first-child) {
    margin-top: 2rem;
  }
}

.layout_benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
}
.layout_benefits:not(:first-child) {
  margin-top: var(--paddingSection);
}
.layout_benefits > * {
  width: calc((100% - 2.5rem) / 2);
  display: flex;
  background-color: #F8F8F8;
  border-radius: 3px;
  overflow: hidden;
}
.layout_benefits .img_area {
  width: 37%;
}
.layout_benefits .text_area {
  flex: 1;
  padding: 2rem;
}
.layout_benefits .title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25;
  padding-left: 1.5em;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.layout_benefits .title::before {
  content: "−";
  color: var(--color_red);
  position: absolute;
  left: 0;
}
.layout_benefits .text {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 959px) {
  .layout_benefits {
    justify-content: center;
  }
  .layout_benefits:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_benefits > * {
    width: 100%;
    max-width: 320px;
  }
  .layout_benefits .text_area {
    padding: 0.75rem;
  }
  .layout_benefits .title {
    font-size: 0.875rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
    padding-left: 1em;
  }
  .layout_benefits .text {
    font-size: 0.8125rem;
    line-height: 1.25;
  }
}

#benefits_people .layout_people_term:last-child {
  margin-bottom: var(--paddingSection);
}

/*==========
numbers
==========*/
.layout_numbers {
  font-size: clamp(0.5rem, 1.4285714vw, 1rem);
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 2.5em;
}
.layout_numbers:not(:first-child) {
  margin-top: var(--paddingSection);
}
.layout_numbers > * {
  width: calc((100% - 2.5em) / 2);
  aspect-ratio: 540/225;
  background-color: #F8F8F8;
  border-radius: 3px;
  overflow: hidden;
  padding: 1.5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.layout_numbers .title {
  margin-bottom: auto;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.25;
  padding-left: 1.5em;
  position: relative;
}
.layout_numbers .title::before {
  content: "−";
  color: var(--color_red);
  position: absolute;
  left: 0;
}
.layout_numbers .row_number {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.layout_numbers .row_number .icon_area {
  flex-shrink: 0;
  width: 5em;
}
.layout_numbers .text {
  text-align: center;
  white-space: nowrap;
  font-size: 2.1875em;
  font-weight: 500;
  color: var(--color_red);
}
.layout_numbers .text .big {
  font-size: 2.1428571em;
  font-weight: 200;
  font-family: "DM Sans";
  margin-left: 0.125em;
  margin-right: 0.125em;
  line-height: 1;
}
.layout_numbers .text .slash {
  line-height: 0;
  margin-left: 0;
  margin-right: 0.4em;
  margin-top: auto;
  position: relative;
}
.layout_numbers .text .slash::before {
  content: "";
  width: 1px;
  height: 1em;
  background-color: var(--color_red);
  display: block;
  position: absolute;
  bottom: 0.25em;
  left: calc(50% + 0.25em);
  transform: rotate(20deg) translateX(-50%);
}
.layout_numbers .text_upper {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 1.125em;
  font-weight: 500;
  color: var(--color_red);
  justify-content: space-around;
  margin-bottom: 0.5em;
}
.layout_numbers .text_upper .separate {
  width: 1px;
  height: 1.75em;
  background-color: var(--color_red);
  display: block;
}
.layout_numbers .aside {
  font-size: 0.8125em;
  text-align: center;
}
.layout_numbers ruby rt {
  text-align: center;
  font-size: 0.428571em;
}
@media screen and (max-width: 959px) {
  .layout_numbers {
    font-size: 0.875rem;
    justify-content: center;
    gap: 1em;
  }
  .layout_numbers > * {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 540/240;
    padding: calc(var(--paddingLR) / 2);
  }
  .layout_numbers .title {
    font-size: 1em;
  }
  .layout_numbers .row_number .icon_area {
    width: 3.5em;
  }
  .layout_numbers .text {
    font-size: 1.5em;
  }
  .layout_numbers ruby rt {
    display: inline-block;
    vertical-align: top;
    margin-top: -1.5em;
    margin-left: -6em;
  }
}

/*==========
movie
==========*/
#movie #mv .title_sub {
  font-size: 1.4375rem;
}
@media screen and (max-width: 959px) {
  #movie #mv .title_sub {
    font-size: 1rem;
  }
}

#movie_contents .row_category {
  display: flex;
  gap: 1rem;
}
#movie_contents .row_category .label {
  width: 10%;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color_red);
}
#movie_contents .row_category .label::before {
  content: "-";
  margin-right: 0.5rem;
}
@media screen and (max-width: 959px) {
  #movie_contents .row_category {
    flex-direction: column;
  }
  #movie_contents .row_category .label {
    width: 100%;
    font-size: 1rem;
  }
}

.layout_movie {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(352px, 1fr));
  gap: 5rem 2rem;
}
.layout_movie:not(:first-child) {
  margin-top: 5rem;
}
.layout_movie a {
  color: inherit;
  text-decoration: none;
}
.layout_movie .thumb_area {
  width: 100%;
  aspect-ratio: 440/231;
}
.layout_movie .thumb_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_movie .title_area {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}
.layout_movie .title {
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (max-width: 959px) {
  .layout_movie {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 2.5rem 1rem;
  }
  .layout_movie:not(:first-child) {
    margin-top: 2.5rem;
  }
  .layout_movie .title {
    font-size: 0.875rem;
  }
}

/*==========
workshop
==========*/
#workshop #mv {
  min-height: 600px;
  margin-top: var(--headerHeight);
  padding-top: var(--paddingLR);
  background-position: center bottom;
}
#workshop #mv .title_main {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#workshop #mv .title_main::before {
  content: "";
  aspect-ratio: 526/192;
  width: 32.875em;
  max-width: 100%;
  background: center/contain url("../img/child/workshop/workshop_mv_deco.svg") no-repeat;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: -15%;
  margin-bottom: -13%;
}
#workshop #mv .title_main .en {
  text-align: center;
}
#workshop #mv .title_main .ja {
  margin-left: auto;
  margin-right: auto;
}
#workshop #mv .text_area {
  text-align: center;
}
@media screen and (max-width: 959px) {
  #workshop #mv {
    min-height: 280px;
    padding-top: 0;
  }
  #workshop #mv .text_area {
    margin-top: 2.5rem;
  }
  #workshop #mv .title_main::before {
    width: 16em;
  }
  #workshop #mv .title_sub {
    margin-bottom: 1rem;
  }
}

#workshop_contents .btn {
  background-color: var(--color_red);
  color: #fff;
  padding: 1rem;
  display: block;
  padding: 1rem;
  height: 190px;
  border-radius: 3px;
}
#workshop_contents .btn .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 956px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  gap: 1rem;
}
#workshop_contents .btn .en {
  font-size: 1.25rem;
  font-weight: 200;
  font-family: "DM Sans";
}
#workshop_contents .btn .ja {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
}
#workshop_contents .btn .text_link {
  font-size: 0.9375rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
}
#workshop_contents .btn .text_link::after {
  content: "";
  width: 3.8em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrowCircle-pink.svg") no-repeat;
  display: block;
}
@media screen and (max-width: 959px) {
  #workshop_contents .btn {
    height: 120px;
  }
  #workshop_contents .btn .flex {
    gap: 0.5rem;
  }
  #workshop_contents .btn .en {
    font-size: 0.875rem;
  }
  #workshop_contents .btn .ja {
    font-size: 1rem;
  }
  #workshop_contents .btn .text_link {
    font-size: 0.875rem;
  }
}

.layout_workshop {
  counter-reset: step;
}
.layout_workshop:not(:first-child) {
  margin-top: 5rem;
}
.layout_workshop .row_item {
  display: flex;
  gap: 1rem 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #000;
  -o-border-image: url("../img/child/workshop/workshop_border.png") 1 fill;
     border-image: url("../img/child/workshop/workshop_border.png") 1 fill;
}
.layout_workshop > *:not(.breaktime):not(:last-child) {
  margin-bottom: 4rem;
}
.layout_workshop > *:not(.breaktime):not(:last-child)::after {
  content: "";
  width: 10rem;
  aspect-ratio: 160/58;
  background: center/contain url("../img/child/workshop/workshop_arrow.svg");
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.layout_workshop .breaktime {
  margin-bottom: 5rem;
  background-color: var(--color_red);
  color: #fff;
  padding: 1rem;
  border-radius: 10px;
  font-size: 1.875rem;
  font-weight: 200;
  font-family: "DM Sans";
  text-align: center;
}
.layout_workshop .step {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: var(--color_red);
}
.layout_workshop .step::before {
  content: "Step /";
  font-size: 1.25rem;
}
.layout_workshop .step::after {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  font-size: 3.4375rem;
  font-weight: 200;
  font-family: "DM Sans";
  line-height: 1;
}
.layout_workshop .text_area {
  flex: 1;
  margin-right: auto;
  padding-left: 2.5rem;
}
.layout_workshop .img_area {
  width: 35.71428%;
  border-radius: 3px;
  overflow: hidden;
}
.layout_workshop .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_workshop .row_title {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.layout_workshop .title {
  font-size: 1.5625rem;
  font-weight: 700;
}
.layout_workshop .row_text {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (max-width: 959px) {
  .layout_workshop:not(:first-child) {
    margin-top: 2.5rem;
  }
  .layout_workshop .row_item {
    flex-direction: column;
    padding-bottom: 1.5rem;
  }
  .layout_workshop > *:not(.breaktime):not(:last-child) {
    margin-bottom: 1rem;
  }
  .layout_workshop .breaktime {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
  }
  .layout_workshop .step::before {
    font-size: 1rem;
  }
  .layout_workshop .step::after {
    font-size: 2.5rem;
  }
  .layout_workshop .text_area {
    padding-left: 0;
  }
  .layout_workshop .img_area {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_workshop .row_title {
    gap: 1rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
  }
  .layout_workshop .title {
    font-size: 1.125rem;
  }
  .layout_workshop .row_text {
    font-size: 0.875rem;
  }
}

/*==========
entry
==========*/
.layout_entry_logo {
  --color: var(--color_red);
  color: var(--color_red);
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}
.layout_entry_logo:not(:first-child) {
  margin-top: 2rem;
}
.layout_entry_logo > * {
  width: calc((100% - 4rem) / 3);
  height: 80px;
}
.layout_entry_logo > *:not(:has(a)),
.layout_entry_logo > * a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: var(--color);
  border: 2px solid var(--color);
  border-radius: 3px;
  padding: 1rem;
}
.layout_entry_logo > *:not(:has(a)) img,
.layout_entry_logo > * a img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.layout_entry_logo a {
  height: 100%;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .layout_entry_logo {
    font-size: 0.875rem;
    flex-direction: column;
  }
  .layout_entry_logo > * {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    height: 64px;
  }
  .layout_entry_logo > *:not(:has(a)),
.layout_entry_logo > * a {
    padding: 0.5rem;
  }
}

.layout_entry {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  font-size: 0.9375rem;
}
.layout_entry:not(:first-child) {
  margin-top: 4rem;
}
.layout_entry dt,
.layout_entry dd {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}
.layout_entry dt {
  font-weight: 700;
  padding-left: 1.33333em;
  padding-right: 1.33333em;
  border-top: 1px solid var(--color_red);
}
.layout_entry dd {
  font-weight: 500;
  padding-left: 2.5rem;
  padding-right: var(--paddingLR);
  border-top: 1px solid rgba(112, 112, 112, 0.2);
}
@media screen and (max-width: 959px) {
  .layout_entry {
    grid-template-columns: 1fr;
    font-size: 0.875rem;
  }
  .layout_entry:not(:first-child) {
    margin-top: 2.5rem;
  }
  .layout_entry dt,
.layout_entry dd {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .layout_entry dt {
    padding-left: 0;
    padding-right: 0;
  }
  .layout_entry dd {
    padding-left: 0;
    padding-right: 0;
  }
}

#entry_flow {
  padding-top: 0;
}
#entry_flow .title_02 {
  text-align: left;
}
#entry_flow .title_02::before {
  margin-left: 0;
}
#entry_flow .aside_area {
  font-size: 0.9375rem;
  font-weight: 500;
  margin-top: 0.875rem;
}

.layout_flow {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem 5rem;
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 500;
  color: #FA4747;
  text-align: center;
  position: relative;
}
.layout_flow::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color_red);
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}
.layout_flow > * {
  background-color: #FFF4F4;
  max-width: 210px;
  flex: 1;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .layout_flow {
    flex-direction: column;
    align-items: center;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_flow::after {
    width: 1px;
    height: 100%;
    left: 50%;
    top: 0;
  }
  .layout_flow > * {
    width: 100%;
  }
}

/*==========
news
==========*/
#news:has(#news_single) #mv {
  min-height: auto;
  margin-bottom: var(--paddingSection);
}
@media screen and (max-width: 959px) {
  #news:has(#news_single) #mv {
    margin-bottom: 0;
  }
}

#news_single .title_main {
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.25;
}
#news_single .row_date {
  margin-top: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
  padding-bottom: 1.25rem;
  margin-bottom: 5rem;
}
#news_single .row_date time {
  font-size: 0.9375rem;
  flex-shrink: 0;
}
#news_single .list_category {
  font-size: 0.8125rem;
}
#news_single .list_category > * {
  background-color: var(--color_red);
  color: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 959px) {
  #news_single .title_main {
    font-size: 1.25rem;
  }
  #news_single .row_date {
    margin-bottom: 2.5rem;
  }
}