@charset "UTF-8";
/*========== 子ページ ==========*/
body:not(:has(#mv_special, #mv_company)) #header {
  background-color: #fff;
}
body:not(:has(#mv_special, #mv_company)) #header .list_header {
  color: #000;
}
body:not(:has(#mv_special, #mv_company)) #mv {
  margin-top: var(--headerHeight);
}
body:has(#mv_company) #header .list_header {
  color: #000;
}
@media screen and (max-width: 959px) {
  body:not(:has(#mv_special, #mv_company)) #mv {
    margin-top: 0;
  }
}

/*==========
子ページ共通
==========*/
#mv {
  background: center/cover url("../img/child/child_mv.jpg") no-repeat;
  color: #fff;
  position: relative;
  height: 380px;
}
#mv .flex {
  display: flex;
  height: 100%;
}
#mv #breadcrumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
#mv .text_area {
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
}
#mv .text_area:has(.inner) {
  padding-left: 0;
  padding-right: 0;
}
#mv .img_area {
  width: 50%;
  height: 100%;
}
#mv .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mv .title_sub {
  font-size: 1.25rem;
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  margin-bottom: 1em;
}
#mv .title_01 {
  color: #fff;
  margin-bottom: 0;
}
#mv .title_01::before {
  display: none;
}
#mv .title_01::after {
  color: #fff;
}
#mv .title_01:not(.en) {
  font-size: 4rem;
}
#mv .title_01:not(.en)::after {
  content: attr(data-en);
  font-family: "DM Sans";
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
  display: block;
  margin-top: 0.5em;
}
#mv .title_01.en::after {
  font-size: 5rem;
}
@media screen and (max-width: 959px) {
  #mv {
    height: auto;
  }
  #mv .flex {
    flex-direction: column;
  }
  #mv .img_area {
    width: 100%;
    height: 240px;
  }
  #mv .text_area {
    padding: 2.5rem var(--paddingLR);
    min-height: 240px;
    align-items: flex-start;
  }
  #mv .title_sub {
    font-size: 1rem;
  }
  #mv .title_01:not(.en) {
    font-size: 2rem;
  }
  #mv .title_01.en::after {
    font-size: 2rem;
  }
}

/*=== breadcrumb ===*/
#breadcrumb {
  padding: 1.125rem 2.5rem;
}
@media screen and (max-width: 959px) {
  #breadcrumb {
    padding: 1.125rem var(--paddingLR);
  }
}

.list_breadcrumb {
  font-size: 0.6875rem;
  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;
  }
}

/*=== pagination ===*/
.layout_pagination {
  margin-top: 1.5rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25em 1rem;
}
.layout_pagination:not(:first-child) {
  margin-top: 5rem;
}
.layout_pagination a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 960px) {
  .layout_pagination a {
    transition: background-color 0.5s;
  }
  .layout_pagination a:hover {
    opacity: 1;
    background-color: #E0E1E5;
  }
}
.layout_pagination > * {
  width: 2.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout_pagination .current {
  background-color: var(--color_main);
  color: #fff;
}
.layout_pagination .page-numbers {
  width: 3.125rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(21, 30, 63, 0.2);
  border-radius: 50%;
}
.layout_pagination .page-numbers.dots {
  border: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.layout_pagination .sp_br {
  display: none;
}
@media screen and (max-width: 959px) {
  .layout_pagination {
    flex-wrap: wrap;
  }
  .layout_pagination .sp_br {
    display: block;
    width: 100%;
    height: 0;
    aspect-ratio: auto;
  }
  .layout_pagination .prev,
.layout_pagination .next {
    margin-top: 0.5rem;
    order: 1;
  }
  .layout_pagination a {
    background-color: #F5F0F0;
  }
}

/*=== layout_anchor ===*/
.layout_anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}
.layout_anchor > * {
  border-radius: 5px;
  max-width: 360px;
  flex: 1;
  background-color: var(--color_main);
  color: #fff;
}
.layout_anchor > *:not(:has(a)),
.layout_anchor > * a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  aspect-ratio: 360/80;
  position: relative;
}
.layout_anchor > *:not(:has(a))::after,
.layout_anchor > * a::after {
  content: "";
  width: 0.75em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-anchor-white.svg") no-repeat;
  position: absolute;
  bottom: 0.5em;
  left: 50%;
  transform: translateX(-50%);
}
.layout_anchor a {
  color: inherit;
  text-decoration: none;
}
.layout_anchor .title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  line-height: 1.25;
  margin-bottom: 0.25rem;
}
.layout_anchor .title .small {
  font-size: 0.6em;
}
@media screen and (max-width: 959px) {
  .layout_anchor {
    flex-direction: column;
    align-items: center;
  }
  .layout_anchor > *:not(:has(a)),
.layout_anchor > * a {
    padding: var(--paddingLR);
    gap: 1rem;
  }
  .layout_anchor .title {
    font-size: 1rem;
  }
}

/*==========
company
==========*/
#mv_company {
  padding-top: var(--headerHeight);
  padding-bottom: var(--paddingSection);
  position: relative;
}
#mv_company .text_area {
  height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#mv_company .deco_area {
  width: 100%;
  max-width: 1440px;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
