@charset "UTF-8";
.fade_in_top_anim, .fade_in_right_anim, .fade_in_bottom_anim, .fade_in_left_anim, .fade_in_center_anim {
  animation-fill-mode: both;
  animation-duration: 0.6s !important;
  visibility: visible !important;
}

ul.list li, ol.list li {
  position: relative;
  padding-left: 1.1em;
}
ul.list li:before, ol.list li:before {
  position: absolute;
  left: 0;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,
input[type=text], input[type=tel], input[type=email], input[type=url], input[type=password], textarea, a, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

table {
  border-collapse: collapse;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

@media screen and (min-width: 769px) {
  div {
    /* スクロールバーの背景（レール） */
    /* 動くバーの部分（つまみ） */
    /* ホバー時に色を変える */
  }
  div::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  div::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
  }
  div::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
  }
  div::-webkit-scrollbar-thumb:hover {
    background: #555;
  }
}

.base_content {
  overflow: hidden;
  line-height: var(--base_line_height);
  font-weight: 500;
}
.base_content ul {
  list-style: disc;
  margin-left: 1.7em;
}
.base_content ol {
  list-style: decimal;
  margin-left: 1.7em;
}
.base_content ol li {
  padding-left: 0.3em;
}

.alignleft {
  display: block;
  float: left;
  margin-right: 10px;
  margin-bottom: 1em;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  display: block;
  float: right;
  margin-left: 10px;
  margin-bottom: 1em;
}

.clear {
  clear: both;
}

.space1em {
  clear: both;
  height: 1em;
}

.space2em {
  clear: both;
  height: 2em;
}

.font_gothic {
  font-family: "Noto Sans JP", sans-serif;
}

