/*
Theme Name: heartful Theme
*/

/*
13px 0.8125rem
14px 0.875rem
15px 0.9375rem
16px 1rem
18px 1.125rem
20px 1.25rem
22px 1.375rem
24px 1.5rem
28px 1.5rem
32px 2rem
36px 2.25rem
*/

body {
  color: #222;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.8;
  margin: 0;
}
body:has(.header_menu_container.open) {
  overflow: hidden;
}

* {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

a {
  color: #222;
  text-decoration: none;
}
a:hover {
  opacity: .7;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  display: block;
  max-width: 100%;
}

button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  appearance: none;
}
button:hover {
  opacity: .7;
}

input,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wrapper {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin-top: 95px;
  min-height: 100vh;
  overflow-x: hidden;
}
.wrapper.top_page {
  margin-top: 0;
}



/* ラップトップ */
@media screen and (max-width: 1240px) {
  
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .wrapper {
    margin-top: 71px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .wrapper {
    margin-top: 42px;
  }
}

/*-----------------------------------------------
汎用
-----------------------------------------------*/
.text_left { text-align: left; }
.text_right { text-align: right; }
.text_center { text-align: center; }

.common_indent {
  padding-left: 1em;
  text-indent: -1em;
}

.sp_view { display: none; }
.tab_view { display: none; }
.pc_view { display: block; }

/* タブレット */
@media screen and (max-width: 1024px) {
  .pc_view { display: none; }
  .tab_view { display: block; }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .pc_view { display: none; }
  .tab_view { display: none; }
  .sp_view { display: block; }
}



/* セクションラッパー */
.section_wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

/* セクションコンテナー */
.section_container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .section_wrapper,
  .section_container {
    max-width: 800px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
}



/* 背景色ありラッパー */
.bg_wrapper {
  background-color: #F0F8FC;
  padding: 100px 20px 120px;
  position: relative;
}
.bg_wrapper.triangle_under,
.bg_wrapper.triangle_under_reverse {
  margin-bottom: 15.834vw;
}
.bg_wrapper.triangle_under::after,
.bg_wrapper.triangle_under_reverse::after {
  aspect-ratio: 1440 / 228;
  background-color: #F0F8FC;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: -1;
}
.bg_wrapper.triangle_under::after {
  clip-path: polygon(100% 100%, 0% 0%, 100% 0%);
}
.bg_wrapper.triangle_under_reverse::after {
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
}
.bg_wrapper.subpage_link_wrapper {
  padding: 120px 20px 160px;
}
.bg_wrapper.gallery {
  padding: 100px 20px 340px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .bg_wrapper {
    padding: 80px 20px;
  }
  .bg_wrapper.subpage_link_wrapper {
    padding: 80px 20px 120px;
  }
  .bg_wrapper.gallery {
    padding: 80px 20px 220px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .bg_wrapper {
    padding: 48px 20px;
  }
  .bg_wrapper.subpage_link_wrapper {
    padding: 64px 20px 80px;
  }
  .bg_wrapper.gallery {
    padding: 48px 20px 150px;
  }
  .subpage_link_image {
    width: 100%;
  }
}



/* セクションタイトル */
.common_title {
  display: flex;
  flex-direction: column-reverse;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  row-gap: 8px;
}
.common_title span {
  color: #00A0E2;
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
}
.common_title.white {
  color: #fff;
}
.common_title.white span {
  color: #fff;
}
.common_title.white span.blue {
  color: #00A0E2;
}

.common_title.page_title {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 164px;
  z-index: 1;
}

/* ラップトップ */
@media screen and (max-width: 1240px) {
  .common_title.page_title {
    margin-left: 20px;
    margin-right: 20px;
    top: 135px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .common_title {
    font-size: 1.625rem;
    margin-bottom: 20px;
    max-width: 800px;
  }
  .common_title span {
    font-size: .9375rem;
  }
  .common_title.page_title {
    top: 11vw;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .common_title {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }
  .common_title.page_title {
    top: 121px;
  }
  .common_title.page_title span {
    font-size: .8125rem;
  }
}



/* 四角アイコン付きタイトル */
.square_title {
  align-items: flex-start;
  column-gap: 12px;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-bottom: 32px;
}
.square_title::before {
  aspect-ratio: 1 / 1;
  background-color: #0066B2;
  content: "";
  display: block;
  margin-top: 20px;
  width: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .square_title {
    font-size: 1.25rem;
    margin-bottom: 16px;
  }
  .square_title::before {
    margin-top: 14px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .square_title {
    font-size: 1.125rem;
    margin-bottom: 20px;
  }
  .square_title::before {
    margin-top: 12px;
  }
}



/* コンテンツタイトル */
.section_title {
  background: url("images/common/icon_section_title.png") top left / 18px no-repeat;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 48px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 34px;
  max-width: 1080px;
  width: 100%;
}
.section_title.wide {
  max-width: 1200px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .section_title,
  .section_title.wide {
    max-width: 800px;
  }
  .section_title {
    font-size: 1.875rem;
    margin-bottom: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .section_title {
    background-size: 9px;
    font-size: 1.25rem;
    margin-bottom: 24px;
    padding-left: 17px;
  }
}



/* ページビジュアル */
.page_visual_area {
  min-height: 382px;
  position: relative;
}
.page_visual_area.height_min {
  min-height: 234px;
}
.page_visual_image {
  margin-left: auto;
}
.page_visual_text {
  bottom: 80px;
  font-size: 1.125rem;
  left: calc(50% - 80px);
  line-height: 2;
  max-width: 680px;
  position: absolute;
}

/* ラップトップ */
@media screen and (max-width: 1240px) {
  .page_visual_area {
    min-height: auto;
  }
  .page_visual_area.height_min {
    min-height: 140px;
  }
  .page_visual_area.list_page {
    min-height: 290px;
  }
  .page_visual_text {
    bottom: 40px;
    left: auto;
    right: 20px;
  }
  .page_visual_image {
    max-width: 61.945%;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .page_visual_image {
    max-width: 57%;
  }
  .page_visual_text {
    font-size: 1rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .page_visual_area {
    padding-top: 167px;
  }
  .page_visual_area:has(.anchor_link_menu) {
    padding-top: 224px;
  }
  .page_visual_area:has(.anchor_link_menu li:nth-of-type(3)) {
    padding-top: 270px;
  }
  .page_visual_area.list_page {
    padding-bottom: 40px;
    padding-top: 151px;
  }
  .page_visual_image {
    max-width: 94.667%;
  }
  .page_visual_text {
    font-size: .875rem;
    padding-left: 20px;
    padding-right: 20px;
    position: static;
  }
}



/* ギャラリー */
.bottom_gallery_container {
  margin-bottom: 120px;
  margin-top: -112px;
  overflow: visible;
  position: relative;
  z-index: 2;
}
.bottom_gallery_contents.even {
  margin-top: -48px;
}

.bottom_gallery_container.swiper {
  min-width: 100%;
  width: 10px;
}
.bottom_gallery_container .swiper-wrapper {
  transition-timing-function: linear;
}
.bottom_gallery_container img {
  border-radius: 4px;
  margin-left: auto;
  margin-right: auto;
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .bottom_gallery_container {
    margin-bottom: 60px;
    margin-top: -50px;
  }
}



/* パンくずリスト */
.breadcrumb_container {
  bottom: -45px;
  font-size: .875rem;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: absolute;
  right: 0;
  text-align: right;
  z-index: 2;
}
.breadcrumb_wrapper.top .breadcrumb_container {
  bottom: auto;
  top: 0;
}
.breadcrumb_container a,
.breadcrumb_container span:not(:last-of-type) {
  color: #B1B1B1;
}

/* ラップトップ */
@media screen and (max-width: 1240px) {
  .breadcrumb_container {
    margin-left: 20px;
    margin-right: 20px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .breadcrumb_container {
    bottom: -36px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .breadcrumb_container,
  .breadcrumb_wrapper.top .breadcrumb_container {
    bottom: auto;
    top: 16px;
  }
}




/* 下層ページリンク */
.subpage_link_container {
  column-gap: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  row-gap: 40px;
}
.subpage_link_contents {
  background-color: #fff;
  border-radius: 4px;
  padding-bottom: 24px;
}
.subpage_link_contents_title {
  font-size: 1.5rem;
  margin-top: 24px;
  padding-left: 32px;
  padding-right: 32px;
}
.subpage_link_contents_title.link_arrow::after {
  width: 40px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .subpage_link_container {
    gap: 32px;
    max-width: 800px;
  }
  .subpage_link_contents_title {
    font-size: 1.25rem;
    padding-left: 24px;
    padding-right: 24px;
  }
  .subpage_link_contents_title.link_arrow::after {
    width: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .subpage_link_container {
    gap: 28px;
    grid-template-columns: 1fr;
  }
  .subpage_link_contents {
    padding-bottom: 16px;
  }
  .subpage_link_contents_title {
    font-size: 1.125rem;
    margin-top: 16px;
  }
}



/* アンカーリンク */
.anchor_link_container {
  left: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  position: absolute;
  right: 0;
  top: 194px;
}
.anchor_link_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 348px;
  row-gap: 24px;
}
.anchor_link_menu a {
  border-bottom: 1px solid #D9D9D9;
  font-weight: 700;
  padding-bottom: 6px;
  width: 160px;
}

/* ラップトップ */
@media screen and (max-width: 1240px) {
  .anchor_link_container {
    margin-left: 20px;
    margin-right: 20px;
    top: 150px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .anchor_link_container {
    top: 12vw;
  }
  .anchor_link_menu {
    font-size: .875rem;
    max-width: 310px;
    row-gap: 12px;
  }
  .anchor_link_menu a {
    width: 140px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .anchor_link_container {
    top: 155px;
  }
  .anchor_link_menu {
    max-width: 335px;
  }
  .anchor_link_menu a {
    width: 157px;
  }
}



/* リンクアイコン */
.link_arrow {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  width: 100%;
}
.link_arrow::after {
  aspect-ratio: 1 / 1;
  background: url(images/common/link_arrow.png) center / 37.5% no-repeat, #00A0E2;
  content: "";
  display: block;
  width: 32px;
}
/* リンクアイコン（矢印のみ） */
.link_arrow_only {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  width: 100%;
}
.link_arrow_only::after {
  aspect-ratio: 1 / 1;
  background: url(images/common/link_arrow.png) center / 100% no-repeat;
  content: "";
  display: block;
  width: 32px;
}
.link_arrow_only.blue::after {
  background: url(images/common/link_arrow_blue.png) center / 100% no-repeat;
}
/* リンクアイコン（下三角）*/
.link_triangle_arrow {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  width: 100%;
}
.link_triangle_arrow::after {
  aspect-ratio: 1 / 1;
  background: url(images/common/menu_triangle_arrow.png) center / 100% no-repeat;
  content: "";
  display: block;
  width: 13px;
}
.link_triangle_arrow.blue::after {
  background: url(images/common/menu_triangle_arrow_blue.png) center / 100% no-repeat;
}



/* リンクボックス */
.article_link {
  align-items: center;
  background-color: #fff;
  border: 1px solid #00A0E2;
  border-radius: 4px;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  height: 72px;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  width: 320px;
}
.article_link .link_arrow::after {
  width: 40px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .article_link {
    font-size: 1rem;
    height: 60px;
  }
  .article_link .link_arrow::after {
    width: 30px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .article_link {
    height: 60px;
    margin-left: auto;
    margin-right: auto;
    width: 240px;
  }
  .article_link .link_arrow::after {
    width: 32px;
  }
}



/* 外部リンク */
.external_link {
  background: url("images/common/icon_external.png") top 8px right 4px / 10px no-repeat;
  padding-right: 16px;
}
.external_link.white {
  background: url("images/common/icon_external_white.png") right / 12px no-repeat;
  padding-right: 20px;
}



/* トップページへ戻るボタン */
.top_btn {
  align-items: center;
  background-color: #00A0E2;
  border-radius: 4px;
  color: #fff;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 72px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 340px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_btn {
    font-size: 1rem;
    height: 60px;
    max-width: 292px;
  }
}



/* PDFリンク */
.pdf_link {
  background: url("images/common/icon_pdf.png") right / 24px no-repeat;
  color: #00A0E2;
  font-size: 1.125rem;
  padding-right: 35px;
  text-decoration: underline;
  text-underline-offset: 8px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .pdf_link {
    background-size: 18px;
    font-size: .9375rem;
    padding-right: 24px;
    text-underline-offset: 4px;
  }
}



/* 色付きリンク */
.link {
  color: #00A0E2;
}



/* ページ内リンク */
.page_anchor_link {
  margin-top: -100px;
  padding-top: 100px;
}



/* ニュース日付 */
.news_date {
  font-size: 0.875rem;
}
/* ニュースタグ */
.news_tag {
  align-items: center;
  border: 1px solid #00A0E2;
  color: #00A0E2;
  font-size: 0.75rem;
  display: flex;
  height: 24px;
  justify-content: center;
  margin: 0 24px 0 16px;
  width: 112px;
}
/* ニュースタイトル */
.news_text {
  flex: 1;
  font-size: 1rem;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .news_text {
    font-size: .9375rem;
  }
}

/*-----------------------------------------------
ヘッダー
-----------------------------------------------*/
.header_area {
  align-items: center;
  background-color: rgb(255, 255, 255, .6);
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: 24px 40px 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
/* .top_page .header_area {
  background-color: transparent;
} */
.top_page .header_area.bg_in {
  background-color: rgb(255, 255, 255, .6);
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .header_area {
    padding: 24px 20px 0;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .header_area {
    padding: 8px 8px 8px 40px;
  }
  .header_area:has(.open),
  .top_page .header_area.bg_in:has(.open) {
    background-color: #fff;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .header_area {
    padding: 8px 12px 8px 20px;
  }
}



/* ヘッダーロゴ */
.header_logo {
  max-width: 400px;
  padding-bottom: 24px;
  position: relative;
  width: 28cqw;
  z-index: 100;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .header_logo {
    padding-bottom: 0;
    width: 278px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .header_logo {
    width: 167px;
  }
}



/* メニューボタン */
.header_menu_btn {
  display: none;
  height: 55px;
  position: relative;
  width: 80px;
  z-index: 99;
}
.header_menu_btn span,
.header_menu_btn::before,
.header_menu_btn::after {
  background-color: #222;
  border-radius: 9999px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  width: 48px;
}
.header_menu_btn span {
  bottom: 0;
  margin-bottom: auto;
  margin-top: auto;
  top: 0;
}
.header_menu_btn::before {
  top: 16px;
}
.header_menu_btn::after {
  bottom: 16px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .header_menu_btn {
    display: flex;
  }
  .header_menu_btn.open span {
    display: none;
  }
  .header_menu_btn.open::before,
  .header_menu_btn.open::after {
    bottom: 0;
    margin: auto;
    top: 0;
  }
  .header_menu_btn.open::before {
    transform: rotate(30deg);
  }
  .header_menu_btn.open::after {
    transform: rotate(-30deg);
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .header_menu_btn {
    height: 26px;
    width: 51px;
  }
  .header_menu_btn span,
  .header_menu_btn::before,
  .header_menu_btn::after {
    height: 2px;
    width: 35px;
  }
  .header_menu_btn::before {
    top: 5px;
  }
  .header_menu_btn::after {
    bottom: 5px;
  }
}



/* ヘッダーメニュー */
.header_menu {
  align-items: center;
  display: flex;
}
.header_menu > li {
  padding-bottom: 24px;
}
.header_menu > li > a,
.header_menu > li > span {
  color: #222;
  display: block;
  font-weight: 700;
  padding: 9px 16px;
  text-decoration: none;
}
.header_menu .header_menu_parent {
  position: relative;
}
.header_menu .header_menu_parent > span {
  display: none;
}
.header_menu .header_menu_parent > a {
  align-items: center;
  column-gap: 6px;
  display: flex;
}
.header_menu .header_menu_parent > a::after {
  background: url(./images/common/menu_triangle_arrow.png) center / cover no-repeat;
  content: "";
  display: block;
  height: 8px;
  width: 13px;
}
.header_menu .header_contact_btn {
  background-color: #00A0E2;
  border-radius: 4px;
  color: #fff;
  margin-left: 24px;
  padding: 9px 20px;
}
.header_menu_child {
  background-color: rgb(239, 239, 239, .8);
  min-width: 250px;
  opacity: 0;
  position: fixed;
  top: 100%;
  z-index: -1;
}
.header_menu_parent:hover .header_menu_child,
.header_menu_parent:has(:focus-visible) .header_menu_child {
  left: 0;
  opacity: 1;
  position: absolute;
}
.header_menu_child > li:first-of-type {
  display: none;
}
.header_menu_child a {
  font-weight: 700;
  padding: 14px 24px;
}
.header_menu_child li:not(:last-of-type) a {
  border-bottom: 1px solid rgb(0, 0, 0, .4);
}
.header_menu_child a.link_arrow_only.blue::after {
  width: 13px;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .header_menu > li > a,
  .header_menu > li > span {
    padding: 9px 8px;
  }
  .header_menu .header_contact_btn {
    margin-left: 12px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .header_menu_container {
    background-color: #fff;
    height: 100svh;
    margin-top: 71px;
    overflow: auto;
    padding-bottom: 80px;
    padding-left: 20px;
    padding-right: 20px;
    position: fixed;
    right: -100%;
    top: 0;
    transition: .5s;
    width: 100vw;
  }
  .header_menu_container.open {
    right: 0;
  }
  .header_menu {
    align-items: stretch;
    flex-direction: column;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 9px;
    max-width: 720px;
  }
  .header_menu > li {
    padding-bottom: 0;
  }
  .header_menu > li:not(:last-of-type) {
    border-bottom: 1px solid #ddd;
  }
  .header_menu > li.header_menu_parent > a {
    display: none;
  }
  .header_menu > li:not(.header_menu_parent) > a:not(.header_contact_btn),
  .header_menu .header_menu_parent > span {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 12px 10px;
  }
  .header_menu > li > a:not(.header_contact_btn)::after,
  .header_menu .header_menu_parent span::after {
    background: url(./images/common/menu_triangle_arrow_blue.png) center / cover no-repeat;
    content: "";
    display: block;
    height: 8px;
    width: 13px;
  }
  .header_menu a::after {
    transform: rotate(-90deg);
  }
  .header_menu .header_menu_parent.show span::after {
    transform: rotate(180deg);
  }
  .header_menu .header_contact_btn {
    margin-bottom: 80px;
    margin-left: 0;
    margin-top: 32px;
    text-align: center;
  }

  .header_menu_child {
    background-color: #fff;
    display: none;
    padding-bottom: 18px;
    margin-top: -4px;
    opacity: 1;
    position: static;
    z-index: auto;
  }
  .header_menu_parent:hover .header_menu_child,
  .header_menu_parent:has(:focus-visible) .header_menu_child {
    display: none;
    position: static;
  }
  .header_menu_parent.show .header_menu_child {
    display: block;
  }
  .header_menu_child > li:first-of-type {
    display: block;
  }
  .header_menu_child a {
    color: #9A9A9A;
    font-size: .9375rem;
    padding: 2px 30px;
  }
  .header_menu_child li:not(:last-of-type) a {
    border-bottom: none;
  }
  .header_menu_child .link_arrow_only.blue::after {
    display: none;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .header_menu_container {
    margin-top: 41px;
    padding-bottom: 56px;
  }
  .header_menu {
    margin-top: 39px;
  }
  .header_menu_child a {
    font-size: .875rem;
  }
  .header_menu .header_contact_btn {
    margin-bottom: 56px;
  }
}



/*-----------------------------------------------
フッター
-----------------------------------------------*/
.footer_area {
  background-color: #0066B2;
  color: #fff;
  padding: 80px 20px 40px;
}
.footer_container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 128px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .footer_container {
    column-gap: 56px;
    margin-bottom: 48px;
    max-width: 800px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer_area {
    padding: 40px 20px;
  }
  .footer_container {
    flex-direction: column;
    margin-bottom: 0;
  }
}



/* フッターロゴ */
.footer_logo {
  margin-bottom: 40px;
  width: 300px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .footer_logo {
    margin-bottom: 32px;
    width: 363px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer_logo {
    width: 206px;
  }
}



/* フッター会社情報 */
.footer_about_contents {
  margin-bottom: 24px;
}
.footer_about_title {
  font-weight: 700;
  margin-bottom: 4px;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer_about_contents {
    font-size: .875rem;
  }
}



/* フッターメニュー */
.footer_menu_area {
  display: flex;
  flex: 1;
  justify-content: space-between;
  max-width: 690px;
}
.footer_menu {
  margin-bottom: 24px;
}
.footer_menu li {
  margin-bottom: 8px;
}
.footer_menu a {
  color: rgb(255, 255, 255, .9);
  display: block;
  font-size: 0.875rem;
  text-decoration: none;
}
.footer_menu a.external_link {
  display: inline;
}
.footer_menu .footer_menu_header {
  margin-bottom: 12px;
}
.footer_menu .footer_menu_header a {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .footer_menu_area {
    flex: 1;
    flex-direction: column;
    margin-top: 64px;
  }
  .footer_menu_box {
    display: flex;
    justify-content: space-between;
  }
  .footer_menu_box:nth-of-type(3) .footer_menu:first-of-type {
    margin-top: -56px;
  }
  .footer_menu_box:last-of-type {
    display: grid;
    grid-template-columns: 1fr 55%;
    margin-top: -120px;
  }
  .footer_menu_box:last-of-type .footer_menu {
    grid-column: 1 / 2;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-last-of-type(2),
  .footer_menu_box:last-of-type .footer_menu:last-of-type {
    grid-column: 2 / 3;
    width: 100%;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-last-of-type(2) {
    margin-top: -20px;
  }
  .footer_menu_box:last-of-type .footer_menu:last-of-type {
    margin-top: -50px;
  }
  .footer_menu_box > *:last-of-type {
    width: 55%;
  }
  .footer_menu {
    margin-bottom: 40px;
  }
  .footer_menu_box:not(:last-of-type) .footer_menu:first-of-type {
    width: 45%;
  }
  .footer_menu li {
    margin-bottom: 0;
  }
  .footer_menu .footer_menu_header {
    margin-bottom: 0;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .footer_menu_area {
    margin-top: 14px;
  }
  .footer_menu_box:nth-of-type(3) {
    flex-direction: column;
  }
  .footer_menu_box:last-of-type {
    grid-template-columns: 1fr 1fr;
    margin-top: -110px;
  }
  .footer_menu_box:not(:last-of-type) .footer_menu:first-of-type,
  .footer_menu_box > *:last-of-type {
    width: 50%;
  }
  .footer_menu {
    margin-bottom: 16px;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-of-type(1) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-of-type(2) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-of-type(3) {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .footer_menu_box:last-of-type .footer_menu:nth-of-type(4) {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    margin-top: 0;
  }
  .footer_menu_box:last-of-type .footer_menu:last-of-type {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    margin-top: 0;
  }
  .footer_menu_box:nth-of-type(3) .footer_menu:last-of-type {
    position: relative;
    z-index: 2;
  }
  .footer_menu a {
    font-size: .8125rem;
  }
  .footer_menu .footer_menu_header a {
    font-size: .9375rem;
  }
}



/* コピーライト */
.copyright {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  text-align: right;
}
.copyright small {
  font-size: .625rem;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .copyright {
    max-width: 800px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .copyright {
    text-align: left;
  }
}



/*-----------------------------------------------
トップページ
-----------------------------------------------*/
/* トップビジュアル */
.top_main_visual_area {
  aspect-ratio: 1440 / 925;
  margin: 0 auto;
  max-width: 1440px;
  position: relative;
}
.top_main_visual_area img {
  position: absolute;
}

.top_main_visual_concept {
  animation: concept_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  opacity: 0;
  top: 16.864%;
  width: 34.305%;
}
@keyframes concept_slidein {
  0% {
    left: -100%;
  }
  100% {
    left: 2.847%;
  }
  40%, 100% {
    opacity: 1;
  }
}

.top_main_visual_catchphrase {
  animation: catchphrase_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  font-family: "Roboto", sans-serif;
  font-size: clamp(.5rem, 1.25cqw, 1.125rem);
  font-weight: 700;
  opacity: 0;
  position: absolute;
  top: 42.27%;
}
@keyframes catchphrase_slidein {
  0% {
    left: -100%;
  }
  100% {
    left: 17.152%;
  }
  40%, 100% {
    opacity: 1;
  }
}

.top_main_visual_image1 {
  animation: visual_image1_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: .5s;
  aspect-ratio: 988 / 857;
  clip-path: polygon(18.9% 0, 100% 0%, 81.1% 100%, 0% 100%);
  opacity: 0;
  position: absolute;
  top: 0;
  width: 68.611%;
  z-index: 2;
}
@keyframes visual_image1_slidein {
  0% {
    right: -100%;
  }
  100% {
    right: -3.2638%;
  }
  40%, 100% {
    opacity: 1;
  }
}

.top_main_visual_image2 {
  animation: visual_image2_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: .5s;
  bottom: -4.324%;
  opacity: 0;
  width: 28.958%;
  z-index: 2;
}
@keyframes visual_image2_slidein {
  0% {
    left: -100%;
  }
  100% {
    left: 5.138%;
  }
  40%, 100% {
    opacity: 1;
  }
}

.top_main_visual_image_bg1 {
  animation: visual_image_bg1_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: .5s;
  bottom: 0;
  opacity: 0;
  width: 43.75%;
  z-index: 1;
}
@keyframes visual_image_bg1_slidein {
  0% {
    right: -100%;
  }
  100% {
    right: -11.736%;
  }
  40%, 100% {
    opacity: 1;
  }
}

.top_main_visual_image_bg2 {
  animation: visual_image_bg2_slidein 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: .5s;
  bottom: 13.513%;
  opacity: 0;
  width: 20.555%;
  z-index: 1;
}
@keyframes visual_image_bg2_slidein {
  0% {
    left: -100%;
  }
  100% {
    left: 2.847%;
  }
  40%, 100% {
    opacity: 1;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_main_visual_area {
    aspect-ratio: 1024 / 655;
    margin: 0 auto;
    max-width: 1440px;
    position: relative;
  }

  .top_main_visual_concept {
    top: 19.083%;
    width: 29.394%
  }
  @keyframes concept_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: 6.64%;
    }
    40%, 100% {
      opacity: 1;
    }
  }

  .top_main_visual_catchphrase {
    font-size: clamp(.5rem, 1.75781cqw, 1.125rem);
    top: 39.541%
  }
  @keyframes catchphrase_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: 12.304%;
    }
    40%, 100% {
      opacity: 1;
    }
  }

  .top_main_visual_image2 {
    bottom: -7.022%
  }

  .top_main_visual_image_bg2 {
    bottom: 11.297%
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_main_visual_area {
    aspect-ratio: 375 / 423;
  }

  .top_main_visual_concept {
    top: 19.385%;
    width: 45.066%
  }
  @keyframes concept_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: 4.8%;
    }
    40%, 100% {
      opacity: 1;
    }
  }
  
  .top_main_visual_catchphrase {
    font-size: clamp(.5rem, 2.132197cqw, 1rem);
    top: 41.371%;
  }
  @keyframes catchphrase_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: 5.333%;
    }
    40%, 100% {
      opacity: 1;
    }
  }

  .top_main_visual_image1 {
    aspect-ratio: 246 / 399;
    clip-path: none;
    width: 65.6%;
  }
  @keyframes visual_image1_slidein {
    0% {
      right: -100%;
    }
    100% {
      right: 0%;
    }
    40%, 100% {
      opacity: 1;
    }
  }
  .top_main_visual_image1 img {
    right: 0;
  }

  .top_main_visual_image2 {
    bottom: -8.747%;
    width: 51.466%;
  }
  @keyframes visual_image2_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: -14.666%;
    }
    40%, 100% {
      opacity: 1;
    }
  }

  .top_main_visual_image_bg1 {
    bottom: -13.711%;
    width: 78.4%;
    z-index: -1;
  }
  @keyframes visual_image_bg1_slidein {
    0% {
      right: -100%;
    }
    100% {
      right: -19.733%;
    }
    40%, 100% {
      opacity: 1;
    }
  }

  .top_main_visual_image_bg2 {
    bottom: 4.018%;
    width: 45.333%;
  }
  @keyframes visual_image_bg2_slidein {
    0% {
      left: -100%;
    }
    100% {
      left: -12.266%
    }
    40%, 100% {
      opacity: 1;
    }
  }
}



/* トップニュース */
.top_news_wrapper {
  background-color: #F0F8FC;
  padding: 112px 20px 44px;
}
.top_news_area {
  align-items: start;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.top_news_title {
  font-size: 1.5rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-top: 10px;
}
.top_news_link {
  color: #222;
  font-size: .9375rem;
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  text-decoration: none;
  margin-top: 36px;
}
.top_news_link.link_arrow::after {
  width: 24px;
}
.top_news_container {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  margin-left: auto;
  width: clamp(10px, 100%, 840px);
}
.top_news_contents_link {
  color: #222;
  display: block;
  text-decoration: none;
}
.top_news_contents {
  align-items: center;
  display: flex;
  padding: 20px 0;
}
.top_news_container .top_news_contents_link:not(:last-of-type) .top_news_contents {
  border-bottom: 1px solid #ddd;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_news_wrapper {
    padding: 96px 20px 30px;
  }
  .top_news_area {
    column-gap: 32px;
    max-width: 800px;
  }
  .top_news_title {
    font-size: 1.25rem;
    margin-top: 16px;
  }
  .top_news_link {
    column-gap: 10px;
    font-size: .875rem;
    margin-top: 32px;
  }
  .top_news_link.link_arrow::after {
    width: 17px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_news_wrapper {
    padding: 72px 20px 48px;
  }
  .top_news_area {
    align-items: center;
    grid-template-columns: 1fr auto;
    row-gap: 28px;
  }
  .top_news_title {
    margin-top: 0;
  }
  .top_news_link {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin-top: 0;
  }
  .top_news_link.link_arrow::after {
    width: 32px;
  }
  .top_news_container {
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  .top_news_contents {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 16px 0;
    row-gap: 8px;
  }
  .news_date {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .news_tag {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin-left: 10px;
  }
  .news_text {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
}



/* トップアバウト */
.top_about_wrapper {
  padding: 192px 20px 0;
  position: relative;
  z-index: 2;
}
.top_about_title {
  color: #F0F8FC;
  font-family: "Roboto", sans-serif;
  font-size: 10rem;
  font-weight: 400;
  left: 0;
  position: absolute;
  top: 80px;
  z-index: -1;
}
.top_about_container {
  display: grid;
  grid-template-columns: 480px 1fr;
  grid-template-rows: auto auto 1fr;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.top_about_section_title {
  font-size: 2.5rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-top: 36px;
}
.top_about_section_title span {
  color: #00A0E2;
}
.top_about_section_text {
  font-size: 1.125rem;
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin-bottom: 56px;
  margin-top: 40px;
}
.top_about_section_image {
  grid-column: 2 / 3;
  grid-row: 1 / 4;
  margin-left: auto;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_about_wrapper {
    padding: 128px 20px 54px;
  }
  .top_about_title {
    font-size: 8rem;
    left: 2.734375%;
    top: 30px;
  }
  .top_about_container {
    column-gap: 24px;
    grid-template-columns: 1fr 346px;
    max-width: 800px;
  }
  .top_about_section_title {
    font-size: 1.625rem;
  }
  .top_about_section_text {
    font-size: 1rem;
    margin-bottom: 60px;
    margin-top: 16px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_about_wrapper {
    padding: 72px 20px 0;
  }
  .top_about_title {
    font-size: 4.375rem;
    left: 20px;
    top: 12px;
  }
  .top_about_container {
    grid-template-columns: 1fr;
  }
  .top_about_section_title {
    font-size: 1.5rem;
    margin-top: 0;
  }
  .top_about_section_text {
    font-size: .9375rem;
    margin-bottom: 24px;
    margin-top: 24px;
  }
  .top_about_section_image {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin-bottom: 32px;
    width: 100%;
  }
  .article_link {
    grid-row: 4 / 5;
  }
}



/* トップ業務内容 */
.top_business_wrapper {
  background-color: #F0F8FC;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
}
.top_business_wrapper::before,
.top_business_wrapper::after {
  aspect-ratio: 1440 / 228;
  background-color: #F0F8FC;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.top_business_wrapper::before {
  bottom: 100%;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.top_business_wrapper::after {
  top: 100%;
  clip-path: polygon(100% 100%, 0% 0%, 100% 0%);
}
.top_business_area {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 120px 0 96px;
}
.top_business_container {
  column-gap: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.top_business_contents {
  background-color: #fff;
  border-radius: 4px;
  overflow: hidden;
  padding-bottom: 32px;
}
.top_business_contents_title {
  font-size: 1.75rem;
  margin-bottom: 20px;
  margin-top: 24px;
  padding-left: 32px;
  padding-right: 32px;
}
.top_business_contents_text {
  padding-left: 32px;
  padding-right: 32px;
}
.top_business_contents_text.link_arrow::after {
  width: 56px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_business_area {
    max-width: 800px;
    padding: 36px 0 50px;
  }
  .top_business_container {
    column-gap: 24px;
  }
  .top_business_contents {
    padding-bottom: 20px;
  }
  .top_business_contents_title {
    font-size: 1.375rem;
    margin-bottom: 10px;
    margin-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .top_business_contents_text {
    font-size: .9375rem;
    padding-left: 20px;
    padding-right: 20px;
  }
  .top_business_contents_text.link_arrow::after {
    width: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_business_wrapper {
    margin-top: -114px;
  }
  .top_business_area {
    padding: 192px 0 48px;
  }
  .top_business_container {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
  .top_business_contents_title {
    font-size: 1.25rem;
    padding-left: 24px;
    padding-right: 24px;
  }
  .top_business_contents_text {
    font-size: .875rem;
    padding-left: 24px;
    padding-right: 24px;
  }
}



/* トップ職場環境 */
.top_environment_wrapper {
  margin-top: 15.834vw;
  padding-left: 20px;
  padding-right: 20px;
}
.top_environment_container {
  align-items: flex-start;
  column-gap: 20px;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
}
.top_environment_link {
  aspect-ratio: 315 / 440;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  flex: 1;
}
.top_environment_link:nth-of-type(2) {
  margin-top: 40px;
}
.top_environment_link:nth-of-type(3) {
  margin-top: 80px;
}
.top_environment_link:nth-of-type(4) {
  margin-top: 120px;
}
.top_environment_contents {
  position: relative;
}
.top_environment_contents_title {
  bottom: 24px;
  font-size: 1.5rem;
  padding-left: 32px;
  padding-right: 32px;
  position: absolute;
}
.top_environment_contents_title.link_arrow_only::after {
  width: 20px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_environment_wrapper {
    margin-bottom: 40px;
  }
  .top_environment_contents_title {
    bottom: 16px;
    font-size: .875rem;
    padding-left: 12px;
    padding-right: 12px;
  }
  .top_environment_contents_title.link_arrow_only::after {
    width: 14px;
  }
  .top_environment_link:nth-of-type(2) {
    margin-top: 28px;
  }
  .top_environment_link:nth-of-type(3) {
    margin-top: 56px;
  }
  .top_environment_link:nth-of-type(4) {
    margin-top: 84px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_environment_wrapper {
    margin-bottom: 48px;
  }
  .top_environment_container {
    flex-direction: column;
    row-gap: 16px;
  }
  .top_environment_link {
    aspect-ratio: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .top_environment_link:nth-of-type(2),
  .top_environment_link:nth-of-type(3),
  .top_environment_link:nth-of-type(4) {
    margin-top: 0;
  }
  .top_environment_contents_title {
    bottom: 12px;
    font-size: 1.125rem;
    padding-left: 24px;
    padding-right: 24px;
  }
  .top_environment_contents_title.link_arrow_only::after {
    width: 15px;
  }
}



/* トップ実習 */
.top_practice_wrapper {
  background: linear-gradient(to bottom right, #00A0E2, #005AAB);
  padding: 15.834vw 20px 120px;
  position: relative;
}
.top_practice_wrapper::before {
  aspect-ratio: 1440 / 228;
  background-color: #fff;
  clip-path: polygon(100% 100%, 0% 0%, 100% 0%);
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: -1px;
  width: 100%;
}
.top_practice_container {
  column-gap: 100px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto 1fr;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.top_practice_title {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  margin-left: 0;
  margin-right: 0;
}
.top_practice_contents_text {
  color: #fff;
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin-bottom: 56px;
}
.top_practice_contents_link {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
.top_practice_image_box {
  align-items: center;
  aspect-ratio: 620 / 460;
  background-color: #00A0E2;
  border-radius: 4px;
  display: flex;
  grid-column: 2 / 3;
  grid-row: 2 / 4;
  justify-content: center;
  max-width: 620px;
  padding: 6px;
  width: 52cqw;
}
.top_practice_image {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_practice_wrapper {
    padding: 15.834vw 20px 120px;
  }
  .top_practice_container {
    column-gap: 10%;
    grid-template-columns: 1fr 50%;
    max-width: 800px;
  }
  .top_practice_contents_text {
    margin-bottom: 28px;
  }
  .top_practice_contents_link {
    max-width: 320px;
    width: auto;
  }
  .top_practice_image_box {
    aspect-ratio: 400 / 258;
    height: auto;
    max-width: 400px;
    width: auto;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_practice_wrapper {
    padding: 15.834vw 20px 40px;
  }
  .top_practice_container {
    column-gap: 0;
    grid-template-columns: 100%;
    grid-template-rows: none;
  }
  .top_practice_title {
    grid-column: 1 / 2;
  }
  .top_practice_contents_text {
    font-size: .9375rem;
  }
  .top_practice_image_box {
    aspect-ratio: 335 / 190;
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin-bottom: 32px;
    max-width: none;
    width: 100%;
  }
  .top_practice_image {
    object-position: 50% 30%;
  }
  .top_practice_contents_link {
    grid-row: 4 / 5;
    width: 240px;
  }
}



/* トップ採用 */
.top_recruit_wrapper {
  background: url("images/top/top_recruit_bg.jpg") center / cover no-repeat;
  padding: 112px 20px 120px;
}
.top_recruit_area {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.top_recruit_text {
  color: #fff;
  margin-bottom: 40px;
  max-width: 520px;
}
.top_recruit_link {
  color: #fff;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  max-width: 520px;
  padding: 28px 40px 28px 20px;
}
.top_recruit_link_box .top_recruit_link {
  border-bottom: 1px solid rgb(255, 255, 255, .6);
}
.top_recruit_link_box .top_recruit_link:first-of-type {
  border-top: 1px solid rgb(255, 255, 255, .6);
}
.top_recruit_link_box .top_recruit_link.link_arrow_only::after {
  width: 22px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_recruit_wrapper {
    padding: 80px 20px;
  }
  .top_recruit_area {
    max-width: 800px;
  }
  .top_recruit_link {
    font-size: 1.25rem;
    padding: 20px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_recruit_wrapper {
    background: url("images/top/top_recruit_bg_sp.jpg") center / cover no-repeat;;
    padding: 40px 20px 48px;
  }
  .top_recruit_text {
    font-size: .9375rem;
    margin-bottom: 28px;
  }
  .top_recruit_link {
    font-size: .9375rem;
    padding: 16px 12px;
  }
  .top_recruit_link_box .top_recruit_link.link_arrow_only::after {
    width: 15px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_recruit_text,
  .top_recruit_link {
    max-width: none;
  }
}



/* トップ下部リンク */
.top_bottom_link_wrapper {
  padding-left: 20px;
  padding-right: 20px;
}
.top_bottom_link_container {
  column-gap: 48px;
  display: flex;
  margin: 100px auto 120px;
  max-width: 1200px;
}
.top_bottom_link {
  align-items: center;
  border-radius: 4px;
  display: flex;
  flex: 1;
  font-size: 1.75rem;
  font-weight: 700;
  height: 160px;
  padding: 0 32px;
}
.top_bottom_link.faq {
  background: url("images/common/icon_faq.png") center left 32px no-repeat, #F5F5F5;
  padding-left: 108px;
}
.top_bottom_link.contact {
  background: url("images/common/icon_contact.png") center left 32px no-repeat, #F5F5F5;
  padding-left: 108px;
}
.top_bottom_link .link_arrow::after {
  width: 56px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .top_bottom_link_container {
    margin: 80px auto;
    max-width: 800px;
  }
  .top_bottom_link {
    font-size: 1.5rem;
    height: 108px;
  }
  .top_bottom_link.faq,
  .top_bottom_link.contact {
    background-position: center left 20px;
    background-size: 44px;
    padding-left: 72px;
  }
  .top_bottom_link .link_arrow::after {
    width: 36px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .top_bottom_link_container {
    flex-direction: column;
    margin: 40px auto 48px;
    row-gap: 20px;
  }
  .top_bottom_link {
    flex: auto;
    font-size: 1rem;
    height: 75px;
    padding-right: 20px;
  }
  .top_bottom_link .link_arrow::after {
    width: 32px;
  }
}



/*-----------------------------------------------
お知らせページ
-----------------------------------------------*/
.news_wrapper {
  padding-left: 20px;
  padding-right: 20px;
}
.news_area {
  align-items: flex-start;
  column-gap: 30px;
  display: flex;
  justify-content: space-between;
}
.news_container {
  flex: 1;
  margin-bottom: 120px;
  max-width: 880px;
}
.news_contents {
  align-items: center;
  border-top: 1px solid #D9D9D9;
  display: flex;
  padding: 20px 0;
}
.news_container > a:last-of-type .news_contents {
  border-bottom: 1px solid #D9D9D9;
  margin-bottom: 40px;
}

/* カテゴリーリスト */
.news_category_list {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}
.news_category_link {
  align-items: center;
  column-gap: 10px;
  display: flex;
}
.news_category_link::before {
  aspect-ratio: 1 / 1;
  border: 5px solid #D9D9D9;
  border-radius: 50%;
  content: "";
  display: block;
  width: 10px;
}
.news_category_link.active {
  color: #00A0E2;
}
.news_category_link.active::before {
  border-color: #00A0E2;
}

/* ページネーション */
.nav-links {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: center;
  position: relative;
}
.page-numbers:not(.next):not(.prev) {
  align-items: center;
  aspect-ratio: 1 / 1;
  border: 1px solid #00A0E2;
  color: #00A0E2;
  display: flex;
  justify-content: center;
  width: 40px;
}
.page-numbers.current:not(.next):not(.prev) {
  background-color: #00A0E2;
  color: #fff;
}
.page-numbers.next,
.page-numbers.prev {
  align-items: center;
  bottom: 0;
  display: flex;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
}
.page-numbers.next {
  background: url('images/common/icon_pagination_next.png') top 16px right no-repeat;
  padding-right: 27px;
  right: 0;
}
.page-numbers.prev {
  background: url('images/common/icon_pagination_prev.png') top 16px left no-repeat;
  left: 0;
  padding-left: 27px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .news_area {
    flex-direction: column-reverse;
  }
  .news_category_list {
    column-gap: 16px;
    flex-direction: row;
    margin-bottom: 24px;
  }
  .news_category_link.active {
    background-color: #00A0E2;
    border-radius: 2px;
    color: #fff;
    padding: 0 12px;
  }
  .news_category_link::before {
    display: none;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .news_container {
    margin-bottom: 64px;
    width: 100%;
  }
  .news_category_list {
    font-size: .875rem;
    margin-bottom: 16px;
  }
  .news_contents {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 16px 0;
    row-gap: 8px;
  }
}



/*-----------------------------------------------
お知らせ詳細ページ
-----------------------------------------------*/
.news_article_area {
  padding-left: 20px;
  padding-right: 20px;
}
.news_article_wrapper {
  margin-bottom: 120px;
  padding-top: 148px;
  position: relative;
}
.news_article_wrapper .breadcrumb_container {
  bottom: auto;
  top: 20px;
}
.news_article_tab_container {
  align-items: center;
  display: flex;
  margin-bottom: 20px;
}
.news_article_contents {
  margin-bottom: 64px;
}
.news_article_title {
  font-size: 2.5rem;
  line-height: 1.6;
  margin-bottom: 64px;
}
.news_article_contents p {
  line-height: 2;
  margin-bottom: 24px;
}
.news_article_contents a {
  color: #00A0E2;
}
/* タイトル */
.wp-block-heading {
  border-bottom: 1px solid #0066B2;
  color: #0066B2;
  font-size: 1.75rem;
  margin-bottom: 40px;
  padding-bottom: 8px;
}
/* 数字付きリスト */
ol.wp-block-list {
  counter-reset: listnum;
  margin-bottom: 24px;
}
ol.wp-block-list > li {
  padding-left: 2em;
  position: relative;
}
ol.wp-block-list > li:not(:last-of-type) {
  margin-bottom: 20px;
}
ol.wp-block-list > li::before {
  color: #00A0E2;
  counter-increment: listnum;
	content: counter(listnum)".";
  font-weight: 700;
  left: 0;
  position: absolute;
  text-align: right;
  top: 0;
  width: 1.7em;
}
/* 丸付きリスト */
ul.wp-block-list {
  margin-bottom: 24px;
}
ul.wp-block-list > li {
  padding-left: 1.5em;
  position: relative;
}
ul.wp-block-list > li:not(:last-of-type) {
  margin-bottom: 20px;
}
ul.wp-block-list > li::before {
  aspect-ratio: 1 / 1;
  background-color: #00A0E2;
  border-radius: 50%;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: .55em;
  width: .75em;
}
/* 画像 */
.wp-block-image {
  margin-bottom: 64px;
  margin-top: 40px;
}
.news_article_wrapper .article_link {
  margin-left: auto;
  margin-right: auto;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .news_article_title {
    font-size: 1.625rem;
    margin-bottom: 40px;
  }
  .wp-block-heading {
    font-size: 1.25rem;
    margin-bottom: 32px;
  }
  .wp-block-image {
    margin-bottom: 48px;
    margin-top: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .news_article_wrapper {
    margin-bottom: 64px;
  }
  .news_article_title {
    font-size: 1.125rem;
    margin-bottom: 32px;
  }
  .wp-block-heading {
    font-size: 1rem;
    margin-bottom: 24px;
  }
  .news_article_contents p {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  /* 数字付きリスト */
  ol.wp-block-list {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  ol.wp-block-list > li:not(:last-of-type) {
    margin-bottom: 12px;
  }
  /* 丸字付きリスト */
  ul.wp-block-list {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  ul.wp-block-list > li:not(:last-of-type) {
    margin-bottom: 12px;
  }
  /* 画像 */
  .wp-block-image {
    margin-bottom: 32px;
    margin-top: 24px;
  }
  .news_article_wrapper .article_link {
    width: 292px;
  }
}



/*-----------------------------------------------
会社情報ページ
-----------------------------------------------*/
/* 代表メッセージ */
.representative_message_wrapper {
  background-color: #fff;
  border-radius: 4px;
  column-gap: 80px;
  display: grid;
  grid-template-columns: 1fr 400px;
  margin-bottom: 120px;
  padding: 72px 60px 100px;
}
.representative_message_title {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
.representative_message_contents {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.representative_message_image_contents {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.representative_message_text {
  font-size: 1.125rem;
  line-height: 2;
}
.representative_message_text:not(:last-of-type) {
  margin-bottom: 32px;
}
.representative_message_president {
  font-size: 1.25rem;
  margin-top: 24px;
  text-align: right;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .representative_message_wrapper {
    column-gap: 32px;
    grid-template-columns: 1fr 250px;
    margin-bottom: 80px;
    padding: 40px 20px;
  }
  .representative_message_text {
    font-size: 1rem;
  }
  .representative_message_president {
    font-size: 1.125rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .representative_message_wrapper {
    border-radius: 0;
    column-gap: 0;
    grid-template-columns: 1fr;
    margin-left: -20px;
    margin-right: -20px;
    max-width: none;
  }
  .representative_message_text {
    font-size: .875rem;
  }
  .representative_message_text:not(:last-of-type) {
    margin-bottom: 20px;
  }
  .representative_message_image_contents {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin-left: auto;
    margin-right: auto;
    margin-top: 32px;
    max-width: 240px;
  }
  .representative_message_president {
    font-size: .875rem;
    margin-top: 12px;
  }
}



/* 理念 */
.philosophy_contents {
  background-color: #fff;
  border-radius: 4px;
  display: flex;
  justify-content: space-between;
  min-height: 244px;
  padding: 40px 50px 40px 100px;
}
.philosophy_contents:not(:last-of-type) {
  margin-bottom: 16px;
}
.philosophy_contents_title {
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  position: relative;
  row-gap: 10px;
}
.philosophy_contents_title_number {
  color: #00A0E2;
}
.philosophy_contents_title_text {
  position: relative;
  z-index: 2;
}
.philosophy_contents_title_english {
  color: #F0F8FC;
  font-family: "Roboto", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  left: 0;
  position: absolute;
  top: 50px;
}
.philosophy_contents_text_box {
  display: flex;
  flex: 1;
  flex-direction: column;
  font-size: 1.125rem;
  justify-content: center;
  line-height: 2;
  max-width: 690px;
  position: relative;
  z-index: 2;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .philosophy_contents {
    padding: 24px;
  }
  .philosophy_contents_text_box {
    font-size: 1rem;
    max-width: 540px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .philosophy_contents {
    flex-direction: column;
    min-height: auto;
  }
  .philosophy_contents_title {
    font-size: 1.125rem;
    margin-bottom: 16px;
    row-gap: 2px;
  }
  .philosophy_contents_title_number {
    font-size: .8125rem;
  }
  .philosophy_contents_title_english {
    font-size: 2.5rem;
    left: auto;
    line-height: 1;
    right: 0;
    top: 0;
  }
  .philosophy_contents_text_box {
    font-size: .875rem;
    line-height: 1.8;
  }
}



/* 会社概要 */
.summary_wrapper {
  margin-bottom: 120px;
  margin-top: 252px;
  padding-left: 20px;
  padding-right: 20px;
}
.summary_table {
  margin-bottom: 48px;
  width: 100%;
}
.summary_table tr {
  display: flex;
}
.summary_table th {
  border-bottom: 1px solid #00A0E2;
  font-size: 1.125rem;
  padding: 20px 0 20px 28px;
  text-align: left;
  width: 200px;
}
.summary_table tr:first-of-type th {
  border-top: 1px solid #00A0E2;
}
.summary_table td {
  border-bottom: 1px solid #D9D9D9;
  flex: 1;
  padding: 20px 28px 20px 100px;
}
.summary_table tr:first-of-type td {
  border-top: 1px solid #D9D9D9;
}
.summary_office_information:not(:last-of-type) {
  margin-bottom: 16px;
}
.summary_office_information span {
  font-weight: 700;
}
.summary_history_list li {
  column-gap: 20px;
  display: flex;
  margin-bottom: 16px;
}
.summary_history_list li span {
  white-space: nowrap;
}
.company_pamphlet_image {
  margin-bottom: 40px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .summary_wrapper {
    margin-bottom: 80px;
    margin-top: 200px;
  }
  .summary_table th {
    padding: 16px 0 16px 20px;
  }
  .summary_table td {
    padding: 16px 20px 16px 40px;
  }
  .company_pamphlet_contents {
    align-items: center;
    display: flex;
    flex-direction: column;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .summary_wrapper {
    margin-bottom: 64px;
    margin-top: 12px;
  }
  .summary_table {
    margin-bottom: 32px;
  }
  .summary_table tr {
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, #00A0E2 0 20.1%, #D9D9D9 20.1% 100%) 1;
    flex-direction: column;
    padding: 16px 0;
    row-gap: 6px;
  }
  .summary_table tr:first-of-type {
    border-top: 1px solid;
    border-image: linear-gradient(to right, #00A0E2 0 20.1%, #D9D9D9 20.1% 100%) 1;
  }
  .summary_table tr th,
  .summary_table tr:first-of-type th,
  .summary_table tr td,
  .summary_table tr:first-of-type td {
    border: none;
    padding: 0;
  }
  .summary_table tr th {
    font-size: 1rem;
  }
  .summary_table tr td {
    font-size: .9375rem;
  }
  .summary_history_list li {
    flex-direction: column;
  }
  .summary_history_list li span {
    font-size: .875rem;
  }
  .company_pamphlet_image {
    margin-bottom: 24px;
    max-width: 220px;
  }
  .company_pamphlet_link .link_arrow {
    column-gap: 0;
  }
}



/* 認証マーク */
.certification_mark_wrapper {
  background-color: #F5F5F5;
  padding: 100px 20px 120px;
}
.certification_mark_text {
  font-size: 1.25rem;
  margin-bottom: 32px;
}
.certification_mark_box {
  column-gap: 30px;
  display: flex;
}
.certification_mark_contents {
  flex: 1;
}
.certification_mark_contents_image {
  align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
  max-width: 340px;
  padding: 30px;
}
.certification_mark_contents_image img {
  max-height: 100%;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .certification_mark_wrapper {
    padding: 72px 20px 80px;
  }
  .certification_mark_text {
    font-size: 1.125rem;
  }
  .certification_mark_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    row-gap: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .certification_mark_wrapper {
    padding: 48px 20px 64px;
  }
  .certification_mark_text {
    font-size: .9375rem;
    margin-bottom: 24px;
  }
  .certification_mark_box {
    align-items: center;
    display: flex;
    flex-direction: column;
    row-gap: 24px;
  }
  .certification_mark_contents {
    max-width: 295px;
    width: 100%;
  }
  .certification_mark_contents_image {
    aspect-ratio: 295 / 225;
    margin-bottom: 6px;
  }
  .certification_mark_contents_image img {
    max-width: 174px;
  }
  .certification_mark_contents_image:last-of-type img {
    max-height: 165px;
  }
  .certification_mark_contents_text {
    font-size: .875rem;
  }
}



/*-----------------------------------------------
業務内容ページ
-----------------------------------------------*/



/*-----------------------------------------------
実習ページ
-----------------------------------------------*/
/* 実習への想い */
.practice_thought_wrapper {
  background-color: #fff;
  padding: 72px 60px 40px;
}
.practice_thought_text {
  font-size: 1.125rem;
  line-height: 2;
  margin-bottom: 32px;
}
.practice_thought_venn_diagram_wrapper {
  border-radius: 9999px;
  margin-bottom: 64px;
  height: 263px;
  position: relative;
}
.practice_thought_venn_diagram_container {
  border-radius: 9999px;
  column-gap: 32px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  height: 263px;
  position: absolute;
  width: 62.129%;
}
.practice_thought_venn_diagram_container:last-of-type {
  grid-template-columns: 1fr auto;
  justify-items: end;
}
.practice_thought_venn_diagram_container:first-of-type {
  background: linear-gradient(to left, rgb(0, 160, 226, .5), #00A0E2 80% 100%);
  left: 0;
  padding-left: 16px;
  top: 0;
  z-index: 2;
}
.practice_thought_venn_diagram_container:last-of-type {
  background: linear-gradient(to right, rgb(0, 102, 178, .5), #0066B2 76% 100%);
  flex-direction: row-reverse;
  padding-right: 16px;
  right: 0;
  top: 0;
}
.practice_thought_venn_diagram_image {
  align-items: center;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  height: 88.973%;
  justify-content: center;
  margin-bottom: auto;
  margin-top: auto;
}
.practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_image {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}
.practice_thought_venn_diagram_container:first-of-type .practice_thought_venn_diagram_image img {
  width: 62.394%
}
.practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_image img {
  width: 67.949%
}
.practice_thought_venn_diagram_text {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  margin-bottom: 24px;
  margin-top: 42px;
  position: relative;
  z-index: 3;
}
.practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_text {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  width: 197px;
}
.practice_thought_venn_diagram_list {
  color: #fff;
  font-size: 1.125rem;
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  line-height: 1.2;
  position: relative;
  z-index: 3;
}
.practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_list {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.practice_thought_venn_diagram_list li {
  align-items: flex-start;
  column-gap: 8px;
  display: flex;
}
.practice_thought_venn_diagram_list li:not(:last-of-type) {
  margin-bottom: 16px;
}
.practice_thought_venn_diagram_list li::before {
  aspect-ratio: 1 / 1;
  background-color: #0066B2;
  border-radius: 50%;
  content: "";
  display: block;
  margin-top: 8px;
  width: 9px;
}
.practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_list li::before {
  background-color: #66BAE6;
}
.practice_thought_section_container {
  align-content: center;
  border-top: 1px solid #D9D9D9;
  column-gap: 80px;
  display: grid;
  grid-template-columns: 1fr 440px;
  grid-template-rows: auto 1fr;
  padding-top: 72px;
}
.practice_thought_section_container:not(:last-of-type) {
  padding-bottom: 72px;
}
.practice_thought_section_text {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  line-height: 2;
}
.practice_thought_section_image {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}
.practice_thought_section_image img {
  margin-left: auto;
}
.practice_thought_section_image_notes {
  font-size: .75rem;
  margin-top: 8px;
  text-align: right;
}
.practice_achievements_contents {
  align-items: center;
  column-gap: 12px;
  display: flex;
  justify-content: space-between;
  padding-left: 20px;
}
.practice_achievements_contents_year {
  font-weight: 700;
  white-space: nowrap;
  width: 64px;
}
.practice_achievements_contents_graph {
  border-left: 1px solid #D9D9D9;
  padding-bottom: 15px;
  padding-top: 15px;
  width: 251px;
}
.practice_achievements_contents_graph span {
  background-color: #4AC7FA;
  display: block;
  height: 56px;
  width: 0;
}
.practice_achievements_contents:nth-of-type(2) .practice_achievements_contents_graph span {
  background-color: #00A0E2;
}
.practice_achievements_contents:nth-of-type(3) .practice_achievements_contents_graph span {
  background-color: #0066B2;
}
.practice_achievements_contents_text {
  font-weight: 700;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
  width: 70px
}
.practice_achievements_contents_number {
  font-size: 2.125rem;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .practice_thought_venn_diagram_image {
    height: 75%;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .practice_thought_wrapper {
    padding: 48px 32px 32px;
  }
  .practice_thought_text {
    font-size: 1rem;
    margin-bottom: 28px;
  }
  .practice_thought_venn_diagram_wrapper {
    height: 328px;
    margin-bottom: 48px;
  }
  .practice_thought_venn_diagram_container {
    border-radius: 40px;
    height: 180px;
    padding-left: 88px;
    width: 100%;
  }
  .practice_thought_venn_diagram_container:first-of-type {
    background: linear-gradient(to top, rgb(0, 160, 226, .5), #00A0E2 80% 100%);
    padding-left: 88px;
  }
  .practice_thought_venn_diagram_container:last-of-type {
    background: linear-gradient(to bottom, rgb(0, 102, 178, .5), #0066B2 76% 100%);
    bottom: 0;
    grid-template-columns: auto 1fr;
    justify-items: flex-start;
    top: auto;
  }
  .practice_thought_venn_diagram_image {
    height: 60%;
    margin-bottom: 0;
    margin-top: 24px;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_image {
    grid-column: 1 / 2;
    margin-top: 48px;
  }
  .practice_thought_venn_diagram_text {
    margin-bottom: 12px;
    margin-top: 16px;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_text {
    margin-top: 40px;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_text,
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_list {
    grid-column: 2 / 3;
  }
  .practice_thought_section_container {
    column-gap: 24px;
    grid-template-columns: 1fr 300px;
    padding-top: 40px;
  }
  .practice_thought_section_container:not(:last-of-type) {
    padding-bottom: 40px;
  }
  .practice_achievements_contents {
    padding-left: 0;
  }
  .practice_achievements_contents_graph {
    padding-bottom: 10px;
    padding-top: 10px;
    width: 70%;
  }
  .practice_achievements_contents_graph span {
    height: 42px;
  }
  .practice_achievements_contents_number {
    font-size: 2rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .practice_thought_wrapper {
    padding: 40px 20px 32px;
  }
  .practice_thought_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .practice_thought_venn_diagram_wrapper {
    margin-bottom: 32px;
  }
  .practice_thought_venn_diagram_container:first-of-type,
  .practice_thought_venn_diagram_container:last-of-type {
    column-gap: 18px;
    padding-left: 28px;
  }
  .practice_thought_venn_diagram_image {
    grid-row: 1 / 2;
    height: 69px;
    margin-top: 32px;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_image {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin-top: 48px;
  }
  .practice_thought_venn_diagram_text {
    font-size: .9375rem;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-bottom: 0;
    margin-top: 4px;
    text-align: center;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_text {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-top: 4px;
    width: 100%;
  }
  .practice_thought_venn_diagram_list {
    font-size: .8125rem;
    grid-row: 1 / 3;
    margin-top: 36px;
  }
  .practice_thought_venn_diagram_container:last-of-type .practice_thought_venn_diagram_list {
    grid-row: 1 / 3;
    margin-top: 52px;
  }
  .practice_thought_venn_diagram_list li::before {
    margin-top: 5px;
    width: 6px;
  }
  .practice_thought_section_container {
    grid-template-columns: 1fr;
    padding-top: 32px;
  }
  .practice_thought_section_container:not(:last-of-type) {
    padding-bottom: 32px;
  }
  .practice_thought_section_text {
    font-size: .875rem;
    margin-bottom: 24px;
  }
  .practice_thought_section_image {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }
  .practice_thought_section_image img {
    margin-right: auto;
  }
  .practice_achievements_contents {
    margin-left: auto;
    margin-right: auto;
    max-width: 420px;
  }
  .practice_achievements_contents_year {
    font-size: .8125rem;
  }
  .practice_achievements_contents_graph span {
    height: 38px;
  }
  .practice_achievements_contents_number {
    font-size: 1.625rem;
  }
}



/* 実習までのフロー */
.practice_flow_wrapper {
  margin-bottom: 120px;
  padding-left: 20px;
  padding-right: 20px;
}
.practice_flow_container {
  align-items: center;
  background-color: #E0F5FF;
  display: flex;
  justify-content: space-between;
  padding: 64px;
  position: relative;
}
.practice_flow_container:not(:last-of-type)::after {
  background-color: #E0F5FF;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  content: "";
  display: block;
  height: 23px;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
  top: 100%;
  width: 70px;
  z-index: 2;
}
.practice_flow_container:nth-of-type(1),
.practice_flow_container:nth-of-type(1)::after {
  background-color: #F0F8FC;
}
.practice_flow_container:nth-of-type(2),
.practice_flow_container:nth-of-type(2)::after {
  background-color: #E6F7FF;
}
.practice_flow_title {
  align-items: center;
  column-gap: 20px;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  flex: 1;
}
.practice_flow_title span {
  color: #0066B2;
  font-size: 1.75rem;
}
.practice_flow_text {
  line-height: 2;
  max-width: 560px;
}
.practice_flow_contents_container {
  column-gap: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 1fr;
  margin-top: 72px;
  padding-left: 64px;
}
.practice_flow_contents_title {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-bottom: 28px;
}
.practice_flow_contents {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  max-width: 480px;
}
.practice_flow_contents_text {
  line-height: 2;
  margin-bottom: 24px;
}
.practice_flow_contents_link {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  width: 342px;
}
.practice_flow_date_container {
  background-color: #F5F5F5;
  border-radius: 4px;
  grid-column: 2 / 3;
  grid-row: 1 / 4;
  margin-left: auto;
  max-width: 548px;
  padding: 32px 40px 40px 66px;
  width: 100%;
}
.practice_flow_date:not(:last-of-type) {
  margin-bottom: 20px;
}
.practice_flow_date_title {
  align-items: flex-start;
  color: #0066B2;
  column-gap: 12px;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 4px;
}
.practice_flow_date_title::before {
  aspect-ratio: 1 / 1;
  background-color: #0066B2;
  content: "";
  display: block;
  margin-top: 12px;
  width: 10px;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .practice_flow_container {
    padding: 48px;
  }
  .practice_flow_contents_container {
    padding-left: 48px;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .practice_flow_container {
    align-items: flex-start;
    flex-direction: column;
    padding: 32px;
    row-gap: 16px;
  }
  .practice_flow_title {
    column-gap: 12px;
    font-size: 1.25rem;
  }
  .practice_flow_title span {
    font-size: 1.5rem;
  }
  .practice_flow_text {
    max-width: 100%;
  }
  .practice_flow_contents_container {
    padding-left: 0;
  }
  .practice_flow_date_container {
    padding: 28px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .practice_flow_wrapper {
    margin-bottom: 64px;
  }
  .practice_flow_container {
    padding: 24px;
  }
  .practice_flow_title {
    font-size: 1rem;
  }
  .practice_flow_title span {
    font-size: 1.125rem;
  }
  .practice_flow_text {
    font-size: .875rem;
  }
  .practice_flow_contents_container {
    font-size: .875rem;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    margin-top: 40px;
  }
  .practice_flow_date:not(:last-of-type) {
    margin-bottom: 16px;
  }
  .practice_flow_date_title {
    font-size: .9375rem;
  }
  .practice_flow_date_title::before {
    margin-top: 11px;
    width: 8px;
  }
  .practice_flow_contents_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .practice_flow_date_container {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin-bottom: 24px;
    max-width: 100%;
    padding: 16px 0 16px 24px;
  }
  .practice_flow_contents_link {
    grid-row: 4 / 5;
    width: 292px;
  }
  .practice_flow_contents_link .link_arrow {
    column-gap: 4px;
  }
}



/* 実習に関するお問い合わせ */
.practice_contact_wrapper {
  background: url("images/practice/practice_contact_bg.jpg") center / cover no-repeat;
  padding: 100px 20px 120px;
}
.practice_contact_container {
  align-items: center;
  column-gap: 40px;
  display: flex;
  justify-content: space-between;
}
.practice_contact_contents {
  background-color: #fff;
  border-radius: 4px;
  flex: 1;
  padding: 40px 20px 56px;
  text-align: center;
}
.practice_contact_contents_title {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 12px;
}
.practice_contact_contents_label {
  background-color: #005AAB;
  color: #fff;
  font-size: 1.125rem;
  padding: 8px;
  margin-bottom: 4px;
  margin-left: auto;
  margin-right: auto;
  max-width: 340px;
}
.practice_contact_contents_label.bg_cyan {
  background-color: #00A0E2;
}
.practice_contact_contents_tel {
  align-items: center;
  column-gap: 10px;
  display: flex;
  font-size: 2.625rem;
  font-weight: 700;
  justify-content: center;
}
.practice_contact_contents_tel::before {
  aspect-ratio: 28 / 37;
  background: url("images/common/icon_tel.png") center / cover no-repeat;
  content: "";
  display: block;
  width: 28px;
}
.practice_contact_contents_fax {
  font-size: 1.25rem;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .practice_contact_container {
    flex-direction: column;
    row-gap: 32px;
  }
  .practice_contact_contents {
    width: 70%;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .practice_contact_wrapper {
    padding: 48px 20px 64px;
  }
  .practice_contact_wrapper .common_title {
    font-size: 1.25rem;
  }
  .practice_contact_container {
    row-gap: 24px;
  }
  .practice_contact_contents {
    padding: 16px 0 22px;
    width: 100%;
  }
  .practice_contact_contents_title {
    font-size: .875rem;
    margin-bottom: 0;
  }
  .practice_contact_contents_label {
    font-size: .9375rem;
    margin-bottom: 8px;
    max-width: 240px;
  }
  .practice_contact_contents_tel {
    font-size: 1.875rem;
  }
  .practice_contact_contents_fax {
    font-size: 1rem;
  }
}



/*-----------------------------------------------
よくある質問ページ
-----------------------------------------------*/
.faq_wrapper:not(:last-of-type) {
  margin-bottom: 72px;
}
.faq_title {
  font-size: 1.75rem;
  margin-bottom: 32px;
}
.faq_contents {
  background-color: #fff;
  border-radius: 4px;
}
.faq_contents:not(:last-of-type) {
  margin-bottom: 16px;
}
.faq_contents_title {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  font-size: 1.25rem;
  justify-content: space-between;
  padding: 28px 60px 28px 104px;
  position: relative;
}
.faq_contents_title.open {
  color: #0066B2;
}
.faq_contents_title::before {
  content: "Q.";
  color: #0066B2;
  font-size: 1.625rem;
  left: 60px;
  position: absolute;
  top: 20px;
}
.faq_contents_title > span:first-of-type {
  flex: 1;
}
.faq_contents_open_btn {
  aspect-ratio: 1 / 1;
  background-color: #0066B2;
  border-radius: 50%;
  content: "";
  display: block;
  margin-top: 2px;
  position: relative;
  width: 32px;
}
.faq_contents_open_btn::before,
.faq_contents_open_btn::after {
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 12px;
}
.faq_contents_open_btn::after {
  transform: rotate(90deg);
}
.faq_contents_title.open span::after {
  transform: rotate(0);
}
.faq_contents_answer_box {
  border-top: 1px solid #F0F8FC;
  display: none;
  margin-left: 60px;
  margin-right: 60px;
  padding-bottom: 28px;
  padding-left: 48px;
  padding-top: 28px;
  position: relative;
}
.faq_contents_answer_box::before {
  content: "A.";
  color: #0066B2;
  font-size: 1.625rem;
  font-weight: 700;
  left: 0;
  margin-top: -10px;
  position: absolute;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .faq_wrapper:not(:last-of-type) {
    margin-bottom: 48px;
  }
  .faq_title {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }
  .faq_contents_open_btn {
    width: 28px;
  }
  .faq_contents:not(:last-of-type) {
    margin-bottom: 12px;
  }
  .faq_contents_title {
    font-size: 1.125rem;
    padding: 20px 32px 20px 64px
  }
  .faq_contents_title::before {
    font-size: 1.25rem;
    left: 32px;
    top: 18px;
  }
  .faq_contents_answer_box {
    margin-left: 32px;
    margin-right: 32px;
    padding-left: 32px;
  }
  .faq_contents_answer_box::before {
    font-size: 1.25rem;
    margin-top: -3px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .faq_wrapper:not(:last-of-type) {
    margin-bottom: 32px;
  }
  .faq_title {
    font-size: 1.125rem;
    margin-bottom: 16px;
  }
  .faq_contents:not(:last-of-type) {
    margin-bottom: 8px;
  }
  .faq_contents_title {
    font-size: .875rem;
    padding: 12px 16px 12px 40px;
  }
  .faq_contents_title::before {
    font-size: .9375rem;
    left: 16px;
    top: 10px;
  }
  .faq_contents_open_btn {
    margin-top: 3px;
    width: 20px;
  }
  .faq_contents_open_btn::before,
  .faq_contents_open_btn::after {
    height: 1px;
    width: 8px;
  }
  .faq_contents_answer_box {
    font-size: .875rem;
    margin-left: 16px;
    margin-right: 16px;
    padding-bottom: 12px;
    padding-left: 24px;
    padding-top: 12px;
  }
  .faq_contents_answer_box::before {
    font-size: .9375rem;
    margin-top: -1px;
  }
}



/*-----------------------------------------------
お問い合わせページ
-----------------------------------------------*/
.contact_visual_contents {
  line-height: 2;
  margin-bottom: 64px;
}
.contact_form_contents {
  margin-bottom: 24px;
}
.contact_form_label {
  align-items: center;
  column-gap: 20px;
  display: flex;
  font-size: .9375rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.contact_form_contents:has(.wpcf7-validates-as-required) .contact_form_label::after,
.contact_form_contents:has(input[type=radio]) .contact_form_label::after {
  align-items: center;
  border: 1px solid #E23900;
  color: #E23900;
  content: "必須";
  display: flex;
  font-size: .8125rem;
  height: 22px;
  justify-content: center;
  width: 50px;
}
.contact_form_input {
  background-color: #fff;
  border: 1px solid #D9D9D9;
  font-size: 1rem;
  padding: 15px 20px;
  width: 100%;
}
.contact_form_radio {
  display: flex;
  flex-direction: column;
}
.contact_form_radio .wpcf7-list-item,
.contact_form_checkbox .wpcf7-list-item {
  margin-left: 0;
}
.contact_form_radio .wpcf7-list-item label {
  align-items: center;
  column-gap: 10px;
  display: flex;
}
.contact_form_radio .wpcf7-list-item input,
.contact_form_checkbox input {
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border: 1px solid #D9D9D9;
  position: relative;
  width: 20px;
}
.contact_form_radio .wpcf7-list-item input:checked::before,
.contact_form_checkbox input:checked::before {
  border-bottom: 3px solid #0066B2;
  border-left: 3px solid #0066B2;
  content: "";
  display: block;
  height: 7px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: 2px;
  transform: rotate(-45deg);
  width: 14px;
}
.contact_form_textarea {
  background-color: #fff;
  border: 1px solid #D9D9D9;
  font-size: 1rem;
  line-height: 1.8;
  padding: 15px 20px;
  resize: vertical;
  width: 100%;
}
.contact_form_agree {
  margin-top: 40px;
  white-space: nowrap;
}
.contact_form_agree label {
  align-items: center;
  column-gap: 10px;
  display: flex;
}
.contact_form_message_box {
  column-gap: 32px;
  display: flex;
}
.contact_form_contents .wpcf7-submit {
  align-items: center;
  background-color: #00A0E2;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 72px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 340px;
  width: 100%;
}
.contact_form_link {
  border-bottom: 1px solid #00A0E2;
  color: #00A0E2;
}
.contact_form_contents:has(.wpcf7-not-valid-tip) .contact_form_input,
.contact_form_contents:has(.wpcf7-not-valid-tip) .wpcf7-list-item input,
.contact_form_contents:has(.wpcf7-not-valid-tip) .contact_form_textarea {
  background-color: #FFF4F0;
  border-color: #E23900;
}
.contact_form_contents .wpcf7-not-valid-tip {
  margin-top: 10px;
  padding-left: 10px;
}
.wpcf7 form.sent .wpcf7-response-output {
  border: none;
  margin-bottom: 40px;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .contact_visual_contents {
    margin-bottom: 48px;
  }
  .contact_form_radio .wpcf7-list-item input,
  .contact_form_checkbox input {
    height: 20px;
  }
  .contact_form_agree {
    margin-top: 32px;
  }
  .contact_form_message_box {
    flex-direction: column;
    row-gap: 16px;
  }
  .wpcf7 form.sent .wpcf7-response-output {
    margin-top: 0;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .contact_visual_contents {
    font-size: .875rem;
    margin-bottom: 32px;
  }
  .contact_form_contents {
    margin-bottom: 20px;
  }
  .contact_form_label {
    column-gap: 12px;
    font-size: .875rem;
    margin-bottom: 8px;
  }
  .contact_form_contents:has(.wpcf7-validates-as-required) .contact_form_label::after,
  .contact_form_contents:has(input[type=radio]) .contact_form_label::after {
    font-size: .75rem;
    height: 18px;
    width: 38px;
  }
  .contact_form_input,
  .contact_form_textarea {
    font-size: .875rem;
    padding: 12px;
  }
  .contact_form_radio .wpcf7-list-item,
  .contact_form_checkbox .wpcf7-list-item {
    font-size: .875rem;
  }
  .contact_form_radio {
    row-gap: 7px; 
  }
  .contact_form_agree {
    margin-bottom: 24px;
    margin-top: 24px;
  }
  .contact_form_contents .wpcf7-submit {
    font-size: 1rem;
    height: 60px;
    max-width: 292px;
  }
}



/*-----------------------------------------------
お問い合わせ確認ページ
-----------------------------------------------*/
.contact_confirmation_contents {
  align-items: flex-start;
  display: flex;
  padding: 20px;
}
.contact_confirmation_contents:first-of-type {
  border-top: 1px solid #D9D9D9;
}
.contact_confirmation_contents:not(:last-of-type) {
  border-bottom: 1px solid #D9D9D9;
}
.contact_confirmation_label {
  font-weight: 700;
  width: 240px;
}
.contact_confirmation_textarea {
  white-space: pre-wrap;
}
.contact_confirmation_btn_box {
  align-items: center;
  column-gap: 60px;
  display: flex;
  justify-content: center;
  margin-top: 100px;
}
.contact_confirmation_btn_box input[type=button],
.contact_confirmation_btn_box input[type=submit] {
  align-items: center;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 72px;
  justify-content: center;
  max-width: 340px;
  width: 100%;
}
.contact_confirmation_btn_box .wpcf7-previous {
  background-color: #fff;
  border: 1px solid #B1B1B1;
  color: #B1B1B1;
}
.contact_confirmation_btn_box .wpcf7-submit {
  background-color: #00A0E2;
  color: #fff;
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .contact_confirmation_contents {
    flex-direction: column;
    font-size: .875rem;
    padding: 16px 0;
    row-gap: 8px;
  }
  .contact_confirmation_label {
    width: 100%;
  }
  .contact_confirmation_btn_box {
    flex-direction: column;
    margin-top: 48px;
    row-gap: 16px;
  }
  .contact_confirmation_btn_box input[type=button],
  .contact_confirmation_btn_box input[type=submit] {
    font-size: 1rem;
    height: 60px;
    width: 292px;
  }
}



/*-----------------------------------------------
お問い合わせ完了ページ
-----------------------------------------------*/
.contact_thanks_title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 32px;
}
.contact_thanks_text {
  line-height: 2;
  margin-bottom: 80px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .contact_thanks_title {
    font-size: 1.25rem;
    margin-bottom: 24px;
  }
  .contact_thanks_text {
    font-size: .875rem;
    margin-bottom: 40px;
  }
}



/*-----------------------------------------------
404ページ
-----------------------------------------------*/
.page_visual_area.height_not_found {
  min-height: 298px;
}
.common_title.not_found {
  font-size: 5rem;
}
.common_title.not_found span {
  font-size: 1.25rem;
}
.not_found_title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 32px;
}
.not_found_text {
  line-height: 2;
  margin-bottom: 80px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .page_visual_area.height_not_found {
    min-height: 250px;
  }
  .common_title.not_found {
    font-size: 3.5rem;
  }
  .common_title.not_found span {
    font-size: 1.125rem;
  }
  .not_found_title {
    font-size: 1.25rem;
    margin-bottom: 28px;
  }
  .not_found_text {
    margin-bottom: 48px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .page_visual_area.height_not_found {
    min-height: 200px;
  }
  .common_title.not_found {
    font-size: 2.25rem;
  }
  .common_title.not_found span {
    font-size: 1rem;
  }
  .not_found_title {
    font-size: 1.125rem;
    margin-bottom: 24px;
  }
  .not_found_text {
    font-size: .875rem;
    margin-bottom: 32px;
  }
}



/*-----------------------------------------------
製造ページ
-----------------------------------------------*/
.manufacturing_heading_text {
  font-size: 1.125rem;
  line-height: 2;
  margin-bottom: 32px;
}
.manufacturing_heading_image {
  background-color: #fff;
  margin-bottom: 72px;
  padding: 28px 20px 68px;
}
.manufacturing_heading_image img {
  margin-left: auto;
  margin-right: auto;
}
.manufacturing_heading_contents {
  border-bottom: 1px solid #D9D9D9;
  column-gap: 40px;
  display: grid;
  grid-template-columns: 540px 1fr;
  grid-template-rows: auto 1fr;
  margin-bottom: 80px;
  padding-bottom: 72px;
}
.manufacturing_heading_contents_title {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.manufacturing_heading_contents_text {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  max-width: 540px;
}
.manufacturing_heading_contents_image_box {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  margin-left: auto;
}
.manufacturing_heading_contents_image {
  background-color: #fff;
  border-radius: 4px;
  max-width: 440px;
  padding: 40px 20px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .manufacturing_heading_text {
    font-size: 1rem;
  }
  .manufacturing_heading_image {
    margin-bottom: 56px;
  }
  .manufacturing_heading_contents {
    grid-template-columns: 430px 1fr;
    margin-bottom: 60px;
    padding-bottom: 56px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .manufacturing_heading_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .manufacturing_heading_image {
    margin-bottom: 40px;
    padding: 24px 14px;
  }
  .manufacturing_heading_contents {
    grid-template-columns: 1fr;
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
  .manufacturing_heading_contents_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .manufacturing_heading_contents_image_box {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }
  .manufacturing_heading_contents_image {
    padding: 24px 16px;
  }
}



/* 業務内容 */
.job_details_contaner {
  column-gap: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 48px;
}
.job_details_contents_image {
  border-radius: 4px;
}
.job_details_contents_title {
  font-size: 1.375rem;
  margin-bottom: 12px;
  margin-top: 24px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .job_details_contaner {
    column-gap: 32px;
  }
  .job_details_contents_title {
    font-size: 1.25rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .job_details_contaner {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
  .job_details_contents_image {
    width: 100%;
  }
  .job_details_contents_title {
    font-size: 1.125rem;
    margin-bottom: 8px;
    margin-top: 16px;
  }
  .job_details_contents_text {
    font-size: .875rem;
  }
}



/*-----------------------------------------------
製造ページ
-----------------------------------------------*/
.bpo_heading_text {
  font-size: 1.125rem;
  line-height: 2;
  margin-bottom: 80px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .bpo_heading_text {
    font-size: 1rem;
    margin-bottom: 60px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .bpo_heading_text {
    font-size: .875rem;
    margin-bottom: 40px;
  }
}



/*-----------------------------------------------
数字で見るページ
-----------------------------------------------*/
/* ページ内共通パーツ */
.card_label_container {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 120px;
}
.card_label_contents {
  background-color: #fff;
  border-radius: 10px;
  padding: 40px;
  position: relative;
}
.card_label_contents_title {
  background-color: #0066B2;
  border-radius: 4px;
  color: #fff;
  font-size: 1.25rem;
  left: 10px;
  padding: 2px 20px;
  position: absolute;
  top: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .card_label_container {
    gap: 32px;
    grid-template-columns: 1fr;
    margin-bottom: 80px;
  }
  .card_label_contents {
    padding: 24px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .card_label_container {
    gap: 20px;
    margin-bottom: 64px;
  }
  .card_label_contents_title {
    font-size: 1rem;
    line-height: 1;
    padding: 8px 18px;
  }
}



/* 年齢 */
.data_age_container {
  align-items: center;
  column-gap: 20px;
  display: flex;
  justify-content: center;
  margin-top: 30px;
  position: relative;
}
.data_age_graph {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  position: relative;
  width: 300px;
}
.data_average_age_box {
  align-items: center;
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border-radius: 50%;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  row-gap: 8px;
  top: 0;
  width: clamp(110px, 42.667%, 128px);
}
.data_average_age_title {
  line-height: 1;
}
.data_average_age_text {
  font-size: 1.125rem;
}
.data_average_age_text span {
  color: #0066B2;
  font-size: 3.5rem;
  line-height: 1;
}
.data_age_graph_ratio_text {
  align-items: center;
  column-gap: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
  position: absolute;
  white-space: nowrap;
}
.data_age_graph_ratio_text:nth-of-type(1) {
  background: url("images/environment/data/data_age_graph_ratio_border1.png") left bottom 13px / 42px no-repeat;
  padding-left: 51px;
  right: calc(50% - 250px);
  top: 30px;
}
.data_age_graph_ratio_text:nth-of-type(2) {
  background: url("images/environment/data/data_age_graph_ratio_border2.png") left bottom 31px / 54px no-repeat;
  bottom: 0;
  padding-left: 69px;
  right: calc(50% - 250px);
}
.data_age_graph_ratio_text:nth-of-type(3) {
  background: url("images/environment/data/data_age_graph_ratio_border3.png") right bottom 15px / 53px no-repeat;
  bottom: 0;
  left: calc(50% - 215px);
  padding-right: 53px;
}
.data_age_graph_ratio_text:nth-of-type(4) {
  background: url("images/environment/data/data_age_graph_ratio_border4.png") right top / 61px no-repeat;
  left: calc(50% - 260px);
  padding-right: 63px;
  padding-top: 4px;
  top: 80px;
}
.data_age_graph_ratio_text:nth-of-type(5) {
  background: url("images/environment/data/data_age_graph_ratio_border5.png") right bottom 12px / 69px no-repeat;
  left: calc(50% - 165px);
  padding-right: 77px;
  top: -35px;
}
.data_age_graph_ratio_text > span:first-of-type {
  align-items: center;
  column-gap: 6px;
  display: flex;
}
.data_age_graph_ratio_number {
  color: #0066B2;
  font-size: 3rem;
  font-weight: 700;
}
.data_age_graph_ratio_text > span:last-of-type > span:last-of-type {
  font-size: 1.25rem;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .data_age_container {
    margin-bottom: 24px;
    margin-top: 48px;
  }
.data_age_graph_ratio_text:nth-of-type(1) {
  right: calc(50% - 230px);
  top: 0;
}
.data_age_graph_ratio_text:nth-of-type(2) {
  bottom: -15px;
  right: calc(50% - 230px);
}
.data_age_graph_ratio_text:nth-of-type(4) {
  left: calc(50% - 240px);
  top: 60px;
}
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .data_age_container {
    column-gap: 56px;
    justify-content: center;
    margin-top: 30px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .data_age_container {
    flex-direction: column;
    margin-bottom: 32px;
    margin-top: 80px;
    row-gap: 20px;
  }
  .data_age_graph {
    max-width: 220px;
    width: 220px;
  }
  .data_average_age_box {
    width: 94px;
  }
  .data_average_age_title {
    font-size: .875rem;
  }
  .data_average_age_text {
    font-size: .9375rem;
  }
  .data_average_age_text span {
    font-size: 2.5rem;
  }
  .data_age_graph_ratio_text {
    column-gap: 12px;
    font-size: .875rem;
    row-gap: 4px;
  }
  .data_age_graph_ratio_text:nth-of-type(1) {
    background: url("images/environment/data/data_age_graph_ratio_border1_sp.png") left bottom 0 / 22px no-repeat;
    padding-bottom: 44px;
    padding-left: 0;
    right: calc(50% - 140px);
    top: -40px;
  }
  .data_age_graph_ratio_text:nth-of-type(2) {
    background: url("images/environment/data/data_age_graph_ratio_border2_sp.png") left top / 36px no-repeat;
    bottom: -30px;
    padding-left: 43px;
    padding-top: 2px;
    right: calc(50% - 140px);
  }
  .data_age_graph_ratio_text:nth-of-type(3) {
    background: url("images/environment/data/data_age_graph_ratio_border3_sp.png") right top / 34px no-repeat;
    bottom: -25px;
    left: calc(50% - 140px);
    padding-right: 3px;
    padding-top: 31px;
  }
  .data_age_graph_ratio_text:nth-of-type(4) {
    background: url("images/environment/data/data_age_graph_ratio_border4_sp.png") right 5px bottom / 24px no-repeat;
    left: calc(50% - 135px);
    padding-bottom: 36px;
    padding-right: 0;
    padding-top: 0;
    top: -20px;
  }
  .data_age_graph_ratio_text:nth-of-type(5) {
    background: url("images/environment/data/data_age_graph_ratio_border5_sp.png") right bottom 3px / 15px no-repeat;
    left: calc(50% - 70px);
    padding-bottom: 26px;
    padding-right: 22px;
    top: -65px;
  }
  .data_age_graph_ratio_number {
    font-size: 1.875rem;
  }
  .data_age_graph_ratio_text > span:last-of-type > span:last-of-type {
    font-size: 1rem;
  }
}



/* 男女比 */
.data_gender_ratio_container {
  align-items: flex-end;
  column-gap: 60px;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.data_gender_ratio_contents {
  font-size: 1.125rem;
  text-align: center;
}
.data_gender_ratio_contents_text {
  margin-bottom: 2px;
  margin-top: 20px;

}
.data_gender_ratio_number {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
.data_gender_ratio_number span {
  color: #0066B2;
  font-size: 5rem;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .data_gender_ratio_contents_image {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .data_gender_ratio_container {
    column-gap: 32px;
    margin-top: 36px;
  }
  .data_gender_ratio_contents_text {
    font-size: 1rem;
  }
  .data_gender_ratio_number {
    font-size: 1.125rem;
  }
  .data_gender_ratio_number span {
    font-size: 3.5rem;
  }
}



/* 従業員推移 */
.data_member_transition_container {
  align-items: flex-end;
  column-gap: 12px;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.data_member_transition_contents {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.data_member_transition_contents_value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}
.data_member_transition_contents_value span {
  color: #0066B2;
  font-size: 2rem;
}
.data_member_transition_contents_graph {
  background-color: #d8effc;
  width: 100%;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(2) .data_member_transition_contents_graph {
  background-color: #9acef0;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(3) .data_member_transition_contents_graph {
  background-color: #75b7e5;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(4) .data_member_transition_contents_graph {
  background-color: #26aee5;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(5) .data_member_transition_contents_graph {
  background-color: #0087d1;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(6) .data_member_transition_contents_graph {
  background-color: #0062b2;
}
.data_member_transition_container .data_member_transition_contents:nth-of-type(7) .data_member_transition_contents_graph {
  background-color: #004c8a;
}
.data_member_transition_contents_year {
  display: flex;
  font-size: .875rem;
  font-weight: 700;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .data_member_transition_contents_value {
    font-size: 1rem;
  }
  .data_member_transition_contents_value span {
    font-size: 1.5rem;
  }
  .data_member_transition_contents_year {
    font-size: .8125rem;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .data_member_transition_container {
    column-gap: 24px;
  }
  .data_member_transition_contents_value {
  font-size: 1.25rem;
  }
  .data_member_transition_contents_value span {
    font-size: 2rem;
  }
  .data_member_transition_contents_year {
  font-size: .875rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .data_member_transition_container {
    column-gap: 8px;
  }
  .data_member_transition_contents_value {
    font-size: .75rem;
  }
  .data_member_transition_contents_value span {
    font-size: 1.125rem;
  }
  .data_member_transition_contents_year {
    font-size: .75rem;
  }
}



/* 障がいの割合 */
.card_label_contents.data_disability {
  align-items: flex-end;
  display: flex;
  justify-content: center;
}
.data_disability_ratio_contents {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  position: relative;
  width: 280px;
}
.data_disability_ratio_contents_text {
  text-align: center;
  position: absolute;
  white-space: nowrap;
}
.data_disability_ratio_contents_text:nth-of-type(1) {
  background: url("images/environment/data/data_disability_ratio_border1.png") bottom left no-repeat;
  bottom: calc(50% + 23px);
  left: calc(50% + 118px);
  padding-bottom: 31px;
  padding-left: 53px;
}
.data_disability_ratio_contents_text:nth-of-type(2) {
  background: url("images/environment/data/data_disability_ratio_border2.png") center right no-repeat;
  right: calc(50% + 92px);
  top: calc(50% + 61px);
  padding-right: 53px;
}
.data_disability_ratio_contents_text:nth-of-type(3) {
  background: url("images/environment/data/data_disability_ratio_border3.png") center right no-repeat;
  right: calc(50% + 120px);
  top: calc(50% - 70px);
  padding-right: 53px;
}
.data_disability_ratio_contents_text:nth-of-type(4) {
  background: url("images/environment/data/data_disability_ratio_border4.png") center right no-repeat;
  right: calc(50% + 36px);
  top: calc(50% - 175px);
  padding-right: 113px;
}
.data_disability_ratio_contents_text span {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}
.data_disability_ratio_contents_text .data_disability_ratio_number {
  color: #0066B2;
  font-size: 3rem;
}

/* ラップトップ */
@media screen and (max-width: 1200px) {
  .data_disability_ratio_contents_text:nth-of-type(1) {
    left: calc(50% + 100px);
  }
  .data_disability_ratio_contents_text:nth-of-type(3) {
    right: calc(50% + 100px);
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .card_label_contents.data_disability {
    min-height: 360px;
  }
  .data_disability_ratio_contents {
    width: 250px;
  }
  .data_disability_ratio_contents_text:nth-of-type(1) {
    bottom: calc(50% + 50px);
  }
  .data_disability_ratio_contents_text:nth-of-type(2) {
    top: calc(50% + 40px);
  }
  .data_disability_ratio_contents_text:nth-of-type(3) {
    right: calc(50% + 110px);
    top: calc(50% - 60px);
  }
  .data_disability_ratio_contents_text:nth-of-type(4) {
    right: calc(50% + 50px);
    top: calc(50% - 150px);
    padding-right: 90px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .card_label_contents.data_disability {
    min-height: 370px;
    padding-bottom: 60px;
  }
  .data_disability_ratio_contents {
    width: 200px;
  }
  .data_disability_ratio_contents_text {
    font-size: .875rem;
  }
  .data_disability_ratio_contents_text .data_disability_ratio_number {
    font-size: 1.875rem;
  }
  .data_disability_ratio_contents_text span {
    font-size: 1rem;
  }
  .data_disability_ratio_contents_text:nth-of-type(1) {
    background: url("images/environment/data/data_disability_ratio_border1_sp.png") bottom left / 41px no-repeat;
    left: calc(50% + 75px);
    padding-bottom: 27px;
    padding-left: 19px;
  }
  .data_disability_ratio_contents_text:nth-of-type(2) {
    background: url("images/environment/data/data_disability_ratio_border2_sp.png") top right / 43px no-repeat;
    padding-right: 51px;
    right: calc(50% + 24px);
    top: calc(50% + 85px);
  }
  .data_disability_ratio_contents_text:nth-of-type(3) {
    background: url("images/environment/data/data_disability_ratio_border3_sp.png") bottom left 26px / 32px no-repeat;
    padding-bottom: 31px;
    padding-right: 0;
    right: calc(50% + 75px);
    top: calc(50% - 115px);
  }
  .data_disability_ratio_contents_text:nth-of-type(4) {
    background: url("images/environment/data/data_disability_ratio_border4_sp.png") bottom left / 25px no-repeat;
    left: calc(50% + -30px);
    padding-right: 0;
    padding-left: 30px;
    padding-bottom: 14px;
    top: calc(50% - 160px);
  }
}



/* 働き方 */
.card_label_contents.data_card_working {
  align-items: center;
  display: flex;
}
.data_card_working_container {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  margin-top: 24px;
  max-width: 430px;
  width: 100%;
}
.data_card_working_contents_text {
  font-size: 1.5rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  line-height: 1;
  margin-bottom: 28px;
}
.data_card_working_contents_text span {
  color: #0066B2;
  font-size: 5rem;
  margin-right: 6px;
}
.card_label_contents.data_card_working:first-of-type .data_card_working_contents_text span:last-of-type {
  margin-left: 12px;
}
.data_card_working_contents_notes {
  font-size: .875rem;
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  line-height: 2;
}
.data_card_working_contents_image {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  width: 120px;
}
.data_card_working_contents_image img {
  margin-left: auto;
  margin-right: auto;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .data_card_working_container {
    margin-top: 40px;
    max-width: 500px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .data_card_working_contents_text {
    font-size: 1.125rem;
    margin-bottom: 6px;
  }
  .data_card_working_contents_text span {
    font-size: 4rem;
  }
  .data_card_working_contents_notes {
    grid-column: 1 / 3;
  }
  .data_card_working_contents_image {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 80px;
  }
  .card_label_contents.data_card_working:nth-of-type(1) .data_card_working_contents_image img {
    width: 75px;
  }
  .card_label_contents.data_card_working:nth-of-type(2) .data_card_working_contents_image img {
    width: 42px;
  }
  .card_label_contents.data_card_working:nth-of-type(3) .data_card_working_contents_image img {
    width: 80px;
  }
  .card_label_contents.data_card_working:nth-of-type(4) .data_card_working_contents_image img {
    width: 74px;
  }
}



/* 満足度調査 */
.data_satisfaction_visual_text {
  font-size: 1.125rem;
  list-style: 2;
  margin-bottom: 32px;
}
.data_satisfaction_ratio_container {
  align-items: center;
  background-color: #fff;
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-rows: auto auto 1fr;
  padding: 40px 60px 40px 64px;
}
.data_satisfaction_ratio_container:not(:last-of-type) {
  margin-bottom: 24px;
}
.data_satisfaction_ratio_title {
  font-size: 1.25rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  line-height: 1.5;
}
.data_satisfaction_ratio_title span {
  font-size: .875rem;
}
.data_satisfaction_ratio_number {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.data_satisfaction_ratio_notes {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
.data_satisfaction_ratio_container_graph_container {
  grid-column: 2 / 3;
  grid-row: 1 / 4;
  position: relative;
}
.data_satisfaction_ratio_container_graph_year {
  bottom: calc(100% + 10px);
  font-size: .875rem;
  position: absolute;
  right: 0;
}
.data_satisfaction_ratio_number {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 16px;
  margin-top: 8px;
}
.data_satisfaction_ratio_number span {
  color: #0066B2;
  font-size: 4.5rem;
  margin-right: 6px;
}
.data_satisfaction_ratio_notes {
  font-size: .875rem;
  font-weight: 700;
}
.data_satisfaction_ratio_container_graph {
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  max-width: 805px;
}
.data_satisfaction_ratio_container_graph_number1,
.data_satisfaction_ratio_container_graph_number2,
.data_satisfaction_ratio_container_graph_number3 {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  padding-bottom: 6px;
  padding-top: 6px;
  text-align: center;
}
.data_satisfaction_ratio_container_graph_number1 span,
.data_satisfaction_ratio_container_graph_number2 span,
.data_satisfaction_ratio_container_graph_number3 span span {
  font-size: 2rem;
}
.data_satisfaction_ratio_container_graph_number1 {
  background-color: #0066B2;
}
.data_satisfaction_ratio_container_graph_number2 {
  background-color: #00A0E2;
}
.data_satisfaction_ratio_container_graph_number3 {
  background-color: #F5BCCB;
  position: relative;
}
.data_satisfaction_ratio_container_graph_number3 > span {
  background: url("images/environment/data/data_satisfaction_ratio_border.png") top right no-repeat;
  color: #222222;
  right: 45%;
  padding-right: 21px;
  padding-top: 15px;
  position: absolute;
  top: 90%;
}
.data_satisfaction_ratio_container_graph_items_container {
  column-gap: 10px;
  display: flex;
  max-width: 805px;
  padding-top: 20px;
  position: absolute;
  right: 0;
  width: 100%;
}
.data_satisfaction_ratio_container_graph_item {
  align-items: center;
  column-gap: 10px;
  font-size: .875rem;
  display: flex;
}
.data_satisfaction_ratio_container_graph_item::before {
  aspect-ratio: 1 / 1;
  background-color: #0075C2;
  content: "";
  display: block;
  width: 19px;
}
.data_satisfaction_ratio_container_graph_item:nth-of-type(2)::before {
  background-color: #00A0E2;
}
.data_satisfaction_ratio_container_graph_item:nth-of-type(3)::before {
  background-color: #F5BCCB;
}
.data_satisfaction_ratio_container_graph_item:nth-of-type(4)::before {
  background-color: #F14774;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .data_satisfaction_ratio_container {
    grid-template-columns: 220px 1fr;
    padding: 32px 32px 48px;
  }
  .data_satisfaction_ratio_title {
    font-size: 1.125rem;
  }
  .data_satisfaction_ratio_number span {
    font-size: 3.5rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .data_satisfaction_ratio_container {
    grid-template-columns: auto 1fr;
    padding: 24px 22px;
  }
  .data_satisfaction_ratio_title span {
    font-size: .75rem;
  }
  .data_satisfaction_ratio_number {
    font-size: 1.125rem;
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    line-height: 1;
    margin-bottom: 0;
    margin-top: 0;
    text-align: right;
  }
  .data_satisfaction_ratio_notes {
    grid-row: 2 / 3;
  }
  .data_satisfaction_ratio_container_graph_container {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    height: 40px;
    margin-top: 32px;
    padding-bottom: 120px;
  }
  .data_satisfaction_ratio_container_graph_number1,
  .data_satisfaction_ratio_container_graph_number2,
  .data_satisfaction_ratio_container_graph_number3 {
    font-size: .75rem;
    padding-bottom: 2px;
    padding-top: 2px;
  }
  .data_satisfaction_ratio_container_graph_number1 span,
  .data_satisfaction_ratio_container_graph_number2 span,
  .data_satisfaction_ratio_container_graph_number3 span span {
    font-size: 1.25rem;
  }
  .data_satisfaction_ratio_container_graph_number3 > span {
    background: url("images/environment/data/data_satisfaction_ratio_border_sp.png") top right / 14px no-repeat;
    padding-right: 19px;
    padding-top: 5px;
  }
  .data_satisfaction_ratio_container_graph_year {
    bottom: 40px;
    left: 0;
    right: auto;
  }
  .data_satisfaction_ratio_container_graph_items_container {
    justify-content: space-between;
    padding-top: 58px;
  }
  .data_satisfaction_ratio_container_graph_item {
    column-gap: 4px;
    font-size: .75rem;
  }
  .data_satisfaction_ratio_container_graph_item::before {
    width: 12px;
  }
}



/*-----------------------------------------------
人材育成ページ
-----------------------------------------------*/
/* 研修制度 */
.triangle_system_wrapper {
  background-color: #fff;
  border-radius: 4px;
  padding: 72px 60px;
}
.triangle_system_visual_text {
  font-size: 1.125rem;
  margin-bottom: 36px;
}
.triangle_system_flow_container {
  background: linear-gradient(to right, #3EA5DE, #073C6B);
  display: flex;
  height: 100px;
  margin-bottom: 72px;
  width: calc(100% - 30px);
}
.triangle_system_flow_text {
  align-items: center;
  color: #fff;
  display: flex;
  flex: 1;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  position: relative;
  text-align: center;
}
.triangle_system_flow_text:not(:last-of-type)::before,
.triangle_system_flow_text:not(:last-of-type)::after {
  background-color: #fff;
  content: "";
  display: block;
  height: 50%;
  position: absolute;
  right: 0;
  width: 7px;
}
.triangle_system_flow_text:not(:last-of-type)::before {
  top: 0;
  transform: skewX(32deg);
}
.triangle_system_flow_text:not(:last-of-type)::after {
  bottom: 0;
  transform: skewX(-32deg);
}
.triangle_system_flow_text:last-of-type::after {
  background-color: #073C6B;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  content: "";
  display: block;
  height: 100%;
  left: 100%;
  position: absolute;
  top: 0;
  width: 30px;
}
.triangle_system_contents_container {
  border-top: 1px solid #D9D9D9;
  column-gap: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
  padding: 56px 20px;
}
.triangle_system_contents_container:last-of-type {
  padding-bottom: 0;
}
.triangle_system_contents_title {
  font-size: 1.5rem;
  font-weight: 700;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-bottom: 32px;
}
.triangle_system_contents_title span {
  color: #00A0E2;
  margin-right: 12px;
}
.triangle_system_contents_text {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  line-height: 2;
  max-width: 520px;
}
.triangle_system_contents_image {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}
.triangle_system_contents_image img {
  margin-left: auto;
}



/* 成長をサポートする制度 */
.triangle_system_support_wrapper {
  padding-left: 20px;
  padding-right: 20px;
}
.triangle_system_support_container {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 120px;
}
.triangle_system_support_contents {
  background-color: #F0F8FC;
  border-radius: 4px;
  padding: 40px 60px 64px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .triangle_system_wrapper {
    padding: 40px 32px;
  }
  .triangle_system_flow_container {
    margin-bottom: 56px;
    width: calc(100% - 15px)
  }
  .triangle_system_flow_text:not(:last-of-type)::before,
  .triangle_system_flow_text:not(:last-of-type)::after {
    width: 5px;
  }
  .triangle_system_flow_text:not(:last-of-type)::before {
    transform: skewX(25deg);
  }
  .triangle_system_flow_text:not(:last-of-type)::after {
    transform: skewX(-25deg);
  }
  .triangle_system_flow_text:last-of-type::after {
    width: 15px;
  }
  .triangle_system_visual_text {
    font-size: 1rem;
    margin-bottom: 24px;
  }
  .triangle_system_flow_text {
    font-size: 1.125rem;
  }
  .triangle_system_contents_container {
    grid-template-columns: 1fr 240px;
    padding: 40px 12px;
  }
  .triangle_system_contents_title {
    font-size: 1.25rem;
    margin-bottom: 16px;
  }
  .triangle_system_support_contents {
    padding: 32px 24px;
  }
  .triangle_system_support_container {
    margin-bottom: 88px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .triangle_system_wrapper {
    padding: 40px 24px;
  }
  .triangle_system_visual_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .triangle_system_flow_container {
    background: linear-gradient(to bottom, #3EA5DE, #073C6B);
    flex-direction: column;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: 240px;
  }
  .triangle_system_flow_text {
    padding: 36px 0;
  }
  .triangle_system_flow_text:last-of-type {
    padding-bottom: 24px;
  }
  .triangle_system_flow_text:not(:last-of-type)::before,
  .triangle_system_flow_text:not(:last-of-type)::after {
    bottom: 0;
    height: 5px;
    top: auto;
    width: 50%;
  }
  .triangle_system_flow_text:not(:last-of-type)::before {
    left: 0;
    right: auto;
    transform: skewY(12.5deg);
  }
  .triangle_system_flow_text:not(:last-of-type)::after {
    transform: skewY(-12.5deg);
  }
  .triangle_system_flow_text:last-of-type::after {
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    height: 28px;
    left: auto;
    top: calc(100% - .5px);
    width: 100%;
  }
  .triangle_system_contents_container {
    grid-template-columns: 1fr;
    padding: 32px 0;
  }
  .triangle_system_contents_title {
    font-size: 1rem;
    margin-bottom: 16px;
  }
  .triangle_system_contents_title span {
    font-size: 1.125rem;
  }
  .triangle_system_contents_text {
    font-size: .875rem;
    margin-bottom: 24px;
  }
  .triangle_system_contents_image {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }
  .triangle_system_contents_image {
    margin-left: auto;
    margin-right: auto;
  }

  .triangle_system_support_container {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .triangle_system_support_contents {
    padding: 24px 20px;
  }
  .triangle_system_support_contents .square_title {
    margin-bottom: 8px;
  }
  .triangle_system_support_contents_text {
    font-size: .875rem;
  }
}



/*-----------------------------------------------
社内サポート体制ページ
-----------------------------------------------*/
/* 汎用 */
.card_image_container {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
}
.card_image_contents {
  background-color: #fff;
  border-radius: 4px;;
  padding: 40px;
}
.card_support_image {
  margin-bottom: 24px;
}
.card_support_title {
  margin-bottom: 12px;
}
.card_support_text {
  line-height: 2;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .card_image_contents {
    padding: 24px 20px;
  }
  .card_support_image {
    margin-bottom: 16px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .card_support_image {
    width: 100%;
  }
}



.support_equipment_wrapper {
  margin-bottom: 160px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .support_equipment_wrapper {
    margin-bottom: 80px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .card_image_container {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .card_support_title {
    margin-bottom: 8px;
  }
  .card_support_text {
    font-size: .875rem;
  }
}



/*-----------------------------------------------
各種制度ページ
-----------------------------------------------*/
/* アイコン付き */
.card_icon_container {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
}
.card_icon_contents {
  background-color: #fff;
  border-radius: 4px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding: 40px;
}
.card_icon_contents_title {
  align-items: center;
  color: #0066B2;
  display: flex;
  font-size: 1.5rem;
  justify-content: space-between;
  line-height: 1;
}
.card_icon_contents_text {
  line-height: 2;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .card_icon_contents {
    padding: 32px 28px;
  }
  .card_icon_contents_title {
    font-size: 1.25rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .card_icon_container {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .card_icon_contents {
    padding: 28px 20px;
  }
  .card_icon_contents_title {
    font-size: 1.125rem;
  }
  .card_icon_contents_text {
    font-size: .875rem;
  }
}



/* ボックス */
.systems_contents_container {
  align-items: center;
  background-color: #fff;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  margin-bottom: 120px;
  margin-top: 24px;
  padding: 40px;
}
.systems_contents_text {
  font-size: 1.25rem;
  flex: 1;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .systems_contents_container {
    margin-bottom: 80px;
    padding: 28px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .systems_contents_container {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 64px;
    margin-top: 16px;
    padding: 24px 20px;
  }
  .systems_contents_text {
    font-size: .875rem;
  }
}



/*-----------------------------------------------
求める人物ページ
-----------------------------------------------*/
/* 当社が求める3つの力 */
.personality_demand_container {
  background-color: #fff;
  padding: 72px 20px;
}
.personality_demand_image {
  margin-bottom: 48px;
  margin-left: auto;
  margin-right: auto;
}
.personality_demand_contents {
  border-top: 1px solid #D9D9D9;
  display: flex;
  padding: 48px 20px;
}
.personality_demand_contents:last-of-type {
  padding-bottom: 0;
}
.personality_demand_contents_title {
  flex: 1;
  font-size: 1.5rem;
}
.personality_demand_contents_title span {
  color: #0066B2;
  margin-right: 20px;
}
.personality_demand_contents_text {
  line-height: 2;
  max-width: 560px;
  width: 100%;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .personality_demand_container {
    padding: 40px 24px;
  }
  .personality_demand_image {
    max-width: 50%;
  }
  .personality_demand_contents {
    flex-direction: column;
    padding: 20px 12px;
  }
  .personality_demand_contents_title {
    font-size: 1.25rem;
    margin-bottom: 16px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .personality_demand_container {
    padding: 32px 24px 40px;
  }
  .personality_demand_image {
    margin-bottom: 24px;
    max-width: 80%;
  }
  .personality_demand_contents {
    padding: 24px 0;
  }
  .personality_demand_contents_title {
    font-size: 1rem;
    margin-bottom: 16px;
  }
  .personality_demand_contents_title span {
    font-size: 1.125rem;
  }
  .personality_demand_contents_text {
    font-size: .875rem;
  }
}



/* 先輩紹介 */
.personality_senior_wrapper {
  padding-left: 20px;
  padding-right: 20px;
}
.personality_senior_container {
  column-gap: 20px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}
.personality_senior_contents {
  flex: 1;
  max-width: 360px;
}
.personality_senior_contents_image {
  margin-bottom: 20px;
  position: relative;
}
.personality_senior_contents_image_text {
  align-items: flex-start;
  bottom: 32px;
	font-size: 1.25rem;
	font-weight: 700;
  display: flex;
  flex-direction: column;
  left: 0;
	line-height: 1;
  position: absolute;
  row-gap: 8px;
}
.personality_senior_contents_image_text > span {
	background: #fff;
  padding: 10px;
}
.personality_senior_contents_image_text span span {
  color: #00A0E2;
}
.personality_senior_contents_link.link_arrow {
  align-items: flex-end;
}
.personality_senior_contents_link.link_arrow::after {
  width: 40px;
}
.personality_senior_contents_text span:first-of-type {
  font-size: 1.375rem;
  font-weight: 700;
}
.personality_senior_contents_text span:last-of-type {
  margin-right: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .personality_senior_contents_image_text {
    bottom: 12px;
    font-size: 1rem;
  }
  .personality_senior_contents_link.link_arrow::after {
    width: 32px;
  }
  .personality_senior_contents_text span:first-of-type {
    font-size: 1.25rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .personality_senior_container {
    align-items: center;
    flex-direction: column;
    margin-bottom: 64px;
    row-gap: 32px;
  }
  .personality_senior_contents {
    max-width: 240px;
  }
  .personality_senior_contents_image {
    margin-bottom: 12px;
  }
  .personality_senior_contents_text {
    font-size: .875rem;
  }
  .personality_senior_contents_text span:first-of-type {
    font-size: 1rem;
  }
}



/*-----------------------------------------------
先輩紹介ページ
-----------------------------------------------*/
.bg_wrapper.interview_wrapper {
  height: 350px;
  margin-bottom: calc(15.834vw + 310px);
}
.interview_container {
  column-gap: 20px;
  display: flex;
  justify-content: space-between;
  margin-top: 45px;
  width: 100%;
}
.interview_contents {
  flex: 1;
  max-width: 360px;
}
.interview_contents:nth-of-type(1) {
  margin-top: 80px;
}
.interview_contents:nth-of-type(2) {
  margin-top: 40px;
}
.interview_contents_image {
  margin-bottom: 20px;
  position: relative;
}
.interview_contents_image_text {
  align-items: flex-start;
  bottom: 32px;
	font-size: 1.25rem;
	font-weight: 700;
  display: flex;
  flex-direction: column;
  left: 0;
	line-height: 1;
  position: absolute;
  row-gap: 8px;
}
.interview_contents_image_text > span {
	background: #fff;
  padding: 10px;
}
.interview_contents_image_text span span {
  color: #00A0E2;
}
.interview_contents_link.link_arrow {
  align-items: flex-end;
}
.interview_contents_link.link_arrow::after {
  width: 40px;
}
.interview_contents_text span:first-of-type {
  font-size: 1.375rem;
  font-weight: 700;
}
.interview_contents_text span:last-of-type {
  margin-right: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .bg_wrapper.interview_wrapper {
    height: 320px;
    margin-bottom: calc(15.834vw + 220px);
  }
  .interview_container {
    margin-top: 0;
  }
  .interview_contents_image_text {
    bottom: 12px;
    font-size: 1rem;
  }
  .interview_contents_link.link_arrow::after {
    width: 32px;
  }
  .interview_contents_text span:first-of-type {
    font-size: 1.25rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .bg_wrapper.interview_wrapper {
    height: auto;
    margin-bottom: 0;
  }
  .interview_container {
    align-items: center;
    flex-direction: column;
    row-gap: 32px;
  }
  .interview_contents {
    max-width: 240px;
  }
  .interview_contents:nth-of-type(1),
  .interview_contents:nth-of-type(2) {
    margin-top: 0;
  }
  .interview_contents_image {
    margin-bottom: 12px;
  }
  .interview_contents_text {
    font-size: .875rem;
  }
  .interview_contents_text span:first-of-type {
    font-size: 1.125rem;
  }
}



/*-----------------------------------------------
先輩紹介詳細ページ
-----------------------------------------------*/
/* メインビジュアル */
.interview_title {
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: clamp(1.125rem, 1.66667cqw, 1.5rem);
  position: absolute;
  right: calc(50% - 720px + 180px);
  row-gap: 16px;
  top: 520px;
  z-index: 3;
}
.interview_title span {
  font-size: clamp(.875rem, 1.11111cqw, 1rem);
}
.interview_visual_area {
  background: linear-gradient(to right, #00A0E2 0 50%, #0066B2 50% 100%);
  height: 40.278vw;
  margin-bottom: 180px;
  max-height: 580px;
  position: relative;
}
.interview_visual_text {
  align-items: flex-start;
  font-size: clamp(.5rem, 2.77778cqw, 2.5rem);
	font-weight: 700;
  display: flex;
  flex-direction: column;
  left: calc(50% - 720px + 60px);
	line-height: 1;
  position: absolute;
  row-gap: 14px;
  top: 60px;
  z-index: 3;
}
.interview_visual_text > span {
	background: #fff;
  padding: 22px 18px;
}
.interview_visual_text span span {
  color: #00A0E2;
}
.interview_visual {
  left: calc(50% - 738px);
  max-width: 70.695%;
  position: absolute;
  top: 0;
  z-index: 2;
}
.interview_visual_bg {
  max-width: 62.292%;
  position: absolute;
  right: calc(50% - 720px);
  top: 0;
}

/* ラップトップ */
@media screen and (max-width: 1440px) {
  .interview_title {
    right: 12.5%;
    top: 36.111vw;
  }
  .interview_visual_area {
    margin-bottom: 12.5vw;
  }
  .interview_visual_text {
    left: 4.167%;
    top: 10.345%;
  }
  .interview_visual_text > span {
    padding: 5% 18px;
  }
  .interview_visual {
    left: auto;
    right: calc(50% - 19%);
  }
  .interview_visual_bg {
    left: calc(50% - 12.35%);
    right: auto;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
}

/* スマホ */
@media screen and (max-width: 767px) {
  .interview_title {
    right: 5.5%;
    row-gap: 4px;
    top: 42.111vw;
  }
  .interview_title,
  .interview_title span {
    font-size: clamp(.8125rem, 2.77778cqw, 2.5rem);
  }
  .interview_visual_area {
    height: 48vw;
    margin-bottom: 80px;
  }
  .interview_visual_area .breadcrumb_container {
    bottom: -50px;
    top: auto;
  }
  .interview_visual_text {
    font-size: clamp(.875rem, 2.77778cqw, 2.5rem);
    row-gap: 4px;
  }
  .interview_visual_text > span {
    padding: 5% 4px;
  }
  .interview_visual {
    max-width: 80%;
    right: calc(50% - 27%);
  }
  .interview_visual_bg {
    left: calc(50% - 21.5%);
    max-width: 74.4%;
  }
}



/* インタビュー内容 */
.interview_detail_wrepper {
  margin-bottom: 100px;
  padding: 0 20px 110px;
  position: relative;
}
.interview_detail_wrepper::before,
.interview_detail_wrepper::after {
  background-color: #F0F8FC;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.interview_detail_wrepper::before {
  bottom: 0;
  height: 64%;
}
.interview_detail_wrepper::after {
  aspect-ratio: 1440 / 228;
  bottom: 64%;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.interview_detail_contents {
  margin-bottom: 64px;
}
.interview_detail_contents_title {
  align-items: flex-start;
  column-gap: 12px;
  display: flex;
  font-size: 1.75rem;
  line-height: 1.6;
  margin-bottom: 24px;
}
.interview_detail_contents_title::before {
  color: #0066B2;
  content: "Q.";
  font-size: 2rem;
  line-height: 1;
  margin-top: 4px;
}
.interview_detail_contents_text {
  line-height: 2;
}
.interview_detail_image_container {
  column-gap: 100px;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
  margin-bottom: 64px;
}
.interview_detail_image_container .interview_detail_contents {
  grid-column: 1 / 2;
}
.interview_detail_image_container .interview_detail_contents:last-of-type {
  margin-bottom: 0;
}
.interview_detail_float_image {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .interview_detail_image_container {
    column-gap: 50px;
    grid-template-columns: 1fr 250px;
    margin-bottom: 48px;
  }
  .interview_detail_contents {
    margin-bottom: 48px;
  }
  .interview_detail_image_container .interview_detail_contents:last-of-type {
    grid-column: 1 / 3;
  }
  .interview_detail_contents_title {
    font-size: 1.375rem;
    margin-bottom: 20px;
  }
  .interview_detail_contents_title::before {
    font-size: 1.5rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .interview_detail_wrepper {
    margin-bottom: 48px;
    padding: 0 20px 64px;
  }
  .interview_detail_contents {
    margin-bottom: 32px;
  }
  .interview_detail_contents_title {
    column-gap: 4px;
    font-size: 1.125rem;
    margin-bottom: 16px;
  }
  .interview_detail_contents_title::before {
    font-size: 1.25rem;
  }
  .interview_detail_wrepper::before {
    height: 50%;
  }
  .interview_detail_wrepper::after {
    bottom: 50%;
  }
  .interview_detail_image_container {
    grid-template-columns: 1fr;
  }
  .interview_detail_float_image {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-bottom: 32px;
    margin-left: auto;
    margin-right: auto;
    max-width: 200px;
  }
  .interview_detail_image_container .interview_detail_contents:last-of-type {
    grid-column: 1 / 2;
  }
}



/* 他の先輩を見る */
.interview_others_wrapper {
  padding-left: 20px;
  padding-right: 20px;
}
.interview_others_container {
  column-gap: 30px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 120px;
}
.interview_others_contents_image {
  margin-bottom: 20px;
}
.interview_others_contents_link.link_arrow {
  align-items: flex-end;
}
.interview_others_contents_link.link_arrow::after {
  width: 40px;
}
.interview_others_contents_text span:first-of-type {
  font-size: 1.375rem;
  font-weight: 700;
}
.interview_others_contents_text span:last-of-type {
  margin-right: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .interview_others_contents_image {
    margin-bottom: 16px;
  }
  .interview_others_contents_text span:first-of-type {
    font-size: 1.25rem;
  }
  .interview_others_contents_link.link_arrow::after {
    width: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .interview_others_container {
    grid-template-columns: 1fr;
    margin-bottom: 64px;
    row-gap: 24px;
  }
  .interview_others_contents_image {
    margin-bottom: 12px;
    width: 100%;
  }
  .interview_others_contents_text {
    font-size: .875rem;
  }
  .interview_others_contents_text span:first-of-type {
    font-size: 1rem;
  }
}



/*-----------------------------------------------
採用までの流れページ
-----------------------------------------------*/
/* 採用までの流れ */
.flow_recruit_before_text {
  font-size: 1.125rem;
  line-height: 2;
  margin-bottom: 32px;
}
.flow_recruit_before_container {
  background-color: #fff;
  border: 2px solid #0066B2;
  border-radius: 5px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.flow_recruit_before_contents {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: 64px 20px;
  position: relative;
  text-align: center;
}
.flow_recruit_before_contents:not(:last-of-type) {
  border-right: 2px solid #0066B2;
}
.flow_recruit_before_contents:not(:last-of-type)::before,
.flow_recruit_before_contents:not(:last-of-type)::after {
  bottom: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  content: "";
  display: block;
  height: 70px;
  left: 100%;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  width: 29px;
}
.flow_recruit_before_contents:not(:last-of-type)::before {
  background-color: #0066B2;
}
.flow_recruit_before_contents:not(:last-of-type)::after {
  background-color: #fff;
  left: calc(100% - 2px);
}
.flow_recruit_before_contents_image {
  margin-bottom: 32px;
  margin-left: auto;
  margin-right: auto;
}
.flow_recruit_before_contents_title {
  color: #0066B2;
  font-size: 1.5rem;
  margin-bottom: 20px;
}
.flow_recruit_before_contents_text {
  display: flex;
  flex-direction: column;
  line-height: 2;
  row-gap: 10px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .flow_recruit_before_text {
    font-size: 1rem;
    margin-bottom: 24px;
  }
  .flow_recruit_before_container {
    column-gap: 32px;
    display: flex;
    flex-direction: column;
  }
  .flow_recruit_before_contents {
    align-items: center;
    column-gap: 20px;
    grid-template-columns: 200px 1fr;
    grid-template-rows: auto 1fr;
    padding: 32px 20px;
    text-align: left;
  }
  .flow_recruit_before_contents:not(:last-of-type) {
    border-bottom: 2px solid #0066B2;
    border-right: none;
  }
  .flow_recruit_before_contents:not(:last-of-type)::before,
  .flow_recruit_before_contents:not(:last-of-type)::after {
    bottom: auto;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    height: 29px;
    left: 0;
    margin: 0 auto;
    right: 0;
    top: 100%;
    width: 70px;
  }
  .flow_recruit_before_contents:not(:last-of-type)::after {
    top: calc(100% - 2px);
  }
  .flow_recruit_before_contents_image {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    margin-bottom: 0;
  }
  .flow_recruit_before_contents_title {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  .flow_recruit_before_contents:not(:first-of-type) .flow_recruit_before_contents_title {
    margin-bottom: 0;
    margin-top: 20px;
  }
  .flow_recruit_before_contents_text {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .flow_recruit_before_text {
    font-size: .875rem;
    margin-bottom: 20px;
  }
  .flow_recruit_before_contents {
    grid-template-columns: 110px 1fr;
    padding: 32px 20px;
  }
  .flow_recruit_before_contents_title {
    font-size: 1rem;
    margin-bottom: 12px;
  }
  .flow_recruit_before_contents:not(:first-of-type) .flow_recruit_before_contents_title {
    margin-top: 10px;
  }
  .flow_recruit_before_contents_text {
    font-size: .875rem;
    row-gap: 10px;
  }
}



/* 入社後の流れ */
.flow_recruit_after_wrapper {
  margin-bottom: 120px;
  margin-top: 100px;
  padding-left: 20px;
  padding-right: 20px;
}
.flow_recruit_after_container {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.flow_recruit_after_contents {
  align-items: center;
  background-color: #F0F8FC;
  border-radius: 4px;
  column-gap: 20px;
  display: flex;
  justify-content: space-between;
  padding: 56px 60px;
}
.flow_recruit_after_contents_title {
  color: #0066B2;
  font-size: 1.5rem;
  min-width: 216px;
}
.flow_recruit_after_contents_text {
  max-width: 718px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .flow_recruit_after_wrapper {
    margin-bottom: 80px;
    margin-top: 80px;
  }
  .flow_recruit_after_contents {
    align-items: flex-start;
    flex-direction: column;
    padding: 32px;
    row-gap: 16px;
  }
  .flow_recruit_after_contents_title {
    font-size: 1.25rem;
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .flow_recruit_after_wrapper {
    margin-bottom: 64px;
    margin-top: 48px;
  }
  .flow_recruit_after_contents {
    padding: 24px;
  }
  .flow_recruit_after_contents_title {
    font-size: 1rem;
  }
  .flow_recruit_after_contents_text {
    font-size: .785rem;
    max-width: 100%;
  }
}



/* 一日の仕事の流れ */
.flow_work_wrapper {
  margin-bottom: 120px;
  padding-left: 20px;
  padding-right: 20px;
}
.flow_work_area {
  background-color: #F0F8FC;
  border-top: 2px solid #006EB8;
  margin-top: 100px;
  padding: 80px 20px;
  position: relative;
}
.flow_work_tag_container {
  bottom: calc(100% + 2px);
  column-gap: 20px;
  display: flex;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
}
.flow_work_tag_btn {
  align-items: center;
  background-color: #006EB8;
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  max-width: 255px;
  padding-bottom: 10px;
  padding-top: 10px;
  width: 100%;
}
.flow_work_tag_btn:nth-of-type(2) {
  background-color: #00A0E2;
}
.flow_work_schedule_container {
  padding-top: 6px;
}
.flow_work_contents {
  align-items: flex-start;
  column-gap: 80px;
  display: none;
}
.flow_work_contents.open {
  display: flex;
}
.flow_work_schedule_contents {
  align-items: center;
  column-gap: 32px;
  display: flex;
  font-size: 1.25rem;
  position: relative;
}
.flow_work_schedule_contents:not(:last-of-type) {
  margin-bottom: 40px;
}
.flow_work_schedule_contents::after {
  background-color: #006EB8;
  content: "";
  display: block;
  height: calc(50% + 40px);
  left: 55px;
  position: absolute;
  top: 50%;
  width: 4px;
  z-index: 1;
}
.flow_work_contents:nth-of-type(2) .flow_work_schedule_contents::after {
  background-color: #00A0E2;
}
.flow_work_schedule_contents:not(:first-of-type)::after {
  height: calc(100% + 40px);
  top: 0;
}
.flow_work_schedule_contents:last-of-type::after {
  bottom: 50%;
  height: calc(50% + 40px);
  top: auto;
}
.flow_work_schedule_time {
  align-items: center;
  background-color: #fff;
  border: 2px solid #006EB8;
  border-radius: 9999px;
  color: #006EB8;
  display: flex;
  height: 40px;
  justify-content: center;
  width: 110px;
  z-index: 2;
}
.flow_work_contents:nth-of-type(2) .flow_work_schedule_time {
  border-color: #00A0E2;
  color: #00A0E2;
}
.flow_work_schedule_contents p:last-of-type {
  flex: 1;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .flow_work_wrapper {
    margin-bottom: 80px;
  }
  .flow_work_area {
    padding: 56px 20px;
  }
  .flow_work_contents {
    column-gap: 40px;
  }
  .flow_work_contents_image {
    max-width: 240px;
  }
  .flow_work_schedule_contents {
    column-gap: 30px;
    font-size: 1.125rem;
  }
  .flow_work_schedule_contents:not(:last-of-type) {
    margin-bottom: 30px;
  }
  .flow_work_schedule_contents::after,
  .flow_work_schedule_contents:last-of-type::after {
    height: calc(50% + 30px);
  }
}

/* スマホ */
@media screen and (max-width: 767px) {
  .flow_work_wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .flow_work_title {
    margin-left: 20px;
    margin-right: 20px;
  }
  .flow_work_tag_container {
    column-gap: 10px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .flow_work_tag_btn {
    font-size: .9375rem;
    height: 40px;
    max-width: 105px;
    padding: 0;
  }
  .flow_work_area {
    margin-top: 64px;
    padding: 40px 20px;
  }
  .flow_work_contents {
    align-items: center;
    flex-direction: column;
    row-gap: 32px;
  }
  .flow_work_contents_image {
    max-width: 100%;
  }
  .flow_work_schedule_container {
    padding-top: 0;
  }
  .flow_work_schedule_contents {
    font-size: .9375rem;
  }
  .flow_work_schedule_contents:not(:last-of-type) {
    margin-bottom: 20px;
  }
  .flow_work_schedule_time {
    height: 27px;
    width: 80px;
  }
  .flow_work_schedule_contents::after {
    left: 40px;
    height: calc(50% + 20px);
  }
}