#mv_company .deco_area .deco {
  position: absolute;
  z-index: -1;
}
#mv_company .deco_area .deco_01 {
  width: 20.75em;
  bottom: -7em;
  left: -8em;
}
#mv_company .deco_area .deco_02 {
  width: 28.5em;
  top: -8em;
  left: 40em;
}
#mv_company .deco_area .deco_03 {
  width: 29.5em;
  top: 16em;
  right: -11em;
}
#mv_company .title_01 {
  color: var(--color_main);
}
#mv_company .title_01.en::after {
  font-size: 4.0625rem;
}
@media screen and (max-width: 959px) {
  #mv_company .title_01.en::after {
    font-size: 2rem;
  }
}
#mv_company .anchor_area {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 5rem;
}
#mv_company .anchor_area > * {
  width: calc((100% - 5rem) / 2);
}
#mv_company .anchor_area .btn {
  color: var(--color_main);
  font-size: 1.125rem;
  line-height: 1.25;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  height: 106px;
  border-bottom: 1px solid var(--color_main);
}
#mv_company .anchor_area .btn::after {
  content: "";
  width: 0.75em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-anchor-red.svg") no-repeat;
  display: block;
}
@media screen and (min-width: 960px) {
  #mv_company .anchor_area .btn {
    transition: background-color 0.5s, color 0.5s;
  }
  #mv_company .anchor_area .btn:hover {
    border-radius: 5px;
    background-color: var(--color_main);
    color: #fff;
    opacity: 1;
  }
  #mv_company .anchor_area .btn:hover::after {
    background-image: url("../img/common/icon_arrow-anchor-white.svg");
  }
}
@media screen and (max-width: 959px) {
  #mv_company {
    padding-top: 0;
  }
  #mv_company .text_area {
    height: 160px;
  }
  #mv_company .deco_area .deco_01 {
    width: 12em;
    bottom: -6em;
    left: -6em;
  }
  #mv_company .deco_area .deco_02 {
    width: 16em;
    top: 0em;
    left: auto;
    right: -5rem;
  }
  #mv_company .deco_area .deco_03 {
    width: 12em;
    top: auto;
    bottom: -10rem;
    right: -4em;
  }
  #mv_company .anchor_area {
    gap: 1rem;
  }
  #mv_company .anchor_area > * {
    width: calc((100% - 1rem) / 2);
  }
  #mv_company .anchor_area .btn {
    font-size: 0.875rem;
    height: 64px;
  }
}

#company_message .flex {
  display: flex;
}
#company_message .img_area {
  width: 42.8571%;
}
#company_message .img_area .name {
  font-size: 0.9375rem;
  margin-top: 1em;
}
#company_message .text_area {
  flex: 1;
  margin-top: 3rem;
  position: relative;
  z-index: 1;
}
#company_message .text_area .title {
  font-size: 2.1875rem;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 1.42857em;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#company_message .text_area .bg {
  line-height: 2;
  margin-left: -5rem;
  position: relative;
  z-index: 1;
}
#company_message .text_area .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  opacity: 0.67;
  filter: 2rem;
  z-index: -1;
  box-shadow: 0 0 2rem 2rem #fff;
}
@media screen and (max-width: 959px) {
  #company_message .flex {
    flex-direction: column;
  }
  #company_message .img_area {
    width: 100%;
    max-width: 360px;
  }
  #company_message .img_area .name {
    font-size: 0.875rem;
  }
  #company_message .text_area {
    margin-top: 1.5rem;
  }
  #company_message .text_area .title {
    font-size: 1.25rem;
    margin-bottom: 1em;
    margin-left: 0;
  }
  #company_message .text_area .bg {
    margin-left: 0rem;
    line-height: 1.75;
  }
  #company_message .text_area .text {
    font-size: 0.875rem;
  }
}

#company_strength .row_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
#company_strength .row_title .title_01 {
  flex-shrink: 0;
}
#company_strength .row_title .text {
  max-width: 68.92857%;
}
@media screen and (max-width: 959px) {
  #company_strength .row_title {
    display: block;
  }
  #company_strength .row_title .text {
    max-width: 100%;
    font-size: 0.875rem;
  }
}

.layout_strength {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
.layout_strength:not(:first-child) {
  margin-top: 1.5rem;
}
.layout_strength > *:not(.cross) {
  flex: 1;
}
.layout_strength > *:first-child .img_area {
  margin-left: calc(100% + 1.25rem - 50vw);
}
.layout_strength > *:last-child .img_area {
  margin-right: calc(100% + 1.25rem - 50vw);
}
.layout_strength .cross {
  pointer-events: none;
  flex-shrink: 0;
  width: 6.25rem;
  aspect-ratio: 1/1;
  margin: 0 -3.125rem;
  margin-top: 5.625rem;
  z-index: 10;
  position: relative;
}
.layout_strength .cross::after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background: center/contain url("../img/index/index_company-cross.svg") no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 10;
}
.layout_strength .img_area {
  height: 17.5rem;
  position: relative;
}
.layout_strength .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_strength .text_area {
  padding-top: 1.5rem;
  position: relative;
  z-index: 1;
}
.layout_strength .text_area .label {
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  width: 80%;
  max-width: 347px;
  border-radius: 15px 15px 0 0;
  padding: 1.25rem;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);
  z-index: 1;
}
.layout_strength .text_area .list {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}
.layout_strength .text_area .list > * {
  background-color: #FDDADA;
  border-radius: 100px;
  min-width: 170px;
  padding: 1em;
  text-align: center;
}
.layout_strength .text_area .text {
  font-size: 0.9375rem;
}
@media screen and (max-width: 959px) {
  .layout_strength {
    flex-direction: column;
  }
  .layout_strength > *:not(.cross) {
    flex: 0 1 auto;
  }
  .layout_strength > *:first-child .img_area {
    margin-left: 0;
  }
  .layout_strength > *:last-child .img_area {
    margin-right: 0;
  }
  .layout_strength .cross {
    width: 3rem;
    margin: 0 auto;
  }
  .layout_strength .img_area {
    height: 10rem;
  }
  .layout_strength .text_area .label {
    font-size: 0.875rem;
    border-radius: 10px 10px 0 0;
    padding: 0.75rem;
  }
  .layout_strength .text_area .list > * {
    min-width: 120px;
    padding: 0.75em 1em;
  }
  .layout_strength .text_area .text {
    font-size: 0.875rem;
  }
}

#company_history .bg {
  background: center/cover url("../img/child/company/company_history_bg.jpg") no-repeat;
  color: #fff;
}
#company_history .title_01 {
  color: #fff;
  text-align: center;
}
#company_history .dl_01 {
  font-size: 0.9375rem;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 959px) {
  #company_history .dl_01 {
    font-size: 0.875rem;
  }
}