.font_zen_gothic {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.font_mon {
  font-family: "Montserrat", sans-serif;
}

html {
  --base_header_height: 80px;
  --base_container_width: 1000px;
  --base_container_w_width: 1294px;
  --base_container_pad: 15px;
  --base_the_rest_of_container: calc(var(--vw) * 100) - var(--base_container_width);
  --base_the_rest_of_container_half: calc((var(--base_the_rest_of_container)) / 2);
  --base_line_height: 1.625;
  --base_color00: #333333;
  --base_color01: #CFCFCF;
  --base_color02: #90ACC1;
  --base_color10: #00706C;
  --base_color11: #00C3C3;
  --base_color12: #009B9B;
  --base_color20: #00299A;
  --base_color21: #DDE5F0;
  --base_color30: #F7FF00;
  --base_color40: #FFFFF8;
  --base_color40_rgb: 255 255 248;
  --base_color41: #F5F0D2;
  --base_color42: #F5F5EB;
  --base_grad01: linear-gradient(to right, #94FF83 0, #40FFC3 51%, #23FFFA 100%);
  --base_grad02: linear-gradient(to right, #1FDDFF 0, #73EAFF 40%, #B7FFDD 80%, #FDFFE1 100%);
  --base_grad03: linear-gradient(to bottom, rgb(255 255 255 / 0) 0, rgb(0 228 228 / 1));
  --base_grad_arrow: linear-gradient(to bottom, #FF733C 0, #FFB52D 100%);
  --base_btn_bg: linear-gradient(to right, #007B7B 0, #00B3B9 100%);
  --base_btn_bg02: linear-gradient(to right, #AAC3D5 0, #C1E0F7 100%);
  --base_btn_arrow: url(../images/icon_arrow02.svg);
  --group01_color01: var(--base_color10);
  --group01_color02: var(--base_color12);
  --group01_color03: var(--base_color11);
  --group01_color04: #D9FAFA;
  --group01_list_arrow_bg: var(--group02_color02);
  --group01_list_dot: var(--group02_color01);
  --group01_btn_bg: var(--base_btn_bg);
  --group01_btn_arrow: var(--base_btn_arrow);
  --group01_clock: url(../images/interview_group01_clock.png);
  --group02_color01: #E9401E;
  --group02_color02: #FF733C;
  --group02_color03: #FF8870;
  --group02_color04: #FEEDE1;
  --group02_list_arrow_bg: var(--group03_color02);
  --group02_list_dot: var(--group03_color01);
  --group02_btn_bg: linear-gradient(to right, #E9401E 0, #FF6E51 100%);
  --group02_btn_arrow: url(../images/icon_arrow_rd.svg);
  --group02_clock: url(../images/interview_group02_clock.png);
  --group03_color01: #0057A8;
  --group03_color02: #0087DC;
  --group03_color03: #00A8F0;
  --group03_color04: #DFF2FC;
  --group03_list_arrow_bg: var(--group04_color02);
  --group03_list_dot: var(--group04_color01);
  --group03_btn_bg: linear-gradient(to right, #0057A8 0, #319AFD 100%);
  --group03_btn_arrow: url(../images/icon_arrow_mm.svg);
  --group03_clock: url(../images/interview_group03_clock.png);
  --group04_color01: #03874C;
  --group04_color02: #00BD87;
  --group04_color03: #1CD3A1;
  --group04_color04: #E5F8DB;
  --group04_list_arrow_bg: var(--group05_color02);
  --group04_list_dot: var(--group05_color01);
  --group04_btn_bg: linear-gradient(to right, #03874C 0, #00D777 100%);
  --group04_btn_arrow: url(../images/icon_arrow_qa.svg);
  --group04_clock: url(../images/interview_group04_clock.png);
  --group05_color01: #AB760A;
  --group05_color02: #E2B800;
  --group05_color03: #FFDE4C;
  --group05_color04: #FDFFE1;
  --group05_list_arrow_bg: var(--group06_color02);
  --group05_list_dot: var(--group06_color01);
  --group05_btn_bg: linear-gradient(to right, #AB760A 0, #E99B00 100%);
  --group05_btn_arrow: url(../images/icon_arrow_pe.svg);
  --group05_clock: url(../images/interview_group05_clock.png);
  --group06_color01: #413CAA;
  --group06_color02: #6876D5;
  --group06_color03: #6876D5;
  --group06_color04: #6876D5;
  --group06_list_arrow_bg: var(--group07_color02);
  --group06_list_dot: var(--group07_color01);
  --group06_btn_bg: linear-gradient(to right, #4140B0 0, #6C57E2 100%);
  --group06_btn_arrow: url(../images/icon_arrow_mp.svg);
  --group06_clock: url();
  --group07_color01: #B02087;
  --group07_color02: #DF60BA;
  --group07_color03: #DF60BA;
  --group07_color04: #DF60BA;
  --group07_list_arrow_bg: var(--group01_color02);
  --group07_list_dot: var(--group01_color01);
  --group07_btn_bg: linear-gradient(to right, #B02087 0, #DF60BA 100%);
  --group07_btn_arrow: url(../images/icon_arrow_ap.svg);
  --group07_clock: url();
  font-size: 16px;
  letter-spacing: 0;
  -webkit-text-size-adjust: none;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: 0;
  color: var(--base_color00);
  font-size: 1rem;
  /*font-feature-settings: "palt";*/
}
@media screen and (max-width: 850px) {
  body {
    --base_header_height: 60px ;
  }
}
body.top {
  /*
  background: var(--base_color11);
  .page_loading {
  	opacity: 0;
  	pointer-events: none;
  }*/
}
body.top h1 {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
body.sub .main_wrap main {
  --start_pos: 1000px;
}
@media screen and (max-width: 850px) {
  body.sub .main_wrap main {
    --start_pos: 400px;
  }
}

.page_loading {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: opacity 0.5s;
}
.page_loading.hide {
  opacity: 0;
  pointer-events: none !important;
}
.page_loading.hide * {
  pointer-events: none !important;
}

.no-transition * {
  transition: none !important;
}

.main_wrap main {
  --start_pos: 0;
  display: block;
  position: relative;
  background: linear-gradient(to bottom, transparent 0, transparent var(--start_pos), var(--base_color11) var(--start_pos), var(--base_color11) 100%);
}

.container,
.container_w {
  max-width: calc(var(--base_container_width) + var(--base_container_pad) * 2);
  width: 100%;
  margin: auto;
  padding: 0 var(--base_container_pad);
}

.container_w {
  max-width: calc(var(--base_container_w_width) + var(--base_container_pad) * 2);
}
.container_w .container {
  max-width: var(--base_container_width);
  padding: 0;
}

.punc {
  display: inline-block;
}
.punc.left.v {
  margin-top: -0.5em;
}
.punc.left.h {
  margin-left: -0.5em;
}
.punc.right.v {
  margin-bottom: -0.5em;
}
.punc.right.h {
  /*margin-right: -0.5em;*/
  width: 0.5em;
}

.btn {
  text-decoration: none;
  transition: opacity 0.3s;
}
@media screen and (min-width: 851px) {
  .btn:hover {
    opacity: 0.7;
  }
}

section {
  position: relative;
  z-index: 1;
}

p {
  line-height: var(--base_line_height);
  text-align: justify;
}

a[href*="tel:"] {
  color: var(--base_color00);
  text-decoration: none;
}
@media screen and (min-width: 851px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}

img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 360px) {
  br.pc_xs {
    display: none;
  }
}
br.xs {
  display: none;
}
@media screen and (max-width: 360px) {
  br.xs {
    display: block;
  }
}
@media screen and (max-width: 400px) {
  br.pc_sm {
    display: none;
  }
}
br.sm {
  display: none;
}
@media screen and (max-width: 400px) {
  br.sm {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  br.pc_pre_sm {
    display: none;
  }
}
br.pre_sm {
  display: none;
}
@media screen and (max-width: 600px) {
  br.pre_sm {
    display: block;
  }
}
@media screen and (min-width: 601px) {
  br.pc_min_pre_sm {
    display: none;
  }
}
br.min_pre_sm {
  display: none;
}
@media screen and (min-width: 601px) {
  br.min_pre_sm {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  br.pc_header_md {
    display: none;
  }
}
br.header_md {
  display: none;
}
@media screen and (max-width: 768px) {
  br.header_md {
    display: block;
  }
}
@media screen and (max-width: 850px) {
  br.pc_md {
    display: none;
  }
}
br.md {
  display: none;
}
@media screen and (max-width: 850px) {
  br.md {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  br.pc_header_min_md {
    display: none;
  }
}
br.header_min_md {
  display: none;
}
@media screen and (min-width: 769px) {
  br.header_min_md {
    display: block;
  }
}
@media screen and (min-width: 851px) {
  br.pc_min_md {
    display: none;
  }
}
br.min_md {
  display: none;
}
@media screen and (min-width: 851px) {
  br.min_md {
    display: block;
  }
}
@media screen and (max-width: 890px) {
  br.pc_pre_md {
    display: none;
  }
}
br.pre_md {
  display: none;
}
@media screen and (max-width: 890px) {
  br.pre_md {
    display: block;
  }
}
@media screen and (max-width: 1030px) {
  br.pc_lg {
    display: none;
  }
}
br.lg {
  display: none;
}
@media screen and (max-width: 1030px) {
  br.lg {
    display: block;
  }
}
@media screen and (max-width: 1200px) {
  br.pc_xl {
    display: none;
  }
}
br.xl {
  display: none;
}
@media screen and (max-width: 1200px) {
  br.xl {
    display: block;
  }
}
@media screen and (max-width: 1920px) {
  br.pc_fhd {
    display: none;
  }
}
br.fhd {
  display: none;
}
@media screen and (max-width: 1920px) {
  br.fhd {
    display: block;
  }
}
@media (any-hover: hover) {
  br.pc_hover {
    display: none;
  }
}
br.hover {
  display: none;
}
@media (any-hover: hover) {
  br.hover {
    display: block;
  }
}

.ex_content {
  overflow: hidden;
  transition: height 0.3s;
}

.flex_wrap_list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--col_gap);
  row-gap: var(--row_gap);
}
.flex_wrap_list > * {
  width: calc((100% - var(--col_gap) * (var(--cols) - 1)) / var(--cols));
}

ul.list.circle > li:before {
  content: "●";
}

ul.list.kome > li:before {
  content: "※";
}

ul.list.dot > li:before {
  content: "・";
}

ol.list.num_paren {
  counter-reset: paren_cnt;
}
ol.list.num_paren > li {
  counter-increment: paren_cnt;
  padding-left: 1.3em;
}
ol.list.num_paren > li:before {
  content: "(" counter(paren_cnt) ")";
}

.anim_init,
.anim_init_t,
.anim_init_r,
.anim_init_b,
.anim_init_l,
.anim_init_c {
  visibility: hidden;
  backface-visibility: hidden;
}

.fade_in_top_anim {
  --translate_value: -20px;
  animation-name: fade_in_top_anim;
}

@-webkit-keyframes fade_in_top_anim {
  0% {
    opacity: 0;
    transform: translateY(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade_in_top_anim {
  0% {
    opacity: 0;
    transform: translateY(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade_in_right_anim {
  --translate_value: 20px;
  animation-name: fade_in_right_anim;
}

@-webkit-keyframes fade_in_right_anim {
  0% {
    opacity: 0;
    transform: translateX(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade_in_right_anim {
  0% {
    opacity: 0;
    transform: translateX(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fade_in_bottom_anim {
  --translate_value: 20px;
  animation-name: fade_in_bottom_anim;
}

@-webkit-keyframes fade_in_bottom_anim {
  0% {
    opacity: 0;
    transform: translateY(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade_in_bottom_anim {
  0% {
    opacity: 0;
    transform: translateY(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade_in_left_anim {
  --translate_value: -20px;
  animation-name: fade_in_left_anim;
}

@-webkit-keyframes fade_in_left_anim {
  0% {
    opacity: 0;
    transform: translateX(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade_in_left_anim {
  0% {
    opacity: 0;
    transform: translateX(var(--translate_value));
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fade_in_center_anim {
  animation-name: fade_in_center_anim;
}

@-webkit-keyframes fade_in_center_anim {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fade_in_center_anim {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--base_header_height);
  z-index: 100;
  display: flex;
  pointer-events: none;
}
header > * {
  pointer-events: all;
}
@media screen and (max-width: 768px) {
  header {
    align-items: center;
  }
}
header .logo {
  width: 420px;
  height: 100%;
  background: #fff;
  border-radius: 0 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 19px;
  position: relative;
  z-index: 10;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  header .logo {
    width: 200px;
    border-radius: 0 0 14px;
    flex-direction: column;
    row-gap: 6px;
  }
}
header .logo .image {
  width: 284px;
}
@media screen and (max-width: 850px) {
  header .logo .image {
    width: 178px;
  }
}
header .logo .text {
  font-weight: 700;
  font-size: 0.875rem;
  color: #000;
  position: relative;
  top: 15px;
}
@media screen and (max-width: 850px) {
  header .logo .text {
    top: -3px;
    right: 10px;
    margin-left: auto;
    font-size: 0.5625rem;
  }
}
header .entry {
  margin: 16px 10px 0 auto;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  header .entry {
    margin: 0 6px 0 auto;
  }
}
header .entry a {
  color: var(--base_color10);
  background: var(--base_color30);
  width: 120px;
  height: 56px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 1.25rem;
}
@media screen and (max-width: 768px) {
  header .entry a {
    width: 50px;
    height: 50px;
    font-size: 0.625rem;
  }
}
header .menu_btn_wrap {
  margin: 16px 20px 0 0;
  width: 56px;
  height: 56px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  header .menu_btn_wrap {
    width: 50px;
    height: 50px;
    margin: 0 5px 0 0;
  }
}
header .menu_btn_wrap .menu_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  row-gap: 6px;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background: var(--base_color20);
  border-radius: 6px;
  padding-top: 14px;
}
@media screen and (max-width: 768px) {
  header .menu_btn_wrap .menu_btn {
    padding-top: 12px;
  }
}
header .menu_btn_wrap .menu_btn.open .lines span {
  top: 0;
  bottom: 0;
}
header .menu_btn_wrap .menu_btn.open .lines span:nth-child(1) {
  transform: rotate(-150deg);
}
header .menu_btn_wrap .menu_btn.open .lines span:nth-child(2) {
  width: 0;
}
header .menu_btn_wrap .menu_btn.open .lines span:nth-child(3) {
  transform: rotate(150deg);
}
header .menu_btn_wrap .menu_btn.open .text:before {
  content: "CLOSE";
}
header .menu_btn_wrap .menu_btn .lines {
  position: relative;
  width: 28px;
  height: 17px;
}
header .menu_btn_wrap .menu_btn .lines span {
  height: 3px;
  width: 100%;
  border-radius: 3px;
  background: #fff;
  display: block;
  position: absolute;
  margin: auto;
  right: 0;
  left: 0;
  transform-origin: 50% 50%;
  transition: all, 0.5s;
}
@media screen and (max-width: 768px) {
  header .menu_btn_wrap .menu_btn .lines span {
    height: 2px;
  }
}
header .menu_btn_wrap .menu_btn .lines span:nth-child(1) {
  top: 0;
}
header .menu_btn_wrap .menu_btn .lines span:nth-child(2) {
  top: 0;
  bottom: 0;
}
header .menu_btn_wrap .menu_btn .lines span:nth-child(3) {
  bottom: 0;
}
header .menu_btn_wrap .menu_btn .text {
  font-weight: 600;
  font-size: 0.75rem;
  display: block;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  header .menu_btn_wrap .menu_btn .text {
    font-size: 0.625rem;
  }
}
header .menu_btn_wrap .menu_btn .text:before {
  content: "MENU";
}
header nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transition: opacity 0.3s;
  opacity: 0;
  pointer-events: none !important;
  padding: 120px var(--base_container_pad) 20px;
  display: flex;
  justify-content: center;
  background: url(../images/nav_bg_image.svg) no-repeat left calc(50% - 547px + 145px) top 230px/1094px;
  background-color: var(--base_color40);
}
@media screen and (max-width: 768px) {
  header nav {
    padding-top: 92px;
    padding-bottom: 40px;
    background-position: left calc(50% - 274px + 168px) bottom -137px;
    background-size: 548px;
  }
}
header nav * {
  pointer-events: none !important;
}
header nav.open {
  opacity: 1;
  pointer-events: all !important;
}
header nav.open * {
  pointer-events: all !important;
}
header nav .nav_content {
  height: 100%;
  overflow: auto;
  padding: 0 10px;
  max-width: 1100px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  header nav .nav_content {
    padding: 0;
  }
}
header nav .menu_wrap {
  --col_gap: 68px;
  display: flex;
  column-gap: var(--col_gap);
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  header nav .menu_wrap {
    --col_gap: 38px;
  }
}
@media screen and (max-width: 1030px) {
  header nav .menu_wrap {
    flex-wrap: wrap;
    row-gap: 40px;
    max-width: 800px;
    margin: 0 auto 38px;
  }
}
@media screen and (max-width: 768px) {
  header nav .menu_wrap {
    max-width: 100%;
    row-gap: 36px;
  }
}
header nav .menu_wrap .main_menu {
  position: relative;
}
header nav .menu_wrap .main_menu:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * var(--col_gap) / 2 - 1px);
  width: 2px;
  height: 100%;
  background: var(--base_color41);
}
header nav .menu_wrap .main_menu:first-child:before {
  content: none;
}
@media screen and (max-width: 1030px) {
  header nav .menu_wrap .main_menu {
    width: calc(50% - var(--col_gap));
  }
  header nav .menu_wrap .main_menu:nth-child(2n+1):before {
    content: none;
  }
}
@media screen and (max-width: 768px) {
  header nav .menu_wrap .main_menu {
    width: 100%;
  }
  header nav .menu_wrap .main_menu:before {
    top: -19px;
    left: 0;
    width: 100%;
    height: 2px;
  }
  header nav .menu_wrap .main_menu:nth-child(2n+1):before {
    content: "";
  }
}
header nav .main_menu {
  display: flex;
  flex-direction: column;
  row-gap: 36px;
}
@media screen and (max-width: 768px) {
  header nav .main_menu > li {
    position: relative;
    padding: 0 17px;
  }
  header nav .main_menu > li:before {
    content: "";
    position: absolute;
    top: -19px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--base_color41);
  }
  header nav .main_menu > li:first-child:before {
    content: none;
  }
}
header nav .main_menu > li.ex_wrap {
  position: relative;
}
header nav .main_menu > li.ex_wrap.open .ex_btn {
  background-image: url(../images/icon_minus.svg);
}
header nav .main_menu > li.ex_wrap .ex_btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: none;
  width: 26px;
  height: 16px;
  padding-left: 10px;
  background: url(../images/icon_plus.svg) no-repeat right center/16px;
}
@media screen and (max-width: 768px) {
  header nav .main_menu > li.ex_wrap .ex_btn {
    display: block;
  }
}
header nav .main_menu > li > a {
  color: var(--base_color10);
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  padding-left: 40px;
  min-height: 30px;
  display: flex;
  align-items: center;
  transition: color 0.3s;
  padding-bottom: 2px;
}
header nav .main_menu > li > a:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 40px;
  width: calc(100% - 40px);
  height: 2px;
  background: var(--base_color11);
  transition: opacity 0.3s;
  opacity: 0;
  border-radius: 0;
}
header nav .main_menu > li > a:after {
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
@media (any-hover: hover) {
  header nav .main_menu > li > a:hover {
    color: var(--base_color11);
  }
  header nav .main_menu > li > a:hover:before {
    opacity: 1;
  }
}
header nav .sub_menu {
  display: flex;
  flex-direction: column;
  margin: 6px 0 0 40px;
}
@media screen and (max-width: 768px) {
  header nav .sub_menu {
    margin-top: 16px;
  }
}
header nav .sub_menu > li > a {
  line-height: 1.44;
  color: var(--base_color00);
  transition: opacity 0.3s;
  text-decoration: none;
  padding: 10px 0;
  display: block;
}
@media (any-hover: hover) {
  header nav .sub_menu > li > a:hover {
    opacity: 0.7;
  }
}
header nav .sub_menu_interview {
  margin-top: 16px;
  border-radius: 10px;
  padding: 20px;
  background: var(--base_color42);
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
header nav .sub_menu_interview > li > a {
  display: flex;
  align-items: center;
  column-gap: 15px;
  color: var(--base_color00);
  transition: opacity 0.3s;
  text-decoration: none;
}
@media (any-hover: hover) {
  header nav .sub_menu_interview > li > a:hover {
    opacity: 0.7;
  }
}
header nav .sub_menu_interview > li > a .icon {
  width: 50px;
}
header nav .sub_menu_interview > li > a .dep {
  flex: 1;
}
header nav .other_links {
  display: flex;
  align-items: center;
  column-gap: 52px;
}
@media screen and (max-width: 768px) {
  header nav .other_links {
    flex-direction: column;
    row-gap: 25px;
  }
}
header nav .other_links .link01 {
  max-width: 827px;
}
@media screen and (max-width: 1200px) {
  header nav .other_links .link01 {
    max-width: 580px;
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  header nav .other_links .link01 {
    max-width: 400px;
    width: 100%;
    flex: none;
  }
}
@media screen and (max-width: 768px) {
  header nav .other_links .link01:before, header nav .other_links .link01:after {
    right: 26px;
  }
}
header nav .other_links .link01 .text {
  padding-top: 14px;
  padding-bottom: 14px;
}
@media screen and (max-width: 768px) {
  header nav .other_links .link01 .text {
    padding-top: 19px;
    padding-bottom: 19px;
  }
}
@media screen and (max-width: 768px) {
  header nav .other_links .link01 .text .title {
    row-gap: 4px;
  }
}
header nav .other_links .link01 .text .title .en {
  font-size: 2rem;
}
header nav .other_links .link01 .text .title .jp {
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  header nav .other_links .link01 .text .title .jp {
    font-size: 0.9375rem;
  }
}
header nav .other_links .to_corp {
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  column-gap: 14px;
  color: var(--base_color10);
  transition: opacity 0.3s;
  text-decoration: none;
}
@media (any-hover: hover) {
  header nav .other_links .to_corp:hover {
    opacity: 0.7;
  }
}
header nav .other_links .to_corp:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/icon_new_win.svg) no-repeat center/contain;
}

#to_top {
  position: fixed;
  z-index: 100;
  right: 30px;
  bottom: 30px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
#to_top * {
  pointer-events: none;
}
#to_top.show {
  opacity: 1;
  pointer-events: all;
}
#to_top.show * {
  pointer-events: all;
}

.footer_contact {
  border-top: 10px solid var(--base_color11);
  position: relative;
  z-index: 0;
  padding: 75px 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgb(255, 255, 255) 100%) no-repeat, var(--base_grad02) no-repeat;
}
@media screen and (max-width: 850px) {
  .footer_contact {
    border-top-width: 7px;
    padding: 30px 0;
  }
}

.footer_line {
  display: flex;
  align-items: center;
  height: 40px;
  background: var(--base_color10);
}
@media screen and (max-width: 850px) {
  .footer_line {
    height: 30px;
  }
}
.footer_line .auto_scroll {
  width: 100%;
}
.footer_line .auto_scroll .items {
  /*--anim_time: 80s;*/
  --anim_time: 30s;
  --line_gap: 1em;
}
.footer_line .auto_scroll .items .item {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}
@media screen and (max-width: 850px) {
  .footer_line .auto_scroll .items .item {
    font-size: 1.125rem;
  }
}
.footer_line .auto_scroll .items .item .line span {
  color: var(--base_color30);
}

footer .footer_content {
  display: flex;
  justify-content: space-between;
  column-gap: 20px;
  padding: 74px 0 50px;
}
@media screen and (max-width: 850px) {
  footer .footer_content {
    flex-direction: column;
    align-items: center;
    row-gap: 40px;
    padding: 40px 0 30px;
  }
}
footer .footer_content .info .logo {
  width: 284px;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  margin-bottom: 36px;
}
@media screen and (max-width: 1030px) {
  footer .footer_content .info .logo {
    width: 240px;
  }
}
@media screen and (max-width: 850px) {
  footer .footer_content .info .logo {
    width: 284px;
  }
}
footer .footer_content .info .logo .text {
  font-size: 1.25rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  column-gap: 6px;
}
@media screen and (max-width: 1030px) {
  footer .footer_content .info .logo .text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 850px) {
  footer .footer_content .info .logo .text {
    font-size: 1.25rem;
  }
}
footer .footer_content .info .logo .text:after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--base_color00);
}
footer .footer_content .info address {
  font-style: normal;
  display: block;
  font-size: 0.875rem;
  line-height: 1.714;
}
@media screen and (max-width: 850px) {
  footer .footer_content .info address {
    text-align: center;
  }
}
footer .footer_content .nav .menu_wrap {
  --col_gap: 76px;
  display: flex;
  column-gap: var(--col_gap);
}
@media screen and (max-width: 1030px) {
  footer .footer_content .nav .menu_wrap {
    --col_gap: 46px;
  }
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .menu_wrap {
    --col_gap: 62px;
    justify-content: center;
  }
}
footer .footer_content .nav .main_menu {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 56px;
  padding: 8px 0;
}
footer .footer_content .nav .main_menu:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * var(--col_gap) / 2);
  width: 1px;
  height: 100%;
  background: var(--base_color21);
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .main_menu {
    row-gap: 38px;
  }
}
footer .footer_content .nav .main_menu:first-child:before {
  content: none;
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .main_menu.m02 {
    display: none;
  }
}
footer .footer_content .nav .main_menu > li > a {
  color: var(--base_color00);
  font-weight: 700;
  font-size: 1.125rem;
  transition: color 0.3s;
  padding-bottom: 2px;
  position: relative;
  text-decoration: none;
}
footer .footer_content .nav .main_menu > li > a:before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--base_color11);
  transition: opacity 0.3s;
  opacity: 0;
}
@media (any-hover: hover) {
  footer .footer_content .nav .main_menu > li > a:hover {
    color: var(--base_color11);
  }
  footer .footer_content .nav .main_menu > li > a:hover:before {
    opacity: 1;
  }
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .main_menu > li > a {
    line-height: 1.4;
  }
}
footer .footer_content .nav .sub_menu {
  display: flex;
  flex-direction: column;
  row-gap: 28px;
  margin-top: 28px;
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .sub_menu {
    margin-top: 18px;
    row-gap: 22px;
  }
}
footer .footer_content .nav .sub_menu > li > a {
  transition: opacity 0.3s;
  text-decoration: none;
  font-size: 0.9375rem;
  color: var(--base_color00);
}
@media (any-hover: hover) {
  footer .footer_content .nav .sub_menu > li > a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 850px) {
  footer .footer_content .nav .sub_menu > li > a {
    line-height: 1.33;
  }
}
footer .copyright {
  background: var(--base_color11);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  height: 50px;
  display: flex;
  align-items: center;
}
footer .copyright .container {
  display: flex;
  justify-content: space-between;
}
footer .copyright .container > div {
  position: relative;
  top: 2px;
}
footer .copyright .container .to_corp {
  position: relative;
  top: -1px;
  font-size: 0.875rem;
  font-weight: 400;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 14px;
  transition: opacity 0.3s;
  text-decoration: none;
}
@media (any-hover: hover) {
  footer .copyright .container .to_corp:hover {
    opacity: 0.7;
  }
}
footer .copyright .container .to_corp:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/icon_new_win02.svg) no-repeat center/contain;
}

/*-----------------------------------------
Contact Form7
-----------------------------------------*/
.sent .wpcf7-response-output {
  display: none !important;
}
.sent .contact_form > *:not(.sent_content) {
  display: none !important;
}
.sent .contact_form .sent_content {
  display: block;
}

.contact_form .conf_msg {
  display: none;
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
}
.contact_form .sent_content {
  display: none;
}
.contact_form input[type=text],
.contact_form input[type=email],
.contact_form input[type=tel],
.contact_form input[type=url],
.contact_form select,
.contact_form textarea {
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: 100%;
  padding: 18px 30px;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 4px;
  border: 0;
  color: var(--base_color00);
  background: var(--base_color42);
  outline: none;
}
@media screen and (max-width: 850px) {
  .contact_form input[type=text],
  .contact_form input[type=email],
  .contact_form input[type=tel],
  .contact_form input[type=url],
  .contact_form select,
  .contact_form textarea {
    padding: 18px 16px;
  }
}
.contact_form input[type=text].wpcf7c-conf,
.contact_form input[type=email].wpcf7c-conf,
.contact_form input[type=tel].wpcf7c-conf,
.contact_form input[type=url].wpcf7c-conf,
.contact_form select.wpcf7c-conf,
.contact_form textarea.wpcf7c-conf {
  background: rgba(255, 255, 255, 0) !important;
  border: 0 !important;
  font-weight: bold;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*Firefox用*/
  text-indent: 0.01px;
  text-overflow: "";
}
.contact_form input[type=text][readonly=readonly]:placeholder-shown,
.contact_form input[type=email][readonly=readonly]:placeholder-shown,
.contact_form input[type=tel][readonly=readonly]:placeholder-shown,
.contact_form input[type=url][readonly=readonly]:placeholder-shown,
.contact_form select[readonly=readonly]:placeholder-shown,
.contact_form textarea[readonly=readonly]:placeholder-shown {
  color: #fff;
}
.contact_form input[type=text][readonly=readonly]::-webkit-input-placeholder,
.contact_form input[type=email][readonly=readonly]::-webkit-input-placeholder,
.contact_form input[type=tel][readonly=readonly]::-webkit-input-placeholder,
.contact_form input[type=url][readonly=readonly]::-webkit-input-placeholder,
.contact_form select[readonly=readonly]::-webkit-input-placeholder,
.contact_form textarea[readonly=readonly]::-webkit-input-placeholder {
  color: #fff;
}
.contact_form input[type=text][readonly=readonly]:-moz-placeholder,
.contact_form input[type=email][readonly=readonly]:-moz-placeholder,
.contact_form input[type=tel][readonly=readonly]:-moz-placeholder,
.contact_form input[type=url][readonly=readonly]:-moz-placeholder,
.contact_form select[readonly=readonly]:-moz-placeholder,
.contact_form textarea[readonly=readonly]:-moz-placeholder {
  opacity: 1;
  color: #fff;
}
.contact_form input[type=text][readonly=readonly]::-moz-placeholder,
.contact_form input[type=email][readonly=readonly]::-moz-placeholder,
.contact_form input[type=tel][readonly=readonly]::-moz-placeholder,
.contact_form input[type=url][readonly=readonly]::-moz-placeholder,
.contact_form select[readonly=readonly]::-moz-placeholder,
.contact_form textarea[readonly=readonly]::-moz-placeholder {
  opacity: 1;
  color: #fff;
}
.contact_form input[type=text][readonly=readonly]:-ms-input-placeholder,
.contact_form input[type=email][readonly=readonly]:-ms-input-placeholder,
.contact_form input[type=tel][readonly=readonly]:-ms-input-placeholder,
.contact_form input[type=url][readonly=readonly]:-ms-input-placeholder,
.contact_form select[readonly=readonly]:-ms-input-placeholder,
.contact_form textarea[readonly=readonly]:-ms-input-placeholder {
  color: #fff;
}
.contact_form input[type=text]:placeholder-shown,
.contact_form input[type=email]:placeholder-shown,
.contact_form input[type=tel]:placeholder-shown,
.contact_form input[type=url]:placeholder-shown,
.contact_form select:placeholder-shown,
.contact_form textarea:placeholder-shown {
  color: var(--base_color02);
}
.contact_form input[type=text]::-webkit-input-placeholder,
.contact_form input[type=email]::-webkit-input-placeholder,
.contact_form input[type=tel]::-webkit-input-placeholder,
.contact_form input[type=url]::-webkit-input-placeholder,
.contact_form select::-webkit-input-placeholder,
.contact_form textarea::-webkit-input-placeholder {
  color: var(--base_color02);
}
.contact_form input[type=text]:-moz-placeholder,
.contact_form input[type=email]:-moz-placeholder,
.contact_form input[type=tel]:-moz-placeholder,
.contact_form input[type=url]:-moz-placeholder,
.contact_form select:-moz-placeholder,
.contact_form textarea:-moz-placeholder {
  opacity: 1;
  color: var(--base_color02);
}
.contact_form input[type=text]::-moz-placeholder,
.contact_form input[type=email]::-moz-placeholder,
.contact_form input[type=tel]::-moz-placeholder,
.contact_form input[type=url]::-moz-placeholder,
.contact_form select::-moz-placeholder,
.contact_form textarea::-moz-placeholder {
  opacity: 1;
  color: var(--base_color02);
}
.contact_form input[type=text]:-ms-input-placeholder,
.contact_form input[type=email]:-ms-input-placeholder,
.contact_form input[type=tel]:-ms-input-placeholder,
.contact_form input[type=url]:-ms-input-placeholder,
.contact_form select:-ms-input-placeholder,
.contact_form textarea:-ms-input-placeholder {
  color: var(--base_color02);
}
.contact_form input[type=text] option,
.contact_form input[type=email] option,
.contact_form input[type=tel] option,
.contact_form input[type=url] option,
.contact_form select option,
.contact_form textarea option {
  font-weight: 500;
}
.contact_form textarea {
  resize: none;
}
.contact_form .wpcf7-form-control-wrap[data-name*=select-] {
  position: relative;
  width: fit-content;
}
.contact_form .wpcf7-form-control-wrap[data-name*=select-]:after {
  content: "▼";
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 100%;
  font-weight: 500;
  font-size: conv_rem(-2);
  background: var(--base_color01);
  border-radius: 0 4px 4px 0;
  pointer-events: none;
}
.contact_form .wpcf7-form-control-wrap[data-name*=select-] select {
  border: 0;
  -webkit-appearance: none;
  appearance: none;
  padding-right: 80px;
  width: auto;
}
@media screen and (max-width: 850px) {
  .contact_form .wpcf7-form-control-wrap[data-name*=select-] select {
    padding-right: 66px;
  }
}
.contact_form .wpcf7-radio,
.contact_form .wpcf7-checkbox {
  display: block;
  padding: 18px 30px;
  font-size: 1rem;
  font-weight: 500;
  background: var(--base_color42);
}
@media screen and (max-width: 850px) {
  .contact_form .wpcf7-radio,
  .contact_form .wpcf7-checkbox {
    padding: 18px 16px;
  }
}
.contact_form .wpcf7-radio.horizontal,
.contact_form .wpcf7-checkbox.horizontal {
  display: flex;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 14px;
}
@media screen and (max-width: 850px) {
  .contact_form .wpcf7-radio.horizontal,
  .contact_form .wpcf7-checkbox.horizontal {
    flex-direction: column;
  }
}
.contact_form .wpcf7-radio.vertical,
.contact_form .wpcf7-checkbox.vertical {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}
.contact_form .wpcf7-radio input,
.contact_form .wpcf7-checkbox input {
  display: none;
}
.contact_form .wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.contact_form .wpcf7-checkbox input:checked + .wpcf7-list-item-label:after {
  content: "";
}
.contact_form .wpcf7-radio .wpcf7-list-item-label,
.contact_form .wpcf7-checkbox .wpcf7-list-item-label {
  display: inline-flex;
  align-items: center;
  position: relative;
  line-height: 1.2;
  padding-left: 30px;
}
.contact_form .wpcf7-radio .wpcf7-list-item-label:before,
.contact_form .wpcf7-checkbox .wpcf7-list-item-label:before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid var(--base_color00);
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.contact_form .wpcf7-radio .wpcf7-list-item-label:after,
.contact_form .wpcf7-checkbox .wpcf7-list-item-label:after {
  content: none;
  position: absolute;
  top: 10px;
  left: 10px;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--base_color00);
}
.contact_form .file_input {
  display: flex;
  column-gap: 20px;
}
@media screen and (max-width: 850px) {
  .contact_form .file_input {
    flex-direction: column;
    row-gap: 14px;
  }
}
.contact_form .file_input button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--base_color01);
  border-radius: 4px;
  font-weight: 500;
  font-size: 1rem;
  width: 160px;
  height: 60px;
}
@media (any-hover: hover) {
  .contact_form .file_input button:hover {
    cursor: pointer;
  }
}
.contact_form .file_input .wpcf7-file {
  display: none;
}
.contact_form .submit_btns {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 50;
}
@media screen and (max-width: 850px) {
  .contact_form .submit_btns {
    flex-direction: column;
    align-items: center;
  }
}
.contact_form .submit_btns button[type=submit],
.contact_form .submit_btns button[type=button] {
  outline: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  border: 0;
  margin: 0 20px;
}
@media screen and (max-width: 850px) {
  .contact_form .submit_btns button[type=submit],
  .contact_form .submit_btns button[type=button] {
    margin: 10px 0;
  }
}
.contact_form .submit_btns button[type=submit]:hover,
.contact_form .submit_btns button[type=button]:hover {
  cursor: pointer;
}
.contact_form .submit_btns button[type=submit].btn_back,
.contact_form .submit_btns button[type=button].btn_back {
  display: none;
}
.contact_form .submit_btns .ajax-loader {
  display: block !important;
  margin: 10px auto !important;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -25px;
}
.contact_form .send_loading {
  display: none;
  text-align: center;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 850px) {
  .contact_form .send_loading {
    bottom: 14px;
  }
}
.contact_form .send_loading img {
  transform: translateY(calc(100% + 10px));
}
.contact_form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--base_color42) inset;
}
.contact_form input.wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--base_color42) inset;
}
.contact_form span.wpcf7-not-valid-tip {
  font-size: 1rem;
  margin-top: 5px;
}
.contact_form .wpcf7-response-output {
  border: 0 !important;
  text-align: center;
  color: #f00;
  padding: 0 0 20px !important;
  margin: auto !important;
  line-height: 1.3 !important;
}
.contact_form .wpcf7-form-control-wrap {
  display: block;
}
.contact_form span.wpcf7-list-item {
  margin: 0;
}
@media screen and (max-width: 850px) {
  .contact_form .wpcf7-radio .wpcf7-list-item,
  .contact_form .wpcf7-checkbox .wpcf7-list-item {
    display: block;
  }
}
.contact_form .wpcf7-custom-item-error {
  display: block;
}
.contact_form .wpcf7-custom-item-error span:nth-child(n+3) {
  display: none;
}
.contact_form .chk_confirm_wrap {
  display: none;
}
.contact_form div.wpcf7-mail-sent-ok {
  display: none !important;
}
.contact_form [data-name=sys_error] input {
  display: none;
}

.confirm form {
  position: relative;
}
.confirm form:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 20;
}
.confirm input[type=text],
.confirm input[type=email],
.confirm input[type=tel],
.confirm input[type=url],
.confirm select,
.confirm textarea {
  background: var(--base_color40) !important;
  border: 0 !important;
  padding: 0;
}
.confirm input[type=text]:placeholder-shown,
.confirm input[type=email]:placeholder-shown,
.confirm input[type=tel]:placeholder-shown,
.confirm input[type=url]:placeholder-shown,
.confirm select:placeholder-shown,
.confirm textarea:placeholder-shown {
  color: transparent;
}
.confirm input[type=text]::-webkit-input-placeholder,
.confirm input[type=email]::-webkit-input-placeholder,
.confirm input[type=tel]::-webkit-input-placeholder,
.confirm input[type=url]::-webkit-input-placeholder,
.confirm select::-webkit-input-placeholder,
.confirm textarea::-webkit-input-placeholder {
  color: transparent;
}
.confirm input[type=text]:-moz-placeholder,
.confirm input[type=email]:-moz-placeholder,
.confirm input[type=tel]:-moz-placeholder,
.confirm input[type=url]:-moz-placeholder,
.confirm select:-moz-placeholder,
.confirm textarea:-moz-placeholder {
  opacity: 1;
  color: transparent;
}
.confirm input[type=text]::-moz-placeholder,
.confirm input[type=email]::-moz-placeholder,
.confirm input[type=tel]::-moz-placeholder,
.confirm input[type=url]::-moz-placeholder,
.confirm select::-moz-placeholder,
.confirm textarea::-moz-placeholder {
  opacity: 1;
  color: transparent;
}
.confirm input[type=text]:-ms-input-placeholder,
.confirm input[type=email]:-ms-input-placeholder,
.confirm input[type=tel]:-ms-input-placeholder,
.confirm input[type=url]:-ms-input-placeholder,
.confirm select:-ms-input-placeholder,
.confirm textarea:-ms-input-placeholder {
  color: transparent;
}
.confirm textarea {
  resize: none;
}
.confirm select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 0 !important;
}
.confirm .wpcf7-form-control-wrap[data-name*=select-]:after {
  content: none;
}
.confirm .wpcf7-radio,
.confirm .wpcf7-checkbox {
  background: var(--base_color40);
  padding: 0;
  display: flex;
}
.confirm .wpcf7-radio.horizontal,
.confirm .wpcf7-checkbox.horizontal {
  column-gap: 0;
  row-gap: 0;
  margin-left: -30px;
}
@media screen and (max-width: 850px) {
  .confirm .wpcf7-radio.horizontal,
  .confirm .wpcf7-checkbox.horizontal {
    margin-top: -14px;
    margin-left: 0;
  }
}
.confirm .wpcf7-radio.horizontal .wpcf7-list-item .wpcf7-list-item-label,
.confirm .wpcf7-checkbox.horizontal .wpcf7-list-item .wpcf7-list-item-label {
  margin-left: 30px;
}
@media screen and (max-width: 850px) {
  .confirm .wpcf7-radio.horizontal .wpcf7-list-item .wpcf7-list-item-label,
  .confirm .wpcf7-checkbox.horizontal .wpcf7-list-item .wpcf7-list-item-label {
    margin-top: 14px;
    margin-left: 0;
  }
}
.confirm .wpcf7-radio.vertical,
.confirm .wpcf7-checkbox.vertical {
  row-gap: 0;
  margin-top: -14px;
}
@media screen and (max-width: 850px) {
  .confirm .wpcf7-radio.vertical,
  .confirm .wpcf7-checkbox.vertical {
    margin-top: -10px;
  }
}
.confirm .wpcf7-radio.vertical .wpcf7-list-item .wpcf7-list-item-label,
.confirm .wpcf7-checkbox.vertical .wpcf7-list-item .wpcf7-list-item-label {
  margin-top: 14px;
}
.confirm .wpcf7-radio .wpcf7-list-item-label,
.confirm .wpcf7-checkbox .wpcf7-list-item-label {
  padding-left: 0;
}
.confirm .wpcf7-radio .wpcf7-list-item-label:before, .confirm .wpcf7-radio .wpcf7-list-item-label:after,
.confirm .wpcf7-checkbox .wpcf7-list-item-label:before,
.confirm .wpcf7-checkbox .wpcf7-list-item-label:after {
  content: none !important;
}
.confirm .wpcf7-radio label,
.confirm .wpcf7-checkbox label {
  margin: 0;
}
.confirm .wpcf7-radio input[type=radio],
.confirm .wpcf7-radio input[type=checkbox],
.confirm .wpcf7-checkbox input[type=radio],
.confirm .wpcf7-checkbox input[type=checkbox] {
  display: none;
}
.confirm .wpcf7-radio input[type=radio] + span,
.confirm .wpcf7-radio input[type=checkbox] + span,
.confirm .wpcf7-checkbox input[type=radio] + span,
.confirm .wpcf7-checkbox input[type=checkbox] + span {
  display: none;
}
.confirm .wpcf7-radio input[type=radio]:checked + span,
.confirm .wpcf7-radio input[type=checkbox]:checked + span,
.confirm .wpcf7-checkbox input[type=radio]:checked + span,
.confirm .wpcf7-checkbox input[type=checkbox]:checked + span {
  display: inline-block;
}
.confirm input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--base_color40) inset !important;
}
.confirm input.wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--base_color40) inset !important;
}
.confirm .conf_msg {
  display: block !important;
}
.confirm .wpcf7-response-output {
  display: none !important;
}
.confirm .file_input button {
  display: none;
}
.confirm .submit_btns button[type=button].btn_back {
  display: block !important;
}

.btn01, .link_btn {
  color: var(--color);
  background: var(--bg);
  text-decoration: none;
  transition: color 0.3s, background 0.3s;
}
@media (any-hover: hover) {
  .btn01:hover, .link_btn:hover {
    color: var(--color_h);
    background: var(--bg_h);
  }
}

.arrow01, .link_btn > span, .arrow0101, .link01 {
  position: relative;
  --arrow_w: 12px;
  --arrow_h: 12px;
  --circle_w: 30px;
}
@media screen and (max-width: 850px) {
  .arrow01, .link_btn > span, .arrow0101, .link01 {
    --circle_w: 32px;
  }
}
.arrow01:before, .link_btn > span:before, .arrow0101:before, .link01:before, .arrow01:after, .link_btn > span:after, .arrow0101:after, .link01:after {
  content: "";
  position: absolute;
  width: var(--circle_w);
  height: var(--circle_w);
  border-radius: 50%;
  transition: opacity 0.3s;
}
.arrow01:before, .link_btn > span:before, .arrow0101:before, .link01:before {
  z-index: 2;
  opacity: 0;
  background: url(../images/icon_arrow02.svg) no-repeat center/var(--arrow_w), var(--arrow_h), linear-gradient(var(--base_color30), var(--base_color30));
}
.arrow01:after, .link_btn > span:after, .arrow0101:after, .link01:after {
  z-index: 1;
  background: url(../images/icon_arrow01.svg) no-repeat center/var(--arrow_w), var(--arrow_h), var(--base_grad_arrow);
}

.arrow0101, .link01 {
  --arrow_w: 12px;
  --arrow_h: 12px;
  --circle_w: 32px;
}
@media (any-hover: hover) {
  .arrow0101:hover:before, .link01:hover:before {
    opacity: 1;
  }
  .arrow0101:hover:after, .link01:hover:after {
    opacity: 0;
  }
}

.link01 {
  text-decoration: none;
  width: 100%;
  padding: 8px;
  border-radius: 6px;
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 0;
  background: #fff;
}
.link01:before, .link01:after {
  top: 0;
  right: 34px;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .link01:before, .link01:after {
    right: 26px;
  }
}
@media (any-hover: hover) {
  .link01:hover > .text:before {
    opacity: 0.5;
  }
}
.link01 .text {
  border: 2px solid #fff;
  border-radius: 4px;
  overflow: hidden;
  padding: 18px 0;
}
@media screen and (max-width: 850px) {
  .link01 .text {
    padding-left: 16px;
  }
}
.link01 .text:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--base_grad01);
  z-index: -3;
  transition: opacity 0.3s;
}
.link01 .text .h_title {
  row-gap: 6px;
}
@media screen and (max-width: 850px) {
  .link01 .text .h_title {
    row-gap: 4px;
    align-items: flex-start;
  }
}
.link01 .text .h_title .en {
  font-size: 2.5rem;
}
@media screen and (max-width: 850px) {
  .link01 .text .h_title .en {
    font-size: 2rem;
  }
}
.link01 .text .h_title .jp {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .link01 .text .h_title .jp {
    font-size: 0.9375rem;
  }
}

.icon_circle {
  position: relative;
  width: var(--circle_w);
  height: var(--circle_w);
  border-radius: 50%;
  background: url(../images/circle_bg01.webp) no-repeat center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.icon_circle:before {
  content: "";
  width: calc(100% - var(--border_width) * 2);
  height: calc(100% - var(--border_width) * 2);
  background: #fff;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.tc03 {
  color: var(--base_color30);
}

.h_title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.h_title .en {
  font-weight: 800;
  color: var(--base_color10);
  font-family: "Montserrat", sans-serif;
}
.h_title .jp {
  font-weight: 700;
  color: var(--base_color12);
}

.frame_anim {
  position: relative;
  min-height: 0;
  overflow: hidden;
}
.frame_anim .frames {
  display: flex;
  flex-direction: column;
}
.frame_anim .frames img {
  vertical-align: baseline;
}

.bg_text {
  --bg_color: var(--base_color10);
  line-height: 1;
}
.bg_text > span {
  display: block;
  width: fit-content;
  background: var(--bg_color);
  color: #fff;
  font-weight: 700;
}

.bg_text02 {
  --bg_color: var(--base_color10);
  line-height: 1;
  background-image: linear-gradient(var(--bg_color), var(--bg_color));
  background-repeat: no-repeat;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
  padding: 0.01em 0.4em 0.14em;
  color: #fff;
}

.link_btn {
  z-index: 0;
  width: 300px;
  height: 64px;
  display: flex;
  align-items: center;
  padding-left: 24px;
  font-size: 1rem;
  font-weight: 700;
  background: none !important;
  position: relative;
  z-index: 0;
  --color: var(--base_color30);
  --color_h: var(--base_color10);
  --bg: var(--base_btn_bg);
  --bg_h: linear-gradient(var(--base_color30), var(--base_color30));
  --circle_w: 30px;
  --arrow_url: var(--base_btn_arrow);
}
@media (any-hover: hover) {
  .link_btn:hover:before {
    opacity: 1;
  }
}
.link_btn:before, .link_btn:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 32px;
  transition: opacity 0.3s;
}
.link_btn:before {
  z-index: -1;
  opacity: 0;
  left: -1px;
  width: calc(100% + 2px);
  background: var(--bg_h);
}
.link_btn:after {
  z-index: -2;
  opacity: 1;
  width: 100%;
  background: var(--bg);
}
.link_btn > span {
  position: static;
}
.link_btn > span:after {
  top: 0;
  right: 17px;
  bottom: 0;
  margin: auto;
  z-index: 5;
  background: var(--arrow_url) no-repeat center/var(--arrow_w), var(--arrow_h), linear-gradient(#fff, #fff);
}
.link_btn.rev {
  padding-right: 24px;
  padding-left: 0;
  text-align: right;
}
.link_btn.rev > span:after {
  right: auto;
  left: 17px;
  transform: rotate(180deg);
}

.list.circle > li {
  --dot_color: var(--base_color11);
  padding-left: 0.9em;
}
.list.circle > li:before {
  font-size: 0.625rem;
  color: var(--dot_color);
  top: 6px;
}
@media screen and (max-width: 850px) {
  .list.circle > li:before {
    top: 5px;
  }
}

.sub_main_visual {
  width: 100%;
  padding-top: 160px;
  position: relative;
  z-index: 0;
  margin-bottom: 80px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgb(255, 255, 255) 100%), var(--base_grad02);
}
@media screen and (max-width: 850px) {
  .sub_main_visual {
    padding-top: 120px;
    margin-bottom: 28px;
    min-height: 0;
  }
}
.sub_main_visual:before {
  content: "";
  width: 100%;
  height: 2000px;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 50%;
  transform: translate3d(-50%, calc(100% - 60px), 0);
  background: url(../images/sub_main_visual_bg.webp) no-repeat center top/max(1800px, 131.77%) 947px;
}
@media screen and (max-width: 850px) {
  .sub_main_visual:before {
    transform: translate3d(-50%, calc(100% - 53px), 0);
    background-image: url(../images/sub_main_visual_bg_sp.webp);
    background-size: max(500px, 131.77%) auto;
  }
}
.sub_main_visual .auto_scroll {
  position: absolute;
  z-index: -1;
  top: 170px;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 850px) {
  .sub_main_visual .auto_scroll {
    top: 138px;
  }
}
.sub_main_visual .auto_scroll .items {
  /*--anim_time: 70s;*/
  --anim_time: 50s;
  --line_gap: 0.7em;
}
.sub_main_visual .auto_scroll .items .item {
  font-weight: 800;
  font-size: 6.25rem;
  color: rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 850px) {
  .sub_main_visual .auto_scroll .items .item {
    font-size: 3rem;
  }
}
.sub_main_visual .h_title {
  row-gap: 10px;
  text-align: center;
  margin-bottom: 50px;
  padding: 0 var(--base_container_pad);
}
@media screen and (max-width: 850px) {
  .sub_main_visual .h_title {
    row-gap: 6px;
    margin-bottom: 28px;
  }
}
.sub_main_visual .h_title .en {
  font-size: 4rem;
}
@media screen and (max-width: 850px) {
  .sub_main_visual .h_title .en {
    font-size: 2.375rem;
  }
}
.sub_main_visual .h_title .jp {
  font-size: 1.5rem;
}
@media screen and (max-width: 850px) {
  .sub_main_visual .h_title .jp {
    font-size: 1rem;
  }
}
.sub_main_visual .icon_circle {
  --circle_w: 140px;
  --border_width: 6px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sub_main_visual .icon_circle {
    --circle_w: 110px;
    --border_width: 4px;
  }
}
.sub_main_visual .icon_circle .frame_anim {
  width: 100%;
  height: 100%;
}
.sub_main_visual .icon_circle .frame_anim .frames {
  animation: sub_main_visual_icon_anim 2.9s step-end infinite;
}

.lead_text {
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  line-height: 2;
  max-width: 720px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 850px) {
  .lead_text {
    font-size: 1rem;
    line-height: 1.875;
    margin-bottom: 30px;
  }
}

.page_links {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 20px;
  max-width: 940px;
  margin: auto;
}
@media screen and (max-width: 1030px) {
  .page_links {
    max-width: 620px;
  }
}
@media screen and (max-width: 850px) {
  .page_links {
    flex-direction: column;
    align-items: center;
    row-gap: 12px;
    max-width: 400px;
  }
}
.page_links.type02 {
  max-width: 620px;
}
.page_links a {
  max-width: 300px;
  height: 44px;
  --color: var(--base_color10);
  --bg: var(--base_grad01);
}
.page_links a > span {
  --circle_w: 24px;
  --arrow_w: 10px;
  --arrow_h: 9px;
}
.page_links a > span:after {
  transform: rotate(90deg);
}

.photo_bg_content {
  background: url(../images/photo_bg_content_image.webp) no-repeat center/cover;
}

.panel_content {
  background: var(--base_color40);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  display: block;
}
.panel_content:before, .panel_content:after {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  box-sizing: border-box;
}
.panel_content:before {
  content: "";
  height: 6px;
  background: var(--base_grad01);
  z-index: -2;
}
@media screen and (max-width: 850px) {
  .panel_content:before {
    height: 4px;
  }
}
.panel_content:after {
  height: 100%;
  border: 6px solid var(--base_color30);
  border-radius: 6px;
  z-index: -1;
  opacity: 0;
}
@media screen and (max-width: 850px) {
  .panel_content:after {
    border-width: 4px;
  }
}

.panel_content_link {
  display: block;
  text-decoration: none;
  color: var(--base_color00);
  position: relative;
  visibility: hidden;
}
.panel_content_link.show {
  visibility: visible !important;
  animation: flip_panel 0.5s;
}
.panel_content_link .panel_content:after {
  content: "";
}
@media (any-hover: hover) {
  .panel_content_link:hover .panel_content:before {
    opacity: 0;
  }
  .panel_content_link:hover .panel_content:after {
    opacity: 1;
  }
}

.box_content, .sec_contact .contact_form {
  background: var(--base_color40);
  border-radius: 10px;
  padding: 50px 50px 60px;
}
@media screen and (max-width: 850px) {
  .box_content, .sec_contact .contact_form {
    padding: 30px 15px;
  }
}

.contact_link {
  --arrow_w: 28px;
  --arrow_h: 30px;
  --circle_w: 80px;
  padding: 12px;
}
@media screen and (max-width: 1030px) {
  .contact_link {
    --arrow_w: 20px;
    --arrow_h: 21px;
    --circle_w: 50px;
  }
}
@media screen and (max-width: 850px) {
  .contact_link {
    --arrow_w: 12px;
    --arrow_h: 12px;
    --circle_w: 32px;
    padding: 8px;
    max-width: 500px;
    margin: auto;
  }
}
.contact_link:before, .contact_link:after {
  right: 60px;
}
@media screen and (max-width: 1030px) {
  .contact_link:before, .contact_link:after {
    right: 40px;
  }
}
@media screen and (max-width: 850px) {
  .contact_link:before, .contact_link:after {
    top: 91px;
    right: 27px;
  }
}
.contact_link .text {
  padding: 34px 0 35px;
}
@media screen and (max-width: 850px) {
  .contact_link .text {
    padding: 30px 26px 30px 14px;
  }
}
.contact_link .text .title {
  row-gap: 12px;
}
@media screen and (max-width: 850px) {
  .contact_link .text .title {
    align-items: center;
    row-gap: 8px;
  }
}
.contact_link .text .title .en {
  font-size: 3.5rem;
}
@media screen and (max-width: 850px) {
  .contact_link .text .title .en {
    font-size: 2.25rem;
  }
}
.contact_link .text .title .jp {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .contact_link .text .title .jp {
    font-size: 1rem;
  }
}
.contact_link .text p {
  text-align: center;
  color: var(--base_color10);
  line-height: 1.78;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 33px;
}
@media screen and (max-width: 850px) {
  .contact_link .text p {
    font-size: 1rem;
    line-height: 1.5;
    text-align: justify;
    padding-right: 45px;
  }
}

.link_slide {
  margin-bottom: 175px;
}
@media screen and (max-width: 850px) {
  .link_slide {
    margin-bottom: 128px;
  }
}
.link_slide .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 480px;
  height: 320px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide {
    width: 300px;
    height: 200px;
  }
}
.link_slide .splide__slide.is-active {
  margin: 0;
}
.link_slide .splide__slide.is-active a .image img {
  transform: scale(2.1333333333);
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide.is-active a .image img {
    transform: scale(1.3333333333);
  }
}
.link_slide .splide__slide.is-active .text {
  opacity: 1;
  transition: opacity 0.3s;
  transition-delay: 0.5s;
}
.link_slide .splide__slide.is-prev a, .link_slide .splide__slide.is-next a {
  z-index: 15;
  transition: transform 0.3s;
}
.link_slide .splide__slide.is-left a {
  right: calc(var(--adj_pos) * (var(--distance) - 1));
  transform: translateX(calc(var(--adj_pos) / 2 * -1));
}
.link_slide .splide__slide.is-right a {
  left: calc(var(--adj_pos) * (var(--distance) - 1));
  transform: translateX(calc(var(--adj_pos) / 2));
}
.link_slide .splide__slide a {
  display: block;
  position: relative;
  z-index: 10;
  --adj_pos: calc(225px - 480px);
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide a {
    --adj_pos: calc(225px - 300px);
  }
}
.link_slide .splide__slide a .image {
  display: flex;
  align-items: center;
}
.link_slide .splide__slide a .image img {
  aspect-ratio: 480/320;
  object-position: center;
  object-fit: cover;
  width: 225px;
  transition: transform 0.7s;
}
.link_slide .splide__slide .text {
  position: absolute;
  bottom: 30px;
  left: 30px;
  opacity: 0;
  z-index: 20;
  pointer-events: none;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide .text {
    bottom: 10px;
    left: 10px;
  }
}
.link_slide .splide__slide .text > span {
  --col_gap: 20px;
  padding: 4px 9px 6px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  column-gap: var(--col_gap);
  font-weight: 700;
  background-color: var(--group_color01);
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide .text > span {
    --col_gap: 16px;
    padding: 3px 7px 5px;
  }
}
.link_slide .splide__slide .text > span .jp {
  position: relative;
  font-size: 1.375rem;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide .text > span .jp {
    font-size: 1.125rem;
  }
}
.link_slide .splide__slide .text > span .jp:before {
  content: "";
  position: absolute;
  right: calc(var(--col_gap) / 2 * -1);
  bottom: 0px;
  margin: auto;
  width: 2px;
  height: 18px;
  background: #fff;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide .text > span .jp:before {
    height: 14px;
    width: 1px;
  }
}
.link_slide .splide__slide .text > span .en {
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__slide .text > span .en {
    font-size: 0.625rem;
  }
}
.link_slide .splide__arrow {
  --arrow_w: 14px;
  --arrow_h: 15px;
  --circle_w: 40px;
  position: absolute;
  background: none;
  width: var(--circle_w);
  height: var(--circle_w);
  opacity: 1;
  outline: none;
  top: auto;
  transform: unset;
  bottom: -95px;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__arrow {
    bottom: -88px;
  }
}
.link_slide .splide__arrow.splide__arrow--prev {
  left: calc(50% - 50px);
  transform: rotate(180deg);
}
.link_slide .splide__arrow.splide__arrow--next {
  right: calc(50% - 50px);
}
.link_slide .splide__arrow svg {
  display: none;
}
.link_slide .splide__pagination {
  bottom: -32px;
  column-gap: 10px;
}
@media screen and (max-width: 850px) {
  .link_slide .splide__pagination {
    bottom: -25px;
    column-gap: 13px;
  }
}
.link_slide .splide__pagination li button {
  background: #fff;
  width: 8px;
  height: 8px;
  display: block;
  margin: 0;
  transform: scale(1);
  opacity: 1;
}
.link_slide .splide__pagination li button.is-active {
  background: var(--base_color30);
}

.notice {
  color: var(--base_color02);
  font-weight: 700;
  font-size: 0.875rem;
  margin-top: 10px;
}
.notice li {
  line-height: 1.44;
}

.group01 {
  --group_color01: var(--group01_color01);
  --group_color02: var(--group01_color02);
  --group_color03: var(--group01_color03);
  --group_color04: var(--group01_color04);
  --group_color05: var(--group01_color05);
  --group_list_arrow_bg: var(--group01_list_arrow_bg);
  --group_list_dot: var(--group01_list_dot);
  --group_btn_bg: var(--group01_btn_bg);
  --group_btn_arrow: var(--group01_btn_arrow);
  --group_clock: var(--group01_clock);
}

.group02 {
  --group_color01: var(--group02_color01);
  --group_color02: var(--group02_color02);
  --group_color03: var(--group02_color03);
  --group_color04: var(--group02_color04);
  --group_list_arrow_bg: var(--group02_list_arrow_bg);
  --group_list_dot: var(--group02_list_dot);
  --group_btn_bg: var(--group02_btn_bg);
  --group_btn_arrow: var(--group02_btn_arrow);
  --group_clock: var(--group02_clock);
}

.group03 {
  --group_color01: var(--group03_color01);
  --group_color02: var(--group03_color02);
  --group_color03: var(--group03_color03);
  --group_color04: var(--group03_color04);
  --group_list_arrow_bg: var(--group03_list_arrow_bg);
  --group_list_dot: var(--group03_list_dot);
  --group_btn_bg: var(--group03_btn_bg);
  --group_btn_arrow: var(--group03_btn_arrow);
  --group_clock: var(--group03_clock);
}

.group04 {
  --group_color01: var(--group04_color01);
  --group_color02: var(--group04_color02);
  --group_color03: var(--group04_color03);
  --group_color04: var(--group04_color04);
  --group_list_arrow_bg: var(--group04_list_arrow_bg);
  --group_list_dot: var(--group04_list_dot);
  --group_btn_bg: var(--group04_btn_bg);
  --group_btn_arrow: var(--group04_btn_arrow);
  --group_clock: var(--group04_clock);
}

.group05 {
  --group_color01: var(--group05_color01);
  --group_color02: var(--group05_color02);
  --group_color03: var(--group05_color03);
  --group_color04: var(--group05_color04);
  --group_list_arrow_bg: var(--group05_list_arrow_bg);
  --group_list_dot: var(--group05_list_dot);
  --group_btn_bg: var(--group05_btn_bg);
  --group_btn_arrow: var(--group05_btn_arrow);
  --group_clock: var(--group05_clock);
}

.group06 {
  --group_color01: var(--group06_color01);
  --group_color02: var(--group06_color02);
  --group_color03: var(--group06_color03);
  --group_color04: var(--group06_color04);
  --group_list_arrow_bg: var(--group06_list_arrow_bg);
  --group_list_dot: var(--group06_list_dot);
  --group_btn_bg: var(--group06_btn_bg);
  --group_btn_arrow: var(--group06_btn_arrow);
  --group_clock: var(--group06_clock);
}

.group07 {
  --group_color01: var(--group07_color01);
  --group_color02: var(--group07_color02);
  --group_color03: var(--group07_color03);
  --group_color04: var(--group07_color04);
  --group_list_arrow_bg: var(--group07_list_arrow_bg);
  --group_list_dot: var(--group07_list_dot);
  --group_btn_bg: var(--group07_btn_bg);
  --group_btn_arrow: var(--group07_btn_arrow);
  --group_clock: var(--group07_clock);
}

.group_list .group {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 850px) {
  .group_list .group {
    flex-direction: column;
  }
}
.group_list .group .group_name {
  width: 400px;
  height: 100vh;
  position: sticky;
  top: 0;
  left: 0;
  background: var(--group_color02);
  padding: 130px 30px 0;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .group_list .group .group_name {
    width: 300px;
  }
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name {
    position: relative;
    width: 100%;
    height: 190px;
    padding: 0 var(--base_container_pad) 20px;
  }
}
.group_list .group .group_name .name_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    align-content: center;
    row-gap: 5px;
    max-width: 350px;
    margin: auto;
  }
}
.group_list .group .group_name .name_wrap h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: 15px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap h2 {
    row-gap: 11px;
    align-items: flex-start;
  }
}
.group_list .group .group_name .name_wrap h2 .jp {
  font-size: 2.25rem;
}
@media screen and (max-width: 1200px) {
  .group_list .group .group_name .name_wrap h2 .jp {
    font-size: 2rem;
  }
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap h2 .jp {
    font-size: 1.75rem;
  }
}
.group_list .group .group_name .name_wrap h2 .en {
  font-size: 1rem;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap h2 .en {
    font-size: 0.75rem;
  }
}
.group_list .group .group_name .name_wrap h2 .sub {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap h2 .sub {
    font-size: 0.75rem;
  }
}
.group_list .group .group_name .name_wrap hr {
  border: 0;
  margin: 40px 0;
  height: 2px;
  width: 100%;
  background: var(--base_color30);
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap hr {
    order: 2;
    margin: 0;
  }
}
.group_list .group .group_name .name_wrap .icon {
  width: 160px;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .name_wrap .icon {
    width: 72px;
  }
}
@media screen and (max-width: 360px) {
  .group_list .group .group_name .name_wrap .icon {
    width: 60px;
  }
}
.group_list .group .group_name .auto_scroll {
  --line_gap: 0.5em;
  position: absolute;
  top: 0;
  left: -0.12em;
  transform: translateY(-100%) rotate(90deg);
  transform-origin: 0 100%;
  z-index: -1;
  font-weight: 700;
  font-size: 6.25rem;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_name .auto_scroll {
    transform: none;
    top: auto;
    left: 0;
    bottom: -0.12em;
    font-size: 2.5rem;
  }
}
.group_list .group .group_name .auto_scroll .line {
  color: rgba(255, 255, 255, 0.2);
}
.group_list .group .group_content {
  flex: 1;
  background: var(--base_color40);
  border-top: 10px solid var(--group_color02);
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_content {
    flex: none;
    width: 100%;
    border-top: 0;
  }
}
.group_list .group .group_content .container {
  max-width: calc(894px + var(--base_container_pad) * 2);
}
.group_list .group .group_content .content {
  padding: 80px 0 160px;
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_content .content {
    padding: 30px 0 60px;
    row-gap: 30px;
  }
}
.group_list .group .group_content .content p {
  font-weight: 500;
  line-height: 1.875;
}
.group_list .group .group_content .content .images {
  display: flex;
  column-gap: 20px;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_content .content .images {
    column-gap: 9px;
  }
}
.group_list .group .group_content .content .images .image {
  flex: 1;
}
.group_list .group .group_content .content .images .image img {
  border-radius: 10px;
}
@media screen and (max-width: 850px) {
  .group_list .group .group_content .content .images .image img {
    border-radius: 6px;
  }
}