/*==========
special
==========*/
#mv_special {
  display: flex;
  flex-direction: column;
  min-height: 800px;
  padding-top: var(--headerHeight);
  color: #fff;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: var(--paddingSection);
}
#mv_special #breadcrumb {
  color: #fff;
}
#mv_special .container,
#mv_special .inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#mv_special .title_label {
  margin-top: 2.5rem;
  font-family: "DM Sans";
  font-weight: 500;
  color: #fff;
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  border-radius: 15px 15px 0 0;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 260px;
  height: 50px;
}
@media screen and (max-width: 959px) {
  #mv_special .title_label {
    border-radius: 10px 10px 0 0;
    font-size: 0.75rem;
    max-width: 184px;
    height: 40px;
  }
}
#mv_special .title_main {
  font-family: "Zen Old Mincho", serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 1em;
}
@media screen and (max-width: 959px) {
  #mv_special .title_main {
    font-size: 1.5rem;
  }
}
#mv_special .label_special {
  font-size: 1.4375rem;
  margin-top: 5rem;
  transform: rotate(-16deg) translate(-1.5em, 0.5em);
  transform-origin: bottom left;
  padding: 0.25em 1.5em;
}
#mv_special .title_special {
  font-size: 5.375rem;
  margin-bottom: 0.5em;
  transform: rotate(-6deg);
  transform-origin: bottom left;
}
#mv_special .title_special .border + .border {
  margin-top: 0;
}
#mv_special .text_area {
  max-width: 710px;
  font-size: 0.9375rem;
  line-height: 2;
  margin-top: auto;
}
@media screen and (max-width: 959px) {
  #mv_special {
    padding-top: 0;
    padding-bottom: 2rem;
    min-height: 500px;
  }
  #mv_special:has(.title_special) {
    background-position: center left 68%;
  }
  #mv_special .label_special {
    font-size: 0.75rem;
    margin-top: 5rem;
  }
  #mv_special .title_special {
    font-size: 2.1875rem;
    margin-bottom: 1.5em;
  }
  #mv_special .text_area {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

#special_menu .menu {
  color: #fff;
  counter-reset: menu;
}
#special_menu .menu a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  #special_menu .menu a .bg {
    position: relative;
    z-index: 1;
  }
  #special_menu .menu a .bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
    transition: opacity 0.5s;
    z-index: -1;
  }
  #special_menu .menu a .btn_01 {
    transition: background-color 0.5s;
  }
  #special_menu .menu a:hover {
    opacity: 1;
  }
  #special_menu .menu a:hover .bg::after {
    opacity: 0.5;
  }
  #special_menu .menu a:hover .btn_01 {
    background-color: var(--color_main_hover);
  }
}
#special_menu .menu .label {
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  color: #fff;
  font-family: "DM Sans";
  font-size: 1.125rem;
  font-weight: 500;
  border-radius: 15px 15px 0 0;
  padding: 0.625em 2em 0.5em;
  width: 80%;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
#special_menu .menu .label::after {
  counter-increment: menu;
  content: counter(menu, decimal-leading-zero);
  margin-left: 0.5em;
}
#special_menu .menu > *:not(:first-child) {
  margin-top: 5rem;
}
#special_menu .menu .bg {
  height: 470px;
  padding: 2.5rem 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#special_menu .menu .bg .container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
#special_menu .menu .bg .row_foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#special_menu .menu .title {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4375rem;
  font-weight: 700;
  line-height: 1.25;
}
#special_menu .menu .title .small {
  font-size: 0.636363em;
  line-height: 1.25;
}
#special_menu .menu .text_area {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  #special_menu .menu .label {
    font-size: 0.875rem;
    border-radius: 10px 10px 0 0;
    max-width: 240px;
  }
  #special_menu .menu > *:not(:first-child) {
    margin-top: 5rem;
  }
  #special_menu .menu .bg {
    height: auto;
    padding: var(--paddingLR) 0;
  }
  #special_menu .menu .bg .row_foot {
    flex-direction: column;
    align-items: flex-start;
  }
  #special_menu .menu .title {
    font-size: 1.25rem;
  }
  #special_menu .menu .text_area {
    font-size: 0.875rem;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
  }
  #special_menu .menu .btn_area {
    margin-left: auto;
  }
}

#special_foot .menu {
  counter-reset: menu;
  display: flex;
}
#special_foot .menu > * {
  flex: 1;
  position: relative;
}
#special_foot .menu a {
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  #special_foot .menu a .bg {
    position: relative;
    z-index: 1;
  }
  #special_foot .menu a .bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0;
    transition: opacity 0.5s;
    z-index: -1;
  }
  #special_foot .menu a:hover {
    opacity: 1;
  }
  #special_foot .menu a:hover .bg::after {
    opacity: 0.5;
  }
}
#special_foot .menu .label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  font-family: "DM Sans";
  font-size: 1.125rem;
  font-weight: 500;
  color: #fff;
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  border-radius: 0 0 15px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 300px;
  height: 53px;
}
#special_foot .menu .label::after {
  counter-increment: menu;
  content: counter(menu, decimal-leading-zero);
  margin-left: 0.5em;
}
#special_foot .menu .bg {
  height: 450px;
  padding: 4rem 11% 3rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  flex-direction: column;
}
#special_foot .menu .title {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.8125rem;
  font-weight: 700;
  line-height: 1.25;
}
#special_foot .menu .title .small {
  font-size: 0.5555555em;
  line-height: 1.25;
}
#special_foot .menu .title_area {
  margin-top: 2.5rem;
}
#special_foot .menu .text {
  font-size: 0.9375rem;
}
#special_foot .menu .container {
  display: contents;
}
#special_foot .menu .row_foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#special_foot .menu .row_foot .btn_01 {
  padding-right: 0;
  background-color: transparent;
  height: auto;
  margin-top: 1rem;
}
#special_foot .menu .row_foot .btn_area {
  flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  #special_foot .menu {
    flex-wrap: wrap;
  }
  #special_foot .menu > * {
    flex: 0 1 auto;
    width: 100%;
  }
  #special_foot .menu .label {
    border-radius: 0 0 10px 0;
    font-size: 0.75rem;
    max-width: 184px;
    height: 40px;
  }
  #special_foot .menu .bg {
    height: 264px;
    padding: 2rem var(--paddingLR) 1rem;
  }
  #special_foot .menu .title {
    font-size: 1.25rem;
  }
  #special_foot .menu .title_area {
    margin-top: 1.5rem;
  }
  #special_foot .menu .text {
    font-size: 0.875rem;
  }
  #special_foot .menu .row_foot {
    flex-direction: column;
    align-items: flex-start;
  }
  #special_foot .menu .row_foot .btn_area {
    margin-left: auto;
  }
}

/*==========
special_01
==========*/
#special_01 + #special_foot .menu > *:nth-child(1) {
  visibility: hidden;
  overflow: hidden;
  width: 0;
  height: 0;
  flex: 0;
  padding: 0;
  margin: 0;
}

.layout_special_menu {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 2.5rem 1.875rem;
}
.layout_special_menu .item_card {
  display: flex;
  flex-direction: column;
  aspect-ratio: 380/460;
  padding: 9% 9% 0.875rem;
  border-radius: 5px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 960px) {
  .layout_special_menu .item_card {
    transition: background-color 0.5s, color 0.5s;
  }
  .layout_special_menu .item_card .text_modal,
.layout_special_menu .item_card .title {
    transition: color 0.5s;
  }
  .layout_special_menu .item_card:hover {
    opacity: 1;
    background-color: var(--color_main);
    color: #fff;
  }
  .layout_special_menu .item_card:hover .text_modal,
.layout_special_menu .item_card:hover .title {
    color: #fff;
  }
}
.layout_special_menu .item_card .thumb_area {
  width: 100%;
  aspect-ratio: 310/215;
  margin-bottom: 0.25rem;
}
.layout_special_menu .item_card .thumb_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_special_menu .item_card .title {
  font-size: 1.1875rem;
  color: var(--color_main);
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 1.125rem;
}
.layout_special_menu .item_card .post {
  font-size: 0.8125rem;
}
.layout_special_menu .item_card .post_area {
  margin-top: auto;
}
.layout_special_menu .item_card .text_modal {
  color: var(--color_main);
  margin-top: 1rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
}
.layout_special_menu .item_card .text_modal::before {
  content: "・";
}
@media screen and (max-width: 959px) {
  .layout_special_menu {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
  .layout_special_menu .item_card {
    padding: calc(var(--paddingLR) / 2);
  }
  .layout_special_menu .item_card .title {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}

.layout_special_menu-modal {
  display: flex;
  gap: 0.5rem 2.5rem;
}
.layout_special_menu-modal > * {
  flex: 1;
}
.layout_special_menu-modal .img_area {
  aspect-ratio: 480/355;
}
.layout_special_menu-modal .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_special_menu-modal .text_area {
  display: flex;
  flex-direction: column;
}
.layout_special_menu-modal .title {
  margin-top: 2.5rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.375rem;
  color: var(--color_main);
  margin-bottom: 1rem;
}
.layout_special_menu-modal .post {
  font-size: 0.8125rem;
  margin-top: auto;
  margin-bottom: 1em;
}
.layout_special_menu-modal .title_sub {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.125rem;
  color: var(--color_main);
  position: relative;
  padding-left: 0.5em;
  margin-bottom: 1rem;
}
.layout_special_menu-modal .title_sub::before {
  content: "-";
  position: absolute;
  left: 0;
}
.layout_special_menu-modal .text {
  font-size: 0.875rem;
}
@media screen and (max-width: 959px) {
  .layout_special_menu-modal {
    width: 100%;
    flex-wrap: wrap;
  }
  .layout_special_menu-modal > * {
    width: 100%;
    flex: 0 1 auto;
  }
  .layout_special_menu-modal .img_area {
    max-width: 100%;
  }
  .layout_special_menu-modal .title {
    margin-top: 0;
    font-size: 1.125rem;
    line-height: 1.25;
  }
  .layout_special_menu-modal .title_sub {
    font-size: 1rem;
  }
}

html:has(.modaal-noscroll) {
  scrollbar-gutter: stable;
}

.modaal-wrapper:has(.layout_special_menu-modal) .modaal-container {
  border-radius: 10px;
  overflow: hidden;
}
.modaal-wrapper:has(.layout_special_menu-modal) .modaal-content-container {
  max-height: calc(100svh - 12rem);
  overflow: auto;
}
.modaal-wrapper:has(.layout_special_menu-modal) .modaal-content {
  padding-bottom: 4rem;
}
.modaal-wrapper:has(.layout_special_menu-modal) .modaal-close {
  height: 4rem;
  position: absolute;
  top: auto;
  bottom: 0;
  width: 100%;
  background-color: var(--color_main);
  color: #fff;
  border-radius: 0;
  left: 0;
}
.modaal-wrapper:has(.layout_special_menu-modal) .modaal-close::before, .modaal-wrapper:has(.layout_special_menu-modal) .modaal-close::after {
  top: 20px;
  left: 50%;
}
.modaal-wrapper:has(.layout_special_menu-modal) .modaal-close:hover::before, .modaal-wrapper:has(.layout_special_menu-modal) .modaal-close:hover::after {
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .modaal-wrapper:has(.layout_special_menu-modal) .modaal-content-container {
    padding: var(--paddingLR);
  }
  .modaal-wrapper:has(.layout_special_menu-modal) .modaal-content {
    padding-bottom: 3rem;
  }
  .modaal-wrapper:has(.layout_special_menu-modal) .modaal-close {
    height: 3rem;
  }
  .modaal-wrapper:has(.layout_special_menu-modal) .modaal-close::before, .modaal-wrapper:has(.layout_special_menu-modal) .modaal-close::after {
    top: 15px;
  }
}

/*==========
special_02
==========*/
#special_02 {
  padding-top: 0;
}
#special_02 + #special_foot .menu > *:nth-child(2) {
  visibility: hidden;
  overflow: hidden;
  width: 0;
  height: 0;
  flex: 0;
  padding: 0;
  margin: 0;
}
#special_02 .deco_text {
  margin: 0 -1.5rem -8rem;
}
#special_02 .deco_text img {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 959px) {
  #special_02 .deco_text {
    margin: 0 -1.5rem -2rem;
  }
  #special_02 .deco_text img {
    max-width: 400px;
  }
}