.sec_linear_bg {
  position: relative;
  z-index: 0;
}
.sec_linear_bg:after {
  content: "";
  width: 100%;
  height: 600px;
  background: var(--base_grad03);
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  opacity: 0.5;
}

.sec_contact {
  padding-bottom: 160px;
}
@media screen and (max-width: 850px) {
  .sec_contact {
    padding-bottom: 60px;
  }
}
.sec_contact.confirm .contact_form form:before {
  content: none !important;
}
.sec_contact.confirm .contact_form .content .req,
.sec_contact.confirm .contact_form .content .any {
  display: none;
}
.sec_contact.confirm .contact_form .content .input_list {
  row-gap: 0;
}
.sec_contact.confirm .contact_form .content .input_list dl {
  padding: 30px 20px;
  column-gap: 56px;
  display: flex;
  border-bottom: 1px solid var(--base_color41);
}
@media screen and (max-width: 850px) {
  .sec_contact.confirm .contact_form .content .input_list dl {
    padding: 15px 0;
    flex-direction: column;
    row-gap: 10px;
  }
}
.sec_contact.confirm .contact_form .content .input_list dl:first-child {
  border-top: 1px solid var(--base_color41);
}
.sec_contact.confirm .contact_form .content .input_list dl.privacy_policy {
  display: none;
}
.sec_contact.confirm .contact_form .content .input_list dl dt {
  width: 220px;
  padding-top: 2px;
  margin-bottom: 0;
  position: relative;
  z-index: 5;
}
.sec_contact.confirm .contact_form .content .input_list dl dt .notice {
  display: none;
}
.sec_contact.confirm .contact_form .content .input_list dl dd {
  flex: 1;
}
.sec_contact.confirm .contact_form .content .input_list dl dd.current_status {
  row-gap: 0;
}
.sec_contact.confirm .contact_form .content .input_list dl dd .dd_text_t {
  display: none;
}
.sec_contact.confirm .contact_form .content .input_list dl dd .wrap_c > [data-class=wpcf7cf_group] {
  padding: 0;
}
.sec_contact.confirm .contact_form .content .input_list dl dd .wrap_c > .wrap_r {
  margin-top: 14px;
}
.sec_contact.confirm .contact_form .content .input_list dl dd .wrap_c .wrap_r .wrap_t {
  width: 100%;
}
.sec_contact.confirm .contact_form .content .input_list dl dd .wrap_c .wrap_r .wrap_t > .t {
  display: none;
}
.sec_contact.confirm .contact_form .content .submit_btns {
  margin-top: 60px;
}
.sec_contact .contact_form .content {
  display: flex;
  flex-direction: column;
  row-gap: 100px;
}
@media screen and (max-width: 850px) {
  .sec_contact .contact_form .content {
    row-gap: 60px;
  }
}
.sec_contact .contact_form .content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--group02_color02);
  display: flex;
  align-items: center;
  column-gap: 10px;
  margin-bottom: 30px;
}
@media screen and (max-width: 850px) {
  .sec_contact .contact_form .content h3 {
    margin-bottom: 20px;
  }
}
.sec_contact .contact_form .content h3:before {
  content: "";
  width: 40px;
  height: 2px;
  background: var(--group02_color02);
}
.sec_contact .contact_form .content .req,
.sec_contact .contact_form .content .any {
  width: 50px;
  height: 24px;
  border-radius: 4px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sec_contact .contact_form .content .req {
  background: var(--group02_color02);
}
.sec_contact .contact_form .content .req:before {
  content: "必須";
}
.sec_contact .contact_form .content .any {
  background: var(--base_color00);
}
.sec_contact .contact_form .content .any:before {
  content: "任意";
}
.sec_contact .contact_form .content .w01 {
  width: 300px;
}
.sec_contact .contact_form .content .input_list {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_contact .contact_form .content .input_list {
    row-gap: 20px;
  }
}
.sec_contact .contact_form .content .input_list dl dt {
  display: block;
  color: var(--group_color02);
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 10px;
}
.sec_contact .contact_form .content .input_list dl dt .req,
.sec_contact .contact_form .content .input_list dl dt .any {
  margin-right: 12px;
}
.sec_contact .contact_form .content .input_list dl dd.current_status {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}
.sec_contact .contact_form .content .input_list dl dd .dd_text_t {
  margin-bottom: 14px;
  line-height: 1.4;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c > [data-class=wpcf7cf_group] {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  row-gap: 14px;
  padding-bottom: 36px;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c > .wrap_r {
  margin-top: 14px;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c > .wrap_r:first-child {
  margin-top: 0;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c .wrap_r {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 14px;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c .wrap_r .wrap_t {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 10px;
}
.sec_contact .contact_form .content .input_list dl dd .wrap_c .wrap_r .wrap_t > .t {
  flex-shrink: 0;
  padding-top: 22px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text {
  background: var(--base_color42);
  padding: 30px;
  height: 240px;
  overflow: auto;
  line-height: 1.625;
  margin-bottom: 40px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text::-webkit-scrollbar-thumb:hover {
  background: #555;
}
@media screen and (max-width: 850px) {
  .sec_contact .contact_form .content .privacy_policy .privacy_policy_text {
    padding: 20px;
  }
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text h4 {
  font-weight: 700;
  font-size: 1rem;
  margin-top: 20px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text h4.top {
  font-size: 1.125rem;
  margin-top: 0;
  margin-bottom: 30px;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text .list.num_paren {
  display: flex;
  flex-direction: column;
  row-gap: 1em;
}
.sec_contact .contact_form .content .privacy_policy .privacy_policy_text .list.num_paren > li > span {
  font-size: 1rem;
  font-weight: 700;
}
.sec_contact .contact_form .content .privacy_policy [data-name=privacy_policy] {
  text-align: center;
}
.sec_contact .contact_form .content .privacy_policy .wpcf7-checkbox {
  text-align: center;
  padding: 0;
  background: none;
}
.sec_contact .contact_form .content .privacy_policy .wpcf7-checkbox input {
  display: inline-block;
}
.sec_contact .contact_form .content .privacy_policy .wpcf7-checkbox .wpcf7-list-item-label {
  padding-left: 0;
}
.sec_contact .contact_form .content .privacy_policy .wpcf7-checkbox .wpcf7-list-item-label:before, .sec_contact .contact_form .content .privacy_policy .wpcf7-checkbox .wpcf7-list-item-label:after {
  content: none;
}
.sec_contact .contact_form .content .submit_btns {
  margin: 26px auto 0;
}
.sec_contact .contact_form .content .submit_btns .link_btn {
  width: 260px;
}
.sec_contact .contact_form .content .submit_btns .link_btn.btn_back {
  --bg: var(--base_btn_bg02);
  --bg_h: var(--base_color21);
  --arrow_url: url(../images/icon_arrow_normal.svg);
  --color: var(--base_color00);
  --color_h: var(--base_color00);
}
.sec_contact .contact_form .content .submit_btns .link_btn.btn_send {
  --bg: var(--group_btn_bg);
  --arrow_url: var(--group_btn_arrow);
}

.sec_thanks {
  padding-bottom: 160px;
}
@media screen and (max-width: 850px) {
  .sec_thanks {
    padding-bottom: 60px;
  }
}
.sec_thanks h2 {
  color: var(--group02_color02);
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 30px;
}
.sec_thanks p {
  font-weight: 500;
  width: fit-content;
  max-width: 656px;
  margin: auto;
  font-weight: 500;
}
.sec_thanks p.p01 {
  line-height: 1.875;
  text-align: center;
}
.sec_thanks hr {
  margin: 40px 0;
  border: 0;
  width: 100%;
  height: 2px;
  background: var(--base_color41);
}
.sec_thanks .link_btn {
  margin: 60px auto 0;
  max-width: 260px;
}
@media screen and (max-width: 850px) {
  .sec_thanks .link_btn {
    margin-top: 30px;
  }
}

.modal {
  display: none;
}
.modal.is-open {
  display: block;
}
.modal[aria-hidden=false] .modal_overlay {
  animation: modalfadeIn 0.3s ease;
}
.modal[aria-hidden=true] .modal_overlay {
  animation: modalfadeOut 0.3s ease;
}
.modal .modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes modalfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modalfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.auto_scroll {
  overflow: hidden;
}
.auto_scroll .items {
  display: flex;
  animation: marquee var(--anim_time) linear infinite;
  white-space: nowrap;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  contain: layout paint;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.auto_scroll .items .item {
  display: flex;
  flex-shrink: 0;
}
.auto_scroll .items .item .line {
  padding-right: var(--line_gap);
  flex-shrink: 0;
}
.auto_scroll.vertical.rev .items {
  animation-name: marquee_vertical_rev;
}
.auto_scroll.vertical .items {
  flex-direction: column;
  animation-name: marquee_vertical;
  width: auto;
  height: max-content;
}
.auto_scroll.vertical .items .item {
  flex-direction: column;
  padding-right: 0;
  padding-bottom: var(--line_gap);
}

@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
@keyframes marquee_vertical {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, -50%, 0);
  }
}
@keyframes marquee_vertical_rev {
  0% {
    transform: translate3d(0, -50%, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes flip_panel {
  0% {
    opacity: 0;
    transform: rotateY(70deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(0);
  }
}
@keyframes sub_main_visual_icon_anim {
  0% {
    transform: translateY(0);
  }
  17.2413793103% {
    transform: translateY(-16.6666666667%);
  }
  20.6896551724% {
    transform: translateY(-33.3333333333%);
  }
  24.1379310345% {
    transform: translateY(-50%);
  }
  27.5862068966% {
    transform: translateY(-66.6666666667%);
  }
  31.0344827586% {
    transform: translateY(-83.3333333333%);
  }
}
.top_main_visual {
  width: 100%;
  height: 100vh;
  /*background: url(../images/loading_logo.svg) no-repeat center;*/
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .top_main_visual {
    background-size: 70px;
  }
}
@media screen and (max-width: 850px) {
  .top_main_visual {
    height: auto;
  }
}
.top_main_visual .scroll_visual {
  position: relative;
  height: calc(100% - 213px);
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual {
    height: auto;
    max-height: 440px;
  }
  .top_main_visual .scroll_visual:before {
    content: "";
    display: block;
    padding-top: 117.3333333333%;
  }
}
.top_main_visual .scroll_visual .cols {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}
.top_main_visual .scroll_visual .cols .col {
  flex: 1;
  overflow: hidden;
  visibility: hidden;
}
.top_main_visual .scroll_visual .cols .col.col01 {
  --translate_value: 100px;
}
.top_main_visual .scroll_visual .cols .col.col02 {
  --translate_value: -100px;
}
.top_main_visual .scroll_visual .cols .col.col03 {
  --translate_value: 100px;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .cols .col.col03 {
    display: none;
  }
}
.top_main_visual .scroll_visual .cols .col .image {
  position: relative;
}
.top_main_visual .scroll_visual .cols .col .image.sp {
  display: none;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .cols .col .image.sp {
    display: block;
  }
}
.top_main_visual .scroll_visual .cols .col .image img {
  width: 100%;
  aspect-ratio: 456/180;
  vertical-align: bottom;
  object-position: center;
  object-fit: cover;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .cols .col .image img {
    aspect-ratio: 187.5/110;
  }
}
.top_main_visual .scroll_visual .cols .col .auto_scroll {
  /*--anim_time: 45s;*/
  --anim_time: 25s;
  --line_gap: 0;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .cols .col .auto_scroll {
    /*--anim_time: 60s;*/
    --anim_time: 40s;
  }
}
.top_main_visual .scroll_visual .title_text {
  position: absolute;
  right: 0;
  bottom: 50px;
  left: 0;
  max-width: calc(var(--base_container_width) + 224px + var(--base_container_pad) * 2);
  width: 100%;
  padding: 0 var(--base_container_pad);
  margin: auto;
  visibility: hidden;
  --translate_value: -100px;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .title_text {
    bottom: 16px;
  }
}
.top_main_visual .scroll_visual .title_text span {
  font-size: 1.5rem;
  padding: 8px 10px;
}
@media screen and (max-width: 850px) {
  .top_main_visual .scroll_visual .title_text span {
    font-size: 1.125rem;
    padding: 4px 10px;
    line-height: 1.33;
  }
}
.top_main_visual .scroll_info {
  width: 100%;
  height: 194px;
  display: flex;
  align-items: center;
  margin-top: 17px;
  position: relative;
  z-index: 0;
  visibility: hidden;
  --translate_value: 100px;
}
.top_main_visual .scroll_info .as01 {
  /* 情報 */
  /*--anim_time: 70s;*/
  --anim_time: 60s;
  --line_gap: 30px;
  position: relative;
  z-index: 0;
}
.top_main_visual .scroll_info .as01 .info_list {
  display: flex;
  column-gap: var(--line_gap);
}
.top_main_visual .scroll_info .as01 .info_list > li h3 {
  color: var(--base_color30);
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: 700;
}
.top_main_visual .scroll_info .as01 .info_list > li .box {
  background: #fff;
  display: flex;
  align-items: center;
  column-gap: 16px;
  padding: 8px 16px;
  height: 72px;
}
.top_main_visual .scroll_info .as01 .info_list > li .box .detail {
  font-weight: 700;
  font-size: 1.125rem;
  display: flex;
  align-items: flex-end;
  color: var(--base_color10);
}
.top_main_visual .scroll_info .as01 .info_list > li .box .detail span {
  font-family: "Montserrat", sans-serif;
  font-size: 4rem;
  line-height: 0.7;
}
.top_main_visual .scroll_info .as01 .info_list > li .box .image .webp {
  zoom: 0.5;
}
.top_main_visual .scroll_info .as02 {
  /* 切り抜き写真 */
  /*--anim_time: 130s;*/
  --anim_time: 120s;
  --line_gap: 344px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  padding-top: 6px;
}
.top_main_visual .scroll_info .as02 .image img {
  zoom: 0.5;
}
.top_main_visual .scroll_info .as03 {
  /* 背景テキスト */
  /*--anim_time: 30s;*/
  --anim_time: 20s;
  --line_gap: 200px;
  position: absolute;
  width: 100%;
  height: 100%;
  top: -23px;
  left: 0;
  z-index: -1;
}
.top_main_visual .scroll_info .as03 .line {
  font-size: 6.25rem;
  font-weight: 700;
  color: #fff;
  opacity: 0.2;
}

.top_bg_wrap {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.top_bg_wrap:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 2380px;
  height: 1767px;
  background: url(../images/logo_bg_image.svg) no-repeat center/contain;
}
@media screen and (max-width: 850px) {
  .top_bg_wrap:before {
    top: 45px;
    width: 2000px;
    height: 1486px;
  }
}

.sec_top.sec01 {
  padding: 170px 0 93px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 {
    padding: 130px 0 30px;
  }
}
.sec_top.sec01 .image_text {
  display: flex;
  align-items: center;
  column-gap: 48px;
  padding-right: calc(var(--base_the_rest_of_container_half));
  margin-bottom: 60px;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text {
    flex-direction: column;
    row-gap: 20px;
    margin-bottom: 30px;
  }
}
.sec_top.sec01 .image_text .image {
  flex: 1;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text .image {
    flex: none;
    width: 100%;
    padding-right: var(--base_container_pad);
  }
}
.sec_top.sec01 .image_text .image .splide {
  overflow: hidden;
  border-radius: 0 10px 10px 0;
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text .image .splide {
    border-radius: 0 6px 6px 0;
  }
}
.sec_top.sec01 .image_text .text {
  flex: 1;
  max-width: 545px;
}
@media screen and (max-width: 1030px) {
  .sec_top.sec01 .image_text .text {
    padding-right: var(--base_container_pad);
  }
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text .text {
    flex: none;
    width: 100%;
    padding-left: var(--base_container_pad);
  }
}
.sec_top.sec01 .image_text .text p {
  color: #fff;
  font-weight: 700;
}
.sec_top.sec01 .image_text .text .p01 {
  margin-bottom: 32px;
  line-height: 1.8;
  font-size: 1.25rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text .text .p01 {
    font-size: 1rem;
    line-height: 1.875;
    margin-bottom: 20px;
  }
}
.sec_top.sec01 .image_text .text .p02 {
  line-height: 1;
}
.sec_top.sec01 .image_text .text .p02 span {
  font-size: 1.625rem;
  padding: 10px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec01 .image_text .text .p02 span {
    font-size: 1.25rem;
    padding: 4px 10px;
  }
}
.sec_top.sec02 {
  padding: 145px 0 80px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 {
    padding: 67px 0 20px;
  }
}
.sec_top.sec02 .image_text {
  position: absolute;
  top: 0;
  left: calc(50% - 568px);
  z-index: 5;
}
@media screen and (max-width: 1200px) {
  .sec_top.sec02 .image_text {
    left: 20px;
  }
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .image_text {
    width: 249px;
  }
}
.sec_top.sec02 .photo_bg_content {
  padding: 80px var(--base_container_pad);
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .photo_bg_content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.sec_top.sec02 .photo_bg_content .h_title {
  margin: 0 auto 20px;
  row-gap: 10px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .photo_bg_content .h_title {
    row-gap: 7px;
    margin-bottom: 17px;
  }
}
.sec_top.sec02 .photo_bg_content .h_title .en {
  font-size: 3.5rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .photo_bg_content .h_title .en {
    font-size: 2.25rem;
  }
}
.sec_top.sec02 .photo_bg_content .h_title .jp {
  font-size: 1.125rem;
  color: var(--base_color30);
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .photo_bg_content .h_title .jp {
    font-size: 1rem;
  }
}
.sec_top.sec02 .photo_bg_content .movie {
  max-width: 640px;
  margin: auto;
  box-shadow: 20px 10px 20px 0 rgba(0, 0, 0, 0.17);
}
@media screen and (max-width: 850px) {
  .sec_top.sec02 .photo_bg_content .movie {
    box-shadow: 10px 5px 10px 0 rgba(0, 0, 0, 0.1);
  }
}
.sec_top.sec02 .photo_bg_content .movie video {
  width: 100%;
}
.sec_top.sec03 {
  padding: 80px 0 40px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 {
    padding: 20px 0;
  }
}
.sec_top.sec03 .paeg_link_panel {
  --cols: 2;
  --col_gap: 32px;
  --row_gap: 32px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel {
    --col_gap: 16px;
    --row_gap: 16px;
  }
}
@media screen and (max-width: 600px) {
  .sec_top.sec03 .paeg_link_panel {
    --cols: 1;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link {
  --circle_w: 40px;
  --arrow_w: 14px;
  --arrow_h: 15px;
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link {
    --arrow_w: 9px;
    --arrow_h: 9px;
    --circle_w: 24px;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link.show {
  visibility: visible !important;
  animation: flip_panel 0.5s;
}
.sec_top.sec03 .paeg_link_panel .panel_content_link:before, .sec_top.sec03 .paeg_link_panel .panel_content_link:after {
  right: 14px;
  bottom: 14px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link:before, .sec_top.sec03 .paeg_link_panel .panel_content_link:after {
    right: 10px;
    bottom: 10px;
  }
}
@media (any-hover: hover) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link:hover.work .frame_anim .frames {
    animation: top_link_panel_work_anim 1.1s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link:hover.environment .frame_anim .frames {
    animation: top_link_panel_environment_anim 0.9s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link:hover.interview .frame_anim .frames {
    animation: top_link_panel_interview_anim 1.2s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link:hover.qa .frame_anim .frames {
    animation: top_link_panel_qa_anim 1.2s step-end infinite;
  }
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link.work .frame_anim .frames {
    animation: top_link_panel_work_anim_sp 3.1s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link.environment .frame_anim .frames {
    animation: top_link_panel_environment_anim_sp 2.9s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link.interview .frame_anim .frames {
    animation: top_link_panel_interview_anim_sp 3.5s step-end infinite;
  }
  .sec_top.sec03 .paeg_link_panel .panel_content_link.qa .frame_anim .frames {
    animation: top_link_panel_qa_anim_sp 3.2s step-end infinite;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content {
  padding: 50px 40px;
  height: 100%;
  box-shadow: 20px 10px 20px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content {
    padding: 24px;
    box-shadow: 14px 7px 14px 0 rgba(0, 0, 0, 0.1);
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title {
  row-gap: 10px;
  margin-bottom: 15px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title {
    row-gap: 8px;
    margin-bottom: 10px;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title .en {
  font-size: 2.5rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title .en {
    font-size: 2rem;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title .jp {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .h_title .jp {
    font-size: 0.9375rem;
  }
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content .frame_anim {
  aspect-ratio: 400/150;
  max-width: 400px;
  margin: 0 auto 10px;
}
.sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content p {
  line-height: 1.625;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 850px) {
  .sec_top.sec03 .paeg_link_panel .panel_content_link .panel_content p {
    font-size: 0.875rem;
    line-height: 1.57;
  }
}
.sec_top.sec04 {
  padding: 40px 0 0;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 {
    padding: 20px 0 0;
  }
}
.sec_top.sec04:before {
  content: "";
  width: 132%;
  height: 100%;
  min-width: 1800px;
  position: absolute;
  z-index: -1;
  top: 240px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--base_grad02);
  border-radius: 50% 50% 0 0/350px 350px 0 0;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04:before {
    top: 64px;
    min-width: 500px;
  }
}
.sec_top.sec04 .data_link {
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link {
    margin-bottom: 40px;
  }
}
.sec_top.sec04 .data_link a {
  display: block;
  overflow: hidden;
  max-width: 828px;
  aspect-ratio: 828/400;
  border-radius: 10px;
  margin: 0 auto;
  background: url(../images/top_data_link_bg.svg) no-repeat center/cover;
  box-shadow: 20px 10px 20px rgba(0, 0, 0, 0.1);
  position: relative;
  padding: 20px;
}
@media (any-hover: hover) {
  .sec_top.sec04 .data_link a:hover h2 img {
    transform: scale(1.03) translateZ(0);
  }
  .sec_top.sec04 .data_link a:hover .circle {
    animation: top_data_link_circle_anim 0.3s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .sec_top.sec04 .data_link a:hover .icon .frames {
    animation: top_data_link_icon_anim 2.7s step-end;
  }
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a {
    max-width: 500px;
    aspect-ratio: 343/244;
    padding: 10px;
    background-image: url(../images/top_data_link_bg_sp.svg);
  }
}
.sec_top.sec04 .data_link a h2 {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 53%;
  max-width: 434px;
  height: fit-content;
  text-align: center;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a h2 {
    width: 64.7%;
  }
}
.sec_top.sec04 .data_link a h2 img {
  transition: transform 0.3s;
}
.sec_top.sec04 .data_link a .circle {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 0;
  left: 0;
  margin: auto;
  width: 59.42%;
  transform: translateY(-50%) scale(1);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: top_data_link_circle_rev_anim 0.3s;
  animation-fill-mode: forwards;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .circle {
    width: 74.64%;
  }
}
.sec_top.sec04 .data_link a .frame_anim.bg {
  aspect-ratio: 788/360;
  max-width: 788px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .frame_anim.bg {
    aspect-ratio: 323/224;
  }
}
.sec_top.sec04 .data_link a .frame_anim.bg .frames {
  animation: top_data_link_bg_anim 3s step-end infinite;
}
.sec_top.sec04 .data_link a .frame_anim.icon {
  position: absolute;
  z-index: 10;
  aspect-ratio: 1/1;
}
.sec_top.sec04 .data_link a .frame_anim.icon.anim1 {
  top: 8.5%;
  left: 14.4%;
  width: 12.3%;
  max-width: 101px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .frame_anim.icon.anim1 {
    top: 15.5%;
    left: 5.3%;
    width: 14.87%;
  }
}
.sec_top.sec04 .data_link a .frame_anim.icon.anim2 {
  top: 19.5%;
  right: 13%;
  width: 13.65%;
  max-width: 113px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .frame_anim.icon.anim2 {
    top: 24.9%;
    right: 3.5%;
    width: 16.9%;
  }
}
.sec_top.sec04 .data_link a .frame_anim.icon.anim3 {
  bottom: -1.5%;
  left: 15.5%;
  width: 20.29%;
  max-width: 168px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .frame_anim.icon.anim3 {
    bottom: 5.8%;
    left: 6.9%;
    width: 25.66%;
  }
}
.sec_top.sec04 .data_link a .frame_anim.icon.anim4 {
  bottom: 5.1%;
  right: 20.6%;
  width: 14.13%;
  max-width: 113px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .data_link a .frame_anim.icon.anim4 {
    bottom: 11.4%;
    right: 13%;
    width: 17.2%;
  }
}
.sec_top.sec04 .site_links {
  padding-top: 40px;
  margin-bottom: 80px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links {
    margin-bottom: 40px;
  }
}
.sec_top.sec04 .site_links .site_link_content {
  display: flex;
  --col_gap: 60px;
  column-gap: var(--col_gap);
  padding: 54px 36px;
  border-radius: 10px;
  border: 6px solid var(--base_color11);
  z-index: 0;
  background: rgb(var(--base_color40_rgb)/0.5);
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content {
    flex-direction: column;
    row-gap: 65px;
    max-width: 600px;
    margin: auto;
    padding: 0 25px 30px;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 35px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link {
    flex: none;
    width: 100%;
    padding-top: 45px;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * var(--col_gap) / 2 - 1px);
  width: 2px;
  height: 100%;
  background: var(--base_color11);
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link:before {
    left: 0;
    width: 100%;
    height: 2px;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link:first-child:before {
  content: none;
}
.sec_top.sec04 .site_links .site_link_content .site_link .icon_circle {
  --circle_w: 120px;
  --border_width: 6px;
  position: absolute;
  top: -100px;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 5;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .icon_circle {
    --circle_w: 72px;
    --border_width: 4px;
    top: -36px;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .icon_circle img {
  zoom: 0.5;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .icon_circle img {
    zoom: 0.3;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .h_title {
  row-gap: 17px;
  margin-bottom: 28px;
  flex: 1;
  text-align: center;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .h_title {
    row-gap: 8px;
    margin-bottom: 24px;
    flex: none;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .h_title .en {
  font-size: 2.5rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .h_title .en {
    font-size: 2rem;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .h_title .jp {
  font-size: 1rem;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .h_title .jp {
    font-size: 0.9375rem;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .links {
  max-width: 400px;
  width: 100%;
  margin: auto;
}
.sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li {
  border-bottom: 2px solid #fff;
}
.sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li:first-child {
  border-top: 2px solid #fff;
}
.sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a {
  padding: 28px 20px;
  display: flex;
  align-items: center;
  color: var(--base_color10);
  font-weight: 700;
  text-decoration: none;
  position: relative;
  font-size: 1.25rem;
  transition: background 0.3s;
  --circle_w: 40px;
}
@media (any-hover: hover) {
  .sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a:hover {
    background: rgba(255, 255, 255, 0.4);
  }
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a {
    --circle_w: 32px;
    font-size: 1.125rem;
    padding: 19px 16px;
  }
}
.sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a:before, .sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a:after {
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a:before, .sec_top.sec04 .site_links .site_link_content .site_link .links > ul > li a:after {
    right: 11px;
  }
}
.sec_top.sec04 .content02 {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgb(255, 255, 255) 100%);
}
.sec_top.sec04 .content02 .member {
  margin-top: -30px;
  position: relative;
  height: 400px;
  background: url(../images/top_member_image.webp) no-repeat center/1366px;
}
@media screen and (max-width: 850px) {
  .sec_top.sec04 .content02 .member {
    height: auto;
    aspect-ratio: 375/130;
    background-size: cover;
    margin-top: -25px;
  }
}

@keyframes top_link_panel_work_anim {
  0% {
    transform: translateY(0);
  }
  27.2727272727% {
    transform: translateY(-20%);
  }
  54.5454545455% {
    transform: translateY(-40%);
  }
  63.6363636364% {
    transform: translateY(-60%);
  }
  72.7272727273% {
    transform: translateY(-80%);
  }
}
@keyframes top_link_panel_environment_anim {
  0% {
    transform: translateY(0);
  }
  33.3333333333% {
    transform: translateY(-33.3333333333%);
  }
  66.6666666667% {
    transform: translateY(-66.6666666667%);
  }
}
@keyframes top_link_panel_interview_anim {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-25%);
  }
  50% {
    transform: translateY(-50%);
  }
  75% {
    transform: translateY(-75%);
  }
}
@keyframes top_link_panel_qa_anim {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-25%);
  }
  50% {
    transform: translateY(-50%);
  }
  75% {
    transform: translateY(-75%);
  }
}
@keyframes top_link_panel_work_anim_sp {
  0% {
    transform: translateY(0);
  }
  9.6774193548% {
    transform: translateY(-20%);
  }
  19.3548387097% {
    transform: translateY(-40%);
  }
  22.5806451613% {
    transform: translateY(-60%);
  }
  25.8064516129% {
    transform: translateY(-80%);
  }
}
@keyframes top_link_panel_environment_anim_sp {
  0% {
    transform: translateY(0);
  }
  10.3448275862% {
    transform: translateY(-33.3333333333%);
  }
  20.6896551724% {
    transform: translateY(-66.6666666667%);
  }
}
@keyframes top_link_panel_interview_anim_sp {
  0% {
    transform: translateY(0);
  }
  8.5714285714% {
    transform: translateY(-25%);
  }
  17.1428571429% {
    transform: translateY(-50%);
  }
  25.7142857143% {
    transform: translateY(-75%);
  }
}
@keyframes top_link_panel_qa_anim_sp {
  0% {
    transform: translateY(0);
  }
  9.375% {
    transform: translateY(-25%);
  }
  18.75% {
    transform: translateY(-50%);
  }
  28.125% {
    transform: translateY(-75%);
  }
}
@keyframes top_data_link_bg_anim {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50%);
  }
}
@keyframes top_data_link_icon_anim {
  0% {
    transform: translateY(0);
  }
  3.7037037037% {
    transform: translateY(-12.5%);
  }
  7.4074074074% {
    transform: translateY(-25%);
  }
  11.1111111111% {
    transform: translateY(-37.5%);
  }
  14.8148148148% {
    transform: translateY(-50%);
  }
  18.5185185185% {
    transform: translateY(-62.5%);
  }
  22.2222222222% {
    transform: translateY(-75%);
  }
  25.9259259259% {
    transform: translateY(-87.5%);
  }
}
@keyframes top_data_link_circle_anim {
  0% {
    transform: translateY(-50%) scale(1);
  }
  60% {
    transform: translateY(-50%) scale(1.2128);
  }
  100% {
    transform: translateY(-50%) scale(1.155);
  }
}
@keyframes top_data_link_circle_rev_anim {
  0% {
    transform: translateY(-50%) scale(1.155);
  }
  100% {
    transform: translateY(-50%) scale(1);
  }
}
.sec_message.sec01 {
  padding-bottom: 80px;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 {
    padding-bottom: 30px;
  }
}
.sec_message.sec01 .image {
  position: relative;
  margin-bottom: 60px;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .image {
    max-width: 500px;
    margin: 0 auto 30px;
    border-radius: 6px;
  }
}
.sec_message.sec01 .image .title {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .image .title {
    top: auto;
    bottom: 16px;
    transform: none;
  }
}
.sec_message.sec01 .image .title h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .image .title h2 {
    font-size: 1.375rem;
  }
  .sec_message.sec01 .image .title h2 .punc {
    margin: 0;
  }
}
.sec_message.sec01 .texts {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .texts {
    row-gap: 30px;
  }
}
.sec_message.sec01 .texts .text {
  padding-left: 20px;
  border-left: 6px solid var(--base_color10);
  max-width: 828px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .texts .text {
    border-width: 4px;
  }
}
.sec_message.sec01 .texts .text h3 {
  color: var(--base_color10);
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: 700;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .texts .text h3 {
    font-size: 1.25rem;
    margin-bottom: 12px;
  }
}
.sec_message.sec01 .texts .text p {
  color: #fff;
  line-height: 2;
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .texts .text p {
    font-size: 1rem;
    line-height: 1.875;
  }
}
.sec_message.sec01 .sign {
  text-align: right;
  font-weight: 700;
  font-size: 0.875rem;
  color: #fff;
  margin-top: 40px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec01 .sign {
    margin-top: 20px;
  }
}
.sec_message.sec01 .sign span {
  font-size: 1.25rem;
}
.sec_message.sec02 {
  padding: 80px 0 160px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 {
    padding: 30px 0 60px;
  }
}
.sec_message.sec02 .photo_bg_content_wrap {
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content_wrap {
    height: auto !important;
  }
}
.sec_message.sec02 .photo_bg_content {
  padding: 0 20px;
  max-height: 768px;
  min-height: 600px;
  height: calc(100vh - var(--base_header_height));
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: var(--base_header_height);
  left: 0;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content {
    padding: 40px 15px;
    max-height: none;
    min-height: 0;
    height: auto;
    position: static;
  }
}
.sec_message.sec02 .photo_bg_content .inner {
  width: 100%;
}
.sec_message.sec02 .photo_bg_content h2 {
  row-gap: 20px;
  margin-bottom: 60px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content h2 {
    margin-bottom: 20px;
  }
}
.sec_message.sec02 .photo_bg_content h2 .en {
  font-size: 3.5rem;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content h2 .en {
    font-size: 2.25rem;
  }
}
.sec_message.sec02 .photo_bg_content h2 .jp {
  background: var(--base_color10);
  color: #fff;
  font-size: 1.5rem;
  padding: 8px 10px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content h2 .jp {
    font-size: 1rem;
    padding: 5px 10px 7px;
  }
}
.sec_message.sec02 .photo_bg_content .panels {
  overflow: hidden;
}
.sec_message.sec02 .photo_bg_content .panels > ol {
  display: flex;
  column-gap: 200px;
  counter-reset: cnt;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol {
    flex-direction: column;
    row-gap: 20px;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li {
  counter-increment: cnt;
  flex-shrink: 0;
  max-width: 100%;
  position: relative;
  padding-top: 30px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li {
    padding-top: 15px;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li:before {
  content: "0" counter(cnt);
  font-family: "Montserrat", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 50px;
  color: var(--base_color10);
  z-index: 5;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li:before {
    font-size: 2.5rem;
    left: 15px;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content {
  padding: 48px 50px;
  height: 100%;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content {
    padding: 30px 15px;
    height: auto;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text {
  display: flex;
  align-items: flex-start;
  column-gap: 32px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text {
    flex-direction: column;
    align-items: center;
    row-gap: 15px;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .image {
  border-radius: 10px;
  overflow: hidden;
  flex: 1;
  max-width: 348px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .image {
    flex: none;
    width: 100%;
    border-radius: 6px;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .text {
  flex: 1;
  padding-top: 15px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .text {
    flex: none;
    width: 100%;
    padding-top: 0;
    order: 2;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .text h3 {
  color: var(--base_color10);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media screen and (max-width: 850px) {
  .sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .text h3 {
    font-size: 1.125rem;
  }
}
.sec_message.sec02 .photo_bg_content .panels > ol > li .panel_content .image_text .text p {
  line-height: 1.875;
  font-weight: 500;
}

.sec_work.sec01 {
  padding-bottom: 40px;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .lead_text {
    margin-bottom: 66px;
  }
}
.sec_work.sec01 .photo_bg_content {
  position: relative;
  padding: 70px 20px 50px;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content {
    padding: 56px 10px 30px;
  }
}
.sec_work.sec01 .photo_bg_content h2 {
  font-size: 2rem;
  font-weight: 700;
  position: absolute;
  width: fit-content;
  top: -20px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content h2 {
    font-size: 1.375rem;
    line-height: 1.27;
    top: -32px;
  }
}
.sec_work.sec01 .photo_bg_content h2 > span {
  padding: 8px 10px;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content h2 > span {
    padding: 4px 10px;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul {
  display: flex;
  column-gap: 84px;
  justify-content: center;
}
@media screen and (max-width: 1030px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul {
    column-gap: 40px;
  }
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul {
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 11px;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li {
  max-width: 220px;
  width: 100%;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li {
    max-width: 140px;
  }
}
@media screen and (max-width: 360px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li {
    max-width: 120px;
  }
}
@media (any-hover: hover) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content_link:hover {
    cursor: pointer;
  }
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content_link:hover .panel_content .image .frame_anim .frames {
    animation: popup_list_link_anim 1.4s step-end infinite;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content {
  border-radius: 110px;
  padding: 42px 0;
  width: 100%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  box-shadow: 20px 10px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content {
    height: 190px;
    padding: 18px 0 25px;
    border-radius: 70px;
    box-shadow: 13px 7px 13px rgba(0, 0, 0, 0.1);
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content:before {
  content: none;
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content:after {
  border-radius: 110px;
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content h3 {
  text-align: center;
  display: flex;
  align-items: center;
  color: var(--base_color10);
  font-size: 1.125rem;
  font-weight: 700;
  flex: 1;
  line-height: 1.33;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content h3 {
    font-size: 1rem;
    line-height: 1.25;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content hr {
  border: 0;
  margin: 0 0 17px;
  width: 160px;
  height: 2px;
  background: var(--base_grad01);
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content hr {
    width: 100px;
    margin-bottom: 10px;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content .image {
  width: 130px;
}
@media screen and (max-width: 850px) {
  .sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content .image {
    width: 82px;
  }
}
.sec_work.sec01 .photo_bg_content .popup_list > ul > li .panel_content .image .frame_anim {
  aspect-ratio: 1/1;
}
.sec_work.sec02 {
  padding-top: 40px;
}
@media screen and (max-width: 850px) {
  .sec_work.sec02 {
    padding-top: 15px;
  }
}
.sec_work.sec02 .group_list .group .group_content .container {
  max-width: calc(800px + var(--base_container_pad) * 2);
}
.sec_work.sec02 .group_list .group .group_content .main_image {
  position: relative;
}
.sec_work.sec02 .group_list .group .group_content .main_image .image_title {
  position: absolute;
  bottom: 50px;
  left: 50px;
  visibility: hidden;
}
@media screen and (max-width: 1030px) {
  .sec_work.sec02 .group_list .group .group_content .main_image .image_title {
    bottom: 16px;
    left: var(--base_container_pad);
  }
}
.sec_work.sec02 .group_list .group .group_content .main_image .image_title h3 {
  --bg_color: var(--group_color01);
  font-size: 2rem;
  line-height: 1.42;
  font-weight: 700;
}
@media screen and (max-width: 1030px) {
  .sec_work.sec02 .group_list .group .group_content .main_image .image_title h3 {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 600px) {
  .sec_work.sec02 .group_list .group .group_content .main_image .image_title h3 {
    font-size: 1.375rem;
  }
}
.sec_work.sec02 .group_list .group .group_content .content p {
  visibility: hidden;
}
.sec_work.sec02 .group_list .group .group_content .content .images {
  visibility: hidden;
}
.sec_work.sec02 .group_list .group .group_content .content .link_btn {
  animation: unset;
  margin: auto;
  visibility: visible;
  --bg: var(--group_btn_bg);
  --arrow_url: var(--group_btn_arrow);
}

.work_modals .modal .content {
  position: relative;
  max-width: 1000px;
  width: calc(100% - var(--base_container_pad) * 2);
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content {
    max-width: 500px;
  }
}
.work_modals .modal .content .arrow01 {
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  .work_modals .modal .content .arrow01:hover {
    cursor: pointer;
    opacity: 0.7 !important;
  }
}
.work_modals .modal .content .close {
  --arrow_w: 18px;
  --arrow_h: 18px;
  --circle_w: 40px;
  position: absolute;
  top: -20px;
  right: -20px;
  z-index: 10;
  width: var(--circle_w);
  height: var(--circle_w);
}
.work_modals .modal .content .close:after {
  background-image: url(../images/icon_cross.svg), var(--base_grad_arrow);
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .close {
    --arrow_w: 15px;
    --arrow_h: 15px;
    --circle_w: 32px;
    top: -2px;
    right: -2px;
  }
}
.work_modals .modal .content .panel {
  border-radius: 10px;
  border: 6px solid var(--base_color11);
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel {
    overflow: auto;
    max-height: calc(var(--vh) * 90);
  }
}
.work_modals .modal .content .panel .image_text {
  display: flex;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text {
    flex-direction: column;
  }
}
.work_modals .modal .content .panel .image_text > .image {
  max-width: 360px;
  flex: 1;
  position: relative;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text > .image {
    flex: none;
    width: 100%;
    max-width: 100%;
  }
}
.work_modals .modal .content .panel .image_text > .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.work_modals .modal .content .panel .image_text > .image h3 {
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  margin: auto;
  background: var(--base_color12);
  color: var(--base_color30);
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 36px);
  height: 56px;
  border-radius: 6px;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text > .image h3 {
    width: calc(100% - 30px);
    border-radius: 4px;
    top: 10px;
    height: 32px;
    font-size: 1.125rem;
  }
}
.work_modals .modal .content .panel .image_text > .text {
  flex: 1;
  padding: 25px 25px 50px;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text > .text {
    flex: none;
    width: 100%;
    padding: 18px 20px 50px;
  }
}
.work_modals .modal .content .panel .image_text > .text .inner {
  max-width: 540px;
  margin: auto;
}
.work_modals .modal .content .panel .image_text > .text .list {
  min-height: 85px;
  border-left: 4px solid var(--base_color10);
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 5px;
  padding-left: 17px;
  margin-bottom: 19px;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text > .text .list {
    padding-left: 10px;
    min-height: 0;
  }
}
.work_modals .modal .content .panel .image_text > .text .list li {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .panel .image_text > .text .list li {
    font-size: 1rem;
  }
}
.work_modals .modal .content .splide {
  padding: 0 60px;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .splide {
    padding: 0;
  }
}
.work_modals .modal .content .splide .splide__arrow {
  --arrow_w: 14px;
  --arrow_h: 15px;
  --circle_w: 40px;
  position: absolute;
  background: none;
  width: var(--circle_w);
  height: var(--circle_w);
  opacity: 1;
  outline: none;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .splide .splide__arrow {
    --arrow_w: 9px;
    --arrow_h: 9px;
    --circle_w: 24px;
  }
}
.work_modals .modal .content .splide .splide__arrow svg {
  display: none;
}
.work_modals .modal .content .splide .splide__arrow.splide__arrow--prev {
  left: 0;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .splide .splide__arrow.splide__arrow--prev {
    left: -7px;
  }
}
.work_modals .modal .content .splide .splide__arrow.splide__arrow--prev:after {
  transform: rotate(180deg);
}
.work_modals .modal .content .splide .splide__arrow.splide__arrow--next {
  right: 0;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .splide .splide__arrow.splide__arrow--next {
    right: -7px;
  }
}
.work_modals .modal .content .splide .splide__slide figure .slide_image img {
  aspect-ratio: 420/240;
  object-position: center;
  object-fit: cover;
}
.work_modals .modal .content .splide .splide__slide figure figcaption {
  background: var(--base_color42);
  color: var(--base_color12);
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  text-align: center;
  padding: 8px 0;
}
.work_modals .modal .content .splide .splide__slide figure figcaption .jp {
  font-weight: 700;
  font-size: 1.125rem;
}
.work_modals .modal .content .splide .splide__slide figure figcaption .en {
  font-size: 0.75rem;
}
.work_modals .modal .content .splide .splide__pagination {
  bottom: -26px;
  column-gap: 10px;
}
@media screen and (max-width: 850px) {
  .work_modals .modal .content .splide .splide__pagination {
    column-gap: 13px;
  }
}
.work_modals .modal .content .splide .splide__pagination li button {
  background: var(--base_color01);
  width: 8px;
  height: 8px;
  display: block;
  margin: 0;
  transform: scale(1);
  opacity: 1;
}
.work_modals .modal .content .splide .splide__pagination li button.is-active {
  background: var(--base_color10);
}

@keyframes popup_list_link_anim {
  0% {
    transform: translateY(0);
  }
  35.7142857143% {
    transform: translateY(-16.6666666667%);
  }
  42.8571428571% {
    transform: translateY(-33.3333333333%);
  }
  50% {
    transform: translateY(-50%);
  }
  57.1428571429% {
    transform: translateY(-66.6666666667%);
  }
  64.2857142857% {
    transform: translateY(-83.3333333333%);
  }
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .link_slide .splide__slide .sp_center {
    align-items: center;
  }
  .sec_interview.sec01 .link_slide .splide__slide .sp_center .en {
    position: relative;
    top: 2px;
  }
}
.sec_interview.sec01 .group_list .group02 .main_image .image_title img {
  margin-bottom: -18px;
}
.sec_interview.sec01 .group_list .group .group_name h2 .year {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_name h2 .year {
    font-size: 0.75rem;
  }
}
.sec_interview.sec01 .group_list .group .group_content .main_image {
  position: relative;
}
.sec_interview.sec01 .group_list .group .group_content .main_image .image_title {
  position: absolute;
  bottom: 20px;
  left: 30px;
  visibility: hidden;
}
@media screen and (max-width: 1030px) {
  .sec_interview.sec01 .group_list .group .group_content .main_image .image_title {
    bottom: 16px;
    left: var(--base_container_pad);
  }
  .sec_interview.sec01 .group_list .group .group_content .main_image .image_title img {
    zoom: 0.75;
  }
}
@media screen and (max-width: 600px) {
  .sec_interview.sec01 .group_list .group .group_content .main_image .image_title img {
    zoom: 0.5393;
  }
}
.sec_interview.sec01 .group_list .group .group_content .images {
  visibility: hidden;
}
.sec_interview.sec01 .group_list .group .group_content .wrap h4 {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--group_color01);
  padding-left: 0.8em;
  position: relative;
  margin-bottom: 14px;
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .wrap h4 {
    font-size: 1rem;
    margin-bottom: 10px;
  }
}
.sec_interview.sec01 .group_list .group .group_content .wrap h4:before {
  content: "●";
  font-size: 0.625rem;
  color: var(--group_color03);
  position: absolute;
  top: 5px;
  left: 0;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .wrap h4:before {
    font-size: 0.5rem;
  }
}
.sec_interview.sec01 .group_list .group .group_content .wrap h5 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  line-height: 1.6;
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .wrap h5 {
    font-size: 1.25rem;
    margin-bottom: 15px;
  }
}
.sec_interview.sec01 .group_list .group .group_content .wrap h5 .bg_text02 {
  --bg_color: var(--group_color01);
}
.sec_interview.sec01 .group_list .group .group_content .wrap p {
  visibility: hidden;
}
.sec_interview.sec01 .group_list .group .group_content .dayoff {
  visibility: hidden;
}
.sec_interview.sec01 .group_list .group .group_content .dayoff h4 {
  color: var(--group_color01);
  font-weight: 700;
  font-size: 1.125rem;
  width: 200px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  border: 2px solid var(--group_color01);
  background: var(--base_color30);
  margin: 0 auto -20px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff h4 {
    width: 172px;
    height: 34px;
    font-size: 1rem;
    margin-bottom: -17px;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box {
  border: 2px solid var(--group_color01);
  border-radius: 10px;
  background: var(--group_color04);
  padding: 40px;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff .box {
    padding: 32px 16px 24px;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text {
  display: flex;
  align-items: center;
  column-gap: 22px;
}
@media screen and (max-width: 1030px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text {
    flex-direction: column;
    row-gap: 16px;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .text {
  flex: 1;
}
@media screen and (max-width: 1030px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .text {
    flex: none;
    width: 100%;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .text h5 {
  line-height: 1.27;
  font-weight: 700;
  font-size: 1.375rem;
  color: var(--group_color01);
  border-top: 1px solid var(--group_color01);
  border-bottom: 1px solid var(--group_color01);
  padding: 10px 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .text h5 {
    font-size: 1.25rem;
    line-height: 1.2;
    padding: 6px 0;
    text-align: center;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .text p {
  line-height: 1.628;
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .image {
  max-width: 278px;
  flex: 1;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .image {
    flex: none;
    width: 100%;
  }
}
.sec_interview.sec01 .group_list .group .group_content .dayoff .box .image_text .image img {
  border-radius: 10px;
}
.sec_interview.sec01 .group_list .time_schedule {
  background: var(--group_color04);
  padding: 60px 0 44px;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule {
    padding: 50px 0;
  }
}
.sec_interview.sec01 .group_list .time_schedule h3 {
  --bg_color: var(--group_color01);
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule h3 {
    font-size: 1.25rem;
    margin-bottom: 16px;
  }
}
.sec_interview.sec01 .group_list .time_schedule h3 > span {
  padding: 8px 10px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule h3 > span {
    padding: 4px 10px;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule {
  display: flex;
  align-items: flex-start;
  column-gap: 90px;
  padding-left: max((100% - 1316px) / 2, var(--base_container_pad));
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule {
    padding: 0;
    flex-direction: column;
    align-items: center;
    row-gap: 16px;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .image {
  width: 300px;
  position: relative;
  z-index: 5;
  visibility: hidden;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .image.show {
  visibility: visible;
  animation: time_schedule_image_anim01 0.3s, time_schedule_image_anim02 1s linear(0, 0.223 11.7%, 0.392 18.4%, 0.619 24.8%, 0.999 33.3%, 0.748 40%, 0.691 42.7%, 0.672 45.3%, 0.69 47.8%, 0.743 50.4%, 0.999 57.7%, 0.883 61.8%, 0.856 63.6%, 0.848 65.3%, 0.855 67%, 0.879 68.8%, 0.999 74.5%, 0.953 77.5%, 0.94 80.2%, 0.95 82.7%, 1 88.2%, 0.987 91.9%, 1);
}
@media screen and (max-width: 600px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule .image {
    width: 160px;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule {
  flex: 1;
  overflow: hidden;
  padding-top: 30px;
  padding-right: var(--base_container_pad);
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule {
    padding: 0;
    flex: none;
    width: 100%;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line {
  z-index: 0;
  height: 240px;
  padding-top: 33px;
  cursor: grab;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line:active {
  cursor: grabbing;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line {
    position: relative;
    height: auto;
    padding: 20px var(--base_container_pad);
    background: #fff;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line:after {
  content: "";
  width: 100vw;
  height: 240px;
  position: absolute;
  z-index: -2;
  top: 30px;
  right: 0;
  background: #fff;
  pointer-events: none;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line:after {
    content: none;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide {
  /*
  visibility: visible;

  .splide__track {
      overflow: hidden;
  }*/
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide .splide__list {
  display: flex;
  column-gap: 40px;
  position: relative;
  z-index: 0;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide .splide__list .splide__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 220px;
  row-gap: 16px;
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  min-width: 0;
  /*
  &:before {
      position: absolute;
      z-index: -1;
      top: 30px;
      width: 50%;
      height: 20px;
      background: #fff;
  }

  &:first-child {
      &:before {
          content: '';
          right: 50%;
      }
  }
  &:last-child {
      &:before {
          content: '';
          left: 50%;
      }
  }*/
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide .splide__list .splide__slide:first-child:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 40px;
  left: 50%;
  width: var(--time_line_width);
  height: 2px;
  background: linear-gradient(to right, var(--group_color03) 0, var(--group_color03) 4px, transparent 4px, transparent 8px) repeat-x left top/8px 2px;
  pointer-events: none;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide .splide__list .splide__slide time {
  width: 80px;
  height: 80px;
  background: var(--group_clock) no-repeat center/contain;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--group_color01);
  font-weight: 700;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .time_line .splide .splide__list .splide__slide p {
  font-weight: 700;
  line-height: 1.625;
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .action_text {
  display: flex;
  align-items: center;
  column-gap: 16px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 16px;
}
@media screen and (max-width: 850px) {
  .sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .action_text {
    justify-content: center;
  }
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .action_text .arrow01 {
  --circle_w: 40px;
  width: var(--circle_w);
  height: var(--circle_w);
}
.sec_interview.sec01 .group_list .time_schedule .image_schedule .schedule .action_text .arrow01.left {
  transform: rotate(180deg);
}

@keyframes time_schedule_image_anim01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes time_schedule_image_anim02 {
  0% {
    transform: translateY(-100px);
  }
  100% {
    transform: translateY(0);
  }
}
.sec_we.sec01 .page_links {
  margin-bottom: 100px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .page_links {
    margin-bottom: 40px;
  }
}
.sec_we.sec01 .group_list .group .group_name h2 .sub {
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_name h2 .sub {
    font-size: 0.75rem;
  }
}
.sec_we.sec01 .group_list .group .group_name h2 .sub02 {
  font-size: conv_rem(8);
}
.sec_we.sec01 .group_list .group .group_content .content {
  row-gap: 60px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .content {
    row-gap: 40px;
    padding-bottom: 40px;
  }
}
.sec_we.sec01 .group_list .group .group_content h3 {
  --bg_color: var(--group_color01);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 40px;
  line-height: 1.45;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content h3 {
    font-size: 1.375rem;
    margin-bottom: 16px;
  }
}
.sec_we.sec01 .group_list .group .group_content h3 > span {
  padding: 16px;
  width: 100%;
  text-align: center;
  border-radius: 6px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content h3 > span {
    padding: 10px 16px;
  }
}
.sec_we.sec01 .group_list .group .group_content .p01 {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
  color: var(--group_color01);
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .p01 {
    font-size: 1rem;
    line-height: 1.875;
  }
}
.sec_we.sec01 .group_list .group .group_content .notice {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  visibility: hidden;
}
.sec_we.sec01 .group_list .group .group_content h4 {
  font-weight: 700;
  font-size: 1.5rem;
  position: relative;
  z-index: 0;
  margin-bottom: 40px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content h4 {
    margin-bottom: 20px;
    font-size: 1.25rem;
  }
}
.sec_we.sec01 .group_list .group .group_content h4:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  width: 100%;
  height: 2px;
  background: var(--group_color01);
}
.sec_we.sec01 .group_list .group .group_content h4 > span {
  --bg_color: var(--group_color01);
  padding: 8px 10px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content h4 > span {
    padding: 6px 10px;
  }
}
.sec_we.sec01 .group_list .group .group_content .feature_list {
  padding-top: 15px;
  max-width: 800px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .feature_list {
    padding-top: 25px;
  }
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol {
  counter-reset: cnt;
  display: flex;
  column-gap: 40px;
}
@media screen and (max-width: 1200px) {
  .sec_we.sec01 .group_list .group .group_content .feature_list > ol {
    column-gap: 20px;
  }
}
@media screen and (max-width: 1030px) {
  .sec_we.sec01 .group_list .group .group_content .feature_list > ol {
    flex-direction: column;
    align-items: center;
    row-gap: 45px;
  }
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li {
  flex: 1;
  max-width: 240px;
  counter-increment: cnt;
  visibility: hidden;
}
@media screen and (max-width: 1030px) {
  .sec_we.sec01 .group_list .group .group_content .feature_list > ol > li {
    flex: none;
    max-width: 300px;
    width: 100%;
  }
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li .image {
  position: relative;
  margin-bottom: 19px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .feature_list > ol > li .image {
    max-width: calc(100% - 60px);
    margin: 0 auto 19px;
  }
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li .image:before {
  content: "0" counter(cnt);
  position: absolute;
  top: -25px;
  left: 20px;
  color: var(--group_color03);
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 3.125rem;
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li .image img {
  border-radius: 10px;
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li h5 {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 2px solid var(--group_color03);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--group_color01);
  background: var(--base_color41);
  line-height: 1.33;
  text-align: center;
  padding: 7px 9px;
  position: relative;
  z-index: 0;
  margin-bottom: 10px;
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li h5:before, .sec_we.sec01 .group_list .group .group_content .feature_list > ol > li h5:after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  width: 12px;
  height: 10px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li h5:before {
  top: -10px;
  background: var(--group_color03);
  z-index: -2;
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li h5:after {
  top: -7px;
  background: var(--base_color41);
  z-index: -1;
}
.sec_we.sec01 .group_list .group .group_content .feature_list > ol > li p {
  font-size: 1rem;
  line-height: 1.625;
}
.sec_we.sec01 .group_list .group .group_content .flow_list {
  --dt_w: 120px;
  --row_gap: 30px;
  display: flex;
  flex-direction: column;
  row-gap: var(--row_gap);
  max-width: 660px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .flow_list {
    --dt_w: 100px;
    --row_gap: 42px ;
  }
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl {
  display: flex;
  align-items: center;
  font-weight: 700;
  position: relative;
  visibility: hidden;
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl:before {
  content: "";
  position: absolute;
  bottom: calc(var(--row_gap) / 2 * -1);
  left: calc(var(--dt_w) / 2);
  transform: translate3d(-50%, 50%, 0);
  width: 16px;
  height: 14px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--group_list_arrow_bg);
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl:nth-child(1) {
  --dl_color: var(--group_color03);
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl:nth-child(2) {
  --dl_color: var(--group_color02);
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl:nth-child(n+3) {
  --dl_color: var(--group_color01);
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl:last-child:before {
  content: none;
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl dt {
  width: var(--dt_w);
  height: var(--dt_w);
  border-radius: 50%;
  border: 6px solid var(--dl_color);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: var(--dl_color);
  position: relative;
  z-index: 1;
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .flow_list dl dt {
    border-width: 5px;
    font-size: 0.9375rem;
  }
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl dd {
  flex: 1;
  min-height: 70px;
  display: flex;
  align-items: center;
  color: #fff;
  position: relative;
  z-index: 0;
  padding: 8px 47px 8px 23px;
  line-height: 1.44;
  font-size: 1.125rem;
}
@media screen and (max-width: 850px) {
  .sec_we.sec01 .group_list .group .group_content .flow_list dl dd {
    font-size: 1rem;
    padding-right: 22px;
    padding-left: 5px;
  }
}
@media screen and (max-width: 360px) {
  .sec_we.sec01 .group_list .group .group_content .flow_list dl dd {
    font-size: 0.9375rem;
  }
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl dd:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -60px;
  width: calc(100% + 60px);
  height: 100%;
  background: var(--dl_color);
  border-radius: 0 100px 100px 0;
}
.sec_we.sec01 .group_list .group .group_content .flow_list dl dd a {
  color: var(--base_color30);
}
.sec_we.sec01 .group_list .group_footer_image img {
  vertical-align: bottom;
}
.sec_we.sec02 {
  padding: 100px 0 160px;
  background: var(--group_color03);
}
@media screen and (max-width: 850px) {
  .sec_we.sec02 {
    padding: 60px 0;
  }
}
.sec_we.sec02 h2 {
  --bg_color: var(--group_color01);
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: 42px;
}
@media screen and (max-width: 850px) {
  .sec_we.sec02 h2 {
    font-size: 1.375rem;
    margin-bottom: 30px;
  }
}
.sec_we.sec02 h2 > span {
  padding: 8px 10px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_we.sec02 h2 > span {
    padding: 6px 10px 8px;
  }
}
.sec_we.sec02.confirm .contact_form .p01 {
  display: none;
}
.sec_we.sec02 .contact_form .p01 {
  text-align: center;
  color: var(--group_color01);
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 45px;
  line-height: 2;
}

.sec_environment.sec01 {
  padding-bottom: 160px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 {
    padding-bottom: 60px;
  }
}
.sec_environment.sec01 .page_links {
  max-width: 620px;
  margin: 0 auto 100px;
  flex-wrap: wrap;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .page_links {
    margin-bottom: 40px;
  }
}
.sec_environment.sec01 .page_links a {
  flex: none;
  width: calc(100% - 10px);
}
.sec_environment.sec01 h2 {
  font-size: 2rem;
  margin-bottom: 50px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 h2 {
    font-size: 1.375rem;
    margin-bottom: 20px;
  }
}
.sec_environment.sec01 h2 > span {
  padding: 8px 10px;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 h2 > span {
    padding: 6px 10px 8px;
  }
}
.sec_environment.sec01 .panels .panel_content:before {
  opacity: 1 !important;
}
.sec_environment.sec01 .panels .panel_content:after {
  opacity: 0 !important;
}
@media screen and (max-width: 1030px) {
  .sec_environment.sec01 .panels {
    max-width: 600px;
    margin: auto;
  }
  .sec_environment.sec01 .panels > .panel_group_c > .panel_group_r {
    flex-direction: column;
  }
  .sec_environment.sec01 .panels > .panel_group_c > .panel_group_r > * {
    flex: none;
    width: 100%;
  }
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels {
    max-width: 500px;
  }
}
.sec_environment.sec01 .panels .panel_group_c,
.sec_environment.sec01 .panels .panel_group_r {
  display: flex;
  column-gap: 20px;
  row-gap: 20px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel_group_c,
  .sec_environment.sec01 .panels .panel_group_r {
    column-gap: 7px;
    row-gap: 7px;
  }
}
.sec_environment.sec01 .panels .panel_group_c {
  flex-direction: column;
}
.sec_environment.sec01 .panels .panel_group_r > * {
  flex: 1;
}
.sec_environment.sec01 .panels .panel .panel_content {
  height: 100%;
  padding: 30px 15px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content {
    padding: 20px 10px 15px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .title {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.27;
  margin-bottom: 15px;
  flex-shrink: 0;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .title {
    line-height: 1.33;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .title h3 {
  padding: 3px 16px;
  width: fit-content;
  text-align: center;
  font-size: 1.375rem;
  background: var(--base_grad01);
  color: var(--base_color10);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .title h3 {
    font-size: 1.125rem;
    padding: 3px 10px 2px;
  }
}
@media screen and (max-width: 360px) {
  .sec_environment.sec01 .panels .panel .panel_content .title h3 {
    font-size: 1rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data {
  color: var(--base_color10);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.sec_environment.sec01 .panels .panel .panel_content .data .image {
  text-align: center;
  margin-bottom: 5px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .image {
    height: 58px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .image img {
  zoom: 0.5;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .image img {
    zoom: 0.3896;
  }
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .image.img03 img {
    position: relative;
    left: -7px;
  }
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .image.img05 img {
    position: relative;
    left: -5px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num {
  font-weight: 700;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num {
    font-size: 0.875rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num span {
  font-family: "Montserrat", sans-serif;
  font-size: 4rem;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num span {
    font-size: 2.875rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .note {
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 3px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .note {
    line-height: 1.5;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list {
  display: flex;
  justify-content: space-around;
  padding-top: 10px;
  margin-bottom: 5px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list {
    flex-direction: column;
    row-gap: 17px;
    margin-bottom: 8px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical {
  flex-direction: column;
  margin-bottom: 16px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical {
    row-gap: 0;
    max-width: 350px;
    width: 100%;
    margin: 0 auto;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li {
  padding: 16px 0;
  border-bottom: 1px solid var(--base_color41);
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li {
    padding: 10px 5px 10px 0;
    column-gap: 5px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li:first-child {
  padding-top: 0;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li:last-child {
  border-bottom: 0;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image {
  display: flex;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image {
    flex-direction: column;
    align-items: center;
    row-gap: 12px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image h4 {
  width: 96px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image h4 {
    width: auto;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image h4 span {
  font-size: 0.75rem;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image .image {
  flex: none;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image .image {
    padding-left: 0 !important;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image .image.img07 {
  padding-left: 22px;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image .image.img09 {
  padding-left: 20px;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .h_image .image.img11 {
  padding-left: 12px;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .num {
  flex: 1;
  text-align: right;
  margin: 0;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .num span {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 360px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .num span {
    font-size: 2.125rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .num .sub {
  font-size: 1.125rem;
  display: block;
  margin-top: 10px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.vertical > li .num .sub {
    margin-top: 7px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio {
  --col_gap: 30px;
  justify-content: center;
  column-gap: var(--col_gap);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio {
    --col_gap: 21px;
    flex-direction: row;
    margin-bottom: 0;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li {
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li {
    flex-direction: column;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li:last-child:after {
  content: none;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li:after {
  content: "：";
  position: absolute;
  right: calc(var(--col_gap) / 2 * -1);
  bottom: 11px;
  transform: translateX(50%);
  font-size: 1.875rem;
  font-weight: 700;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li:after {
    font-size: 1.3125rem;
    bottom: 9px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon {
  width: 68px;
  height: 68px;
  background: var(--base_color42);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon {
    width: 56px;
    height: 56px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon:after {
  content: "";
  width: 11px;
  height: 11px;
  background: var(--base_color42);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon:after {
    width: 9px;
    height: 9px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon.arrow_r:after {
  right: -9px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon.arrow_r:after {
    right: -7px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon.arrow_l:after {
  left: -9px;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon.arrow_l:after {
    left: -7px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon .num {
  margin-top: 0;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon .num span {
  font-size: 2rem;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap .balloon .num span {
    font-size: 1.6875rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap + .num {
  margin-top: 15px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap + .num {
    margin-top: 10px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap + .num span {
  font-size: 4rem;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image_wrap + .num span {
    font-size: 3rem;
  }
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .image {
    width: auto;
  }
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .num {
    width: auto;
    margin-top: 10px;
  }
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list.ratio > li .num span {
    font-size: 2.375rem;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list > li {
    flex-direction: row;
    justify-content: center;
    column-gap: 10px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li h4 {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.375;
  text-align: center;
  position: relative;
  z-index: 0;
  width: fit-content;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto 10px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list > li h4 {
    font-size: 0.875rem;
    width: 90px;
    min-height: 60px;
    margin: 0;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li h4:before {
  content: "";
  width: 62px;
  height: 62px;
  background: var(--base_color42);
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list > li h4:before {
    width: 60px;
    height: 60px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .image {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 0;
  height: auto;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .image {
    flex: none;
    width: 90px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .image .sub {
  margin-top: 5px;
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .num {
  margin-top: 25px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .num {
    width: 80px;
    margin: 0;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .num_list > li .num span {
  font-size: 3.125rem;
}
.sec_environment.sec01 .panels .panel .panel_content .data .image_num {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 15px;
  flex: 1;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec01 .panels .panel .panel_content .data .image_num {
    column-gap: 10px;
  }
}
.sec_environment.sec01 .panels .panel .panel_content .data .image_num .image {
  height: auto;
}
.sec_environment.sec01 .panels .panel .panel_content .data .image_num .num_wrap {
  text-align: center;
}
.sec_environment.sec01 .panels .panel .panel_content .data .image_num .num_wrap .sub {
  font-size: 1.25rem;
  font-weight: 500;
}
.sec_environment.sec02 .group_list .group .group_content h3 {
  --bg_color: var(--group_color01);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 40px;
  line-height: 1.45;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content h3 {
    font-size: 1.375rem;
    margin-bottom: 16px;
  }
}
.sec_environment.sec02 .group_list .group .group_content h3 > span {
  padding: 16px;
  width: 100%;
  text-align: center;
  border-radius: 6px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content h3 > span {
    padding: 10px 16px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .p01 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
  color: var(--group_color01);
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .p01 {
    font-size: 1rem;
    line-height: 1.875;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list {
  max-width: 800px;
  margin: auto;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol {
  counter-reset: cnt;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li {
  counter-increment: cnt;
  padding: 30px 0;
  border-top: 2px solid var(--base_color41);
  visibility: hidden;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li {
    padding: 15px 0 20px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li:first-child {
  padding-top: 0;
  border-top: 0;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li:last-child {
  padding-bottom: 0;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li:nth-child(even) .text {
  order: 2;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text {
  display: flex;
  column-gap: 40px;
}
@media screen and (max-width: 600px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text {
    flex-direction: column;
    align-items: center;
    row-gap: 14px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text {
  flex: 1;
}
@media screen and (max-width: 600px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text {
    flex: none;
    width: 100%;
    order: 1;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text:before {
  content: "0" counter(cnt);
  display: block;
  color: var(--base_color41);
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 5rem;
  margin-bottom: -0.15em;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text:before {
    font-size: 3.5rem;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .title {
  margin-bottom: 20px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .title {
    margin-bottom: 10px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .title h4 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .title h4 {
    font-size: 1.25rem;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .title h4 .bg_text02 {
  --bg_color: var(--group_color01) ;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .list.circle {
  font-weight: 500;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .list.circle > li {
  --dot_color: var(--group_list_dot);
  line-height: 1.875;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .list.circle > li:before {
  top: 7px;
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .text .list.circle > li span {
  color: var(--group_list_dot);
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .image {
  max-width: 360px;
  flex: 1;
}
@media screen and (max-width: 600px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .image {
    flex: none;
    width: 100%;
    order: 2;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list > ol > li .image_text .image img {
  border-radius: 10px;
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step {
  display: flex;
  column-gap: 27px;
  --arrow_width: 72px;
  --arrow_height: 37px;
  --line_width: 42px;
  --arrow_width02: calc((var(--arrow_width) - var(--line_width)) / 2);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list.step {
    column-gap: 23px;
    --arrow_width: 40px;
    --arrow_height: 20px;
    --line_width: 24px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step:before {
  content: "";
  display: block;
  width: var(--arrow_width);
  background: linear-gradient(to bottom, #AEF38B 0, #98ECC5 50%, #1CD3A1 100%);
  clip-path: polygon(var(--arrow_width02) 0, calc(100% - var(--arrow_width02)) 0, calc(100% - var(--arrow_width02)) calc(100% - var(--arrow_height)), 100% calc(100% - var(--arrow_height)), 50% 100%, 0 calc(100% - var(--arrow_height)), var(--arrow_width02) calc(100% - var(--arrow_height)));
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step > ol {
  flex: 1;
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text {
  position: relative;
  z-index: 0;
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text:before {
  padding-left: 80px;
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text:before {
    padding-left: 63px;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text:after {
  content: "STEP";
  position: absolute;
  z-index: -1;
  top: 44px;
  left: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--base_color41);
}
@media screen and (max-width: 850px) {
  .sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text:after {
    top: 29px;
    font-size: 1.5rem;
  }
}
.sec_environment.sec02 .group_list .group .group_content .item_list.step > ol > li .text .title .sub {
  display: block;
  color: var(--group_list_dot);
  font-weight: 500;
  margin-top: 18px;
}
.sec_environment.sec02 .group_list .group .group_content .flow_model {
  max-width: 800px;
  margin: auto;
}
.sec_environment.sec02 .group_list .group .group_content .flow_model img {
  min-width: 500px;
}

.sec_qa.sec01 {
  padding-bottom: 160px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 {
    padding-bottom: 60px;
  }
}
.sec_qa.sec01 .page_links {
  margin-bottom: 40px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .page_links {
    margin-bottom: 23px;
  }
}
.sec_qa.sec01 .search {
  margin-bottom: 60px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .search {
    max-width: 400px;
    margin: 0 auto 40px;
  }
}
.sec_qa.sec01 .search form {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .search form {
    flex-direction: column;
    row-gap: 10px;
    align-items: flex-start;
  }
}
.sec_qa.sec01 .search form span {
  color: var(--base_color10);
  font-weight: 700;
}
.sec_qa.sec01 .search form .input_wrap {
  max-width: 405px;
  width: 100%;
  padding-right: 50px;
  border-radius: 25px;
  background: #fff;
  position: relative;
}
.sec_qa.sec01 .search form .input_wrap input {
  width: 100%;
  padding: 13px 10px 13px 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
}
.sec_qa.sec01 .search form .input_wrap button {
  position: absolute;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
}
@media (any-hover: hover) {
  .sec_qa.sec01 .search form .input_wrap button:hover {
    cursor: pointer;
  }
}
.sec_qa.sec01 .qa_lists {
  display: flex;
  flex-direction: column;
  row-gap: 100px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists {
    row-gap: 40px;
  }
}
.sec_qa.sec01 .qa_lists .qa_list_wrap {
  padding: 80px 50px;
}
@media screen and (max-width: 1030px) {
  .sec_qa.sec01 .qa_lists .qa_list_wrap {
    padding: 80px 15px;
  }
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list_wrap {
    padding: 30px 15px;
  }
}
.sec_qa.sec01 .qa_lists h2 {
  width: fit-content;
  margin: 0 auto 40px;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists h2 {
    margin-bottom: 20px;
    font-size: 1.375rem;
  }
}
.sec_qa.sec01 .qa_lists h2 > span {
  padding: 8px 10px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists h2 > span {
    padding: 5px 10px 7px;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li {
  --text_right_pad: 80px;
  --text_left_pad: 60px;
  padding: 30px 20px 27px;
  border-bottom: 2px solid var(--base_color41);
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li:first-child {
  border-top: 2px solid var(--base_color41);
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li {
    --text_right_pad: 38px;
    --text_left_pad: 24px;
    padding: 10px 0;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li.open h3 {
  --icon_url: url(../images/icon_minus02.svg);
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li h3:before,
.sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content:before {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li h3:before,
  .sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content:before {
    font-size: 1.25rem;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li h3 {
  color: var(--base_color12);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.625;
  padding-right: var(--text_right_pad);
  padding-left: var(--text_left_pad);
  position: relative;
  --icon_url: url(../images/icon_plus02.svg);
}
@media (any-hover: hover) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li h3:hover {
    cursor: pointer;
  }
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li h3 {
    font-size: 1rem;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li h3:before {
  content: "Q";
  color: var(--base_color10);
  top: -3px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li h3:before {
    top: 2px;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li h3:after {
  content: "";
  position: absolute;
  top: -5px;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--icon_url) no-repeat center, var(--base_grad_arrow);
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li h3:after {
    width: 24px;
    height: 24px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: var(--icon_url) no-repeat center/11px 11px, var(--base_grad_arrow);
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li .answer {
  padding-right: var(--text_right_pad);
  padding-left: var(--text_left_pad);
  transition: height 0.3s;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li .answer {
    padding-left: 0;
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content {
  position: relative;
  margin-top: 34px;
  padding-left: 50px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content {
    font-size: 0.9375rem;
    margin-top: 16px;
    padding-left: var(--text_left_pad);
  }
}
.sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content:before {
  content: "A";
  color: var(--group02_color03);
  top: -5px;
}
@media screen and (max-width: 850px) {
  .sec_qa.sec01 .qa_lists .qa_list > ul > li .answer .base_content:before {
    top: 1px;
  }
}

.sec_entry .cats {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 18px;
}
@media screen and (max-width: 850px) {
  .sec_entry .cats {
    margin-bottom: 10px;
  }
}
.sec_entry .cats .cat {
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--base_color10);
  background: var(--base_grad01);
  padding: 5px 12px;
  line-height: 1.3;
}
@media screen and (max-width: 850px) {
  .sec_entry .cats .cat {
    font-size: 1rem;
    padding: 4px 12px;
  }
}
.sec_entry.sec_archive {
  padding-bottom: 160px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive {
    padding-bottom: 60px;
  }
}
.sec_entry.sec_archive .page_links {
  margin-bottom: 100px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .page_links {
    margin-bottom: 40px;
  }
}
.sec_entry.sec_archive .entry_list > ul {
  --cols: 2;
  --col_gap: 32px;
  --row_gap: 32px;
}
@media screen and (max-width: 1030px) {
  .sec_entry.sec_archive .entry_list > ul {
    --col_gap: 20px;
    --row_gap: 20px;
  }
}
@media screen and (max-width: 600px) {
  .sec_entry.sec_archive .entry_list > ul {
    --cols: 1;
  }
}
.sec_entry.sec_archive .entry_list > ul > li:nth-child(1) .panel_content_link {
  visibility: visible !important;
  animation: unset !important;
}
@media screen and (min-width: 601px) {
  .sec_entry.sec_archive .entry_list > ul > li:nth-child(2) .panel_content_link {
    visibility: visible !important;
    animation: unset !important;
  }
}
.sec_entry.sec_archive .entry_list > ul > li .panel_content_link {
  --circle_w: 40px;
  --arrow_w: 14px;
  --arrow_h: 15px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .entry_list > ul > li .panel_content_link {
    --circle_w: 32px;
    --arrow_w: 12px;
    --arrow_h: 12px;
  }
}
.sec_entry.sec_archive .entry_list > ul > li .panel_content_link:before, .sec_entry.sec_archive .entry_list > ul > li .panel_content_link:after {
  right: 25px;
  bottom: 20px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .entry_list > ul > li .panel_content_link:before, .sec_entry.sec_archive .entry_list > ul > li .panel_content_link:after {
    right: 15px;
  }
}
.sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content {
  padding: 30px 25px calc(var(--circle_w) + 30px);
  min-height: 250px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content {
    min-height: 240px;
    padding: 20px 15px calc(var(--circle_w) + 30px);
  }
}
.sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content h3 {
  color: var(--base_color10);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 10px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content h3 {
    font-size: 1.125rem;
  }
}
.sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content .sub {
  font-weight: 500;
  line-height: 1.625;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_archive .entry_list > ul > li .panel_content_link .panel_content .sub {
    font-size: 0.875rem;
  }
}
.sec_entry.sec_archive .box_content .p01 {
  text-align: center;
  font-weight: 500;
  margin: 20px 0 60px;
}
.sec_entry.sec_archive .box_content .link_btn {
  max-width: 260px;
  margin: auto;
}
.sec_entry.sec_detail h2 {
  width: fit-content;
  margin: 0 auto 50px;
  font-size: 2rem;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail h2 {
    margin-bottom: 20px;
    font-size: 1.375rem;
  }
}
.sec_entry.sec_detail h2 > span {
  padding: 8px 10px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail h2 > span {
    padding: 5px 10px 7px;
  }
}
.sec_entry.sec_detail p {
  line-height: 1.625;
  font-weight: 500;
}
.sec_entry.sec_detail .banner {
  margin-top: 26px;
  max-width: 260px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail .banner {
    margin-top: 20px;
    max-width: 195px;
  }
}
.sec_entry.sec_detail.sec01 {
  padding-bottom: 50px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 {
    padding-bottom: 20px;
  }
}
.sec_entry.sec_detail.sec01 .meta {
  padding: 0 20px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .meta {
    padding: 0;
  }
}
.sec_entry.sec_detail.sec01 .cats {
  margin-bottom: 12px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .cats {
    margin-bottom: 15px;
  }
}
.sec_entry.sec_detail.sec01 .cats .cat {
  font-size: 1.375rem;
  padding: 3px 12px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .cats .cat {
    font-size: 1.25rem;
  }
}
.sec_entry.sec_detail.sec01 .title {
  margin-bottom: 32px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .title {
    margin-bottom: 20px;
  }
}
.sec_entry.sec_detail.sec01 .title h1 {
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .title h1 {
    font-size: 1.375rem;
    line-height: 1.36;
  }
}
.sec_entry.sec_detail.sec01 .title .sub {
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.125rem;
  margin-top: 10px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .title .sub {
    margin-top: 13px;
    font-size: 1rem;
  }
}
.sec_entry.sec_detail.sec01 .detail_list dl {
  display: flex;
  column-gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--base_color41);
}
.sec_entry.sec_detail.sec01 .detail_list dl:first-child {
  border-top: 1px solid var(--base_color41);
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec01 .detail_list dl {
    flex-direction: column;
    padding: 14px 0;
    row-gap: 10px;
  }
}
.sec_entry.sec_detail.sec01 .detail_list dl dt {
  width: 210px;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--base_color12);
  padding-top: 3px;
}
.sec_entry.sec_detail.sec01 .detail_list dl dd {
  flex: 1;
  line-height: 1.625;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.sec_entry.sec_detail.sec02 {
  padding: 50px 0;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec02 {
    padding: 20px 0;
  }
}
.sec_entry.sec_detail.sec02 .step_list > ol {
  counter-reset: cnt;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li {
  counter-increment: cnt;
  padding: 30px 20px 30px 55px;
  position: relative;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec02 .step_list > ol > li {
    padding: 16px 0 16px 30px;
  }
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:first-child {
  padding-top: 0;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:first-child:before {
  top: 12px;
  height: calc(100% + 30px);
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec02 .step_list > ol > li:first-child:before {
    height: calc(100% + 16px);
  }
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:last-child {
  padding-bottom: 0;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:last-child:before, .sec_entry.sec_detail.sec02 .step_list > ol > li:last-child:after {
  content: none;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:before {
  content: "";
  position: absolute;
  top: 40px;
  left: 7px;
  width: 2px;
  height: 100%;
  background: linear-gradient(to bottom, var(--base_color11) 0, var(--base_color11) 4px, transparent 4px, transparent 8px) repeat-y left top/2px 8px;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li:after {
  content: "";
  width: calc(100% - 35px);
  height: 2px;
  background: var(--base_color41);
  position: absolute;
  right: 0;
  bottom: -1px;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li > * {
  visibility: hidden;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li .step {
  display: block;
  position: relative;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li .step:before {
  content: "STEP 0" counter(cnt);
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  font-size: 1.125rem;
  color: var(--base_color10);
  background: var(--base_grad01);
  padding: 8px 12px 6px;
  display: inline-block;
  margin-bottom: 10px;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li .step:after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../images/entry_step_list_dot.svg) no-repeat center/contain;
  position: absolute;
  top: 9px;
  left: -55px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec02 .step_list > ol > li .step:after {
    left: -30px;
  }
}
.sec_entry.sec_detail.sec02 .step_list > ol > li h3 {
  font-size: 1.375rem;
  font-weight: 700;
  margin-bottom: 15px;
  color: var(--base_color12);
}
.sec_entry.sec_detail.sec02 .step_list > ol > li h3 span {
  display: block;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li a {
  color: var(--group03_color03);
}
.sec_entry.sec_detail.sec02 .step_list > ol > li .notice {
  margin-top: 12px;
}
.sec_entry.sec_detail.sec02 .step_list > ol > li hr {
  border: 0;
  width: 100%;
  height: 0;
  margin: 30px 0;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec02 .step_list > ol > li hr {
    margin: 15px 0;
  }
}
.sec_entry.sec_detail.sec03 {
  padding: 50px 0 160px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec03 {
    padding: 20px 0 60px;
  }
}
.sec_entry.sec_detail.sec03 .p01 {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 850px) {
  .sec_entry.sec_detail.sec03 .p01 {
    margin-bottom: 20px;
  }
}
.sec_entry.sec_detail.sec03 .banner {
  margin: auto;
}