.layout_special_voice_seacrh {
  border-radius: 15px;
  background: #fff;
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
  padding: 4rem var(--paddingLR) 0;
  z-index: 10;
  position: relative;
}
.layout_special_voice_seacrh form {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.layout_special_voice_seacrh .row_input {
  display: flex;
  border-bottom: 1px solid rgba(112, 112, 112, 0.09);
  padding-bottom: 1em;
}
.layout_special_voice_seacrh .row_input:not(:first-child) {
  padding-top: 1em;
}
.layout_special_voice_seacrh .label_area {
  width: 34.6153%;
}
.layout_special_voice_seacrh .label_area .label {
  margin-top: 0.625em;
  font-size: 1.125rem;
  font-weight: 600;
  display: flex;
  gap: 0.5em;
}
.layout_special_voice_seacrh .label_area .label::before {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_checkmark.svg") no-repeat;
  flex-shrink: 0;
  margin-top: 0.125em;
}
.layout_special_voice_seacrh .input_area {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.layout_special_voice_seacrh .input_area > label {
  width: 200px;
  max-width: 100%;
  display: block;
  position: relative;
}
.layout_special_voice_seacrh .input_area input {
  visibility: hidden;
  position: absolute;
}
.layout_special_voice_seacrh .input_area input:checked + .btn {
  color: #FFF;
  background-color: var(--color_main);
}
.layout_special_voice_seacrh .input_area .btn {
  font-size: 0.875rem;
  border: 1px solid rgba(112, 112, 112, 0.2);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  cursor: pointer;
}
@media screen and (min-width: 960px) {
  .layout_special_voice_seacrh .input_area .btn {
    transition: background-color 0.5s;
  }
  .layout_special_voice_seacrh .input_area .btn:hover {
    background-color: #e9e9e9;
  }
}
.layout_special_voice_seacrh .row_btn {
  margin-top: 2.5rem;
}
.layout_special_voice_seacrh .btn_search {
  cursor: pointer;
  background-color: var(--color_main);
  color: #fff;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 400px;
  height: 88px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 5px 5px 0 0;
}
.layout_special_voice_seacrh .btn_search::after {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-anchor-white.svg") no-repeat;
}
@media screen and (min-width: 960px) {
  .layout_special_voice_seacrh .btn_search {
    transition: background-color 0.5s;
  }
  .layout_special_voice_seacrh .btn_search:hover {
    background-color: var(--color_main_hover);
  }
}
@media screen and (max-width: 959px) {
  .layout_special_voice_seacrh {
    padding: var(--paddingLR) var(--paddingLR) 0;
  }
  .layout_special_voice_seacrh .row_input {
    flex-direction: column;
  }
  .layout_special_voice_seacrh .label_area {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .layout_special_voice_seacrh .label_area .label {
    font-size: 1rem;
  }
  .layout_special_voice_seacrh .input_area > label {
    width: calc((100% - 0.625rem) / 2);
  }
  .layout_special_voice_seacrh .input_area .btn {
    font-size: 0.8125rem;
    border-radius: 10px;
    height: 40px;
  }
  .layout_special_voice_seacrh .row_btn {
    margin-top: 1.5rem;
  }
  .layout_special_voice_seacrh .btn_search {
    font-size: 0.875rem;
    height: 56px;
  }
}

.layout_special_voice {
  font-size: clamp(0.75rem, 1.33334vw, 1rem);
  line-height: 1.25;
  margin-top: var(--paddingSection);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25em;
}
.layout_special_voice .circle {
  width: 100%;
  aspect-ratio: 1/1;
  background-color: rgba(198, 0, 66, 0.7019607843);
  color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.25em;
  position: relative;
}
.layout_special_voice .text_area {
  margin-top: auto;
  margin-bottom: auto;
  padding: 3.5em var(--paddingLR);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout_special_voice .foot_area {
  margin-top: auto;
  font-size: 0.8125em;
  position: absolute;
  bottom: 1.85em;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .layout_special_voice .circle {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 639px) {
  .layout_special_voice {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.625rem;
  }
}

/*==========
special_03
==========*/
#special_03 + #special_foot .menu > *:nth-child(3) {
  visibility: hidden;
  overflow: hidden;
  width: 0;
  height: 0;
  flex: 0;
  padding: 0;
  margin: 0;
}
#special_03 .flex {
  display: flex;
  gap: 1.5rem 5rem;
  margin-top: var(--paddingSection);
}
#special_03 .flex > * {
  flex: 1;
}
#special_03 .flex .img_area:not(:first-child) {
  margin-top: 0;
}
#special_03 .interview_area {
  font-size: 0.9375rem;
  line-height: 2;
}
#special_03 .interview_area:not(:first-child) {
  margin-top: var(--paddingSection);
}
#special_03 .interview_area .speaker {
  margin-right: 1em;
  color: var(--color_speaker);
}
#special_03 .interview_area p + p {
  margin-top: 2em;
}
#special_03 .img_area:not(:first-child) {
  margin-top: var(--paddingSection);
}
#special_03 .img_area .img + .img {
  margin-top: 0.5rem;
}
@media screen and (max-width: 959px) {
  #special_03 .flex {
    flex-direction: column;
    margin-top: 1.5rem;
  }
  #special_03 .interview_area {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  #special_03 .interview_area:not(:first-child) {
    margin-top: 1.5rem;
  }
  #special_03 .interview_area p + p {
    margin-top: 1em;
  }
  #special_03 .img_area:not(:first-child) {
    margin-top: 1.5rem;
  }
}

#special_03_member .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
#special_03_member .list > * {
  max-width: 220px;
}
#special_03_member .list .post_area {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.1);
  margin-bottom: 0.5rem;
}
#special_03_member .list .text_area {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
}
#special_03_member .list .name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color_speaker);
  text-align: center;
  margin-bottom: 0.75rem;
}
#special_03_member .list .post {
  font-size: 10px;
  text-align: center;
}
#special_03_member .list .text {
  font-size: 11px;
}
#special_03_member .text_intro {
  margin-top: var(--paddingSection);
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
}
@media screen and (max-width: 959px) {
  #special_03_member .list > * {
    max-width: 144px;
  }
  #special_03_member .text_intro {
    font-size: 1rem;
  }
}

#special_03_story {
  background: center top/cover url("../img/child/special/special_03_story_bg.jpg") no-repeat;
  color: #fff;
}

/*==========
work
==========*/
#work_contents .text_intro {
  font-size: 0.9375rem;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  #work_contents .text_intro {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

.layout_work_menu {
  display: flex;
  gap: 1.25rem;
}
.layout_work_menu > * {
  flex: 1;
}
.layout_work_menu a {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.layout_work_menu .img_area img {
  border-radius: 5px;
}
.layout_work_menu .text_area {
  padding-top: 0.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.layout_work_menu .title {
  line-height: 1.25;
  font-size: 1.375rem;
  color: var(--color_main);
  margin-bottom: 1.5rem;
}
.layout_work_menu .title::after {
  content: attr(data-en);
  font-size: 0.625rem;
  font-weight: 500;
  color: #5F5B5B;
  display: block;
  margin-top: 0.25em;
}
.layout_work_menu .text {
  font-size: 0.9375rem;
  margin-bottom: 1rem;
}
.layout_work_menu .text_link {
  justify-content: center;
  margin-top: auto;
  padding: 1rem 0;
  color: var(--color_main);
  border-bottom: 1px solid rgba(198, 0, 66, 0.12);
}
.layout_work_menu .text_link::after {
  background-image: url("../img/common/icon_arrow-red.svg");
}
@media screen and (max-width: 959px) {
  .layout_work_menu {
    flex-wrap: wrap;
    justify-content: center;
  }
  .layout_work_menu > * {
    flex: 0 1 auto;
    max-width: 320px;
  }
  .layout_work_menu .title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  .layout_work_menu .text {
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
  .layout_work_menu .text_link {
    padding-top: 0;
  }
  .layout_work_menu .img_area {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
}

.layout_work_anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}
.layout_work_anchor > * {
  border-radius: 5px;
  max-width: 360px;
  flex: 1;
  background-color: var(--color_main);
  color: #fff;
}
.layout_work_anchor > *:not(:has(a)),
.layout_work_anchor > * a {
  display: flex;
  align-items: center;
  padding: 1.5rem 1rem;
  gap: 1.5rem;
  aspect-ratio: 360/130;
  position: relative;
}
.layout_work_anchor > *:not(:has(a))::after,
.layout_work_anchor > * a::after {
  content: "";
  width: 0.75em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-anchor-white.svg") no-repeat;
  position: absolute;
  bottom: 0.5em;
  left: 50%;
  transform: translateX(-50%);
}
.layout_work_anchor a {
  color: inherit;
  text-decoration: none;
}
.layout_work_anchor .title {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  line-height: 1.25;
}
.layout_work_anchor .title .small {
  font-size: 0.6em;
}
@media screen and (max-width: 959px) {
  .layout_work_anchor {
    flex-direction: column;
    align-items: center;
  }
  .layout_work_anchor > *:not(:has(a)),
.layout_work_anchor > * a {
    padding: var(--paddingLR);
    gap: 1rem;
  }
  .layout_work_anchor .title {
    font-size: 1.125rem;
  }
  .layout_work_anchor .icon_area {
    max-width: 64px;
  }
}

.layout_work {
  margin-top: var(--paddingSection);
}
.layout_work .row_title .label {
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  color: #fff;
  font-family: "DM Sans";
  font-size: 1.125rem;
  font-weight: 500;
  border-radius: 15px 15px 0 0;
  padding: 0.625em 2em 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1rem;
}
.layout_work .row_title .flex {
  display: flex;
  align-items: center;
}
.layout_work .row_title .title_area {
  width: 38.3928%;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  flex-shrink: 0;
  padding-right: 1rem;
}
.layout_work .row_title .title {
  font-size: 2.1875rem;
  font-family: "Zen Old Mincho", serif;
}
.layout_work .row_title .list {
  font-size: 0.9375rem;
  line-height: 2;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 1.25rem;
}
.layout_work .row_title .list dt {
  color: var(--color_main);
  padding-right: 1em;
}
.layout_work .row_flow {
  background-color: #F4F4F4;
  border-radius: 30px;
  padding: 3rem var(--paddingLR);
}
.layout_work .row_flow:not(:first-child) {
  margin-top: var(--paddingSection);
}
.layout_work .row_flow .title {
  width: 80%;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
}
.layout_work .row_flow .list {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  z-index: 1;
}
.layout_work .row_flow .list::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color_main);
  position: absolute;
  top: 2.75rem;
  z-index: -1;
}
.layout_work .row_flow .list > * {
  flex: 1;
}
.layout_work .row_flow .list > *:first-child, .layout_work .row_flow .list > *:last-child {
  position: relative;
  z-index: 1;
}
.layout_work .row_flow .list > *:first-child::before, .layout_work .row_flow .list > *:last-child::before {
  content: "";
  width: 50%;
  height: 100%;
  background-color: #F4F4F4;
  position: absolute;
  top: 0;
  z-index: -2;
}
.layout_work .row_flow .list > *:first-child::before {
  left: 0;
}
.layout_work .row_flow .list > *:last-child::before {
  right: 0;
}
.layout_work .row_flow .time {
  font-family: "DM Sans";
  font-size: 1.25rem;
  color: var(--color_main);
  text-align: center;
  margin-bottom: 0.625rem;
}
.layout_work .row_flow .time::after {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fa82aa;
  box-shadow: 0 0 7px var(--color_main) inset;
  display: block;
  margin-top: 0.25rem;
  margin-left: auto;
  margin-right: auto;
}
.layout_work .row_flow .text {
  font-size: 1.25rem;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.1em;
}
.layout_work .row_layout:not(:first-child) {
  margin-top: var(--paddingSection);
}
.layout_work .row_layout > * {
  max-width: 1280px;
  display: flex;
  gap: 5rem;
}
.layout_work .row_layout > *:not(:last-child) {
  margin-bottom: var(--paddingSection);
}
.layout_work .row_layout > *:nth-child(odd) .img_area {
  order: -1;
  margin-left: calc(50% - 50vw);
}
.layout_work .row_layout > *:nth-child(odd) .img_area img {
  margin-left: auto;
}
.layout_work .row_layout > *:nth-child(even) .img_area {
  order: 1;
  margin-right: calc(50% - 50vw);
}
.layout_work .row_layout > *:nth-child(even) .img_area img {
  margin-right: auto;
}
.layout_work .row_layout .img_area {
  width: 44.44445vw;
}
.layout_work .row_layout .img_area img {
  max-width: 640px;
  width: 100%;
}
.layout_work .row_layout .text_area {
  flex: 1;
  padding-top: 1.5rem;
}
.layout_work .row_layout .title {
  font-size: 2.1875rem;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 1em;
}
.layout_work .row_layout .text {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .layout_work .row_title .label {
    font-size: 1em;
    border-radius: 10px 10px 0 0;
  }
  .layout_work .row_title .flex {
    flex-direction: column;
  }
  .layout_work .row_title .title_area {
    width: 100%;
    padding-right: 0;
    padding-bottom: 0.5rem;
  }
  .layout_work .row_title .title {
    font-size: 1.25rem;
  }
  .layout_work .row_title .list {
    font-size: 0.875rem;
    line-height: 1.75;
    gap: 1rem;
  }
  .layout_work .row_title .list dt {
    padding-right: 0;
  }
  .layout_work .row_flow {
    border-radius: 10px;
    padding: var(--paddingLR);
  }
  .layout_work .row_flow:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_work .row_flow .title {
    width: 60%;
    max-width: 180px;
    margin-bottom: 1.5rem;
  }
  .layout_work .row_flow .list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
  }
  .layout_work .row_flow .list::after {
    width: 1px;
    height: 100%;
    top: 0;
    left: 3.25rem;
  }
  .layout_work .row_flow .list > * {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex: 0 1 auto;
    width: 100%;
  }
  .layout_work .row_flow .list > *:not(:first-child) {
    margin-top: 1rem;
  }
  .layout_work .row_flow .list > *:first-child::before, .layout_work .row_flow .list > *:last-child::before {
    width: 100%;
    height: 50%;
  }
  .layout_work .row_flow .list > *:first-child::before {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
  }
  .layout_work .row_flow .list > *:last-child::before {
    left: 0;
    right: auto;
    top: auto;
    bottom: 0;
  }
  .layout_work .row_flow .time {
    margin-top: 0.25em;
    flex-shrink: 0;
    width: 4.25em;
    font-size: 0.875rem;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .layout_work .row_flow .time::after {
    margin-top: 0;
    margin-left: auto;
    margin-right: 0;
  }
  .layout_work .row_flow .text {
    font-size: 1rem;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    letter-spacing: 0;
    flex: 1;
  }
  .layout_work .row_layout:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_work .row_layout > * {
    flex-direction: column;
    gap: 1rem;
  }
  .layout_work .row_layout > *:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .layout_work .row_layout > *:nth-child(odd) .img_area, .layout_work .row_layout > *:nth-child(even) .img_area {
    order: 1;
    margin-left: auto;
    margin-right: auto;
  }
  .layout_work .row_layout > *:nth-child(odd) .img_area img, .layout_work .row_layout > *:nth-child(even) .img_area img {
    margin-left: 0;
    margin-right: 0;
  }
  .layout_work .row_layout .img_area {
    width: 100%;
    max-width: 320px;
  }
  .layout_work .row_layout .text_area {
    flex: 0 1 auto;
    width: 100%;
    padding-top: 0;
  }
  .layout_work .row_layout .title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
  }
  .layout_work .row_layout .text {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

#case_01 .layout_work {
  margin-top: 0;
}

/*==========
benefits
==========*/
#benefits_intro .text_intro {
  font-size: 0.9375rem;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  #benefits_intro .text_intro {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

#benefits_training .text_intro {
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  #benefits_training .text_intro {
    font-size: 0.875rem;
    line-height: 1.75;
  }
}

.layout_training:not(:first-child) {
  margin-top: 2.5rem;
}
.layout_training .list_btn {
  height: 4rem;
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}
.layout_training .list_btn > * {
  cursor: pointer;
  flex: 1;
  font-size: 1.625rem;
  border-radius: 15px 15px 0 0;
  background-color: #D6D6D6;
  color: #9A9A9A;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  transition: height 0.5s;
}
.layout_training .list_btn > *.active {
  background: center/cover url("../img/common/label_bg.png") no-repeat;
  color: #fff;
  height: 4rem;
}
.layout_training .item {
  background-color: #F4F4F4;
  border-radius: 0 0 15px 15px;
  padding: 2.5rem var(--paddingLR);
}
.layout_training .title_training {
  font-size: 2rem;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  color: var(--color_main);
}
.layout_training .career_area .title_training {
  transform: translateY(50%);
}
.layout_training .career_area .bg {
  background-color: #fff;
  padding: var(--paddingLR);
  border-radius: 15px;
  aspect-ratio: 798/288;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 798px;
  margin-left: auto;
  margin-right: auto;
}
.layout_training .curriculum_area {
  margin-top: 2.5rem;
}
.layout_training .curriculum_area .list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(304px, 1fr));
  gap: 4rem 1.5rem;
}
.layout_training .curriculum_area .thumb_area {
  aspect-ratio: 304/144;
  border-radius: 5px;
  overflow: hidden;
}
.layout_training .curriculum_area .thumb_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.layout_training .curriculum_area .title {
  font-size: 1.125rem;
  font-family: "Zen Old Mincho", serif;
  color: var(--color_main);
  margin-top: 0.875rem;
  margin-bottom: 0.5rem;
}
.layout_training .curriculum_area .category {
  font-size: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.25rem;
  margin-bottom: 1rem;
}
.layout_training .curriculum_area .category > * {
  border: 1px solid #FDDADA;
  background-color: #fff;
  border-radius: 100px;
  padding: 0.25em 1em;
}
.layout_training .curriculum_area .text {
  font-size: 0.8125rem;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .layout_training:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_training .list_btn {
    height: 2.5rem;
  }
  .layout_training .list_btn > * {
    font-size: 0.875rem;
    border-radius: 5px 5px 0 0;
    height: 2rem;
  }
  .layout_training .list_btn > *.active {
    height: 2.5rem;
  }
  .layout_training .item {
    border-radius: 0 0 5px 5px;
    padding: var(--paddingLR);
  }
  .layout_training .title_training {
    font-size: 1.25rem;
  }
  .layout_training .career_area .bg {
    padding: calc(var(--paddingLR) / 2);
    border-radius: 5px;
    aspect-ratio: 800/400;
  }
  .layout_training .curriculum_area {
    margin-top: 1.5rem;
  }
  .layout_training .curriculum_area .list {
    margin-top: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
  }
  .layout_training .curriculum_area .title {
    font-size: 1rem;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
  }
  .layout_training .curriculum_area .category {
    margin-bottom: 0.5rem;
  }
  .layout_training .curriculum_area .text {
    line-height: 1.75;
  }
}

#benefits_benefits .list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 1.25rem;
}
#benefits_benefits .list > * {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  aspect-ratio: 360/200;
  padding: var(--paddingLR);
}
#benefits_benefits .list > * > * {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
#benefits_benefits .list .title {
  margin-top: 1.5rem;
  font-size: 1.375rem;
  margin-bottom: 0.9375rem;
  text-align: center;
}
#benefits_benefits .list .text {
  font-size: 0.9375rem;
  line-height: 1.75;
}
@media screen and (max-width: 959px) {
  #benefits_benefits .list {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
  #benefits_benefits .list > * {
    padding: var(--paddingLR);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #benefits_benefits .list .title {
    margin-top: 0;
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
  #benefits_benefits .list .text {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 639px) {
  #benefits_benefits .list {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

/*==========
faq
==========*/
.layout_faq:not(:first-child) {
  margin-top: 2.5rem;
}
.layout_faq dt {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  margin-top: 0.625rem;
  margin-bottom: 1.5rem;
  padding-left: 3.25rem;
  position: relative;
}
.layout_faq dt::before {
  content: "Q .";
  font-size: 1.4em;
  flex-shrink: 0;
  margin-top: -0.625rem;
  position: absolute;
  top: 0;
  left: 0;
}
.layout_faq dd {
  font-size: 0.9375rem;
  line-height: 2;
  margin-top: 0.625rem;
  padding-bottom: 2rem;
  padding-left: 3.25rem;
  position: relative;
  border-bottom: 1px solid #FDDADA;
}
.layout_faq dd:not(:last-child) {
  margin-bottom: 1.5rem;
}
.layout_faq dd::before {
  content: "A .";
  color: var(--color_main);
  font-family: "Zen Old Mincho", serif;
  font-size: 2em;
  flex-shrink: 0;
  margin-top: -1.25rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 959px) {
  .layout_faq:not(:first-child) {
    margin-top: 1.5rem;
  }
  .layout_faq dt {
    font-size: 1rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
    padding-left: 2rem;
  }
  .layout_faq dt::before {
    font-size: 1.25rem;
    margin-top: -0.25rem;
  }
  .layout_faq dd {
    font-size: 0.875rem;
    line-height: 1.75;
    margin-top: 0;
    padding-left: 2rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
  .layout_faq dd:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .layout_faq dd::before {
    font-size: 1.25rem;
    margin-top: -0.4rem;
  }
}

/*==========
entry
==========*/
#entry_intro .title_main {
  font-size: 3rem;
  font-family: "Zen Old Mincho", serif;
  color: var(--color_main);
  margin-bottom: 1em;
}
#entry_intro .text_intro {
  font-size: 0.9375rem;
  line-height: 2;
}
#entry_intro .menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
  gap: 1.25rem;
}
#entry_intro .menu > * {
  width: calc((100% - 2.5rem) / 3);
  min-width: 320px;
  border-radius: 5px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}
#entry_intro .menu a {
  padding: var(--paddingLR) 2em;
  color: inherit;
  text-decoration: none;
  aspect-ratio: 360/120;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
#entry_intro .menu a::after {
  content: "";
  width: 0.75em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/common/icon_arrow-white.svg") no-repeat;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  #entry_intro .title_main {
    font-size: 1.5rem;
  }
  #entry_intro .text_intro {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  #entry_intro .menu {
    font-size: 1rem;
  }
  #entry_intro .menu > * {
    width: 100%;
    max-width: 320px;
    min-width: auto;
  }
}

#entry_flow .layout_flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem 0;
}
#entry_flow .layout_flow > * {
  width: 7.5rem;
  aspect-ratio: 1/1;
  background-color: var(--color_main);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
}
#entry_flow .layout_flow > *:not(:last-child) {
  margin-right: 4.5rem;
  position: relative;
}
#entry_flow .layout_flow > *:not(:last-child)::after {
  content: "";
  width: 2.5rem;
  aspect-ratio: 1/1;
  background: center/contain url("../img/child/entry/icon_flow-arrow.svg") no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(calc(50% + 2.25rem), -50%);
}
@media screen and (max-width: 959px) {
  #entry_flow .layout_flow {
    font-size: 0.8125rem;
  }
  #entry_flow .layout_flow > * {
    width: 6rem;
  }
  #entry_flow .layout_flow > *:not(:last-child) {
    margin-right: 3rem;
  }
  #entry_flow .layout_flow > *:not(:last-child)::after {
    width: 1.5rem;
    transform: translate(calc(50% + 1.5rem), -50%);
  }
}

#entry_how .text {
  font-size: 0.9375rem;
  text-align: center;
}
#entry_how .banner {
  margin-top: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 959px) {
  #entry_how .banner {
    max-width: 80%;
  }
}